aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:17 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:17 +0200
commiteb5b3d15a33d4f7671edbd6100c31fdd504a60c2 (patch)
tree0cfbd6d6cc630e1cefdfe874c4f5fe558e41a166 /m4
parent95914e33960d88bdd9345028fc495f912c047701 (diff)
Use libtool only to link
Diffstat (limited to 'm4')
-rw-r--r--m4/libtool-link.m426
1 files changed, 21 insertions, 5 deletions
diff --git a/m4/libtool-link.m4 b/m4/libtool-link.m4
index 229b270..d73c508 100644
--- a/m4/libtool-link.m4
+++ b/m4/libtool-link.m4
@@ -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