aboutsummaryrefslogtreecommitdiff
path: root/m4/libtool-link.m4
blob: 09c79c81e7175c5e97735c450f25f355e882afc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
dnl file      : m4/libtool-link.m4
dnl author    : Boris Kolpackov <boris@codesynthesis.com>
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