
1: ## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- 2: ## Copyright 1996, 1997, 1998, 1999, 2000, 2001 3: ## Free Software Foundation, Inc. 4: ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 5: ## 6: ## This program is free software; you can redistribute it and/or modify 7: ## it under the terms of the GNU General Public License as published by 8: ## the Free Software Foundation; either version 2 of the License, or 9: ## (at your option) any later version. 10: ## 11: ## This program is distributed in the hope that it will be useful, but 12: ## WITHOUT ANY WARRANTY; without even the implied warranty of 13: ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: ## General Public License for more details. 15: ## 16: ## You should have received a copy of the GNU General Public License 17: ## along with this program; if not, write to the Free Software 18: ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19: ## 20: ## As a special exception to the GNU General Public License, if you 21: ## distribute this file as part of a program that contains a 22: ## configuration script generated by Autoconf, you may include it under 23: ## the same distribution terms that you use for the rest of that program. 24: 25: # serial 46 AC_PROG_LIBTOOL 26: AC_DEFUN([AC_PROG_LIBTOOL], 27: [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl 28: dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX 29: dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. 30: AC_PROVIDE_IFELSE([AC_PROG_CXX], 31: [AC_LIBTOOL_CXX], 32: [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX 33: ])]) 34: 35: dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. 36: dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run 37: dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. 38: AC_PROVIDE_IFELSE([AC_PROG_GCJ], 39: [AC_LIBTOOL_GCJ], 40: [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 41: [AC_LIBTOOL_GCJ], 42: [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], 43: [AC_LIBTOOL_GCJ], 44: [ifdef([AC_PROG_GCJ], 45: [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ 46: ])]) 47: ifdef([A][M_PROG_GCJ], 48: [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ 49: ])]) 50: ifdef([LT_AC_PROG_GCJ], 51: [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ 52: ])])])])])]) 53: 54: AC_DEFUN([_AC_PROG_LIBTOOL], 55: [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl 56: AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl 57: AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl 58: 59: # Save cache, so that ltconfig can load it 60: AC_CACHE_SAVE 61: 62: # Actually configure libtool. ac_aux_dir is where install-sh is found. 63: AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ 64: MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ 65: LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ 66: AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ 67: objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ 68: deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \ 69: ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ 70: $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \ 71: || AC_MSG_ERROR([libtool configure failed]) 72: 73: # Reload cache, that may have been modified by ltconfig 74: AC_CACHE_LOAD 75: 76: # This can be used to rebuild libtool when needed 77: LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh" 78: 79: # Always use our own libtool. 80: LIBTOOL='$(SHELL) $(top_builddir)/libtool' 81: AC_SUBST(LIBTOOL)dnl 82: 83: # Redirect the config.log output again, so that the ltconfig log is not 84: # clobbered by the next message. 85: exec 5>>./config.log 86: ]) 87: 88: AC_DEFUN([AC_LIBTOOL_SETUP], 89: [AC_PREREQ(2.13)dnl 90: AC_REQUIRE([AC_ENABLE_SHARED])dnl 91: AC_REQUIRE([AC_ENABLE_STATIC])dnl 92: AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl 93: AC_REQUIRE([AC_CANONICAL_HOST])dnl 94: AC_REQUIRE([AC_CANONICAL_BUILD])dnl 95: AC_REQUIRE([AC_PROG_CC])dnl 96: AC_REQUIRE([AC_PROG_LD])dnl 97: AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl 98: AC_REQUIRE([AC_PROG_NM])dnl 99: AC_REQUIRE([AC_PROG_LN_S])dnl 100: AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl 101: # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! 102: AC_REQUIRE([AC_OBJEXT])dnl 103: AC_REQUIRE([AC_EXEEXT])dnl 104: dnl 105: 106: AC_LIBTOOL_SYS_MAX_CMD_LEN 107: 108: # Only perform the check for file, if the check method requires it 109: case $deplibs_check_method in 110: file_magic*) 111: if test "$file_magic_cmd" = '$MAGIC_CMD'; then 112: AC_PATH_MAGIC 113: fi 114: ;; 115: esac 116: 117: AC_CHECK_TOOL(RANLIB, ranlib, :) 118: AC_CHECK_TOOL(STRIP, strip, :) 119: 120: # Check for any special flags to pass to ltconfig. 121: libtool_flags="--cache-file=$cache_file" 122: test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" 123: test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" 124: test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" 125: test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc" 126: test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" 127: ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], 128: [libtool_flags="$libtool_flags --enable-dlopen"]) 129: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 130: [libtool_flags="$libtool_flags --enable-win32-dll"]) 131: AC_ARG_ENABLE(libtool-lock, 132: [ --disable-libtool-lock avoid locking (might break parallel builds)]) 133: test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" 134: test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" 135: 136: AC_ARG_WITH(pic, 137: [ --with-pic try to use only PIC/non-PIC objects [default=use both]], 138: pic_mode="$withval", pic_mode=default) 139: test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" 140: test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" 141: 142: # Some flags need to be propagated to the compiler or linker for good 143: # libtool support. 144: case $host in 145: *-*-irix6*) 146: # Find out which ABI we are using. 147: echo '[#]line __oline__ "configure"' > conftest.$ac_ext 148: if AC_TRY_EVAL(ac_compile); then 149: if test "$lt_cv_prog_gnu_ld" = yes; then 150: case `/usr/bin/file conftest.$ac_objext` in 151: *32-bit*) 152: LD="${LD-ld} -melf32bsmip" 153: ;; 154: *N32*) 155: LD="${LD-ld} -melf32bmipn32" 156: ;; 157: *64-bit*) 158: LD="${LD-ld} -melf64bmip" 159: ;; 160: esac 161: else 162: case `/usr/bin/file conftest.$ac_objext` in 163: *32-bit*) 164: LD="${LD-ld} -32" 165: ;; 166: *N32*) 167: LD="${LD-ld} -n32" 168: ;; 169: *64-bit*) 170: LD="${LD-ld} -64" 171: ;; 172: esac 173: fi 174: fi 175: rm -rf conftest* 176: ;; 177: 178: ia64-*-hpux*) 179: # Find out which ABI we are using. 180: echo 'int i;' > conftest.$ac_ext 181: if AC_TRY_EVAL(ac_compile); then 182: case "`/usr/bin/file conftest.o`" in 183: *ELF-32*) 184: HPUX_IA64_MODE="32" 185: ;; 186: *ELF-64*) 187: HPUX_IA64_MODE="64" 188: ;; 189: esac 190: fi 191: rm -rf conftest* 192: ;; 193: 194: x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) 195: # Find out which ABI we are using. 196: echo 'int i;' > conftest.$ac_ext 197: if AC_TRY_EVAL(ac_compile); then 198: case "`/usr/bin/file conftest.o`" in 199: *32-bit*) 200: case $host in 201: x86_64-*linux*) 202: LD="${LD-ld} -m elf_i386" 203: ;; 204: ppc64-*linux*|powerpc64-*linux*) 205: LD="${LD-ld} -m elf32ppclinux" 206: ;; 207: s390x-*linux*) 208: LD="${LD-ld} -m elf_s390" 209: ;; 210: sparc64-*linux*) 211: LD="${LD-ld} -m elf32_sparc" 212: ;; 213: esac 214: ;; 215: *64-bit*) 216: case $host in 217: x86_64-*linux*) 218: LD="${LD-ld} -m elf_x86_64" 219: ;; 220: ppc*-*linux*|powerpc*-*linux*) 221: LD="${LD-ld} -m elf64ppc" 222: ;; 223: s390*-*linux*) 224: LD="${LD-ld} -m elf64_s390" 225: ;; 226: sparc*-*linux*) 227: LD="${LD-ld} -m elf64_sparc" 228: ;; 229: esac 230: ;; 231: esac 232: fi 233: rm -rf conftest* 234: ;; 235: 236: *-*-sco3.2v5*) 237: # On SCO OpenServer 5, we need -belf to get full-featured binaries. 238: SAVE_CFLAGS="$CFLAGS" 239: CFLAGS="$CFLAGS -belf" 240: AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 241: [AC_LANG_SAVE 242: AC_LANG_C 243: AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 244: AC_LANG_RESTORE]) 245: if test x"$lt_cv_cc_needs_belf" != x"yes"; then 246: # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 247: CFLAGS="$SAVE_CFLAGS" 248: fi 249: ;; 250: 251: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 252: [*-*-cygwin* | *-*-mingw* | *-*-pw32*) 253: AC_CHECK_TOOL(DLLTOOL, dlltool, false) 254: AC_CHECK_TOOL(AS, as, false) 255: AC_CHECK_TOOL(OBJDUMP, objdump, false) 256: 257: # recent cygwin and mingw systems supply a stub DllMain which the user 258: # can override, but on older systems we have to supply one 259: AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, 260: [AC_TRY_LINK([], 261: [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); 262: DllMain (0, 0, 0);], 263: [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) 264: 265: case $host/$CC in 266: *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) 267: # old mingw systems require "-dll" to link a DLL, while more recent ones 268: # require "-mdll" 269: SAVE_CFLAGS="$CFLAGS" 270: CFLAGS="$CFLAGS -mdll" 271: AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, 272: [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) 273: CFLAGS="$SAVE_CFLAGS" ;; 274: *-*-cygwin* | *-*-pw32*) 275: # cygwin systems need to pass --dll to the linker, and not link 276: # crt.o which will require a WinMain@16 definition. 277: lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; 278: esac 279: ;; 280: ]) 281: esac 282: ]) 283: 284: 285: # AC_LIBTOOL_SYS_MAX_CMD_LEN 286: # -------------------------- 287: AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], 288: [# find the maximum length of command line arguments 289: AC_MSG_CHECKING([the maximum length of command line arguments]) 290: AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 291: i=0 292: teststring="ABCD" 293: 294: case $build_os in 295: msdosdjgpp*) 296: # On DJGPP, this test can blow up pretty badly due to problems in libc 297: # (any single argument exceeding 2000 bytes causes a buffer overrun 298: # during glob expansion). Even if it were fixed, the result of this 299: # check would be larger than it should be. 300: lt_cv_sys_max_cmd_len=12288; # 12K is about right 301: ;; 302: 303: cygwin* | mingw*) 304: # On Win9x/ME, this test blows up -- it succeeds, but takes 305: # about 5 minutes as the teststring grows exponentially. 306: # Worse, since 9x/ME are not pre-emptively multitasking, 307: # you end up with a "frozen" computer, even though with patience 308: # the test eventually succeeds (with a max line length of 256k). 309: # Instead, let's just punt: use the minimum linelength reported by 310: # all of the supported platforms: 8192 (on NT/2K/XP). 311: lt_cv_sys_max_cmd_len=8192; 312: ;; 313: 314: amigaos*) 315: # On AmigaOS with pdksh, this test takes hours, literally. 316: # So we just punt and use a minimum line length of 8192. 317: lt_cv_sys_max_cmd_len=8192; 318: ;; 319: 320: netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 321: # This has been around since 386BSD, at least. Likely further. 322: if test -x /sbin/sysctl; then 323: lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 324: elif test -x /usr/sbin/sysctl; then 325: lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 326: else 327: lt_cv_sys_max_cmd_len=65536 # usable default for *BSD 328: fi 329: # And add a safety zone 330: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 331: lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 332: ;; 333: esac 334: ]) 335: if test -n "$lt_cv_sys_max_cmd_len" ; then 336: AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 337: else 338: AC_MSG_RESULT(none) 339: fi 340: ])# AC_LIBTOOL_SYS_MAX_CMD_LEN 341: 342: 343: # AC_LIBTOOL_DLOPEN - enable checks for dlopen support 344: AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) 345: 346: # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's 347: AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) 348: 349: # AC_ENABLE_SHARED - implement the --enable-shared flag 350: # Usage: AC_ENABLE_SHARED[(DEFAULT)] 351: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 352: # `yes'. 353: AC_DEFUN([AC_ENABLE_SHARED], 354: [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl 355: AC_ARG_ENABLE(shared, 356: changequote(<<, >>)dnl 357: << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], 358: changequote([, ])dnl 359: [p=${PACKAGE-default} 360: case $enableval in 361: yes) enable_shared=yes ;; 362: no) enable_shared=no ;; 363: *) 364: enable_shared=no 365: # Look at the argument we got. We use all the common list separators. 366: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 367: for pkg in $enableval; do 368: if test "X$pkg" = "X$p"; then 369: enable_shared=yes 370: fi 371: done 372: IFS="$ac_save_ifs" 373: ;; 374: esac], 375: enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl 376: ]) 377: 378: # AC_DISABLE_SHARED - set the default shared flag to --disable-shared 379: AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 380: AC_ENABLE_SHARED(no)]) 381: 382: # AC_ENABLE_STATIC - implement the --enable-static flag 383: # Usage: AC_ENABLE_STATIC[(DEFAULT)] 384: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 385: # `yes'. 386: AC_DEFUN([AC_ENABLE_STATIC], 387: [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl 388: AC_ARG_ENABLE(static, 389: changequote(<<, >>)dnl 390: << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], 391: changequote([, ])dnl 392: [p=${PACKAGE-default} 393: case $enableval in 394: yes) enable_static=yes ;; 395: no) enable_static=no ;; 396: *) 397: enable_static=no 398: # Look at the argument we got. We use all the common list separators. 399: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 400: for pkg in $enableval; do 401: if test "X$pkg" = "X$p"; then 402: enable_static=yes 403: fi 404: done 405: IFS="$ac_save_ifs" 406: ;; 407: esac], 408: enable_static=AC_ENABLE_STATIC_DEFAULT)dnl 409: ]) 410: 411: # AC_DISABLE_STATIC - set the default static flag to --disable-static 412: AC_DEFUN([AC_DISABLE_STATIC], 413: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 414: AC_ENABLE_STATIC(no)]) 415: 416: 417: # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag 418: # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] 419: # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 420: # `yes'. 421: AC_DEFUN([AC_ENABLE_FAST_INSTALL], 422: [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl 423: AC_ARG_ENABLE(fast-install, 424: changequote(<<, >>)dnl 425: << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], 426: changequote([, ])dnl 427: [p=${PACKAGE-default} 428: case $enableval in 429: yes) enable_fast_install=yes ;; 430: no) enable_fast_install=no ;; 431: *) 432: enable_fast_install=no 433: # Look at the argument we got. We use all the common list separators. 434: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 435: for pkg in $enableval; do 436: if test "X$pkg" = "X$p"; then 437: enable_fast_install=yes 438: fi 439: done 440: IFS="$ac_save_ifs" 441: ;; 442: esac], 443: enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl 444: ]) 445: 446: # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install 447: AC_DEFUN([AC_DISABLE_FAST_INSTALL], 448: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 449: AC_ENABLE_FAST_INSTALL(no)]) 450: 451: # AC_LIBTOOL_PICMODE - implement the --with-pic flag 452: # Usage: AC_LIBTOOL_PICMODE[(MODE)] 453: # Where MODE is either `yes' or `no'. If omitted, it defaults to 454: # `both'. 455: AC_DEFUN([AC_LIBTOOL_PICMODE], 456: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 457: pic_mode=ifelse($#,1,$1,default)]) 458: 459: 460: # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library 461: AC_DEFUN([AC_PATH_TOOL_PREFIX], 462: [AC_MSG_CHECKING([for $1]) 463: AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 464: [case $MAGIC_CMD in 465: /*) 466: lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 467: ;; 468: ?:/*) 469: lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. 470: ;; 471: *) 472: ac_save_MAGIC_CMD="$MAGIC_CMD" 473: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" 474: dnl $ac_dummy forces splitting on constant user-supplied paths. 475: dnl POSIX.2 word splitting is done only on the output of word expansions, 476: dnl not every word. This closes a longstanding sh security hole. 477: ac_dummy="ifelse([$2], , $PATH, [$2])" 478: for ac_dir in $ac_dummy; do 479: test -z "$ac_dir" && ac_dir=. 480: if test -f $ac_dir/$1; then 481: lt_cv_path_MAGIC_CMD="$ac_dir/$1" 482: if test -n "$file_magic_test_file"; then 483: case $deplibs_check_method in 484: "file_magic "*) 485: file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" 486: MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 487: if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 488: egrep "$file_magic_regex" > /dev/null; then 489: : 490: else 491: cat <<EOF 1>&2 492: 493: *** Warning: the command libtool uses to detect shared libraries, 494: *** $file_magic_cmd, produces output that libtool cannot recognize. 495: *** The result is that libtool may fail to recognize shared libraries 496: *** as such. This will affect the creation of libtool libraries that 497: *** depend on shared libraries, but programs linked with such libtool 498: *** libraries will work regardless of this problem. Nevertheless, you 499: *** may want to report the problem to your system manager and/or to 500: *** bug-libtool@gnu.org 501: 502: EOF 503: fi ;; 504: esac 505: fi 506: break 507: fi 508: done 509: IFS="$ac_save_ifs" 510: MAGIC_CMD="$ac_save_MAGIC_CMD" 511: ;; 512: esac]) 513: MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 514: if test -n "$MAGIC_CMD"; then 515: AC_MSG_RESULT($MAGIC_CMD) 516: else 517: AC_MSG_RESULT(no) 518: fi 519: ]) 520: 521: 522: # AC_PATH_MAGIC - find a file program which can recognise a shared library 523: AC_DEFUN([AC_PATH_MAGIC], 524: [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl 525: AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) 526: if test -z "$lt_cv_path_MAGIC_CMD"; then 527: if test -n "$ac_tool_prefix"; then 528: AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) 529: else 530: MAGIC_CMD=: 531: fi 532: fi 533: ]) 534: 535: 536: # AC_PROG_LD - find the path to the GNU or non-GNU linker 537: AC_DEFUN([AC_PROG_LD], 538: [AC_ARG_WITH(gnu-ld, 539: [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], 540: test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) 541: AC_REQUIRE([AC_PROG_CC])dnl 542: AC_REQUIRE([AC_CANONICAL_HOST])dnl 543: AC_REQUIRE([AC_CANONICAL_BUILD])dnl 544: ac_prog=ld 545: if test "$GCC" = yes; then 546: # Check if gcc -print-prog-name=ld gives a path. 547: AC_MSG_CHECKING([for ld used by GCC]) 548: case $host in 549: *-*-mingw*) 550: # gcc leaves a trailing carriage return which upsets mingw 551: ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 552: *) 553: ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 554: esac 555: case $ac_prog in 556: # Accept absolute paths. 557: [[\\/]* | [A-Za-z]:[\\/]*)] 558: re_direlt=['/[^/][^/]*/\.\./'] 559: # Canonicalize the path of ld 560: ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` 561: while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do 562: ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` 563: done 564: test -z "$LD" && LD="$ac_prog" 565: ;; 566: "") 567: # If it fails, then pretend we aren't using GCC. 568: ac_prog=ld 569: ;; 570: *) 571: # If it is relative, then search for the first ld in PATH. 572: with_gnu_ld=unknown 573: ;; 574: esac 575: elif test "$with_gnu_ld" = yes; then 576: AC_MSG_CHECKING([for GNU ld]) 577: else 578: AC_MSG_CHECKING([for non-GNU ld]) 579: fi 580: AC_CACHE_VAL(lt_cv_path_LD, 581: [if test -z "$LD"; then 582: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 583: for ac_dir in $PATH; do 584: test -z "$ac_dir" && ac_dir=. 585: if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 586: lt_cv_path_LD="$ac_dir/$ac_prog" 587: # Check to see if the program is GNU ld. I'd rather use --version, 588: # but apparently some GNU ld's only accept -v. 589: # Break only if it was the GNU/non-GNU ld that we prefer. 590: if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then 591: test "$with_gnu_ld" != no && break 592: else 593: test "$with_gnu_ld" != yes && break 594: fi 595: fi 596: done 597: IFS="$ac_save_ifs" 598: else 599: lt_cv_path_LD="$LD" # Let the user override the test with a path. 600: fi]) 601: LD="$lt_cv_path_LD" 602: if test -n "$LD"; then 603: AC_MSG_RESULT($LD) 604: else 605: AC_MSG_RESULT(no) 606: fi 607: test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 608: AC_PROG_LD_GNU 609: ]) 610: 611: AC_DEFUN([AC_PROG_LD_GNU], 612: [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 613: [# I'd rather use --version here, but apparently some GNU ld's only accept -v. 614: if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then 615: lt_cv_prog_gnu_ld=yes 616: else 617: lt_cv_prog_gnu_ld=no 618: fi]) 619: with_gnu_ld=$lt_cv_prog_gnu_ld 620: ]) 621: 622: # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker 623: # -- PORTME Some linkers may need a different reload flag. 624: AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], 625: [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, 626: [lt_cv_ld_reload_flag='-r']) 627: reload_flag=$lt_cv_ld_reload_flag 628: test -n "$reload_flag" && reload_flag=" $reload_flag" 629: ]) 630: 631: # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies 632: # -- PORTME fill in with the dynamic library characteristics 633: AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], 634: [AC_CACHE_CHECK([how to recognise dependant libraries], 635: lt_cv_deplibs_check_method, 636: [lt_cv_file_magic_cmd='$MAGIC_CMD' 637: lt_cv_file_magic_test_file= 638: lt_cv_deplibs_check_method='unknown' 639: # Need to set the preceding variable on all platforms that support 640: # interlibrary dependencies. 641: # 'none' -- dependencies not supported. 642: # `unknown' -- same as none, but documents that we really don't know. 643: # 'pass_all' -- all dependencies passed with no checks. 644: # 'test_compile' -- check by making test program. 645: # 'file_magic [regex]' -- check by looking for files in library path 646: # which responds to the $file_magic_cmd with a given egrep regex. 647: # If you have `file' or equivalent on your system and you're not sure 648: # whether `pass_all' will *always* work, you probably want this one. 649: 650: case $host_os in 651: aix*) 652: lt_cv_deplibs_check_method=pass_all 653: ;; 654: 655: beos*) 656: lt_cv_deplibs_check_method=pass_all 657: ;; 658: 659: bsdi4*) 660: lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'] 661: lt_cv_file_magic_cmd='/usr/bin/file -L' 662: lt_cv_file_magic_test_file=/shlib/libc.so 663: ;; 664: 665: cygwin* | mingw* |pw32*) 666: lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 667: lt_cv_file_magic_cmd='$OBJDUMP -f' 668: ;; 669: 670: darwin* | rhapsody*) 671: # this will be overwritten by pass_all, but leave it in just in case 672: lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' 673: lt_cv_file_magic_cmd='/usr/bin/file -L' 674: case "$host_os" in 675: rhapsody* | darwin1.[012]) 676: lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System' 677: ;; 678: *) # Darwin 1.3 on 679: lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' 680: ;; 681: esac 682: lt_cv_deplibs_check_method=pass_all 683: ;; 684: 685: freebsd* | kfreebsd*-gnu) 686: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 687: case $host_cpu in 688: i*86 ) 689: # Not sure whether the presence of OpenBSD here was a mistake. 690: # Let's accept both of them until this is cleared up. 691: lt_cv_deplibs_check_method=['file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'] 692: lt_cv_file_magic_cmd=/usr/bin/file 693: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 694: ;; 695: esac 696: else 697: lt_cv_deplibs_check_method=pass_all 698: fi 699: ;; 700: 701: gnu*) 702: lt_cv_deplibs_check_method=pass_all 703: ;; 704: 705: hpux10.20*|hpux11*) 706: case $host_cpu in 707: hppa*) 708: [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] 709: lt_cv_file_magic_cmd=/usr/bin/file 710: lt_cv_file_magic_test_file=/usr/lib/libc.sl 711: ;; 712: ia64*) 713: [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'] 714: lt_cv_file_magic_cmd=/usr/bin/file 715: lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 716: ;; 717: esac 718: ;; 719: 720: irix5* | irix6*) 721: case $host_os in 722: irix5*) 723: # this will be overridden with pass_all, but let us keep it just in case 724: lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" 725: ;; 726: *) 727: case $LD in 728: *-32|*"-32 ") libmagic=32-bit;; 729: *-n32|*"-n32 ") libmagic=N32;; 730: *-64|*"-64 ") libmagic=64-bit;; 731: *) libmagic=never-match;; 732: esac 733: # this will be overridden with pass_all, but let us keep it just in case 734: lt_cv_deplibs_check_method=["file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"] 735: ;; 736: esac 737: lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` 738: lt_cv_deplibs_check_method=pass_all 739: ;; 740: 741: # This must be Linux ELF. 742: linux-gnu*) 743: lt_cv_deplibs_check_method=pass_all 744: ;; 745: 746: netbsd* | knetbsd*-gnu) 747: if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 748: [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] 749: else 750: [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'] 751: fi 752: ;; 753: 754: newsos6) 755: [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'] 756: lt_cv_file_magic_cmd=/usr/bin/file 757: lt_cv_file_magic_test_file=/usr/lib/libnls.so 758: ;; 759: 760: osf3* | osf4* | osf5*) 761: # this will be overridden with pass_all, but let us keep it just in case 762: lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' 763: lt_cv_file_magic_test_file=/shlib/libc.so 764: lt_cv_deplibs_check_method=pass_all 765: ;; 766: 767: sco3.2v5*) 768: lt_cv_deplibs_check_method=pass_all 769: ;; 770: 771: solaris*) 772: lt_cv_deplibs_check_method=pass_all 773: lt_cv_file_magic_test_file=/lib/libc.so 774: ;; 775: 776: [sysv5uw[78]* | sysv4*uw2*)] 777: lt_cv_deplibs_check_method=pass_all 778: ;; 779: 780: sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 781: case $host_vendor in 782: ncr) 783: lt_cv_deplibs_check_method=pass_all 784: ;; 785: motorola) 786: 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]'] 787: lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 788: ;; 789: esac 790: ;; 791: esac 792: ]) 793: file_magic_cmd=$lt_cv_file_magic_cmd 794: deplibs_check_method=$lt_cv_deplibs_check_method 795: ]) 796: 797: 798: # AC_PROG_NM - find the path to a BSD-compatible name lister 799: AC_DEFUN([AC_PROG_NM], 800: [AC_MSG_CHECKING([for BSD-compatible nm]) 801: AC_CACHE_VAL(lt_cv_path_NM, 802: [if test -n "$NM"; then 803: # Let the user override the test. 804: lt_cv_path_NM="$NM" 805: else 806: IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 807: for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do 808: test -z "$ac_dir" && ac_dir=. 809: tmp_nm=$ac_dir/${ac_tool_prefix}nm 810: if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then 811: # Check to see if the nm accepts a BSD-compat flag. 812: # Adding the `sed 1q' prevents false positives on HP-UX, which says: 813: # nm: unknown option "B" ignored 814: # Tru64's nm complains that /dev/null is an invalid object file 815: if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then 816: lt_cv_path_NM="$tmp_nm -B" 817: break 818: elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 819: lt_cv_path_NM="$tmp_nm -p" 820: break 821: else 822: lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 823: continue # so that we can try to find one that supports BSD flags 824: