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