aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:41 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:41 +0200
commit5fba409eb2a7803c71519d1eed5cc0c5888a78e0 (patch)
treed14ba30d14b5d497158d362206eb92ca682ca8d0 /m4
parentab17fd18a4f3177000662207498ddf2aafcc7eaa (diff)
Use libtool only to link
Diffstat (limited to 'm4')
-rw-r--r--m4/libtool-link.m428
1 files changed, 22 insertions, 6 deletions
diff --git a/m4/libtool-link.m4 b/m4/libtool-link.m4
index e103bce..d73c508 100644
--- a/m4/libtool-link.m4
+++ b/m4/libtool-link.m4
@@ -1,7 +1,7 @@
dnl file : m4/libtool-link.m4
dnl author : Boris Kolpackov <boris@codesynthesis.com>
dnl copyright : Copyright (c) 2009-2010 Code Synthesis Tools CC
-dnl license : GNU GPL v3; see accompanying LICENSE file
+dnl license : GNU GPL v2; see accompanying LICENSE file
dnl
dnl
dnl CXX_LIBTOOL_LINK_IFELSE (input, [action-if-true], [action-if-false])
@@ -11,8 +11,6 @@ dnl linking and it does this using the C++ compiler.
dnl
AC_DEFUN([CXX_LIBTOOL_LINK_IFELSE],[
AC_LANG_SAVE
-save_CXX="$CXX"
-CXX="./libtool --tag=CXX --mode=link $CXX -no-install"
AC_LANG(C++)
if test -d .libs; then
@@ -21,11 +19,29 @@ else
delete_libs_dir=yes
fi
-AC_LINK_IFELSE([$1], [$2], [$3])
+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
+if test x"$delete_libs_dir" = xyes; then
rm -rf .libs
fi
-CXX="$save_CXX"
+if test x"$libtool_link_ok" = xyes; then
+[$2]
+:
+else
+[$3]
+:
+fi
+
AC_LANG_RESTORE])dnl