aboutsummaryrefslogtreecommitdiff
path: root/m4/libtool-link.m4
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:23 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-28 18:34:23 +0200
commitbd24c08a38e78f4c80d1d82b4afed227cbceccb3 (patch)
treea41fd4fc60573d63094a0f0dad755660ccd76952 /m4/libtool-link.m4
parent287b755c8c6a07aa7fec0f088a2a4be1e094aa15 (diff)
Use libtool only to link
Diffstat (limited to 'm4/libtool-link.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