diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-01-17 16:40:19 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-01-17 16:40:19 +0200 |
commit | 16054e2d129d7c5e956be7b33c29ae6c2ea5c962 (patch) | |
tree | 8d8f22207d3b763eb978f700e68ad74d657aa4c5 /m4/libtool-link.m4 | |
parent | c853481c254bcafeeca394faa9f4bb5205d4daa0 (diff) |
Autotools and VC++ build support
Diffstat (limited to 'm4/libtool-link.m4')
-rw-r--r-- | m4/libtool-link.m4 | 47 |
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 |