ltdl.m4 revision a773bd54f32ceb55af08286fe00c6ec1b73e5b9a
121972621191dc5187436e09e74b3291250a8d36cReid Spencer## ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
221972621191dc5187436e09e74b3291250a8d36cReid Spencer## Copyright (C) 1999-2000 Free Software Foundation, Inc.
321972621191dc5187436e09e74b3291250a8d36cReid Spencer##
4a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer## This file is free software; the Free Software Foundation gives
5a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer## unlimited permission to copy and/or distribute it, with or without
6a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer## modifications, as long as this notice is preserved.
721972621191dc5187436e09e74b3291250a8d36cReid Spencer
8a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer# serial 7 AC_LIB_LTDL
921972621191dc5187436e09e74b3291250a8d36cReid Spencer
1021972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_WITH_LTDL
1121972621191dc5187436e09e74b3291250a8d36cReid Spencer# ------------
1221972621191dc5187436e09e74b3291250a8d36cReid Spencer# Clients of libltdl can use this macro to allow the installer to
1321972621191dc5187436e09e74b3291250a8d36cReid Spencer# choose between a shipped copy of the ltdl sources or a preinstalled
1421972621191dc5187436e09e74b3291250a8d36cReid Spencer# version of the library.
1521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_WITH_LTDL],
1621972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIB_LTDL])
1721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_SUBST([LIBLTDL])
1821972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_SUBST([INCLTDL])
1921972621191dc5187436e09e74b3291250a8d36cReid Spencer
2021972621191dc5187436e09e74b3291250a8d36cReid Spencer# Unless the user asks us to check, assume no installed ltdl exists.
2121972621191dc5187436e09e74b3291250a8d36cReid Spenceruse_installed_libltdl=no
2221972621191dc5187436e09e74b3291250a8d36cReid Spencer
2321972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_ARG_WITH([included_ltdl],
2421972621191dc5187436e09e74b3291250a8d36cReid Spencer    [  --with-included-ltdl    use the GNU ltdl sources included here])
2521972621191dc5187436e09e74b3291250a8d36cReid Spencer
2621972621191dc5187436e09e74b3291250a8d36cReid Spencerif test "x$with_included_ltdl" != xyes; then
2721972621191dc5187436e09e74b3291250a8d36cReid Spencer  # We are not being forced to use the included libltdl sources, so
2821972621191dc5187436e09e74b3291250a8d36cReid Spencer  # decide whether there is a useful installed version we can use.
2921972621191dc5187436e09e74b3291250a8d36cReid Spencer  AC_CHECK_HEADER([ltdl.h],
3021972621191dc5187436e09e74b3291250a8d36cReid Spencer      [AC_CHECK_LIB([ltdl], [lt_dlcaller_register],
3121972621191dc5187436e09e74b3291250a8d36cReid Spencer          [with_included_ltdl=no],
3221972621191dc5187436e09e74b3291250a8d36cReid Spencer          [with_included_ltdl=yes])
3321972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
3421972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
3521972621191dc5187436e09e74b3291250a8d36cReid Spencer
3621972621191dc5187436e09e74b3291250a8d36cReid Spencerif test "x$enable_ltdl_install" != xyes; then
3721972621191dc5187436e09e74b3291250a8d36cReid Spencer  # If the user did not specify an installable libltdl, then default
3821972621191dc5187436e09e74b3291250a8d36cReid Spencer  # to a convenience lib.
3921972621191dc5187436e09e74b3291250a8d36cReid Spencer  AC_LIBLTDL_CONVENIENCE
4021972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
4121972621191dc5187436e09e74b3291250a8d36cReid Spencer
4221972621191dc5187436e09e74b3291250a8d36cReid Spencerif test "x$with_included_ltdl" = xno; then
4321972621191dc5187436e09e74b3291250a8d36cReid Spencer  # If the included ltdl is not to be used. then Use the
4421972621191dc5187436e09e74b3291250a8d36cReid Spencer  # preinstalled libltdl we found.
45a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE([HAVE_LTDL], [1],
4621972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define this if a modern libltdl is already installed])
4721972621191dc5187436e09e74b3291250a8d36cReid Spencer  LIBLTDL=-lltdl
4821972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
4921972621191dc5187436e09e74b3291250a8d36cReid Spencer
5021972621191dc5187436e09e74b3291250a8d36cReid Spencer# Report our decision...
5121972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_MSG_CHECKING([whether to use included libltdl])
5221972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_MSG_RESULT([$with_included_ltdl])
5321972621191dc5187436e09e74b3291250a8d36cReid Spencer
5421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CONFIG_SUBDIRS([libltdl])
5521972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_WITH_LTDL
5621972621191dc5187436e09e74b3291250a8d36cReid Spencer
5721972621191dc5187436e09e74b3291250a8d36cReid Spencer
5821972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LIB_LTDL
5921972621191dc5187436e09e74b3291250a8d36cReid Spencer# -----------
6021972621191dc5187436e09e74b3291250a8d36cReid Spencer# Perform all the checks necessary for compilation of the ltdl objects
6121972621191dc5187436e09e74b3291250a8d36cReid Spencer#  -- including compiler checks and header checks.
6221972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LIB_LTDL],
63a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer[AC_PREREQ(2.60)
6421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_PROG_CC])
6521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_C_CONST])
6621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_HEADER_STDC])
6721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_HEADER_DIRENT])
6821972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([_LT_AC_CHECK_DLFCN])
6921972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_ENABLE_INSTALL])
7021972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_SHLIBEXT])
7121972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_SHLIBPATH])
7221972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_SYSSEARCHPATH])
7321972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_OBJDIR])
7421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_DLPREOPEN])
7521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_DLLIB])
7621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_SYMBOL_USCORE])
7721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_DLSYM_USCORE])
7821972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_SYS_DLOPEN_DEPLIBS])
7921972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_REQUIRE([AC_LTDL_FUNC_ARGZ])
8021972621191dc5187436e09e74b3291250a8d36cReid Spencer
8121972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_HEADERS([assert.h ctype.h errno.h malloc.h memory.h stdlib.h \
8221972621191dc5187436e09e74b3291250a8d36cReid Spencer		  stdio.h unistd.h])
8321972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_HEADERS([dl.h sys/dl.h dld.h mach-o/dyld.h])
8421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_HEADERS([string.h strings.h], [break])
8521972621191dc5187436e09e74b3291250a8d36cReid Spencer
8621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([strchr index], [break])
8721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([strrchr rindex], [break])
8821972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([memcpy bcopy], [break])
8921972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([memmove strcmp])
9021972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([closedir opendir readdir])
9121972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LIB_LTDL
9221972621191dc5187436e09e74b3291250a8d36cReid Spencer
9321972621191dc5187436e09e74b3291250a8d36cReid Spencer
9421972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_ENABLE_INSTALL
9521972621191dc5187436e09e74b3291250a8d36cReid Spencer# ----------------------
9621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_ENABLE_INSTALL],
9721972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_ARG_ENABLE([ltdl-install],
98a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    [AS_HELP_STRING([--enable-ltdl-install],[install libltdl])])
9921972621191dc5187436e09e74b3291250a8d36cReid Spencer
10021972621191dc5187436e09e74b3291250a8d36cReid SpencerAM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
10121972621191dc5187436e09e74b3291250a8d36cReid SpencerAM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)
102a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer])# AC_LTDL_ENABLE_INSTALL
10321972621191dc5187436e09e74b3291250a8d36cReid Spencer
10421972621191dc5187436e09e74b3291250a8d36cReid Spencer
10521972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_SYS_DLOPEN_DEPLIBS
10621972621191dc5187436e09e74b3291250a8d36cReid Spencer# --------------------------
10721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS],
10821972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_CANONICAL_HOST])
10921972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([whether deplibs are loaded by dlopen],
11021972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_sys_dlopen_deplibs],
11121972621191dc5187436e09e74b3291250a8d36cReid Spencer  [# PORTME does your system automatically load deplibs for dlopen?
11221972621191dc5187436e09e74b3291250a8d36cReid Spencer  # or its logical equivalent (e.g. shl_load for HP-UX < 11)
11321972621191dc5187436e09e74b3291250a8d36cReid Spencer  # For now, we just catch OSes we know something about -- in the
11421972621191dc5187436e09e74b3291250a8d36cReid Spencer  # future, we'll try test this programmatically.
11521972621191dc5187436e09e74b3291250a8d36cReid Spencer  libltdl_cv_sys_dlopen_deplibs=unknown
11621972621191dc5187436e09e74b3291250a8d36cReid Spencer  case "$host_os" in
11721972621191dc5187436e09e74b3291250a8d36cReid Spencer  aix3*|aix4.1.*|aix4.2.*)
11821972621191dc5187436e09e74b3291250a8d36cReid Spencer    # Unknown whether this is true for these versions of AIX, but
11921972621191dc5187436e09e74b3291250a8d36cReid Spencer    # we want this `case' here to explicitly catch those versions.
12021972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=unknown
12121972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
12221972621191dc5187436e09e74b3291250a8d36cReid Spencer  aix[[45]]*)
12321972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
12421972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
12521972621191dc5187436e09e74b3291250a8d36cReid Spencer  darwin*)
12621972621191dc5187436e09e74b3291250a8d36cReid Spencer    # Assuming the user has installed a libdl from somewhere, this is true
12721972621191dc5187436e09e74b3291250a8d36cReid Spencer    # If you are looking for one http://www.opendarwin.org/projects/dlcompat
12821972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
129a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    ;;
13021972621191dc5187436e09e74b3291250a8d36cReid Spencer  gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
13121972621191dc5187436e09e74b3291250a8d36cReid Spencer    # GNU and its variants, using gnu ld.so (Glibc)
13221972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
13321972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
13421972621191dc5187436e09e74b3291250a8d36cReid Spencer  hpux10*|hpux11*)
13521972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
13621972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
137a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  interix*)
138a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
139a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    ;;
14021972621191dc5187436e09e74b3291250a8d36cReid Spencer  irix[[12345]]*|irix6.[[01]]*)
14121972621191dc5187436e09e74b3291250a8d36cReid Spencer    # Catch all versions of IRIX before 6.2, and indicate that we don't
14221972621191dc5187436e09e74b3291250a8d36cReid Spencer    # know how it worked for any of those versions.
14321972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=unknown
14421972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
14521972621191dc5187436e09e74b3291250a8d36cReid Spencer  irix*)
14621972621191dc5187436e09e74b3291250a8d36cReid Spencer    # The case above catches anything before 6.2, and it's known that
14721972621191dc5187436e09e74b3291250a8d36cReid Spencer    # at 6.2 and later dlopen does load deplibs.
14821972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
14921972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
15021972621191dc5187436e09e74b3291250a8d36cReid Spencer  netbsd*)
15121972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
15221972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
15321972621191dc5187436e09e74b3291250a8d36cReid Spencer  openbsd*)
15421972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
15521972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
15621972621191dc5187436e09e74b3291250a8d36cReid Spencer  osf[[1234]]*)
15721972621191dc5187436e09e74b3291250a8d36cReid Spencer    # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
15821972621191dc5187436e09e74b3291250a8d36cReid Spencer    # it did *not* use an RPATH in a shared library to find objects the
15921972621191dc5187436e09e74b3291250a8d36cReid Spencer    # library depends on, so we explictly say `no'.
16021972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=no
16121972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
16221972621191dc5187436e09e74b3291250a8d36cReid Spencer  osf5.0|osf5.0a|osf5.1)
16321972621191dc5187436e09e74b3291250a8d36cReid Spencer    # dlopen *does* load deplibs and with the right loader patch applied
16421972621191dc5187436e09e74b3291250a8d36cReid Spencer    # it even uses RPATH in a shared library to search for shared objects
16521972621191dc5187436e09e74b3291250a8d36cReid Spencer    # that the library depends on, but there's no easy way to know if that
16621972621191dc5187436e09e74b3291250a8d36cReid Spencer    # patch is installed.  Since this is the case, all we can really
16721972621191dc5187436e09e74b3291250a8d36cReid Spencer    # say is unknown -- it depends on the patch being installed.  If
16821972621191dc5187436e09e74b3291250a8d36cReid Spencer    # it is, this changes to `yes'.  Without it, it would be `no'.
16921972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=unknown
17021972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
17121972621191dc5187436e09e74b3291250a8d36cReid Spencer  osf*)
17221972621191dc5187436e09e74b3291250a8d36cReid Spencer    # the two cases above should catch all versions of osf <= 5.1.  Read
17321972621191dc5187436e09e74b3291250a8d36cReid Spencer    # the comments above for what we know about them.
17421972621191dc5187436e09e74b3291250a8d36cReid Spencer    # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
17521972621191dc5187436e09e74b3291250a8d36cReid Spencer    # is used to find them so we can finally say `yes'.
17621972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
17721972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
17821972621191dc5187436e09e74b3291250a8d36cReid Spencer  solaris*)
17921972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
18021972621191dc5187436e09e74b3291250a8d36cReid Spencer    ;;
181a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
182a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    libltdl_cv_sys_dlopen_deplibs=yes
183a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    ;;
18421972621191dc5187436e09e74b3291250a8d36cReid Spencer  esac
18521972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
18621972621191dc5187436e09e74b3291250a8d36cReid Spencerif test "$libltdl_cv_sys_dlopen_deplibs" != yes; then
18721972621191dc5187436e09e74b3291250a8d36cReid Spencer AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
18821972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define if the OS needs help to load dependent libraries for dlopen().])
18921972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
19021972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_SYS_DLOPEN_DEPLIBS
19121972621191dc5187436e09e74b3291250a8d36cReid Spencer
19221972621191dc5187436e09e74b3291250a8d36cReid Spencer
19321972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_SHLIBEXT
19421972621191dc5187436e09e74b3291250a8d36cReid Spencer# ----------------
19521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_SHLIBEXT],
19621972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
19721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([which extension is used for loadable modules],
19821972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_shlibext],
19921972621191dc5187436e09e74b3291250a8d36cReid Spencer[
20021972621191dc5187436e09e74b3291250a8d36cReid Spencermodule=yes
20121972621191dc5187436e09e74b3291250a8d36cReid Spencereval libltdl_cv_shlibext=$shrext_cmds
20221972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
20321972621191dc5187436e09e74b3291250a8d36cReid Spencerif test -n "$libltdl_cv_shlibext"; then
204a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE_UNQUOTED([LTDL_SHLIB_EXT], ["$libltdl_cv_shlibext"],
20521972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define to the extension used for shared libraries, say, ".so".])
20621972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
20721972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_SHLIBEXT
20821972621191dc5187436e09e74b3291250a8d36cReid Spencer
20921972621191dc5187436e09e74b3291250a8d36cReid Spencer
21021972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_SHLIBPATH
21121972621191dc5187436e09e74b3291250a8d36cReid Spencer# -----------------
21221972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_SHLIBPATH],
21321972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
21421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([which variable specifies run-time library path],
21521972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_shlibpath_var], [libltdl_cv_shlibpath_var="$shlibpath_var"])
21621972621191dc5187436e09e74b3291250a8d36cReid Spencerif test -n "$libltdl_cv_shlibpath_var"; then
217a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE_UNQUOTED([LTDL_SHLIBPATH_VAR], ["$libltdl_cv_shlibpath_var"],
21821972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define to the name of the environment variable that determines the dynamic library search path.])
21921972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
22021972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_SHLIBPATH
22121972621191dc5187436e09e74b3291250a8d36cReid Spencer
22221972621191dc5187436e09e74b3291250a8d36cReid Spencer
22321972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_SYSSEARCHPATH
22421972621191dc5187436e09e74b3291250a8d36cReid Spencer# ---------------------
22521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_SYSSEARCHPATH],
22621972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
22721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([for the default library search path],
22821972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_sys_search_path],
22921972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"])
23021972621191dc5187436e09e74b3291250a8d36cReid Spencerif test -n "$libltdl_cv_sys_search_path"; then
23121972621191dc5187436e09e74b3291250a8d36cReid Spencer  sys_search_path=
23221972621191dc5187436e09e74b3291250a8d36cReid Spencer  for dir in $libltdl_cv_sys_search_path; do
23321972621191dc5187436e09e74b3291250a8d36cReid Spencer    if test -z "$sys_search_path"; then
23421972621191dc5187436e09e74b3291250a8d36cReid Spencer      sys_search_path="$dir"
23521972621191dc5187436e09e74b3291250a8d36cReid Spencer    else
23621972621191dc5187436e09e74b3291250a8d36cReid Spencer      sys_search_path="$sys_search_path$PATH_SEPARATOR$dir"
23721972621191dc5187436e09e74b3291250a8d36cReid Spencer    fi
23821972621191dc5187436e09e74b3291250a8d36cReid Spencer  done
239a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE_UNQUOTED([LTDL_SYSSEARCHPATH], ["$sys_search_path"],
24021972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define to the system default library search path.])
24121972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
24221972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_SYSSEARCHPATH
24321972621191dc5187436e09e74b3291250a8d36cReid Spencer
24421972621191dc5187436e09e74b3291250a8d36cReid Spencer
24521972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_OBJDIR
24621972621191dc5187436e09e74b3291250a8d36cReid Spencer# --------------
24721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_OBJDIR],
24821972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_CACHE_CHECK([for objdir],
24921972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_objdir],
25021972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_objdir="$objdir"
25121972621191dc5187436e09e74b3291250a8d36cReid Spencer  if test -n "$objdir"; then
25221972621191dc5187436e09e74b3291250a8d36cReid Spencer    :
25321972621191dc5187436e09e74b3291250a8d36cReid Spencer  else
25421972621191dc5187436e09e74b3291250a8d36cReid Spencer    rm -f .libs 2>/dev/null
25521972621191dc5187436e09e74b3291250a8d36cReid Spencer    mkdir .libs 2>/dev/null
25621972621191dc5187436e09e74b3291250a8d36cReid Spencer    if test -d .libs; then
25721972621191dc5187436e09e74b3291250a8d36cReid Spencer      libltdl_cv_objdir=.libs
25821972621191dc5187436e09e74b3291250a8d36cReid Spencer    else
25921972621191dc5187436e09e74b3291250a8d36cReid Spencer      # MS-DOS does not allow filenames that begin with a dot.
26021972621191dc5187436e09e74b3291250a8d36cReid Spencer      libltdl_cv_objdir=_libs
26121972621191dc5187436e09e74b3291250a8d36cReid Spencer    fi
26221972621191dc5187436e09e74b3291250a8d36cReid Spencer  rmdir .libs 2>/dev/null
26321972621191dc5187436e09e74b3291250a8d36cReid Spencer  fi
26421972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
265a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid SpencerAC_DEFINE_UNQUOTED([LTDL_OBJDIR], ["$libltdl_cv_objdir/"],
26621972621191dc5187436e09e74b3291250a8d36cReid Spencer  [Define to the sub-directory in which libtool stores uninstalled libraries.])
26721972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_OBJDIR
26821972621191dc5187436e09e74b3291250a8d36cReid Spencer
26921972621191dc5187436e09e74b3291250a8d36cReid Spencer
27021972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_DLPREOPEN
27121972621191dc5187436e09e74b3291250a8d36cReid Spencer# -----------------
27221972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_DLPREOPEN],
27321972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])
27421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
27521972621191dc5187436e09e74b3291250a8d36cReid Spencer  [libltdl_cv_preloaded_symbols],
27621972621191dc5187436e09e74b3291250a8d36cReid Spencer  [if test -n "$lt_cv_sys_global_symbol_pipe"; then
27721972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_preloaded_symbols=yes
27821972621191dc5187436e09e74b3291250a8d36cReid Spencer  else
27921972621191dc5187436e09e74b3291250a8d36cReid Spencer    libltdl_cv_preloaded_symbols=no
28021972621191dc5187436e09e74b3291250a8d36cReid Spencer  fi
28121972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
28221972621191dc5187436e09e74b3291250a8d36cReid Spencerif test x"$libltdl_cv_preloaded_symbols" = xyes; then
283a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
28421972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define if libtool can extract symbol lists from object files.])
28521972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
28621972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_DLPREOPEN
28721972621191dc5187436e09e74b3291250a8d36cReid Spencer
28821972621191dc5187436e09e74b3291250a8d36cReid Spencer
28921972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_DLLIB
29021972621191dc5187436e09e74b3291250a8d36cReid Spencer# -------------
29121972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_DLLIB],
29221972621191dc5187436e09e74b3291250a8d36cReid Spencer[LIBADD_DL=
29321972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_SUBST(LIBADD_DL)
29421972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_LANG_PUSH([C])
29521972621191dc5187436e09e74b3291250a8d36cReid Spencer
29621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNC([shl_load],
29721972621191dc5187436e09e74b3291250a8d36cReid Spencer      [AC_DEFINE([HAVE_SHL_LOAD], [1],
29821972621191dc5187436e09e74b3291250a8d36cReid Spencer		 [Define if you have the shl_load function.])],
29921972621191dc5187436e09e74b3291250a8d36cReid Spencer  [AC_CHECK_LIB([dld], [shl_load],
30021972621191dc5187436e09e74b3291250a8d36cReid Spencer	[AC_DEFINE([HAVE_SHL_LOAD], [1],
30121972621191dc5187436e09e74b3291250a8d36cReid Spencer		   [Define if you have the shl_load function.])
30221972621191dc5187436e09e74b3291250a8d36cReid Spencer	LIBADD_DL="$LIBADD_DL -ldld"],
30321972621191dc5187436e09e74b3291250a8d36cReid Spencer    [AC_CHECK_LIB([dl], [dlopen],
30421972621191dc5187436e09e74b3291250a8d36cReid Spencer	  [AC_DEFINE([HAVE_LIBDL], [1],
30521972621191dc5187436e09e74b3291250a8d36cReid Spencer		     [Define if you have the libdl library or equivalent.])
30621972621191dc5187436e09e74b3291250a8d36cReid Spencer	        LIBADD_DL="-ldl" libltdl_cv_lib_dl_dlopen="yes"],
3075252d956959837700520dc12c533ff5d0cce1bddReid Spencer      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
30821972621191dc5187436e09e74b3291250a8d36cReid Spencer#  include <dlfcn.h>
30921972621191dc5187436e09e74b3291250a8d36cReid Spencer#endif
3105252d956959837700520dc12c533ff5d0cce1bddReid Spencer      ]], [[dlopen(0, 0);]])],[AC_DEFINE([HAVE_LIBDL], [1],
3115252d956959837700520dc12c533ff5d0cce1bddReid Spencer		             [Define if you have the libdl library or equivalent.]) libltdl_cv_func_dlopen="yes"],[AC_CHECK_LIB([svld], [dlopen],
31221972621191dc5187436e09e74b3291250a8d36cReid Spencer	      [AC_DEFINE([HAVE_LIBDL], [1],
31321972621191dc5187436e09e74b3291250a8d36cReid Spencer			 [Define if you have the libdl library or equivalent.])
31421972621191dc5187436e09e74b3291250a8d36cReid Spencer	            LIBADD_DL="-lsvld" libltdl_cv_func_dlopen="yes"],
31521972621191dc5187436e09e74b3291250a8d36cReid Spencer	  [AC_CHECK_LIB([dld], [dld_link],
31621972621191dc5187436e09e74b3291250a8d36cReid Spencer	        [AC_DEFINE([HAVE_DLD], [1],
31721972621191dc5187436e09e74b3291250a8d36cReid Spencer			   [Define if you have the GNU dld library.])
31821972621191dc5187436e09e74b3291250a8d36cReid Spencer	 	LIBADD_DL="$LIBADD_DL -ldld"],
31921972621191dc5187436e09e74b3291250a8d36cReid Spencer	 	[AC_CHECK_FUNC([_dyld_func_lookup],
32021972621191dc5187436e09e74b3291250a8d36cReid Spencer	 	       [AC_DEFINE([HAVE_DYLD], [1],
32121972621191dc5187436e09e74b3291250a8d36cReid Spencer	 	          [Define if you have the _dyld_func_lookup function.])])
32221972621191dc5187436e09e74b3291250a8d36cReid Spencer          ])
32321972621191dc5187436e09e74b3291250a8d36cReid Spencer        ])
32421972621191dc5187436e09e74b3291250a8d36cReid Spencer      ])
32521972621191dc5187436e09e74b3291250a8d36cReid Spencer    ])
32621972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
32721972621191dc5187436e09e74b3291250a8d36cReid Spencer])
32821972621191dc5187436e09e74b3291250a8d36cReid Spencer
32921972621191dc5187436e09e74b3291250a8d36cReid Spencerif test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
33021972621191dc5187436e09e74b3291250a8d36cReid Spencerthen
33121972621191dc5187436e09e74b3291250a8d36cReid Spencer  lt_save_LIBS="$LIBS"
33221972621191dc5187436e09e74b3291250a8d36cReid Spencer  LIBS="$LIBS $LIBADD_DL"
33321972621191dc5187436e09e74b3291250a8d36cReid Spencer  AC_CHECK_FUNCS([dlerror])
33421972621191dc5187436e09e74b3291250a8d36cReid Spencer  LIBS="$lt_save_LIBS"
33521972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
33621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_LANG_POP
33721972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_DLLIB
33821972621191dc5187436e09e74b3291250a8d36cReid Spencer
33921972621191dc5187436e09e74b3291250a8d36cReid Spencer
34021972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_SYMBOL_USCORE
34121972621191dc5187436e09e74b3291250a8d36cReid Spencer# ---------------------
34221972621191dc5187436e09e74b3291250a8d36cReid Spencer# does the compiler prefix global symbols with an underscore?
34321972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_SYMBOL_USCORE],
34421972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])
34521972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CACHE_CHECK([for _ prefix in compiled symbols],
34621972621191dc5187436e09e74b3291250a8d36cReid Spencer  [ac_cv_sys_symbol_underscore],
34721972621191dc5187436e09e74b3291250a8d36cReid Spencer  [ac_cv_sys_symbol_underscore=no
34821972621191dc5187436e09e74b3291250a8d36cReid Spencer  cat > conftest.$ac_ext <<EOF
34921972621191dc5187436e09e74b3291250a8d36cReid Spencervoid nm_test_func(){}
35021972621191dc5187436e09e74b3291250a8d36cReid Spencerint main(){nm_test_func;return 0;}
35121972621191dc5187436e09e74b3291250a8d36cReid SpencerEOF
35221972621191dc5187436e09e74b3291250a8d36cReid Spencer  if AC_TRY_EVAL(ac_compile); then
35321972621191dc5187436e09e74b3291250a8d36cReid Spencer    # Now try to grab the symbols.
35421972621191dc5187436e09e74b3291250a8d36cReid Spencer    ac_nlist=conftest.nm
35521972621191dc5187436e09e74b3291250a8d36cReid Spencer    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
35621972621191dc5187436e09e74b3291250a8d36cReid Spencer      # See whether the symbols have a leading underscore.
35721972621191dc5187436e09e74b3291250a8d36cReid Spencer      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
35821972621191dc5187436e09e74b3291250a8d36cReid Spencer        ac_cv_sys_symbol_underscore=yes
35921972621191dc5187436e09e74b3291250a8d36cReid Spencer      else
36021972621191dc5187436e09e74b3291250a8d36cReid Spencer        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
36121972621191dc5187436e09e74b3291250a8d36cReid Spencer	  :
36221972621191dc5187436e09e74b3291250a8d36cReid Spencer        else
363a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer	  echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
36421972621191dc5187436e09e74b3291250a8d36cReid Spencer        fi
36521972621191dc5187436e09e74b3291250a8d36cReid Spencer      fi
36621972621191dc5187436e09e74b3291250a8d36cReid Spencer    else
367a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
36821972621191dc5187436e09e74b3291250a8d36cReid Spencer    fi
36921972621191dc5187436e09e74b3291250a8d36cReid Spencer  else
370a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
371a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer    cat conftest.c >&AS_MESSAGE_LOG_FD
37221972621191dc5187436e09e74b3291250a8d36cReid Spencer  fi
37321972621191dc5187436e09e74b3291250a8d36cReid Spencer  rm -rf conftest*
37421972621191dc5187436e09e74b3291250a8d36cReid Spencer  ])
37521972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_SYMBOL_USCORE
37621972621191dc5187436e09e74b3291250a8d36cReid Spencer
37721972621191dc5187436e09e74b3291250a8d36cReid Spencer
37821972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_DLSYM_USCORE
37921972621191dc5187436e09e74b3291250a8d36cReid Spencer# --------------------
38021972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_DLSYM_USCORE],
38121972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])
38221972621191dc5187436e09e74b3291250a8d36cReid Spencerif test x"$ac_cv_sys_symbol_underscore" = xyes; then
38321972621191dc5187436e09e74b3291250a8d36cReid Spencer  if test x"$libltdl_cv_func_dlopen" = xyes ||
38421972621191dc5187436e09e74b3291250a8d36cReid Spencer     test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
38521972621191dc5187436e09e74b3291250a8d36cReid Spencer	AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
38621972621191dc5187436e09e74b3291250a8d36cReid Spencer	  [libltdl_cv_need_uscore],
38721972621191dc5187436e09e74b3291250a8d36cReid Spencer	  [libltdl_cv_need_uscore=unknown
38821972621191dc5187436e09e74b3291250a8d36cReid Spencer          save_LIBS="$LIBS"
38921972621191dc5187436e09e74b3291250a8d36cReid Spencer          LIBS="$LIBS $LIBADD_DL"
39021972621191dc5187436e09e74b3291250a8d36cReid Spencer	  _LT_AC_TRY_DLOPEN_SELF(
39121972621191dc5187436e09e74b3291250a8d36cReid Spencer	    [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
39221972621191dc5187436e09e74b3291250a8d36cReid Spencer	    [],				 [libltdl_cv_need_uscore=cross])
39321972621191dc5187436e09e74b3291250a8d36cReid Spencer	  LIBS="$save_LIBS"
39421972621191dc5187436e09e74b3291250a8d36cReid Spencer	])
39521972621191dc5187436e09e74b3291250a8d36cReid Spencer  fi
39621972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
39721972621191dc5187436e09e74b3291250a8d36cReid Spencer
39821972621191dc5187436e09e74b3291250a8d36cReid Spencerif test x"$libltdl_cv_need_uscore" = xyes; then
399a773bd54f32ceb55af08286fe00c6ec1b73e5b9aReid Spencer  AC_DEFINE([NEED_USCORE], [1],
40021972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define if dlsym() requires a leading underscore in symbol names.])
40121972621191dc5187436e09e74b3291250a8d36cReid Spencerfi
40221972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_DLSYM_USCORE
40321972621191dc5187436e09e74b3291250a8d36cReid Spencer
40421972621191dc5187436e09e74b3291250a8d36cReid Spencer# AC_LTDL_FUNC_ARGZ
40521972621191dc5187436e09e74b3291250a8d36cReid Spencer# -----------------
40621972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_DEFUN([AC_LTDL_FUNC_ARGZ],
40721972621191dc5187436e09e74b3291250a8d36cReid Spencer[AC_CHECK_HEADERS([argz.h])
40821972621191dc5187436e09e74b3291250a8d36cReid Spencer
40921972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_TYPES([error_t],
41021972621191dc5187436e09e74b3291250a8d36cReid Spencer  [],
41121972621191dc5187436e09e74b3291250a8d36cReid Spencer  [AC_DEFINE([error_t], [int],
41221972621191dc5187436e09e74b3291250a8d36cReid Spencer    [Define to a type to use for `error_t' if it is not otherwise available.])],
41321972621191dc5187436e09e74b3291250a8d36cReid Spencer  [#if HAVE_ARGZ_H
41421972621191dc5187436e09e74b3291250a8d36cReid Spencer#  include <argz.h>
41521972621191dc5187436e09e74b3291250a8d36cReid Spencer#endif])
41621972621191dc5187436e09e74b3291250a8d36cReid Spencer
41721972621191dc5187436e09e74b3291250a8d36cReid SpencerAC_CHECK_FUNCS([argz_append argz_create_sep argz_insert argz_next argz_stringify])
41821972621191dc5187436e09e74b3291250a8d36cReid Spencer])# AC_LTDL_FUNC_ARGZ
419