aboutsummaryrefslogtreecommitdiff
path: root/m4/libtool-link.m4
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-11-24 09:41:44 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-11-28 12:27:28 +0200
commitca2bec1322525e0c7ce5c316c3ed19b52d800bdf (patch)
tree1f05bc011bf30b96d07eeec69361ad16751d10cd /m4/libtool-link.m4
parent875ccee7c97f6040b17c85dd30e72e55061bacef (diff)
Add automake and Visual Studio build files
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