| 1 | ## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- | 
|---|
| 2 | ## Copyright (C) 1996-1999,2000 Free Software Foundation, Inc. | 
|---|
| 3 | ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | 
|---|
| 4 | ## | 
|---|
| 5 | ## This program is free software; you can redistribute it and/or modify | 
|---|
| 6 | ## it under the terms of the GNU General Public License as published by | 
|---|
| 7 | ## the Free Software Foundation; either version 2 of the License, or | 
|---|
| 8 | ## (at your option) any later version. | 
|---|
| 9 | ## | 
|---|
| 10 | ## This program is distributed in the hope that it will be useful, but | 
|---|
| 11 | ## WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 12 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|---|
| 13 | ## General Public License for more details. | 
|---|
| 14 | ## | 
|---|
| 15 | ## You should have received a copy of the GNU General Public License | 
|---|
| 16 | ## along with this program; if not, write to the Free Software | 
|---|
| 17 | ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 
|---|
| 18 | ## | 
|---|
| 19 | ## As a special exception to the GNU General Public License, if you | 
|---|
| 20 | ## distribute this file as part of a program that contains a | 
|---|
| 21 | ## configuration script generated by Autoconf, you may include it under | 
|---|
| 22 | ## the same distribution terms that you use for the rest of that program. | 
|---|
| 23 |  | 
|---|
| 24 | # serial 45 AC_PROG_LIBTOOL | 
|---|
| 25 | AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL]) | 
|---|
| 26 | dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX | 
|---|
| 27 | dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. | 
|---|
| 28 | AC_PROVIDE_IFELSE([AC_PROG_CXX], | 
|---|
| 29 | [AC_LIBTOOL_CXX], | 
|---|
| 30 | [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX | 
|---|
| 31 | ])]) | 
|---|
| 32 |  | 
|---|
| 33 | dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. | 
|---|
| 34 | dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run | 
|---|
| 35 | dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. | 
|---|
| 36 | AC_PROVIDE_IFELSE([AC_PROG_GCJ], | 
|---|
| 37 | [AC_LIBTOOL_GCJ], | 
|---|
| 38 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | 
|---|
| 39 | [AC_LIBTOOL_GCJ], | 
|---|
| 40 | [ifdef([AC_PROG_GCJ], | 
|---|
| 41 | [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ | 
|---|
| 42 | ])]) | 
|---|
| 43 | ifdef([A][M_PROG_GCJ], | 
|---|
| 44 | [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ | 
|---|
| 45 | ])])])])]) | 
|---|
| 46 |  | 
|---|
| 47 | AC_DEFUN(_AC_PROG_LIBTOOL, | 
|---|
| 48 | [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl | 
|---|
| 49 | AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl | 
|---|
| 50 | AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl | 
|---|
| 51 |  | 
|---|
| 52 | # Save cache, so that ltconfig can load it | 
|---|
| 53 | AC_CACHE_SAVE | 
|---|
| 54 |  | 
|---|
| 55 | # Actually configure libtool.  ac_aux_dir is where install-sh is found. | 
|---|
| 56 | AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ | 
|---|
| 57 | MAGIC="$MAGIC" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ | 
|---|
| 58 | LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ | 
|---|
| 59 | AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ | 
|---|
| 60 | objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ | 
|---|
| 61 | deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ | 
|---|
| 62 | ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ | 
|---|
| 63 | $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ | 
|---|
| 64 | || AC_MSG_ERROR([libtool configure failed]) | 
|---|
| 65 |  | 
|---|
| 66 | # Reload cache, that may have been modified by ltconfig | 
|---|
| 67 | AC_CACHE_LOAD | 
|---|
| 68 |  | 
|---|
| 69 | # This can be used to rebuild libtool when needed | 
|---|
| 70 | LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh" | 
|---|
| 71 |  | 
|---|
| 72 | # Always use our own libtool. | 
|---|
| 73 | LIBTOOL='$(SHELL) $(top_builddir)/libtool' | 
|---|
| 74 | AC_SUBST(LIBTOOL)dnl | 
|---|
| 75 |  | 
|---|
| 76 | # Redirect the config.log output again, so that the ltconfig log is not | 
|---|
| 77 | # clobbered by the next message. | 
|---|
| 78 | exec 5>>./config.log | 
|---|
| 79 | ]) | 
|---|
| 80 |  | 
|---|
| 81 | AC_DEFUN(AC_LIBTOOL_SETUP, | 
|---|
| 82 | [AC_PREREQ(2.13)dnl | 
|---|
| 83 | AC_REQUIRE([AC_ENABLE_SHARED])dnl | 
|---|
| 84 | AC_REQUIRE([AC_ENABLE_STATIC])dnl | 
|---|
| 85 | AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl | 
|---|
| 86 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | 
|---|
| 87 | AC_REQUIRE([AC_CANONICAL_BUILD])dnl | 
|---|
| 88 | AC_REQUIRE([AC_PROG_CC])dnl | 
|---|
| 89 | AC_REQUIRE([AC_PROG_LD])dnl | 
|---|
| 90 | AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl | 
|---|
| 91 | AC_REQUIRE([AC_PROG_NM])dnl | 
|---|
| 92 | AC_REQUIRE([AC_PROG_LN_S])dnl | 
|---|
| 93 | AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl | 
|---|
| 94 | # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! | 
|---|
| 95 | AC_REQUIRE([AC_OBJEXT])dnl | 
|---|
| 96 | AC_REQUIRE([AC_EXEEXT])dnl | 
|---|
| 97 | dnl | 
|---|
| 98 |  | 
|---|
| 99 | # Only perform the check for file, if the check method requires it | 
|---|
| 100 | case "$deplibs_check_method" in | 
|---|
| 101 | file_magic*) | 
|---|
| 102 | if test "$file_magic_cmd" = '${MAGIC}'; then | 
|---|
| 103 | AC_PATH_MAGIC | 
|---|
| 104 | fi | 
|---|
| 105 | ;; | 
|---|
| 106 | esac | 
|---|
| 107 |  | 
|---|
| 108 | AC_CHECK_TOOL(RANLIB, ranlib, :) | 
|---|
| 109 | AC_CHECK_TOOL(STRIP, strip, :) | 
|---|
| 110 |  | 
|---|
| 111 | # Check for any special flags to pass to ltconfig. | 
|---|
| 112 | libtool_flags="--cache-file=$cache_file" | 
|---|
| 113 | test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" | 
|---|
| 114 | test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" | 
|---|
| 115 | test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" | 
|---|
| 116 | test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" | 
|---|
| 117 | test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" | 
|---|
| 118 | ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], | 
|---|
| 119 | [libtool_flags="$libtool_flags --enable-dlopen"]) | 
|---|
| 120 | ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], | 
|---|
| 121 | [libtool_flags="$libtool_flags --enable-win32-dll"]) | 
|---|
| 122 | AC_ARG_ENABLE(libtool-lock, | 
|---|
| 123 | [  --disable-libtool-lock  avoid locking (might break parallel builds)]) | 
|---|
| 124 | test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" | 
|---|
| 125 | test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" | 
|---|
| 126 |  | 
|---|
| 127 | AC_ARG_WITH(pic, | 
|---|
| 128 | [  --with-pic              try to use only PIC/non-PIC objects [default=use both]], | 
|---|
| 129 | pic_mode="$withval", pic_mode=default) | 
|---|
| 130 | test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" | 
|---|
| 131 | test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" | 
|---|
| 132 |  | 
|---|
| 133 | # Some flags need to be propagated to the compiler or linker for good | 
|---|
| 134 | # libtool support. | 
|---|
| 135 | case "$host" in | 
|---|
| 136 | *-*-irix6*) | 
|---|
| 137 | # Find out which ABI we are using. | 
|---|
| 138 | echo '[#]line __oline__ "configure"' > conftest.$ac_ext | 
|---|
| 139 | if AC_TRY_EVAL(ac_compile); then | 
|---|
| 140 | case "`/usr/bin/file conftest.o`" in | 
|---|
| 141 | *32-bit*) | 
|---|
| 142 | LD="${LD-ld} -32" | 
|---|
| 143 | ;; | 
|---|
| 144 | *N32*) | 
|---|
| 145 | LD="${LD-ld} -n32" | 
|---|
| 146 | ;; | 
|---|
| 147 | *64-bit*) | 
|---|
| 148 | LD="${LD-ld} -64" | 
|---|
| 149 | ;; | 
|---|
| 150 | esac | 
|---|
| 151 | fi | 
|---|
| 152 | rm -rf conftest* | 
|---|
| 153 | ;; | 
|---|
| 154 |  | 
|---|
| 155 | *-*-sco3.2v5*) | 
|---|
| 156 | # On SCO OpenServer 5, we need -belf to get full-featured binaries. | 
|---|
| 157 | SAVE_CFLAGS="$CFLAGS" | 
|---|
| 158 | CFLAGS="$CFLAGS -belf" | 
|---|
| 159 | AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | 
|---|
| 160 | [AC_LANG_SAVE | 
|---|
| 161 | AC_LANG_C | 
|---|
| 162 | AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | 
|---|
| 163 | AC_LANG_RESTORE]) | 
|---|
| 164 | if test x"$lt_cv_cc_needs_belf" != x"yes"; then | 
|---|
| 165 | # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | 
|---|
| 166 | CFLAGS="$SAVE_CFLAGS" | 
|---|
| 167 | fi | 
|---|
| 168 | ;; | 
|---|
| 169 |  | 
|---|
| 170 | ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], | 
|---|
| 171 | [*-*-cygwin* | *-*-mingw*) | 
|---|
| 172 | AC_CHECK_TOOL(DLLTOOL, dlltool, false) | 
|---|
| 173 | AC_CHECK_TOOL(AS, as, false) | 
|---|
| 174 | AC_CHECK_TOOL(OBJDUMP, objdump, false) | 
|---|
| 175 |  | 
|---|
| 176 | # recent cygwin and mingw systems supply a stub DllMain which the user | 
|---|
| 177 | # can override, but on older systems we have to supply one | 
|---|
| 178 | AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, | 
|---|
| 179 | [AC_TRY_LINK([], | 
|---|
| 180 | [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); | 
|---|
| 181 | DllMain (0, 0, 0);], | 
|---|
| 182 | [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) | 
|---|
| 183 |  | 
|---|
| 184 | case "$host/$CC" in | 
|---|
| 185 | *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) | 
|---|
| 186 | # old mingw systems require "-dll" to link a DLL, while more recent ones | 
|---|
| 187 | # require "-mdll" | 
|---|
| 188 | SAVE_CFLAGS="$CFLAGS" | 
|---|
| 189 | CFLAGS="$CFLAGS -mdll" | 
|---|
| 190 | AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, | 
|---|
| 191 | [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) | 
|---|
| 192 | CFLAGS="$SAVE_CFLAGS" ;; | 
|---|
| 193 | *-*-cygwin*) | 
|---|
| 194 | # cygwin systems need to pass --dll to the linker, and not link | 
|---|
| 195 | # crt.o which will require a WinMain@16 definition. | 
|---|
| 196 | lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; | 
|---|
| 197 | esac | 
|---|
| 198 | ;; | 
|---|
| 199 | ]) | 
|---|
| 200 | esac | 
|---|
| 201 | ]) | 
|---|
| 202 |  | 
|---|
| 203 | # AC_LIBTOOL_DLOPEN - enable checks for dlopen support | 
|---|
| 204 | AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) | 
|---|
| 205 |  | 
|---|
| 206 | # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's | 
|---|
| 207 | AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) | 
|---|
| 208 |  | 
|---|
| 209 | # AC_ENABLE_SHARED - implement the --enable-shared flag | 
|---|
| 210 | # Usage: AC_ENABLE_SHARED[(DEFAULT)] | 
|---|
| 211 | #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to | 
|---|
| 212 | #   `yes'. | 
|---|
| 213 | AC_DEFUN(AC_ENABLE_SHARED, [dnl | 
|---|
| 214 | define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl | 
|---|
| 215 | AC_ARG_ENABLE(shared, | 
|---|
| 216 | changequote(<<, >>)dnl | 
|---|
| 217 | <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], | 
|---|
| 218 | changequote([, ])dnl | 
|---|
| 219 | [p=${PACKAGE-default} | 
|---|
| 220 | case "$enableval" in | 
|---|
| 221 | yes) enable_shared=yes ;; | 
|---|
| 222 | no) enable_shared=no ;; | 
|---|
| 223 | *) | 
|---|
| 224 | enable_shared=no | 
|---|
| 225 | # Look at the argument we got.  We use all the common list separators. | 
|---|
| 226 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:," | 
|---|
| 227 | for pkg in $enableval; do | 
|---|
| 228 | if test "X$pkg" = "X$p"; then | 
|---|
| 229 | enable_shared=yes | 
|---|
| 230 | fi | 
|---|
| 231 | done | 
|---|
| 232 | IFS="$ac_save_ifs" | 
|---|
| 233 | ;; | 
|---|
| 234 | esac], | 
|---|
| 235 | enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl | 
|---|
| 236 | ]) | 
|---|
| 237 |  | 
|---|
| 238 | # AC_DISABLE_SHARED - set the default shared flag to --disable-shared | 
|---|
| 239 | AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 240 | AC_ENABLE_SHARED(no)]) | 
|---|
| 241 |  | 
|---|
| 242 | # AC_ENABLE_STATIC - implement the --enable-static flag | 
|---|
| 243 | # Usage: AC_ENABLE_STATIC[(DEFAULT)] | 
|---|
| 244 | #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to | 
|---|
| 245 | #   `yes'. | 
|---|
| 246 | AC_DEFUN(AC_ENABLE_STATIC, [dnl | 
|---|
| 247 | define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl | 
|---|
| 248 | AC_ARG_ENABLE(static, | 
|---|
| 249 | changequote(<<, >>)dnl | 
|---|
| 250 | <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], | 
|---|
| 251 | changequote([, ])dnl | 
|---|
| 252 | [p=${PACKAGE-default} | 
|---|
| 253 | case "$enableval" in | 
|---|
| 254 | yes) enable_static=yes ;; | 
|---|
| 255 | no) enable_static=no ;; | 
|---|
| 256 | *) | 
|---|
| 257 | enable_static=no | 
|---|
| 258 | # Look at the argument we got.  We use all the common list separators. | 
|---|
| 259 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:," | 
|---|
| 260 | for pkg in $enableval; do | 
|---|
| 261 | if test "X$pkg" = "X$p"; then | 
|---|
| 262 | enable_static=yes | 
|---|
| 263 | fi | 
|---|
| 264 | done | 
|---|
| 265 | IFS="$ac_save_ifs" | 
|---|
| 266 | ;; | 
|---|
| 267 | esac], | 
|---|
| 268 | enable_static=AC_ENABLE_STATIC_DEFAULT)dnl | 
|---|
| 269 | ]) | 
|---|
| 270 |  | 
|---|
| 271 | # AC_DISABLE_STATIC - set the default static flag to --disable-static | 
|---|
| 272 | AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 273 | AC_ENABLE_STATIC(no)]) | 
|---|
| 274 |  | 
|---|
| 275 |  | 
|---|
| 276 | # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag | 
|---|
| 277 | # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] | 
|---|
| 278 | #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to | 
|---|
| 279 | #   `yes'. | 
|---|
| 280 | AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl | 
|---|
| 281 | define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl | 
|---|
| 282 | AC_ARG_ENABLE(fast-install, | 
|---|
| 283 | changequote(<<, >>)dnl | 
|---|
| 284 | <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], | 
|---|
| 285 | changequote([, ])dnl | 
|---|
| 286 | [p=${PACKAGE-default} | 
|---|
| 287 | case "$enableval" in | 
|---|
| 288 | yes) enable_fast_install=yes ;; | 
|---|
| 289 | no) enable_fast_install=no ;; | 
|---|
| 290 | *) | 
|---|
| 291 | enable_fast_install=no | 
|---|
| 292 | # Look at the argument we got.  We use all the common list separators. | 
|---|
| 293 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:," | 
|---|
| 294 | for pkg in $enableval; do | 
|---|
| 295 | if test "X$pkg" = "X$p"; then | 
|---|
| 296 | enable_fast_install=yes | 
|---|
| 297 | fi | 
|---|
| 298 | done | 
|---|
| 299 | IFS="$ac_save_ifs" | 
|---|
| 300 | ;; | 
|---|
| 301 | esac], | 
|---|
| 302 | enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl | 
|---|
| 303 | ]) | 
|---|
| 304 |  | 
|---|
| 305 | # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install | 
|---|
| 306 | AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 307 | AC_ENABLE_FAST_INSTALL(no)]) | 
|---|
| 308 |  | 
|---|
| 309 | # AC_LIBTOOL_PICMODE - implement the --with-pic flag | 
|---|
| 310 | # Usage: AC_LIBTOOL_PICMODE[(MODE)] | 
|---|
| 311 | #   Where MODE is either `yes' or `no'.  If omitted, it defaults to | 
|---|
| 312 | #   `both'. | 
|---|
| 313 | AC_DEFUN(AC_LIBTOOL_PICMODE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 314 | pic_mode=ifelse($#,1,$1,default)]) | 
|---|
| 315 |  | 
|---|
| 316 |  | 
|---|
| 317 | # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library | 
|---|
| 318 | AC_DEFUN(AC_PATH_TOOL_PREFIX, | 
|---|
| 319 | [AC_MSG_CHECKING([for $1]) | 
|---|
| 320 | AC_CACHE_VAL(lt_cv_path_MAGIC, | 
|---|
| 321 | [case "$MAGIC" in | 
|---|
| 322 | /*) | 
|---|
| 323 | lt_cv_path_MAGIC="$MAGIC" # Let the user override the test with a path. | 
|---|
| 324 | ;; | 
|---|
| 325 | ?:/*) | 
|---|
| 326 | ac_cv_path_MAGIC="$MAGIC" # Let the user override the test with a dos path. | 
|---|
| 327 | ;; | 
|---|
| 328 | *) | 
|---|
| 329 | ac_save_MAGIC="$MAGIC" | 
|---|
| 330 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":" | 
|---|
| 331 | dnl $ac_dummy forces splitting on constant user-supplied paths. | 
|---|
| 332 | dnl POSIX.2 word splitting is done only on the output of word expansions, | 
|---|
| 333 | dnl not every word.  This closes a longstanding sh security hole. | 
|---|
| 334 | ac_dummy="ifelse([$2], , $PATH, [$2])" | 
|---|
| 335 | for ac_dir in $ac_dummy; do | 
|---|
| 336 | test -z "$ac_dir" && ac_dir=. | 
|---|
| 337 | if test -f $ac_dir/$1; then | 
|---|
| 338 | lt_cv_path_MAGIC="$ac_dir/$1" | 
|---|
| 339 | if test -n "$file_magic_test_file"; then | 
|---|
| 340 | case "$deplibs_check_method" in | 
|---|
| 341 | "file_magic "*) | 
|---|
| 342 | file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" | 
|---|
| 343 | MAGIC="$lt_cv_path_MAGIC" | 
|---|
| 344 | if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | 
|---|
| 345 | egrep "$file_magic_regex" > /dev/null; then | 
|---|
| 346 | : | 
|---|
| 347 | else | 
|---|
| 348 | cat <<EOF 1>&2 | 
|---|
| 349 |  | 
|---|
| 350 | *** Warning: the command libtool uses to detect shared libraries, | 
|---|
| 351 | *** $file_magic_cmd, produces output that libtool cannot recognize. | 
|---|
| 352 | *** The result is that libtool may fail to recognize shared libraries | 
|---|
| 353 | *** as such.  This will affect the creation of libtool libraries that | 
|---|
| 354 | *** depend on shared libraries, but programs linked with such libtool | 
|---|
| 355 | *** libraries will work regardless of this problem.  Nevertheless, you | 
|---|
| 356 | *** may want to report the problem to your system manager and/or to | 
|---|
| 357 | *** bug-libtool@gnu.org | 
|---|
| 358 |  | 
|---|
| 359 | EOF | 
|---|
| 360 | fi ;; | 
|---|
| 361 | esac | 
|---|
| 362 | fi | 
|---|
| 363 | break | 
|---|
| 364 | fi | 
|---|
| 365 | done | 
|---|
| 366 | IFS="$ac_save_ifs" | 
|---|
| 367 | MAGIC="$ac_save_MAGIC" | 
|---|
| 368 | ;; | 
|---|
| 369 | esac]) | 
|---|
| 370 | MAGIC="$lt_cv_path_MAGIC" | 
|---|
| 371 | if test -n "$MAGIC"; then | 
|---|
| 372 | AC_MSG_RESULT($MAGIC) | 
|---|
| 373 | else | 
|---|
| 374 | AC_MSG_RESULT(no) | 
|---|
| 375 | fi | 
|---|
| 376 | ]) | 
|---|
| 377 |  | 
|---|
| 378 |  | 
|---|
| 379 | # AC_PATH_MAGIC - find a file program which can recognise a shared library | 
|---|
| 380 | AC_DEFUN(AC_PATH_MAGIC, | 
|---|
| 381 | [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl | 
|---|
| 382 | AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) | 
|---|
| 383 | if test -z "$lt_cv_path_MAGIC"; then | 
|---|
| 384 | if test -n "$ac_tool_prefix"; then | 
|---|
| 385 | AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) | 
|---|
| 386 | else | 
|---|
| 387 | MAGIC=: | 
|---|
| 388 | fi | 
|---|
| 389 | fi | 
|---|
| 390 | ]) | 
|---|
| 391 |  | 
|---|
| 392 |  | 
|---|
| 393 | # AC_PROG_LD - find the path to the GNU or non-GNU linker | 
|---|
| 394 | AC_DEFUN(AC_PROG_LD, | 
|---|
| 395 | [AC_ARG_WITH(gnu-ld, | 
|---|
| 396 | [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]], | 
|---|
| 397 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | 
|---|
| 398 | AC_REQUIRE([AC_PROG_CC])dnl | 
|---|
| 399 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | 
|---|
| 400 | AC_REQUIRE([AC_CANONICAL_BUILD])dnl | 
|---|
| 401 | ac_prog=ld | 
|---|
| 402 | if test "$ac_cv_prog_gcc" = yes; then | 
|---|
| 403 | # Check if gcc -print-prog-name=ld gives a path. | 
|---|
| 404 | AC_MSG_CHECKING([for ld used by GCC]) | 
|---|
| 405 | case $host in | 
|---|
| 406 | *-*-mingw*) | 
|---|
| 407 | # gcc leaves a trailing carriage return which upsets mingw | 
|---|
| 408 | ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | 
|---|
| 409 | *) | 
|---|
| 410 | ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | 
|---|
| 411 | esac | 
|---|
| 412 | case "$ac_prog" in | 
|---|
| 413 | # Accept absolute paths. | 
|---|
| 414 | changequote(,)dnl | 
|---|
| 415 | [\\/]* | [A-Za-z]:[\\/]*) | 
|---|
| 416 | re_direlt='/[^/][^/]*/\.\./' | 
|---|
| 417 | changequote([,])dnl | 
|---|
| 418 | # Canonicalize the path of ld | 
|---|
| 419 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | 
|---|
| 420 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | 
|---|
| 421 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | 
|---|
| 422 | done | 
|---|
| 423 | test -z "$LD" && LD="$ac_prog" | 
|---|
| 424 | ;; | 
|---|
| 425 | "") | 
|---|
| 426 | # If it fails, then pretend we aren't using GCC. | 
|---|
| 427 | ac_prog=ld | 
|---|
| 428 | ;; | 
|---|
| 429 | *) | 
|---|
| 430 | # If it is relative, then search for the first ld in PATH. | 
|---|
| 431 | with_gnu_ld=unknown | 
|---|
| 432 | ;; | 
|---|
| 433 | esac | 
|---|
| 434 | elif test "$with_gnu_ld" = yes; then | 
|---|
| 435 | AC_MSG_CHECKING([for GNU ld]) | 
|---|
| 436 | else | 
|---|
| 437 | AC_MSG_CHECKING([for non-GNU ld]) | 
|---|
| 438 | fi | 
|---|
| 439 | AC_CACHE_VAL(ac_cv_path_LD, | 
|---|
| 440 | [if test -z "$LD"; then | 
|---|
| 441 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | 
|---|
| 442 | for ac_dir in $PATH; do | 
|---|
| 443 | test -z "$ac_dir" && ac_dir=. | 
|---|
| 444 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | 
|---|
| 445 | ac_cv_path_LD="$ac_dir/$ac_prog" | 
|---|
| 446 | # Check to see if the program is GNU ld.  I'd rather use --version, | 
|---|
| 447 | # but apparently some GNU ld's only accept -v. | 
|---|
| 448 | # Break only if it was the GNU/non-GNU ld that we prefer. | 
|---|
| 449 | if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then | 
|---|
| 450 | test "$with_gnu_ld" != no && break | 
|---|
| 451 | else | 
|---|
| 452 | test "$with_gnu_ld" != yes && break | 
|---|
| 453 | fi | 
|---|
| 454 | fi | 
|---|
| 455 | done | 
|---|
| 456 | IFS="$ac_save_ifs" | 
|---|
| 457 | else | 
|---|
| 458 | ac_cv_path_LD="$LD" # Let the user override the test with a path. | 
|---|
| 459 | fi]) | 
|---|
| 460 | LD="$ac_cv_path_LD" | 
|---|
| 461 | if test -n "$LD"; then | 
|---|
| 462 | AC_MSG_RESULT($LD) | 
|---|
| 463 | else | 
|---|
| 464 | AC_MSG_RESULT(no) | 
|---|
| 465 | fi | 
|---|
| 466 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | 
|---|
| 467 | AC_PROG_LD_GNU | 
|---|
| 468 | ]) | 
|---|
| 469 |  | 
|---|
| 470 | AC_DEFUN(AC_PROG_LD_GNU, | 
|---|
| 471 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, | 
|---|
| 472 | [# I'd rather use --version here, but apparently some GNU ld's only accept -v. | 
|---|
| 473 | if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then | 
|---|
| 474 | ac_cv_prog_gnu_ld=yes | 
|---|
| 475 | else | 
|---|
| 476 | ac_cv_prog_gnu_ld=no | 
|---|
| 477 | fi]) | 
|---|
| 478 | with_gnu_ld=$ac_cv_prog_gnu_ld | 
|---|
| 479 | ]) | 
|---|
| 480 |  | 
|---|
| 481 | # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker | 
|---|
| 482 | #   -- PORTME Some linkers may need a different reload flag. | 
|---|
| 483 | AC_DEFUN(AC_PROG_LD_RELOAD_FLAG, | 
|---|
| 484 | [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, | 
|---|
| 485 | [lt_cv_ld_reload_flag='-r']) | 
|---|
| 486 | reload_flag=$lt_cv_ld_reload_flag | 
|---|
| 487 | test -n "$reload_flag" && reload_flag=" $reload_flag" | 
|---|
| 488 | ]) | 
|---|
| 489 |  | 
|---|
| 490 | # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies | 
|---|
| 491 | #  -- PORTME fill in with the dynamic library characteristics | 
|---|
| 492 | AC_DEFUN(AC_DEPLIBS_CHECK_METHOD, | 
|---|
| 493 | [AC_CACHE_CHECK([how to recognise dependant libraries], | 
|---|
| 494 | lt_cv_deplibs_check_method, | 
|---|
| 495 | [lt_cv_file_magic_cmd='${MAGIC}' | 
|---|
| 496 | lt_cv_file_magic_test_file= | 
|---|
| 497 | lt_cv_deplibs_check_method='unknown' | 
|---|
| 498 | # Need to set the preceding variable on all platforms that support | 
|---|
| 499 | # interlibrary dependencies. | 
|---|
| 500 | # 'none' -- dependencies not supported. | 
|---|
| 501 | # `unknown' -- same as none, but documents that we really don't know. | 
|---|
| 502 | # 'pass_all' -- all dependencies passed with no checks. | 
|---|
| 503 | # 'test_compile' -- check by making test program. | 
|---|
| 504 | # 'file_magic [regex]' -- check by looking for files in library path | 
|---|
| 505 | # which responds to the $file_magic_cmd with a given egrep regex. | 
|---|
| 506 | # If you have `file' or equivalent on your system and you're not sure | 
|---|
| 507 | # whether `pass_all' will *always* work, you probably want this one. | 
|---|
| 508 |  | 
|---|
| 509 | case "$host_os" in | 
|---|
| 510 | aix4*) | 
|---|
| 511 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 512 | ;; | 
|---|
| 513 |  | 
|---|
| 514 | beos*) | 
|---|
| 515 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 516 | ;; | 
|---|
| 517 |  | 
|---|
| 518 | bsdi4*) | 
|---|
| 519 | changequote(,)dnl | 
|---|
| 520 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' | 
|---|
| 521 | changequote([, ])dnl | 
|---|
| 522 | lt_cv_file_magic_cmd='/usr/bin/file -L' | 
|---|
| 523 | lt_cv_file_magic_test_file=/shlib/libc.so | 
|---|
| 524 | ;; | 
|---|
| 525 |  | 
|---|
| 526 | cygwin* | mingw*) | 
|---|
| 527 | lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | 
|---|
| 528 | lt_cv_file_magic_cmd='${OBJDUMP} -f' | 
|---|
| 529 | ;; | 
|---|
| 530 |  | 
|---|
| 531 | freebsd* ) | 
|---|
| 532 | if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then | 
|---|
| 533 | case "$host_cpu" in | 
|---|
| 534 | i*86 ) | 
|---|
| 535 | # Not sure whether the presence of OpenBSD here was a mistake. | 
|---|
| 536 | # Let's accept both of them until this is cleared up. | 
|---|
| 537 | changequote(,)dnl | 
|---|
| 538 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' | 
|---|
| 539 | changequote([, ])dnl | 
|---|
| 540 | lt_cv_file_magic_cmd=/usr/bin/file | 
|---|
| 541 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | 
|---|
| 542 | ;; | 
|---|
| 543 | esac | 
|---|
| 544 | else | 
|---|
| 545 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 546 | fi | 
|---|
| 547 | ;; | 
|---|
| 548 |  | 
|---|
| 549 | gnu*) | 
|---|
| 550 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 551 | ;; | 
|---|
| 552 |  | 
|---|
| 553 | hpux10.20*) | 
|---|
| 554 | # TODO:  Does this work for hpux-11 too? | 
|---|
| 555 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' | 
|---|
| 556 | lt_cv_file_magic_cmd=/usr/bin/file | 
|---|
| 557 | lt_cv_file_magic_test_file=/usr/lib/libc.sl | 
|---|
| 558 | ;; | 
|---|
| 559 |  | 
|---|
| 560 | irix5* | irix6*) | 
|---|
| 561 | case "$host_os" in | 
|---|
| 562 | irix5*) | 
|---|
| 563 | # this will be overridden with pass_all, but let us keep it just in case | 
|---|
| 564 | lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" | 
|---|
| 565 | ;; | 
|---|
| 566 | *) | 
|---|
| 567 | case "$LD" in | 
|---|
| 568 | *-32|*"-32 ") libmagic=32-bit;; | 
|---|
| 569 | *-n32|*"-n32 ") libmagic=N32;; | 
|---|
| 570 | *-64|*"-64 ") libmagic=64-bit;; | 
|---|
| 571 | *) libmagic=never-match;; | 
|---|
| 572 | esac | 
|---|
| 573 | # this will be overridden with pass_all, but let us keep it just in case | 
|---|
| 574 | changequote(,)dnl | 
|---|
| 575 | lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" | 
|---|
| 576 | changequote([, ])dnl | 
|---|
| 577 | ;; | 
|---|
| 578 | esac | 
|---|
| 579 | lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` | 
|---|
| 580 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 581 | ;; | 
|---|
| 582 |  | 
|---|
| 583 | # This must be Linux ELF. | 
|---|
| 584 | linux-gnu*) | 
|---|
| 585 | case "$host_cpu" in | 
|---|
| 586 | alpha* | i*86 | powerpc* | sparc* | ia64* ) | 
|---|
| 587 | lt_cv_deplibs_check_method=pass_all ;; | 
|---|
| 588 | *) | 
|---|
| 589 | # glibc up to 2.1.1 does not perform some relocations on ARM | 
|---|
| 590 | changequote(,)dnl | 
|---|
| 591 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; | 
|---|
| 592 | changequote([, ])dnl | 
|---|
| 593 | esac | 
|---|
| 594 | lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` | 
|---|
| 595 | ;; | 
|---|
| 596 |  | 
|---|
| 597 | netbsd*) | 
|---|
| 598 | if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then : | 
|---|
| 599 | else | 
|---|
| 600 | changequote(,)dnl | 
|---|
| 601 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' | 
|---|
| 602 | changequote([, ])dnl | 
|---|
| 603 | lt_cv_file_magic_cmd='/usr/bin/file -L' | 
|---|
| 604 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | 
|---|
| 605 | fi | 
|---|
| 606 | ;; | 
|---|
| 607 |  | 
|---|
| 608 | osf3* | osf4* | osf5*) | 
|---|
| 609 | # this will be overridden with pass_all, but let us keep it just in case | 
|---|
| 610 | lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' | 
|---|
| 611 | lt_cv_file_magic_test_file=/shlib/libc.so | 
|---|
| 612 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 613 | ;; | 
|---|
| 614 |  | 
|---|
| 615 | sco3.2v5*) | 
|---|
| 616 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 617 | ;; | 
|---|
| 618 |  | 
|---|
| 619 | solaris*) | 
|---|
| 620 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 621 | lt_cv_file_magic_test_file=/lib/libc.so | 
|---|
| 622 | ;; | 
|---|
| 623 |  | 
|---|
| 624 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | 
|---|
| 625 | case "$host_vendor" in | 
|---|
| 626 | ncr) | 
|---|
| 627 | lt_cv_deplibs_check_method=pass_all | 
|---|
| 628 | ;; | 
|---|
| 629 | motorola) | 
|---|
| 630 | changequote(,)dnl | 
|---|
| 631 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' | 
|---|
| 632 | changequote([, ])dnl | 
|---|
| 633 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | 
|---|
| 634 | ;; | 
|---|
| 635 | esac | 
|---|
| 636 | ;; | 
|---|
| 637 | esac | 
|---|
| 638 | ]) | 
|---|
| 639 | file_magic_cmd=$lt_cv_file_magic_cmd | 
|---|
| 640 | deplibs_check_method=$lt_cv_deplibs_check_method | 
|---|
| 641 | ]) | 
|---|
| 642 |  | 
|---|
| 643 |  | 
|---|
| 644 | # AC_PROG_NM - find the path to a BSD-compatible name lister | 
|---|
| 645 | AC_DEFUN(AC_PROG_NM, | 
|---|
| 646 | [AC_MSG_CHECKING([for BSD-compatible nm]) | 
|---|
| 647 | AC_CACHE_VAL(ac_cv_path_NM, | 
|---|
| 648 | [if test -n "$NM"; then | 
|---|
| 649 | # Let the user override the test. | 
|---|
| 650 | ac_cv_path_NM="$NM" | 
|---|
| 651 | else | 
|---|
| 652 | IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | 
|---|
| 653 | for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do | 
|---|
| 654 | test -z "$ac_dir" && ac_dir=. | 
|---|
| 655 | tmp_nm=$ac_dir/${ac_tool_prefix}nm | 
|---|
| 656 | if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then | 
|---|
| 657 | # Check to see if the nm accepts a BSD-compat flag. | 
|---|
| 658 | # Adding the `sed 1q' prevents false positives on HP-UX, which says: | 
|---|
| 659 | #   nm: unknown option "B" ignored | 
|---|
| 660 | # Tru64's nm complains that /dev/null is an invalid object file | 
|---|
| 661 | if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then | 
|---|
| 662 | ac_cv_path_NM="$tmp_nm -B" | 
|---|
| 663 | break | 
|---|
| 664 | elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | 
|---|
| 665 | ac_cv_path_NM="$tmp_nm -p" | 
|---|
| 666 | break | 
|---|
| 667 | else | 
|---|
| 668 | ac_cv_path_NM=${ac_cv_path_NM="$tmp_nm"} # keep the first match, but | 
|---|
| 669 | continue # so that we can try to find one that supports BSD flags | 
|---|
| 670 | fi | 
|---|
| 671 | fi | 
|---|
| 672 | done | 
|---|
| 673 | IFS="$ac_save_ifs" | 
|---|
| 674 | test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm | 
|---|
| 675 | fi]) | 
|---|
| 676 | NM="$ac_cv_path_NM" | 
|---|
| 677 | AC_MSG_RESULT([$NM]) | 
|---|
| 678 | ]) | 
|---|
| 679 |  | 
|---|
| 680 | # AC_CHECK_LIBM - check for math library | 
|---|
| 681 | AC_DEFUN(AC_CHECK_LIBM, | 
|---|
| 682 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl | 
|---|
| 683 | LIBM= | 
|---|
| 684 | case "$host" in | 
|---|
| 685 | *-*-beos* | *-*-cygwin*) | 
|---|
| 686 | # These system don't have libm | 
|---|
| 687 | ;; | 
|---|
| 688 | *-ncr-sysv4.3*) | 
|---|
| 689 | AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | 
|---|
| 690 | AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") | 
|---|
| 691 | ;; | 
|---|
| 692 | *) | 
|---|
| 693 | AC_CHECK_LIB(m, main, LIBM="-lm") | 
|---|
| 694 | ;; | 
|---|
| 695 | esac | 
|---|
| 696 | ]) | 
|---|
| 697 |  | 
|---|
| 698 | # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for | 
|---|
| 699 | # the libltdl convenience library and INCLTDL to the include flags for | 
|---|
| 700 | # the libltdl header and adds --enable-ltdl-convenience to the | 
|---|
| 701 | # configure arguments.  Note that LIBLTDL and INCLTDL are not | 
|---|
| 702 | # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not | 
|---|
| 703 | # provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed | 
|---|
| 704 | # with '${top_builddir}/' and INCLTDL will be prefixed with | 
|---|
| 705 | # '${top_srcdir}/' (note the single quotes!).  If your package is not | 
|---|
| 706 | # flat and you're not using automake, define top_builddir and | 
|---|
| 707 | # top_srcdir appropriately in the Makefiles. | 
|---|
| 708 | AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 709 | case "$enable_ltdl_convenience" in | 
|---|
| 710 | no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; | 
|---|
| 711 | "") enable_ltdl_convenience=yes | 
|---|
| 712 | ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; | 
|---|
| 713 | esac | 
|---|
| 714 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la | 
|---|
| 715 | INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | 
|---|
| 716 | ]) | 
|---|
| 717 |  | 
|---|
| 718 | # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for | 
|---|
| 719 | # the libltdl installable library and INCLTDL to the include flags for | 
|---|
| 720 | # the libltdl header and adds --enable-ltdl-install to the configure | 
|---|
| 721 | # arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is | 
|---|
| 722 | # AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed | 
|---|
| 723 | # libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will | 
|---|
| 724 | # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed | 
|---|
| 725 | # with '${top_srcdir}/' (note the single quotes!).  If your package is | 
|---|
| 726 | # not flat and you're not using automake, define top_builddir and | 
|---|
| 727 | # top_srcdir appropriately in the Makefiles. | 
|---|
| 728 | # In the future, this macro may have to be called after AC_PROG_LIBTOOL. | 
|---|
| 729 | AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | 
|---|
| 730 | AC_CHECK_LIB(ltdl, main, | 
|---|
| 731 | [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], | 
|---|
| 732 | [if test x"$enable_ltdl_install" = xno; then | 
|---|
| 733 | AC_MSG_WARN([libltdl not installed, but installation disabled]) | 
|---|
| 734 | else | 
|---|
| 735 | enable_ltdl_install=yes | 
|---|
| 736 | fi | 
|---|
| 737 | ]) | 
|---|
| 738 | if test x"$enable_ltdl_install" = x"yes"; then | 
|---|
| 739 | ac_configure_args="$ac_configure_args --enable-ltdl-install" | 
|---|
| 740 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la | 
|---|
| 741 | INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | 
|---|
| 742 | else | 
|---|
| 743 | ac_configure_args="$ac_configure_args --enable-ltdl-install=no" | 
|---|
| 744 | LIBLTDL="-lltdl" | 
|---|
| 745 | INCLTDL= | 
|---|
| 746 | fi | 
|---|
| 747 | ]) | 
|---|
| 748 |  | 
|---|
| 749 | # If this macro is not defined by Autoconf, define it here. | 
|---|
| 750 | ifdef([AC_PROVIDE_IFELSE], | 
|---|
| 751 | [], | 
|---|
| 752 | [define([AC_PROVIDE_IFELSE], | 
|---|
| 753 | [ifdef([AC_PROVIDE_$1], | 
|---|
| 754 | [$2], [$3])])]) | 
|---|
| 755 |  | 
|---|
| 756 | # AC_LIBTOOL_CXX - enable support for C++ libraries | 
|---|
| 757 | AC_DEFUN(AC_LIBTOOL_CXX,[AC_REQUIRE([_AC_LIBTOOL_CXX])]) | 
|---|
| 758 | AC_DEFUN(_AC_LIBTOOL_CXX, | 
|---|
| 759 | [AC_REQUIRE([AC_PROG_LIBTOOL]) | 
|---|
| 760 | AC_REQUIRE([AC_PROG_CXX]) | 
|---|
| 761 | AC_REQUIRE([AC_PROG_CXXCPP]) | 
|---|
| 762 | LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh" | 
|---|
| 763 | lt_save_CC="$CC" | 
|---|
| 764 | lt_save_CFLAGS="$CFLAGS" | 
|---|
| 765 | dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC | 
|---|
| 766 | dnl is set to the C++ compiler. | 
|---|
| 767 | AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \ | 
|---|
| 768 | MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ | 
|---|
| 769 | LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ | 
|---|
| 770 | AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ | 
|---|
| 771 | objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ | 
|---|
| 772 | deplibs_check_method="$deplibs_check_method" \ | 
|---|
| 773 | file_magic_cmd="$file_magic_cmd" \ | 
|---|
| 774 | ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ | 
|---|
| 775 | --build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \ | 
|---|
| 776 | || AC_MSG_ERROR([libtool tag configuration failed]) | 
|---|
| 777 | CC="$lt_save_CC" | 
|---|
| 778 | CFLAGS="$lt_save_CFLAGS" | 
|---|
| 779 |  | 
|---|
| 780 | # Redirect the config.log output again, so that the ltconfig log is not | 
|---|
| 781 | # clobbered by the next message. | 
|---|
| 782 | exec 5>>./config.log | 
|---|
| 783 | ]) | 
|---|
| 784 |  | 
|---|
| 785 | # AC_LIBTOOL_GCJ - enable support for GCJ libraries | 
|---|
| 786 | AC_DEFUN(AC_LIBTOOL_GCJ,[AC_REQUIRE([_AC_LIBTOOL_GCJ])]) | 
|---|
| 787 | AC_DEFUN(_AC_LIBTOOL_GCJ, | 
|---|
| 788 | [AC_REQUIRE([AC_PROG_LIBTOOL]) | 
|---|
| 789 | AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], | 
|---|
| 790 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], | 
|---|
| 791 | [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], | 
|---|
| 792 | [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], | 
|---|
| 793 | [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])]) | 
|---|
| 794 | LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh" | 
|---|
| 795 | lt_save_CC="$CC" | 
|---|
| 796 | lt_save_CFLAGS="$CFLAGS" | 
|---|
| 797 | dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC | 
|---|
| 798 | dnl is set to the C++ compiler. | 
|---|
| 799 | AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="" \ | 
|---|
| 800 | MAGIC="$MAGIC" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ | 
|---|
| 801 | LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ | 
|---|
| 802 | AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ | 
|---|
| 803 | objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ | 
|---|
| 804 | deplibs_check_method="$deplibs_check_method" \ | 
|---|
| 805 | file_magic_cmd="$file_magic_cmd" \ | 
|---|
| 806 | ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ | 
|---|
| 807 | --build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \ | 
|---|
| 808 | || AC_MSG_ERROR([libtool tag configuration failed]) | 
|---|
| 809 | CC="$lt_save_CC" | 
|---|
| 810 | CFLAGS="$lt_save_CFLAGS" | 
|---|
| 811 |  | 
|---|
| 812 | # Redirect the config.log output again, so that the ltconfig log is not | 
|---|
| 813 | # clobbered by the next message. | 
|---|
| 814 | exec 5>>./config.log | 
|---|
| 815 | ]) | 
|---|
| 816 |  | 
|---|
| 817 | dnl old names | 
|---|
| 818 | AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl | 
|---|
| 819 | AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl | 
|---|
| 820 | AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl | 
|---|
| 821 | AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl | 
|---|
| 822 | AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl | 
|---|
| 823 | AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl | 
|---|
| 824 | AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl | 
|---|
| 825 |  | 
|---|
| 826 | dnl This is just to silence aclocal about the macro not being used | 
|---|
| 827 | ifelse([AC_DISABLE_FAST_INSTALL])dnl | 
|---|
| 828 |  | 
|---|
| 829 | AC_DEFUN([LT_AC_PROG_GCJ],[ | 
|---|
| 830 | AC_CHECK_TOOL(GCJ, gcj, no) | 
|---|
| 831 | test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" | 
|---|
| 832 | AC_SUBST(GCJFLAGS) | 
|---|
| 833 | ]) | 
|---|
| 834 | ## ltdl.m4 - Configure ltdl for the target system. -*-Shell-script-*- | 
|---|
| 835 | ## Copyright (C) 1999-2000 Free Software Foundation, Inc. | 
|---|
| 836 | ## | 
|---|
| 837 | ## This program is free software; you can redistribute it and/or modify | 
|---|
| 838 | ## it under the terms of the GNU General Public License as published by | 
|---|
| 839 | ## the Free Software Foundation; either version 2 of the License, or | 
|---|
| 840 | ## (at your option) any later version. | 
|---|
| 841 | ## | 
|---|
| 842 | ## This program is distributed in the hope that it will be useful, but | 
|---|
| 843 | ## WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 844 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|---|
| 845 | ## General Public License for more details. | 
|---|
| 846 | ## | 
|---|
| 847 | ## You should have received a copy of the GNU General Public License | 
|---|
| 848 | ## along with this program; if not, write to the Free Software | 
|---|
| 849 | ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 
|---|
| 850 | ## | 
|---|
| 851 | ## As a special exception to the GNU General Public License, if you | 
|---|
| 852 | ## distribute this file as part of a program that contains a | 
|---|
| 853 | ## configuration script generated by Autoconf, you may include it under | 
|---|
| 854 | ## the same distribution terms that you use for the rest of that program. | 
|---|
| 855 |  | 
|---|
| 856 | # serial 1 AC_LIB_LTDL | 
|---|
| 857 |  | 
|---|
| 858 | AC_DEFUN(AC_LIB_LTDL, | 
|---|
| 859 | [AC_PREREQ(2.13)dnl | 
|---|
| 860 | AC_REQUIRE([AC_PROG_CC])dnl | 
|---|
| 861 | AC_REQUIRE([AC_C_CONST])dnl | 
|---|
| 862 | AC_REQUIRE([AC_C_INLINE])dnl | 
|---|
| 863 |  | 
|---|
| 864 | dnl AC_LIB_LTDL must perform all the checks necessary for compilation | 
|---|
| 865 | dnl of the ltdl objects -- including compiler checks (above) and header | 
|---|
| 866 | dnl checks (below). | 
|---|
| 867 | AC_REQUIRE([AC_HEADER_STDC])dnl | 
|---|
| 868 |  | 
|---|
| 869 | AC_CHECK_HEADERS(malloc.h memory.h stdlib.h stdio.h ctype.h dlfcn.h dl.h dld.h) | 
|---|
| 870 | AC_CHECK_HEADERS(string.h strings.h, break) | 
|---|
| 871 | AC_CHECK_FUNCS(strchr index, break) | 
|---|
| 872 | AC_CHECK_FUNCS(strrchr rindex, break) | 
|---|
| 873 | AC_CHECK_FUNCS(strcmp) | 
|---|
| 874 |  | 
|---|
| 875 | AC_REQUIRE([AC_LTDL_ENABLE_INSTALL])dnl | 
|---|
| 876 | AC_REQUIRE([AC_LTDL_SHLIBEXT])dnl | 
|---|
| 877 | AC_REQUIRE([AC_LTDL_SHLIBPATH])dnl | 
|---|
| 878 | AC_REQUIRE([AC_LTDL_SYSSEARCHPATH])dnl | 
|---|
| 879 | AC_REQUIRE([AC_LTDL_OBJDIR])dnl | 
|---|
| 880 | AC_REQUIRE([AC_LTDL_DLPREOPEN])dnl | 
|---|
| 881 | AC_REQUIRE([AC_LTDL_DLLIB])dnl | 
|---|
| 882 | AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl | 
|---|
| 883 | ]) | 
|---|
| 884 |  | 
|---|
| 885 | AC_DEFUN(AC_LTDL_ENABLE_INSTALL, | 
|---|
| 886 | [AC_ARG_ENABLE(ltdl-install, | 
|---|
| 887 | [  --enable-ltdl-install   install libltdl]) | 
|---|
| 888 |  | 
|---|
| 889 | AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) | 
|---|
| 890 | AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno) | 
|---|
| 891 | ])]) | 
|---|
| 892 |  | 
|---|
| 893 |  | 
|---|
| 894 | AC_DEFUN(AC_LTDL_SNARF_CONFIG, | 
|---|
| 895 | [# Read the libtool configuration | 
|---|
| 896 | rm -f conftest | 
|---|
| 897 | ./libtool --config > conftest | 
|---|
| 898 | . ./conftest | 
|---|
| 899 | rm -f conftest | 
|---|
| 900 | ]) | 
|---|
| 901 |  | 
|---|
| 902 | AC_DEFUN(AC_LTDL_SHLIBEXT, | 
|---|
| 903 | [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl | 
|---|
| 904 | AC_CACHE_CHECK([which extension is used for shared libraries], | 
|---|
| 905 | libltdl_cv_shlibext, [dnl | 
|---|
| 906 | ( | 
|---|
| 907 | last= | 
|---|
| 908 | for spec in $library_names_spec; do | 
|---|
| 909 | last="$spec" | 
|---|
| 910 | done | 
|---|
| 911 | changequote(, ) | 
|---|
| 912 | echo "$last" | sed 's/\[.*\]//;s/^[^.]*//;s/\$.*$//;s/\.$//' > conftest | 
|---|
| 913 | changequote([, ]) | 
|---|
| 914 | ) | 
|---|
| 915 | libltdl_cv_shlibext=`cat conftest` | 
|---|
| 916 | rm -f conftest | 
|---|
| 917 | ]) | 
|---|
| 918 | if test -n "$libltdl_cv_shlibext"; then | 
|---|
| 919 | AC_DEFINE_UNQUOTED(LTDL_SHLIB_EXT, "$libltdl_cv_shlibext", | 
|---|
| 920 | [Define to the extension used for shared libraries, say, ".so". ]) | 
|---|
| 921 | fi | 
|---|
| 922 | ]) | 
|---|
| 923 |  | 
|---|
| 924 | AC_DEFUN(AC_LTDL_SHLIBPATH, | 
|---|
| 925 | [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl | 
|---|
| 926 | AC_CACHE_CHECK([which variable specifies run-time library path], | 
|---|
| 927 | libltdl_cv_shlibpath_var, [libltdl_cv_shlibpath_var="$shlibpath_var"]) | 
|---|
| 928 | if test -n "$libltdl_cv_shlibpath_var"; then | 
|---|
| 929 | AC_DEFINE_UNQUOTED(LTDL_SHLIBPATH_VAR, "$libltdl_cv_shlibpath_var", | 
|---|
| 930 | [Define to the name of the environment variable that determines the dynamic library search path. ]) | 
|---|
| 931 | fi | 
|---|
| 932 | ]) | 
|---|
| 933 |  | 
|---|
| 934 | AC_DEFUN(AC_LTDL_SYSSEARCHPATH, | 
|---|
| 935 | [AC_REQUIRE([AC_LTDL_SNARF_CONFIG])dnl | 
|---|
| 936 | AC_CACHE_CHECK([for the default library search path], | 
|---|
| 937 | libltdl_cv_sys_search_path, [libltdl_cv_sys_search_path="$sys_lib_dlsearch_path_spec"]) | 
|---|
| 938 | if test -n "$libltdl_cv_sys_search_path"; then | 
|---|
| 939 | case "$host" in | 
|---|
| 940 | *-*-mingw*) pathsep=";" ;; | 
|---|
| 941 | *) pathsep=":" ;; | 
|---|
| 942 | esac | 
|---|
| 943 | sys_search_path= | 
|---|
| 944 | for dir in $libltdl_cv_sys_search_path; do | 
|---|
| 945 | if test -z "$sys_search_path"; then | 
|---|
| 946 | sys_search_path="$dir" | 
|---|
| 947 | else | 
|---|
| 948 | sys_search_path="$sys_search_path$pathsep$dir" | 
|---|
| 949 | fi | 
|---|
| 950 | done | 
|---|
| 951 | AC_DEFINE_UNQUOTED(LTDL_SYSSEARCHPATH, "$sys_search_path", | 
|---|
| 952 | [Define to the system default library search path. ]) | 
|---|
| 953 | fi | 
|---|
| 954 | ]) | 
|---|
| 955 |  | 
|---|
| 956 | AC_DEFUN(AC_LTDL_OBJDIR, | 
|---|
| 957 | [AC_CACHE_CHECK([for objdir], | 
|---|
| 958 | libltdl_cv_objdir, [libltdl_cv_objdir="$objdir" | 
|---|
| 959 | if test -n "$objdir"; then | 
|---|
| 960 | : | 
|---|
| 961 | else | 
|---|
| 962 | rm -f .libs 2>/dev/null | 
|---|
| 963 | mkdir .libs 2>/dev/null | 
|---|
| 964 | if test -d .libs; then | 
|---|
| 965 | libltdl_cv_objdir=.libs | 
|---|
| 966 | else | 
|---|
| 967 | # MS-DOS does not allow filenames that begin with a dot. | 
|---|
| 968 | libltdl_cv_objdir=_libs | 
|---|
| 969 | fi | 
|---|
| 970 | rmdir .libs 2>/dev/null | 
|---|
| 971 | fi]) | 
|---|
| 972 | AC_DEFINE_UNQUOTED(LTDL_OBJDIR, "$libltdl_cv_objdir/", | 
|---|
| 973 | [Define to the sub-directory in which libtool stores uninstalled libraries. ]) | 
|---|
| 974 | ]) | 
|---|
| 975 |  | 
|---|
| 976 | AC_DEFUN(AC_LTDL_DLPREOPEN, | 
|---|
| 977 | [AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl | 
|---|
| 978 | AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], | 
|---|
| 979 | libltdl_cv_preloaded_symbols, [dnl | 
|---|
| 980 | if test -n "$global_symbol_pipe"; then | 
|---|
| 981 | libltdl_cv_preloaded_symbols=yes | 
|---|
| 982 | else | 
|---|
| 983 | libltdl_cv_preloaded_symbols=no | 
|---|
| 984 | fi | 
|---|
| 985 | ]) | 
|---|
| 986 | if test x"$libltdl_cv_preloaded_symbols" = x"yes"; then | 
|---|
| 987 | AC_DEFINE(HAVE_PRELOADED_SYMBOLS, 1, | 
|---|
| 988 | [Define if libtool can extract symbol lists from object files. ]) | 
|---|
| 989 | fi | 
|---|
| 990 | ]) | 
|---|
| 991 |  | 
|---|
| 992 | AC_DEFUN(AC_LTDL_DLLIB, | 
|---|
| 993 | [LIBADD_DL= | 
|---|
| 994 | AC_CHECK_LIB(dl, dlopen, [AC_DEFINE(HAVE_LIBDL, 1, | 
|---|
| 995 | [Define if you have the libdl library or equivalent. ]) LIBADD_DL="-ldl"], | 
|---|
| 996 | [AC_CHECK_FUNC(dlopen, [AC_DEFINE(HAVE_LIBDL, 1, | 
|---|
| 997 | [Define if you have the libdl library or equivalent.])], | 
|---|
| 998 | [AC_CHECK_LIB(svld, dlopen, [AC_DEFINE(HAVE_LIBDL, 1, | 
|---|
| 999 | [Define if you have the libdl library or equivalent.]) LIBADD_DL="-lsvld"] | 
|---|
| 1000 | )])]) | 
|---|
| 1001 | AC_CHECK_FUNC(shl_load, [AC_DEFINE(HAVE_SHL_LOAD, 1, | 
|---|
| 1002 | [Define if you have the shl_load function.])], | 
|---|
| 1003 | [AC_CHECK_LIB(dld, shl_load, | 
|---|
| 1004 | [AC_DEFINE(HAVE_SHL_LOAD, 1, | 
|---|
| 1005 | [Define if you have the shl_load function.]) | 
|---|
| 1006 | LIBADD_DL="$LIBADD_DL -ldld"]) | 
|---|
| 1007 | ]) | 
|---|
| 1008 | AC_CHECK_LIB(dld, dld_link, [AC_DEFINE(HAVE_DLD, 1, | 
|---|
| 1009 | [Define if you have the GNU dld library.])dnl | 
|---|
| 1010 | test "x$ac_cv_lib_dld_shl_load" = yes || LIBADD_DL="$LIBADD_DL -ldld"]) | 
|---|
| 1011 | AC_SUBST(LIBADD_DL) | 
|---|
| 1012 |  | 
|---|
| 1013 | if test "x$ac_cv_func_dlopen" = xyes || test "x$ac_cv_lib_dl_dlopen" = xyes; then | 
|---|
| 1014 | LIBS_SAVE="$LIBS" | 
|---|
| 1015 | LIBS="$LIBS $LIBADD_DL" | 
|---|
| 1016 | AC_CHECK_FUNCS(dlerror) | 
|---|
| 1017 | LIBS="$LIBS_SAVE" | 
|---|
| 1018 | fi | 
|---|
| 1019 | ]) | 
|---|
| 1020 |  | 
|---|
| 1021 | AC_DEFUN(AC_LTDL_GLOBAL_SYMBOL_PIPE, | 
|---|
| 1022 | [dnl Check for command to grab the raw symbol name followed | 
|---|
| 1023 | dnl by C symbol name from nm. | 
|---|
| 1024 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | 
|---|
| 1025 | AC_REQUIRE([AC_PROG_NM])dnl | 
|---|
| 1026 | # Check for command to grab the raw symbol name followed by C symbol from nm. | 
|---|
| 1027 | AC_MSG_CHECKING([command to parse $NM output]) | 
|---|
| 1028 | AC_CACHE_VAL(ac_cv_sys_global_symbol_pipe, | 
|---|
| 1029 | [# These are sane defaults that work on at least a few old systems. | 
|---|
| 1030 | # {They come from Ultrix.  What could be older than Ultrix?!! ;)} | 
|---|
| 1031 |  | 
|---|
| 1032 | changequote(,)dnl | 
|---|
| 1033 | # Character class describing NM global symbol codes. | 
|---|
| 1034 | ac_symcode='[BCDEGRST]' | 
|---|
| 1035 |  | 
|---|
| 1036 | # Regexp to match symbols that can be accessed directly from C. | 
|---|
| 1037 | ac_sympat='\([_A-Za-z][_A-Za-z0-9]*\)' | 
|---|
| 1038 |  | 
|---|
| 1039 | # Transform the above into a raw symbol and a C symbol. | 
|---|
| 1040 | ac_symxfrm='\1 \2\3 \3' | 
|---|
| 1041 |  | 
|---|
| 1042 | # Transform an extracted symbol line into a proper C declaration | 
|---|
| 1043 | ac_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" | 
|---|
| 1044 |  | 
|---|
| 1045 | # Define system-specific variables. | 
|---|
| 1046 | case "$host_os" in | 
|---|
| 1047 | aix*) | 
|---|
| 1048 | ac_symcode='[BCDT]' | 
|---|
| 1049 | ;; | 
|---|
| 1050 | cygwin* | mingw*) | 
|---|
| 1051 | ac_symcode='[ABCDGISTW]' | 
|---|
| 1052 | ;; | 
|---|
| 1053 | hpux*) | 
|---|
| 1054 | ac_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" | 
|---|
| 1055 | ;; | 
|---|
| 1056 | irix*) | 
|---|
| 1057 | ac_symcode='[BCDEGRST]' | 
|---|
| 1058 | ;; | 
|---|
| 1059 | solaris*) | 
|---|
| 1060 | ac_symcode='[BDT]' | 
|---|
| 1061 | ;; | 
|---|
| 1062 | esac | 
|---|
| 1063 |  | 
|---|
| 1064 | # If we're using GNU nm, then use its standard symbol codes. | 
|---|
| 1065 | if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then | 
|---|
| 1066 | ac_symcode='[ABCDGISTW]' | 
|---|
| 1067 | fi | 
|---|
| 1068 | changequote([,])dnl | 
|---|
| 1069 |  | 
|---|
| 1070 | # Try without a prefix undercore, then with it. | 
|---|
| 1071 | for ac_symprfx in "" "_"; do | 
|---|
| 1072 |  | 
|---|
| 1073 | ac_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[       ]\($ac_symcode\)[       ][      ]*\($ac_symprfx\)$ac_sympat$/$ac_symxfrm/p'" | 
|---|
| 1074 |  | 
|---|
| 1075 | # Check to see that the pipe works correctly. | 
|---|
| 1076 | ac_pipe_works=no | 
|---|
| 1077 | rm -f conftest.$ac_ext | 
|---|
| 1078 | cat > conftest.$ac_ext <<EOF | 
|---|
| 1079 | #ifdef __cplusplus | 
|---|
| 1080 | extern "C" { | 
|---|
| 1081 | #endif | 
|---|
| 1082 | char nm_test_var; | 
|---|
| 1083 | void nm_test_func(){} | 
|---|
| 1084 | #ifdef __cplusplus | 
|---|
| 1085 | } | 
|---|
| 1086 | #endif | 
|---|
| 1087 | int main(){nm_test_var='a';nm_test_func;return 0;} | 
|---|
| 1088 | EOF | 
|---|
| 1089 |  | 
|---|
| 1090 | if AC_TRY_EVAL(ac_compile); then | 
|---|
| 1091 | # Now try to grab the symbols. | 
|---|
| 1092 | ac_nlist=conftest.nm | 
|---|
| 1093 |  | 
|---|
| 1094 | if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then | 
|---|
| 1095 |  | 
|---|
| 1096 | # Try sorting and uniquifying the output. | 
|---|
| 1097 | if sort "$ac_nlist" | uniq > "$ac_nlist"T; then | 
|---|
| 1098 | mv -f "$ac_nlist"T "$ac_nlist" | 
|---|
| 1099 | else | 
|---|
| 1100 | rm -f "$ac_nlist"T | 
|---|
| 1101 | fi | 
|---|
| 1102 |  | 
|---|
| 1103 | # Make sure that we snagged all the symbols we need. | 
|---|
| 1104 | if egrep ' nm_test_var$' "$ac_nlist" >/dev/null; then | 
|---|
| 1105 | if egrep ' nm_test_func$' "$ac_nlist" >/dev/null; then | 
|---|
| 1106 | cat <<EOF > conftest.c | 
|---|
| 1107 | #ifdef __cplusplus | 
|---|
| 1108 | extern "C" { | 
|---|
| 1109 | #endif | 
|---|
| 1110 |  | 
|---|
| 1111 | EOF | 
|---|
| 1112 | # Now generate the symbol file. | 
|---|
| 1113 | eval "$ac_global_symbol_to_cdecl"' < "$ac_nlist" >> conftest.c' | 
|---|
| 1114 |  | 
|---|
| 1115 | cat <<EOF >> conftest.c | 
|---|
| 1116 | #if defined (__STDC__) && __STDC__ | 
|---|
| 1117 | # define lt_ptr_t void * | 
|---|
| 1118 | #else | 
|---|
| 1119 | # define lt_ptr_t char * | 
|---|
| 1120 | # define const | 
|---|
| 1121 | #endif | 
|---|
| 1122 |  | 
|---|
| 1123 | /* The mapping between symbol names and symbols. */ | 
|---|
| 1124 | const struct { | 
|---|
| 1125 | const char *name; | 
|---|
| 1126 | lt_ptr_t address; | 
|---|
| 1127 | } | 
|---|
| 1128 | changequote(,)dnl | 
|---|
| 1129 | lt_preloaded_symbols[] = | 
|---|
| 1130 | changequote([,])dnl | 
|---|
| 1131 | { | 
|---|
| 1132 | EOF | 
|---|
| 1133 | sed 's/^. \(.*\) \(.*\)$/  {"\2", (lt_ptr_t) \&\2},/' < "$ac_nlist" >> conftest.c | 
|---|
| 1134 | cat <<\EOF >> conftest.c | 
|---|
| 1135 | {0, (lt_ptr_t) 0} | 
|---|
| 1136 | }; | 
|---|
| 1137 |  | 
|---|
| 1138 | #ifdef __cplusplus | 
|---|
| 1139 | } | 
|---|
| 1140 | #endif | 
|---|
| 1141 | EOF | 
|---|
| 1142 | # Now try linking the two files. | 
|---|
| 1143 | mv conftest.$ac_objext conftstm.$ac_objext | 
|---|
| 1144 | ac_save_LIBS="$LIBS" | 
|---|
| 1145 | ac_save_CFLAGS="$CFLAGS" | 
|---|
| 1146 | LIBS="conftstm.$ac_objext" | 
|---|
| 1147 | CFLAGS="$CFLAGS$no_builtin_flag" | 
|---|
| 1148 | if AC_TRY_EVAL(ac_link) && test -s conftest; then | 
|---|
| 1149 | ac_pipe_works=yes | 
|---|
| 1150 | else | 
|---|
| 1151 | echo "configure: failed program was:" >&AC_FD_CC | 
|---|
| 1152 | cat conftest.c >&AC_FD_CC | 
|---|
| 1153 | fi | 
|---|
| 1154 | LIBS="$ac_save_LIBS" | 
|---|
| 1155 | CFLAGS="$ac_save_CFLAGS" | 
|---|
| 1156 | else | 
|---|
| 1157 | echo "cannot find nm_test_func in $ac_nlist" >&AC_FD_CC | 
|---|
| 1158 | fi | 
|---|
| 1159 | else | 
|---|
| 1160 | echo "cannot find nm_test_var in $ac_nlist" >&AC_FD_CC | 
|---|
| 1161 | fi | 
|---|
| 1162 | else | 
|---|
| 1163 | echo "cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC | 
|---|
| 1164 | fi | 
|---|
| 1165 | else | 
|---|
| 1166 | echo "$progname: failed program was:" >&AC_FD_CC | 
|---|
| 1167 | cat conftest.c >&AC_FD_CC | 
|---|
| 1168 | fi | 
|---|
| 1169 | rm -rf conftest* conftst* | 
|---|
| 1170 |  | 
|---|
| 1171 | # Do not use the global_symbol_pipe unless it works. | 
|---|
| 1172 | if test "$ac_pipe_works" = yes; then | 
|---|
| 1173 | if test x"$ac_symprfx" = x"_"; then | 
|---|
| 1174 | ac_cv_sys_symbol_underscore=yes | 
|---|
| 1175 | else | 
|---|
| 1176 | ac_cv_sys_symbol_underscore=no | 
|---|
| 1177 | fi | 
|---|
| 1178 | break | 
|---|
| 1179 | else | 
|---|
| 1180 | ac_cv_sys_global_symbol_pipe= | 
|---|
| 1181 | fi | 
|---|
| 1182 | done | 
|---|
| 1183 | ]) | 
|---|
| 1184 |  | 
|---|
| 1185 | ac_result=yes | 
|---|
| 1186 | if test -z "$ac_cv_sys_global_symbol_pipe"; then | 
|---|
| 1187 | ac_result=no | 
|---|
| 1188 | fi | 
|---|
| 1189 | AC_MSG_RESULT($ac_result) | 
|---|
| 1190 | ]) | 
|---|
| 1191 |  | 
|---|
| 1192 | AC_DEFUN(AC_LTDL_SYMBOL_USCORE, | 
|---|
| 1193 | [dnl does the compiler prefix global symbols with an underscore? | 
|---|
| 1194 | AC_REQUIRE([AC_LTDL_GLOBAL_SYMBOL_PIPE])dnl | 
|---|
| 1195 | AC_MSG_CHECKING([for _ prefix in compiled symbols]) | 
|---|
| 1196 | AC_CACHE_VAL(ac_cv_sys_symbol_underscore, | 
|---|
| 1197 | [ac_cv_sys_symbol_underscore=no | 
|---|
| 1198 | cat > conftest.$ac_ext <<EOF | 
|---|
| 1199 | void nm_test_func(){} | 
|---|
| 1200 | int main(){nm_test_func;return 0;} | 
|---|
| 1201 | EOF | 
|---|
| 1202 | if AC_TRY_EVAL(ac_compile); then | 
|---|
| 1203 | # Now try to grab the symbols. | 
|---|
| 1204 | ac_nlist=conftest.nm | 
|---|
| 1205 | if AC_TRY_EVAL(NM conftest.$ac_objext \| $ac_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then | 
|---|
| 1206 | # See whether the symbols have a leading underscore. | 
|---|
| 1207 | if egrep '^. _nm_test_func' "$ac_nlist" >/dev/null; then | 
|---|
| 1208 | ac_cv_sys_symbol_underscore=yes | 
|---|
| 1209 | else | 
|---|
| 1210 | if egrep '^. nm_test_func ' "$ac_nlist" >/dev/null; then | 
|---|
| 1211 | : | 
|---|
| 1212 | else | 
|---|
| 1213 | echo "configure: cannot find nm_test_func in $ac_nlist" >&AC_FD_CC | 
|---|
| 1214 | fi | 
|---|
| 1215 | fi | 
|---|
| 1216 | else | 
|---|
| 1217 | echo "configure: cannot run $ac_cv_sys_global_symbol_pipe" >&AC_FD_CC | 
|---|
| 1218 | fi | 
|---|
| 1219 | else | 
|---|
| 1220 | echo "configure: failed program was:" >&AC_FD_CC | 
|---|
| 1221 | cat conftest.c >&AC_FD_CC | 
|---|
| 1222 | fi | 
|---|
| 1223 | rm -rf conftest* | 
|---|
| 1224 | ]) | 
|---|
| 1225 | AC_MSG_RESULT($ac_cv_sys_symbol_underscore) | 
|---|
| 1226 | AC_LTDL_DLSYM_USCORE | 
|---|
| 1227 | ]) | 
|---|
| 1228 |  | 
|---|
| 1229 | AC_DEFUN(AC_LTDL_DLSYM_USCORE, | 
|---|
| 1230 | [AC_REQUIRE([AC_LTDL_SYMBOL_USCORE])dnl | 
|---|
| 1231 | if test x"$ac_cv_sys_symbol_underscore" = xyes; then | 
|---|
| 1232 | if test x"$ac_cv_func_dlopen" = xyes || | 
|---|
| 1233 | test x"$ac_cv_lib_dl_dlopen" = xyes ; then | 
|---|
| 1234 | AC_CACHE_CHECK([whether we have to add an underscore for dlsym], | 
|---|
| 1235 | libltdl_cv_need_uscore, [dnl | 
|---|
| 1236 | AC_TRY_RUN([ | 
|---|
| 1237 | #if HAVE_DLFCN_H | 
|---|
| 1238 | #include <dlfcn.h> | 
|---|
| 1239 | #endif | 
|---|
| 1240 |  | 
|---|
| 1241 | #include <stdio.h> | 
|---|
| 1242 |  | 
|---|
| 1243 | #ifdef RTLD_GLOBAL | 
|---|
| 1244 | # define LTDL_GLOBAL    RTLD_GLOBAL | 
|---|
| 1245 | #else | 
|---|
| 1246 | # ifdef DL_GLOBAL | 
|---|
| 1247 | #  define LTDL_GLOBAL   DL_GLOBAL | 
|---|
| 1248 | # else | 
|---|
| 1249 | #  define LTDL_GLOBAL   0 | 
|---|
| 1250 | # endif | 
|---|
| 1251 | #endif | 
|---|
| 1252 |  | 
|---|
| 1253 | /* We may have to define LTDL_LAZY_OR_NOW in the command line if we | 
|---|
| 1254 | find out it does not work in some platform. */ | 
|---|
| 1255 | #ifndef LTDL_LAZY_OR_NOW | 
|---|
| 1256 | # ifdef RTLD_LAZY | 
|---|
| 1257 | #  define LTDL_LAZY_OR_NOW      RTLD_LAZY | 
|---|
| 1258 | # else | 
|---|
| 1259 | #  ifdef DL_LAZY | 
|---|
| 1260 | #   define LTDL_LAZY_OR_NOW     DL_LAZY | 
|---|
| 1261 | #  else | 
|---|
| 1262 | #   ifdef RTLD_NOW | 
|---|
| 1263 | #    define LTDL_LAZY_OR_NOW    RTLD_NOW | 
|---|
| 1264 | #   else | 
|---|
| 1265 | #    ifdef DL_NOW | 
|---|
| 1266 | #     define LTDL_LAZY_OR_NOW   DL_NOW | 
|---|
| 1267 | #    else | 
|---|
| 1268 | #     define LTDL_LAZY_OR_NOW   0 | 
|---|
| 1269 | #    endif | 
|---|
| 1270 | #   endif | 
|---|
| 1271 | #  endif | 
|---|
| 1272 | # endif | 
|---|
| 1273 | #endif | 
|---|
| 1274 |  | 
|---|
| 1275 | fnord() { int i=42;} | 
|---|
| 1276 | main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); | 
|---|
| 1277 | if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); | 
|---|
| 1278 | if(ptr1 && !ptr2) { dlclose(self); exit(0); } } exit(1); } | 
|---|
| 1279 | ],      libltdl_cv_need_uscore=no, libltdl_cv_need_uscore=yes, | 
|---|
| 1280 | libltdl_cv_need_uscore=cross | 
|---|
| 1281 | )]) | 
|---|
| 1282 | fi | 
|---|
| 1283 | fi | 
|---|
| 1284 |  | 
|---|
| 1285 | if test x"$libltdl_cv_need_uscore" = xyes; then | 
|---|
| 1286 | AC_DEFINE(NEED_USCORE, 1, | 
|---|
| 1287 | [Define if dlsym() requires a leading underscode in symbol names. ]) | 
|---|
| 1288 | fi | 
|---|
| 1289 | ]) | 
|---|