aboutsummaryrefslogtreecommitdiff
path: root/m4/libtool-link.m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-18 15:30:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-18 15:30:06 +0200
commit41c7293bf991e4449c41224e812634b414ec5b83 (patch)
treecf956be48694bf8c1ea08e9250486e2191c7f799 /m4/libtool-link.m4
parent62e7abd564f6f9c7a3ab9e7e469853c93bd0e4c9 (diff)
Autotools and VC++ build systems setup
Diffstat (limited to 'm4/libtool-link.m4')
-rw-r--r--m4/libtool-link.m447
1 files changed, 47 insertions, 0 deletions
diff --git a/m4/libtool-link.m4 b/m4/libtool-link.m4
new file mode 100644
index 0000000..d8395d5
--- /dev/null
+++ b/m4/libtool-link.m4
@@ -0,0 +1,47 @@
+dnl file : m4/libtool-link.m4
+dnl author : Boris Kolpackov <boris@codesynthesis.com>
+dnl copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
+dnl license : GNU GPL v2; see accompanying LICENSE file
+dnl
+dnl
+dnl CXX_LIBTOOL_LINK_IFELSE (input, [action-if-true], [action-if-false])
+dnl
+dnl Similar to AC_LINK_IFELSE except it uses libtool to perform the
+dnl linking and it does this using the C++ compiler.
+dnl
+AC_DEFUN([CXX_LIBTOOL_LINK_IFELSE],[
+AC_LANG_SAVE
+AC_LANG(C++)
+
+if test -d .libs; then
+ delete_libs_dir=no
+else
+ delete_libs_dir=yes
+fi
+
+AC_COMPILE_IFELSE([$1],
+[
+ ac_try='./libtool --tag=CXX --mode=link $CXX -no-install $CXXFLAGS $LDFLAGS -o conftest conftest.$OBJEXT $LIBS >&AS_MESSAGE_LOG_FD'
+ if _AC_DO_VAR(ac_try); then
+ libtool_link_ok=yes
+ else
+ libtool_link_ok=no
+ fi
+],
+[
+ libtool_link_ok=no
+])
+
+if test x"$delete_libs_dir" = xyes; then
+ rm -rf .libs
+fi
+
+if test x"$libtool_link_ok" = xyes; then
+[$2]
+:
+else
+[$3]
+:
+fi
+
+AC_LANG_RESTORE])dnl