Advertisement
Guest User

ltdl.m4

a guest
Mar 21st, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.76 KB | None | 0 0
  1. # ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*-
  2. #
  3. # Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
  4. # Written by Thomas Tanner, 1999
  5. #
  6. # This file is free software; the Free Software Foundation gives
  7. # unlimited permission to copy and/or distribute it, with or without
  8. # modifications, as long as this notice is preserved.
  9.  
  10. # serial 17 LTDL_INIT
  11.  
  12. # LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE])
  13. # ------------------------------------------
  14. # DIRECTORY contains the libltdl sources. It is okay to call this
  15. # function multiple times, as long as the same DIRECTORY is always given.
  16. AC_DEFUN([LT_CONFIG_LTDL_DIR],
  17. [AC_BEFORE([$0], [LTDL_INIT])
  18. _$0($*)
  19. ])# LT_CONFIG_LTDL_DIR
  20.  
  21. # We break this out into a separate macro, so that we can call it safely
  22. # internally without being caught accidentally by the sed scan in libtoolize.
  23. m4_defun([_LT_CONFIG_LTDL_DIR],
  24. [dnl remove trailing slashes
  25. m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$]))
  26. m4_case(_LTDL_DIR,
  27. [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.'
  28. m4_if(_ARG_DIR, [.],
  29. [],
  30. [m4_define([_LTDL_DIR], _ARG_DIR)
  31. _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])],
  32. [m4_if(_ARG_DIR, _LTDL_DIR,
  33. [],
  34. [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])])
  35. m4_popdef([_ARG_DIR])
  36. ])# _LT_CONFIG_LTDL_DIR
  37.  
  38. # Initialise:
  39. m4_define([_LTDL_DIR], [])
  40.  
  41.  
  42. # _LT_BUILD_PREFIX
  43. # ----------------
  44. # If Autoconf is new enough, expand to `${top_build_prefix}', otherwise
  45. # to `${top_builddir}/'.
  46. m4_define([_LT_BUILD_PREFIX],
  47. [m4_ifdef([AC_AUTOCONF_VERSION],
  48. [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]),
  49. [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX],
  50. [${top_build_prefix}],
  51. [${top_builddir}/])],
  52. [${top_build_prefix}])],
  53. [${top_builddir}/])[]dnl
  54. ])
  55.  
  56.  
  57. # LTDL_CONVENIENCE
  58. # ----------------
  59. # sets LIBLTDL to the link flags for the libltdl convenience library and
  60. # LTDLINCL to the include flags for the libltdl header and adds
  61. # --enable-ltdl-convenience to the configure arguments. Note that
  62. # AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with
  63. # '${top_build_prefix}' if available, otherwise with '${top_builddir}/',
  64. # and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
  65. # quotes!). If your package is not flat and you're not using automake,
  66. # define top_build_prefix, top_builddir, and top_srcdir appropriately
  67. # in your Makefiles.
  68. AC_DEFUN([LTDL_CONVENIENCE],
  69. [AC_BEFORE([$0], [LTDL_INIT])dnl
  70. dnl Although the argument is deprecated and no longer documented,
  71. dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
  72. dnl here make sure it is the same as any other declaration of libltdl's
  73. dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
  74. dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
  75. m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
  76. _$0()
  77. ])# LTDL_CONVENIENCE
  78.  
  79. # AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools,
  80. # now we have LT_CONFIG_LTDL_DIR:
  81. AU_DEFUN([AC_LIBLTDL_CONVENIENCE],
  82. [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
  83. _LTDL_CONVENIENCE])
  84.  
  85. dnl aclocal-1.4 backwards compatibility:
  86. dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [])
  87.  
  88.  
  89. # _LTDL_CONVENIENCE
  90. # -----------------
  91. # Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]).
  92. m4_defun([_LTDL_CONVENIENCE],
  93. [case $enable_ltdl_convenience in
  94. no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
  95. "") enable_ltdl_convenience=yes
  96. ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
  97. esac
  98. LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la"
  99. LTDLDEPS=$LIBLTDL
  100. LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
  101.  
  102. AC_SUBST([LIBLTDL])
  103. AC_SUBST([LTDLDEPS])
  104. AC_SUBST([LTDLINCL])
  105.  
  106. # For backwards non-gettext consistent compatibility...
  107. INCLTDL="$LTDLINCL"
  108. AC_SUBST([INCLTDL])
  109. ])# _LTDL_CONVENIENCE
  110.  
  111.  
  112. # LTDL_INSTALLABLE
  113. # ----------------
  114. # sets LIBLTDL to the link flags for the libltdl installable library
  115. # and LTDLINCL to the include flags for the libltdl header and adds
  116. # --enable-ltdl-install to the configure arguments. Note that
  117. # AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl
  118. # is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if
  119. # available, otherwise with '${top_builddir}/', and LTDLINCL will be
  120. # prefixed with '${top_srcdir}/' (note the single quotes!). If your
  121. # package is not flat and you're not using automake, define top_build_prefix,
  122. # top_builddir, and top_srcdir appropriately in your Makefiles.
  123. # In the future, this macro may have to be called after LT_INIT.
  124. AC_DEFUN([LTDL_INSTALLABLE],
  125. [AC_BEFORE([$0], [LTDL_INIT])dnl
  126. dnl Although the argument is deprecated and no longer documented,
  127. dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
  128. dnl here make sure it is the same as any other declaration of libltdl's
  129. dnl location! This also ensures lt_ltdl_dir is set when configure.ac is
  130. dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
  131. m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
  132. _$0()
  133. ])# LTDL_INSTALLABLE
  134.  
  135. # AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools,
  136. # now we have LT_CONFIG_LTDL_DIR:
  137. AU_DEFUN([AC_LIBLTDL_INSTALLABLE],
  138. [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
  139. _LTDL_INSTALLABLE])
  140.  
  141. dnl aclocal-1.4 backwards compatibility:
  142. dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [])
  143.  
  144.  
  145. # _LTDL_INSTALLABLE
  146. # -----------------
  147. # Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]).
  148. m4_defun([_LTDL_INSTALLABLE],
  149. [if test -f $prefix/lib/libltdl.la; then
  150. lt_save_LDFLAGS="$LDFLAGS"
  151. LDFLAGS="-L$prefix/lib $LDFLAGS"
  152. AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes])
  153. LDFLAGS="$lt_save_LDFLAGS"
  154. if test x"${lt_lib_ltdl-no}" = xyes; then
  155. if test x"$enable_ltdl_install" != xyes; then
  156. # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install
  157. AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install'])
  158. enable_ltdl_install=no
  159. fi
  160. elif test x"$enable_ltdl_install" = xno; then
  161. AC_MSG_WARN([libltdl not installed, but installation disabled])
  162. fi
  163. fi
  164.  
  165. # If configure.ac declared an installable ltdl, and the user didn't override
  166. # with --disable-ltdl-install, we will install the shipped libltdl.
  167. case $enable_ltdl_install in
  168. no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
  169. LIBLTDL="-lltdl"
  170. LTDLDEPS=
  171. LTDLINCL=
  172. ;;
  173. *) enable_ltdl_install=yes
  174. ac_configure_args="$ac_configure_args --enable-ltdl-install"
  175. LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la"
  176. LTDLDEPS=$LIBLTDL
  177. LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}"
  178. ;;
  179. esac
  180.  
  181. AC_SUBST([LIBLTDL])
  182. AC_SUBST([LTDLDEPS])
  183. AC_SUBST([LTDLINCL])
  184.  
  185. # For backwards non-gettext consistent compatibility...
  186. INCLTDL="$LTDLINCL"
  187. AC_SUBST([INCLTDL])
  188. ])# LTDL_INSTALLABLE
  189.  
  190.  
  191. # _LTDL_MODE_DISPATCH
  192. # -------------------
  193. m4_define([_LTDL_MODE_DISPATCH],
  194. [dnl If _LTDL_DIR is `.', then we are configuring libltdl itself:
  195. m4_if(_LTDL_DIR, [],
  196. [],
  197. dnl if _LTDL_MODE was not set already, the default value is `subproject':
  198. [m4_case(m4_default(_LTDL_MODE, [subproject]),
  199. [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR)
  200. _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])],
  201. [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])],
  202. [recursive], [],
  203. [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl
  204. dnl Be careful not to expand twice:
  205. m4_define([$0], [])
  206. ])# _LTDL_MODE_DISPATCH
  207.  
  208.  
  209. # _LT_LIBOBJ(MODULE_NAME)
  210. # -----------------------
  211. # Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead
  212. # of into LIBOBJS.
  213. AC_DEFUN([_LT_LIBOBJ], [
  214. m4_pattern_allow([^_LT_LIBOBJS$])
  215. _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
  216. ])# _LT_LIBOBJS
  217.  
  218.  
  219. # LTDL_INIT([OPTIONS])
  220. # --------------------
  221. # Clients of libltdl can use this macro to allow the installer to
  222. # choose between a shipped copy of the ltdl sources or a preinstalled
  223. # version of the library. If the shipped ltdl sources are not in a
  224. # subdirectory named libltdl, the directory name must be given by
  225. # LT_CONFIG_LTDL_DIR.
  226. AC_DEFUN([LTDL_INIT],
  227. [dnl Parse OPTIONS
  228. _LT_SET_OPTIONS([$0], [$1])
  229.  
  230. dnl We need to keep our own list of libobjs separate from our parent project,
  231. dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
  232. dnl we look for our own LIBOBJs.
  233. m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
  234. m4_pushdef([AC_LIBSOURCES])
  235.  
  236. dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
  237. m4_if(_LTDL_MODE, [],
  238. [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
  239. m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
  240. [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
  241.  
  242. AC_ARG_WITH([included_ltdl],
  243. [AS_HELP_STRING([--with-included-ltdl],
  244. [use the GNU ltdl sources included here])])
  245.  
  246. if test "x$with_included_ltdl" != xyes; then
  247. # We are not being forced to use the included libltdl sources, so
  248. # decide whether there is a useful installed version we can use.
  249. AC_CHECK_HEADER([ltdl.h],
  250. [AC_CHECK_DECL([lt_dlinterface_register],
  251. [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
  252. [with_included_ltdl=no],
  253. [with_included_ltdl=yes])],
  254. [with_included_ltdl=yes],
  255. [AC_INCLUDES_DEFAULT
  256. #include <ltdl.h>])],
  257. [with_included_ltdl=yes],
  258. [AC_INCLUDES_DEFAULT]
  259. )
  260. fi
  261.  
  262. dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
  263. dnl was called yet, then for old times' sake, we assume libltdl is in an
  264. dnl eponymous directory:
  265. AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
  266.  
  267. AC_ARG_WITH([ltdl_include],
  268. [AS_HELP_STRING([--with-ltdl-include=DIR],
  269. [use the ltdl headers installed in DIR])])
  270.  
  271. if test -n "$with_ltdl_include"; then
  272. if test -f "$with_ltdl_include/ltdl.h"; then :
  273. else
  274. AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
  275. fi
  276. else
  277. with_ltdl_include=no
  278. fi
  279.  
  280. AC_ARG_WITH([ltdl_lib],
  281. [AS_HELP_STRING([--with-ltdl-lib=DIR],
  282. [use the libltdl.la installed in DIR])])
  283.  
  284. if test -n "$with_ltdl_lib"; then
  285. if test -f "$with_ltdl_lib/libltdl.la"; then :
  286. else
  287. AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
  288. fi
  289. else
  290. with_ltdl_lib=no
  291. fi
  292.  
  293. case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
  294. ,yes,no,no,)
  295. m4_case(m4_default(_LTDL_TYPE, [convenience]),
  296. [convenience], [_LTDL_CONVENIENCE],
  297. [installable], [_LTDL_INSTALLABLE],
  298. [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
  299. ;;
  300. ,no,no,no,)
  301. # If the included ltdl is not to be used, then use the
  302. # preinstalled libltdl we found.
  303. AC_DEFINE([HAVE_LTDL], [1],
  304. [Define this if a modern libltdl is already installed])
  305. LIBLTDL=-lltdl
  306. LTDLDEPS=
  307. LTDLINCL=
  308. ;;
  309. ,no*,no,*)
  310. AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
  311. ;;
  312. *) with_included_ltdl=no
  313. LIBLTDL="-L$with_ltdl_lib -lltdl"
  314. LTDLDEPS=
  315. LTDLINCL="-I$with_ltdl_include"
  316. ;;
  317. esac
  318. INCLTDL="$LTDLINCL"
  319.  
  320. # Report our decision...
  321. AC_MSG_CHECKING([where to find libltdl headers])
  322. AC_MSG_RESULT([$LTDLINCL])
  323. AC_MSG_CHECKING([where to find libltdl library])
  324. AC_MSG_RESULT([$LIBLTDL])
  325.  
  326. _LTDL_SETUP
  327.  
  328. dnl restore autoconf definition.
  329. m4_popdef([AC_LIBOBJ])
  330. m4_popdef([AC_LIBSOURCES])
  331.  
  332. AC_CONFIG_COMMANDS_PRE([
  333. _ltdl_libobjs=
  334. _ltdl_ltlibobjs=
  335. if test -n "$_LT_LIBOBJS"; then
  336. # Remove the extension.
  337. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
  338. for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
  339. _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
  340. _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
  341. done
  342. fi
  343. AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
  344. AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
  345. ])
  346.  
  347. # Only expand once:
  348. m4_define([LTDL_INIT])
  349. ])# LTDL_INIT
  350.  
  351. # Old names:
  352. AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
  353. AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
  354. AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
  355. dnl aclocal-1.4 backwards compatibility:
  356. dnl AC_DEFUN([AC_LIB_LTDL], [])
  357. dnl AC_DEFUN([AC_WITH_LTDL], [])
  358. dnl AC_DEFUN([LT_WITH_LTDL], [])
  359.  
  360.  
  361. # _LTDL_SETUP
  362. # -----------
  363. # Perform all the checks necessary for compilation of the ltdl objects
  364. # -- including compiler checks and header checks. This is a public
  365. # interface mainly for the benefit of libltdl's own configure.ac, most
  366. # other users should call LTDL_INIT instead.
  367. AC_DEFUN([_LTDL_SETUP],
  368. [AC_REQUIRE([AC_PROG_CC])dnl
  369. AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
  370. AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
  371. AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
  372. AC_REQUIRE([LT_LIB_DLLOAD])dnl
  373. AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
  374. AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
  375. AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
  376. AC_REQUIRE([gl_FUNC_ARGZ])dnl
  377.  
  378. m4_require([_LT_CHECK_OBJDIR])dnl
  379. m4_require([_LT_HEADER_DLFCN])dnl
  380. m4_require([_LT_CHECK_DLPREOPEN])dnl
  381. m4_require([_LT_DECL_SED])dnl
  382.  
  383. dnl Don't require this, or it will be expanded earlier than the code
  384. dnl that sets the variables it relies on:
  385. _LT_ENABLE_INSTALL
  386.  
  387. dnl _LTDL_MODE specific code must be called at least once:
  388. _LTDL_MODE_DISPATCH
  389.  
  390. # In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
  391. # the user used. This is so that ltdl.h can pick up the parent projects
  392. # config.h file, The first file in AC_CONFIG_HEADERS must contain the
  393. # definitions required by ltdl.c.
  394. # FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
  395. AC_CONFIG_COMMANDS_PRE([dnl
  396. m4_pattern_allow([^LT_CONFIG_H$])dnl
  397. m4_ifset([AH_HEADER],
  398. [LT_CONFIG_H=AH_HEADER],
  399. [m4_ifset([AC_LIST_HEADERS],
  400. [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`],
  401. [])])])
  402. AC_SUBST([LT_CONFIG_H])
  403.  
  404. AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
  405. [], [], [AC_INCLUDES_DEFAULT])
  406.  
  407. AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
  408. AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
  409.  
  410. AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
  411.  
  412. name=ltdl
  413. LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
  414. AC_SUBST([LTDLOPEN])
  415. ])# _LTDL_SETUP
  416.  
  417.  
  418. # _LT_ENABLE_INSTALL
  419. # ------------------
  420. m4_define([_LT_ENABLE_INSTALL],
  421. [AC_ARG_ENABLE([ltdl-install],
  422. [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])])
  423.  
  424. case ,${enable_ltdl_install},${enable_ltdl_convenience} in
  425. *yes*) ;;
  426. *) enable_ltdl_convenience=yes ;;
  427. esac
  428.  
  429. m4_ifdef([AM_CONDITIONAL],
  430. [AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno)
  431. AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)])
  432. ])# _LT_ENABLE_INSTALL
  433.  
  434.  
  435. # LT_SYS_DLOPEN_DEPLIBS
  436. # ---------------------
  437. AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS],
  438. [AC_REQUIRE([AC_CANONICAL_HOST])dnl
  439. AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
  440. [lt_cv_sys_dlopen_deplibs],
  441. [# PORTME does your system automatically load deplibs for dlopen?
  442. # or its logical equivalent (e.g. shl_load for HP-UX < 11)
  443. # For now, we just catch OSes we know something about -- in the
  444. # future, we'll try test this programmatically.
  445. lt_cv_sys_dlopen_deplibs=unknown
  446. case $host_os in
  447. aix3*|aix4.1.*|aix4.2.*)
  448. # Unknown whether this is true for these versions of AIX, but
  449. # we want this `case' here to explicitly catch those versions.
  450. lt_cv_sys_dlopen_deplibs=unknown
  451. ;;
  452. aix[[4-9]]*)
  453. lt_cv_sys_dlopen_deplibs=yes
  454. ;;
  455. amigaos*)
  456. case $host_cpu in
  457. powerpc)
  458. lt_cv_sys_dlopen_deplibs=no
  459. ;;
  460. esac
  461. ;;
  462. darwin*)
  463. # Assuming the user has installed a libdl from somewhere, this is true
  464. # If you are looking for one http://www.opendarwin.org/projects/dlcompat
  465. lt_cv_sys_dlopen_deplibs=yes
  466. ;;
  467. freebsd* | dragonfly*)
  468. lt_cv_sys_dlopen_deplibs=yes
  469. ;;
  470. gnu* | linux* | k*bsd*-gnu)
  471. # GNU and its variants, using gnu ld.so (Glibc)
  472. lt_cv_sys_dlopen_deplibs=yes
  473. ;;
  474. hpux10*|hpux11*)
  475. lt_cv_sys_dlopen_deplibs=yes
  476. ;;
  477. interix*)
  478. lt_cv_sys_dlopen_deplibs=yes
  479. ;;
  480. irix[[12345]]*|irix6.[[01]]*)
  481. # Catch all versions of IRIX before 6.2, and indicate that we don't
  482. # know how it worked for any of those versions.
  483. lt_cv_sys_dlopen_deplibs=unknown
  484. ;;
  485. irix*)
  486. # The case above catches anything before 6.2, and it's known that
  487. # at 6.2 and later dlopen does load deplibs.
  488. lt_cv_sys_dlopen_deplibs=yes
  489. ;;
  490. netbsd* | netbsdelf*-gnu)
  491. lt_cv_sys_dlopen_deplibs=yes
  492. ;;
  493. openbsd*)
  494. lt_cv_sys_dlopen_deplibs=yes
  495. ;;
  496. osf[[1234]]*)
  497. # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
  498. # it did *not* use an RPATH in a shared library to find objects the
  499. # library depends on, so we explicitly say `no'.
  500. lt_cv_sys_dlopen_deplibs=no
  501. ;;
  502. osf5.0|osf5.0a|osf5.1)
  503. # dlopen *does* load deplibs and with the right loader patch applied
  504. # it even uses RPATH in a shared library to search for shared objects
  505. # that the library depends on, but there's no easy way to know if that
  506. # patch is installed. Since this is the case, all we can really
  507. # say is unknown -- it depends on the patch being installed. If
  508. # it is, this changes to `yes'. Without it, it would be `no'.
  509. lt_cv_sys_dlopen_deplibs=unknown
  510. ;;
  511. osf*)
  512. # the two cases above should catch all versions of osf <= 5.1. Read
  513. # the comments above for what we know about them.
  514. # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
  515. # is used to find them so we can finally say `yes'.
  516. lt_cv_sys_dlopen_deplibs=yes
  517. ;;
  518. qnx*)
  519. lt_cv_sys_dlopen_deplibs=yes
  520. ;;
  521. solaris*)
  522. lt_cv_sys_dlopen_deplibs=yes
  523. ;;
  524. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  525. libltdl_cv_sys_dlopen_deplibs=yes
  526. ;;
  527. esac
  528. ])
  529. if test "$lt_cv_sys_dlopen_deplibs" != yes; then
  530. AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
  531. [Define if the OS needs help to load dependent libraries for dlopen().])
  532. fi
  533. ])# LT_SYS_DLOPEN_DEPLIBS
  534.  
  535. # Old name:
  536. AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS])
  537. dnl aclocal-1.4 backwards compatibility:
  538. dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [])
  539.  
  540.  
  541. # LT_SYS_MODULE_EXT
  542. # -----------------
  543. AC_DEFUN([LT_SYS_MODULE_EXT],
  544. [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
  545. AC_CACHE_CHECK([which extension is used for runtime loadable modules],
  546. [libltdl_cv_shlibext],
  547. [
  548. module=yes
  549. eval libltdl_cv_shlibext=$shrext_cmds
  550. ])
  551. if test -n "$libltdl_cv_shlibext"; then
  552. m4_pattern_allow([LT_MODULE_EXT])dnl
  553. AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
  554. [Define to the extension used for runtime loadable modules, say, ".so".])
  555. fi
  556. ])# LT_SYS_MODULE_EXT
  557.  
  558. # Old name:
  559. AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT])
  560. dnl aclocal-1.4 backwards compatibility:
  561. dnl AC_DEFUN([AC_LTDL_SHLIBEXT], [])
  562.  
  563.  
  564. # LT_SYS_MODULE_PATH
  565. # ------------------
  566. AC_DEFUN([LT_SYS_MODULE_PATH],
  567. [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
  568. AC_CACHE_CHECK([which variable specifies run-time module search path],
  569. [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
  570. if test -n "$lt_cv_module_path_var"; then
  571. m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
  572. AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
  573. [Define to the name of the environment variable that determines the run-time module search path.])
  574. fi
  575. ])# LT_SYS_MODULE_PATH
  576.  
  577. # Old name:
  578. AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH])
  579. dnl aclocal-1.4 backwards compatibility:
  580. dnl AC_DEFUN([AC_LTDL_SHLIBPATH], [])
  581.  
  582.  
  583. # LT_SYS_DLSEARCH_PATH
  584. # --------------------
  585. AC_DEFUN([LT_SYS_DLSEARCH_PATH],
  586. [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
  587. AC_CACHE_CHECK([for the default library search path],
  588. [lt_cv_sys_dlsearch_path],
  589. [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
  590. if test -n "$lt_cv_sys_dlsearch_path"; then
  591. sys_dlsearch_path=
  592. for dir in $lt_cv_sys_dlsearch_path; do
  593. if test -z "$sys_dlsearch_path"; then
  594. sys_dlsearch_path="$dir"
  595. else
  596. sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
  597. fi
  598. done
  599. m4_pattern_allow([LT_DLSEARCH_PATH])dnl
  600. AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
  601. [Define to the system default library search path.])
  602. fi
  603. ])# LT_SYS_DLSEARCH_PATH
  604.  
  605. # Old name:
  606. AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH])
  607. dnl aclocal-1.4 backwards compatibility:
  608. dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [])
  609.  
  610.  
  611. # _LT_CHECK_DLPREOPEN
  612. # -------------------
  613. m4_defun([_LT_CHECK_DLPREOPEN],
  614. [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
  615. AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen],
  616. [libltdl_cv_preloaded_symbols],
  617. [if test -n "$lt_cv_sys_global_symbol_pipe"; then
  618. libltdl_cv_preloaded_symbols=yes
  619. else
  620. libltdl_cv_preloaded_symbols=no
  621. fi
  622. ])
  623. if test x"$libltdl_cv_preloaded_symbols" = xyes; then
  624. AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1],
  625. [Define if libtool can extract symbol lists from object files.])
  626. fi
  627. ])# _LT_CHECK_DLPREOPEN
  628.  
  629.  
  630. # LT_LIB_DLLOAD
  631. # -------------
  632. AC_DEFUN([LT_LIB_DLLOAD],
  633. [m4_pattern_allow([^LT_DLLOADERS$])
  634. LT_DLLOADERS=
  635. AC_SUBST([LT_DLLOADERS])
  636.  
  637. AC_LANG_PUSH([C])
  638.  
  639. LIBADD_DLOPEN=
  640. AC_SEARCH_LIBS([dlopen], [dl],
  641. [AC_DEFINE([HAVE_LIBDL], [1],
  642. [Define if you have the libdl library or equivalent.])
  643. if test "$ac_cv_search_dlopen" != "none required" ; then
  644. LIBADD_DLOPEN="-ldl"
  645. fi
  646. libltdl_cv_lib_dl_dlopen="yes"
  647. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
  648. [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
  649. # include <dlfcn.h>
  650. #endif
  651. ]], [[dlopen(0, 0);]])],
  652. [AC_DEFINE([HAVE_LIBDL], [1],
  653. [Define if you have the libdl library or equivalent.])
  654. libltdl_cv_func_dlopen="yes"
  655. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
  656. [AC_CHECK_LIB([svld], [dlopen],
  657. [AC_DEFINE([HAVE_LIBDL], [1],
  658. [Define if you have the libdl library or equivalent.])
  659. LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
  660. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
  661. if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
  662. then
  663. lt_save_LIBS="$LIBS"
  664. LIBS="$LIBS $LIBADD_DLOPEN"
  665. AC_CHECK_FUNCS([dlerror])
  666. LIBS="$lt_save_LIBS"
  667. fi
  668. AC_SUBST([LIBADD_DLOPEN])
  669.  
  670. LIBADD_SHL_LOAD=
  671. AC_CHECK_FUNC([shl_load],
  672. [AC_DEFINE([HAVE_SHL_LOAD], [1],
  673. [Define if you have the shl_load function.])
  674. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
  675. [AC_CHECK_LIB([dld], [shl_load],
  676. [AC_DEFINE([HAVE_SHL_LOAD], [1],
  677. [Define if you have the shl_load function.])
  678. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
  679. LIBADD_SHL_LOAD="-ldld"])])
  680. AC_SUBST([LIBADD_SHL_LOAD])
  681.  
  682. case $host_os in
  683. darwin[[1567]].*)
  684. # We only want this for pre-Mac OS X 10.4.
  685. AC_CHECK_FUNC([_dyld_func_lookup],
  686. [AC_DEFINE([HAVE_DYLD], [1],
  687. [Define if you have the _dyld_func_lookup function.])
  688. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
  689. ;;
  690. beos*)
  691. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
  692. ;;
  693. cygwin* | mingw* | os2* | pw32*)
  694. AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
  695. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
  696. ;;
  697. esac
  698.  
  699. AC_CHECK_LIB([dld], [dld_link],
  700. [AC_DEFINE([HAVE_DLD], [1],
  701. [Define if you have the GNU dld library.])
  702. LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
  703. AC_SUBST([LIBADD_DLD_LINK])
  704.  
  705. m4_pattern_allow([^LT_DLPREOPEN$])
  706. LT_DLPREOPEN=
  707. if test -n "$LT_DLLOADERS"
  708. then
  709. for lt_loader in $LT_DLLOADERS; do
  710. LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
  711. done
  712. AC_DEFINE([HAVE_LIBDLLOADER], [1],
  713. [Define if libdlloader will be built on this platform])
  714. fi
  715. AC_SUBST([LT_DLPREOPEN])
  716.  
  717. dnl This isn't used anymore, but set it for backwards compatibility
  718. LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
  719. AC_SUBST([LIBADD_DL])
  720.  
  721. AC_LANG_POP
  722. ])# LT_LIB_DLLOAD
  723.  
  724. # Old name:
  725. AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD])
  726. dnl aclocal-1.4 backwards compatibility:
  727. dnl AC_DEFUN([AC_LTDL_DLLIB], [])
  728.  
  729.  
  730. # LT_SYS_SYMBOL_USCORE
  731. # --------------------
  732. # does the compiler prefix global symbols with an underscore?
  733. AC_DEFUN([LT_SYS_SYMBOL_USCORE],
  734. [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
  735. AC_CACHE_CHECK([for _ prefix in compiled symbols],
  736. [lt_cv_sys_symbol_underscore],
  737. [lt_cv_sys_symbol_underscore=no
  738. cat > conftest.$ac_ext <<_LT_EOF
  739. void nm_test_func(){}
  740. int main(){nm_test_func;return 0;}
  741. _LT_EOF
  742. if AC_TRY_EVAL(ac_compile); then
  743. # Now try to grab the symbols.
  744. ac_nlist=conftest.nm
  745. if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
  746. # See whether the symbols have a leading underscore.
  747. if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
  748. lt_cv_sys_symbol_underscore=yes
  749. else
  750. if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
  751. :
  752. else
  753. echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
  754. fi
  755. fi
  756. else
  757. echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
  758. fi
  759. else
  760. echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
  761. cat conftest.c >&AS_MESSAGE_LOG_FD
  762. fi
  763. rm -rf conftest*
  764. ])
  765. sys_symbol_underscore=$lt_cv_sys_symbol_underscore
  766. AC_SUBST([sys_symbol_underscore])
  767. ])# LT_SYS_SYMBOL_USCORE
  768.  
  769. # Old name:
  770. AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE])
  771. dnl aclocal-1.4 backwards compatibility:
  772. dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [])
  773.  
  774.  
  775. # LT_FUNC_DLSYM_USCORE
  776. # --------------------
  777. AC_DEFUN([LT_FUNC_DLSYM_USCORE],
  778. [AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
  779. if test x"$lt_cv_sys_symbol_underscore" = xyes; then
  780. if test x"$libltdl_cv_func_dlopen" = xyes ||
  781. test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
  782. AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
  783. [libltdl_cv_need_uscore],
  784. [libltdl_cv_need_uscore=unknown
  785. save_LIBS="$LIBS"
  786. LIBS="$LIBS $LIBADD_DLOPEN"
  787. _LT_TRY_DLOPEN_SELF(
  788. [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
  789. [], [libltdl_cv_need_uscore=cross])
  790. LIBS="$save_LIBS"
  791. ])
  792. fi
  793. fi
  794.  
  795. if test x"$libltdl_cv_need_uscore" = xyes; then
  796. AC_DEFINE([NEED_USCORE], [1],
  797. [Define if dlsym() requires a leading underscore in symbol names.])
  798. fi
  799. ])# LT_FUNC_DLSYM_USCORE
  800.  
  801. # Old name:
  802. AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE])
  803. dnl aclocal-1.4 backwards compatibility:
  804. dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], [])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement