/config/libtool.m4
m4 | 2074 lines | 1524 code | 208 blank | 342 comment | 0 complexity | 46735e03ccac848a0241937fdc7b25cf MD5 | raw file
Large files files are truncated, but you can click here to view the full file
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 2## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 3## Free Software Foundation, Inc. 4## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 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 48 Debian 1.5.22-2 AC_PROG_LIBTOOL 11 12 13# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) 14# ----------------------------------------------------------- 15# If this macro is not defined by Autoconf, define it here. 16m4_ifdef([AC_PROVIDE_IFELSE], 17 [], 18 [m4_define([AC_PROVIDE_IFELSE], 19 [m4_ifdef([AC_PROVIDE_$1], 20 [$2], [$3])])]) 21 22 23# AC_PROG_LIBTOOL 24# --------------- 25AC_DEFUN([AC_PROG_LIBTOOL], 26[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl 27dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX 28dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. 29 AC_PROVIDE_IFELSE([AC_PROG_CXX], 30 [AC_LIBTOOL_CXX], 31 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX 32 ])]) 33dnl And a similar setup for Fortran 77 support 34 AC_PROVIDE_IFELSE([AC_PROG_F77], 35 [AC_LIBTOOL_F77], 36 [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 37])]) 38 39dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. 40dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run 41dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. 42 AC_PROVIDE_IFELSE([AC_PROG_GCJ], 43 [AC_LIBTOOL_GCJ], 44 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 45 [AC_LIBTOOL_GCJ], 46 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], 47 [AC_LIBTOOL_GCJ], 48 [ifdef([AC_PROG_GCJ], 49 [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) 50 ifdef([A][M_PROG_GCJ], 51 [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) 52 ifdef([LT_AC_PROG_GCJ], 53 [define([LT_AC_PROG_GCJ], 54 defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) 55])])# AC_PROG_LIBTOOL 56 57 58# _AC_PROG_LIBTOOL 59# ---------------- 60AC_DEFUN([_AC_PROG_LIBTOOL], 61[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl 62AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl 63AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl 64AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl 65 66# This can be used to rebuild libtool when needed 67LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" 68 69# Always use our own libtool. 70LIBTOOL='$(SHELL) $(top_builddir)/libtool' 71AC_SUBST(LIBTOOL)dnl 72 73# Prevent multiple expansion 74define([AC_PROG_LIBTOOL], []) 75])# _AC_PROG_LIBTOOL 76 77 78# AC_LIBTOOL_SETUP 79# ---------------- 80AC_DEFUN([AC_LIBTOOL_SETUP], 81[AC_PREREQ(2.50)dnl 82AC_REQUIRE([AC_ENABLE_SHARED])dnl 83AC_REQUIRE([AC_ENABLE_STATIC])dnl 84AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl 85AC_REQUIRE([AC_CANONICAL_HOST])dnl 86AC_REQUIRE([AC_CANONICAL_BUILD])dnl 87AC_REQUIRE([AC_PROG_CC])dnl 88AC_REQUIRE([AC_PROG_LD])dnl 89AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl 90AC_REQUIRE([AC_PROG_NM])dnl 91 92AC_REQUIRE([AC_PROG_LN_S])dnl 93AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl 94# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! 95AC_REQUIRE([AC_OBJEXT])dnl 96AC_REQUIRE([AC_EXEEXT])dnl 97dnl 98 99AC_LIBTOOL_SYS_MAX_CMD_LEN 100AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 101AC_LIBTOOL_OBJDIR 102 103AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl 104_LT_AC_PROG_ECHO_BACKSLASH 105 106case $host_os in 107aix3*) 108 # AIX sometimes has problems with the GCC collect2 program. For some 109 # reason, if we set the COLLECT_NAMES environment variable, the problems 110 # vanish in a puff of smoke. 111 if test "X${COLLECT_NAMES+set}" != Xset; then 112 COLLECT_NAMES= 113 export COLLECT_NAMES 114 fi 115 ;; 116esac 117 118# Sed substitution that helps us do robust quoting. It backslashifies 119# metacharacters that are still active within double-quoted strings. 120Xsed='sed -e 1s/^X//' 121[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] 122 123# Same as above, but do not quote variable references. 124[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] 125 126# Sed substitution to delay expansion of an escaped shell variable in a 127# double_quote_subst'ed string. 128delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 129 130# Sed substitution to avoid accidental globbing in evaled expressions 131no_glob_subst='s/\*/\\\*/g' 132 133# Constants: 134rm="rm -f" 135 136# Global variables: 137default_ofile=libtool 138can_build_shared=yes 139 140# All known linkers require a `.a' archive for static linking (except MSVC, 141# which needs '.lib'). 142libext=a 143ltmain="$ac_aux_dir/ltmain.sh" 144ofile="$default_ofile" 145with_gnu_ld="$lt_cv_prog_gnu_ld" 146 147AC_CHECK_TOOL(AR, ar, false) 148AC_CHECK_TOOL(RANLIB, ranlib, :) 149AC_CHECK_TOOL(STRIP, strip, :) 150 151old_CC="$CC" 152old_CFLAGS="$CFLAGS" 153 154# Set sane defaults for various variables 155test -z "$AR" && AR=ar 156test -z "$AR_FLAGS" && AR_FLAGS=cru 157test -z "$AS" && AS=as 158test -z "$CC" && CC=cc 159test -z "$LTCC" && LTCC=$CC 160test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 161test -z "$DLLTOOL" && DLLTOOL=dlltool 162test -z "$LD" && LD=ld 163test -z "$LN_S" && LN_S="ln -s" 164test -z "$MAGIC_CMD" && MAGIC_CMD=file 165test -z "$NM" && NM=nm 166test -z "$SED" && SED=sed 167test -z "$OBJDUMP" && OBJDUMP=objdump 168test -z "$RANLIB" && RANLIB=: 169test -z "$STRIP" && STRIP=: 170test -z "$ac_objext" && ac_objext=o 171 172# Determine commands to create old-style static archives. 173old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' 174old_postinstall_cmds='chmod 644 $oldlib' 175old_postuninstall_cmds= 176 177if test -n "$RANLIB"; then 178 case $host_os in 179 openbsd*) 180 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" 181 ;; 182 *) 183 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" 184 ;; 185 esac 186 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 187fi 188 189_LT_CC_BASENAME([$compiler]) 190 191# Only perform the check for file, if the check method requires it 192case $deplibs_check_method in 193file_magic*) 194 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 195 AC_PATH_MAGIC 196 fi 197 ;; 198esac 199 200AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) 201AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], 202enable_win32_dll=yes, enable_win32_dll=no) 203 204AC_ARG_ENABLE([libtool-lock], 205 [AC_HELP_STRING([--disable-libtool-lock], 206 [avoid locking (might break parallel builds)])]) 207test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 208 209AC_ARG_WITH([pic], 210 [AC_HELP_STRING([--with-pic], 211 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], 212 [pic_mode="$withval"], 213 [pic_mode=default]) 214test -z "$pic_mode" && pic_mode=default 215 216# Use C for the default configuration in the libtool script 217tagname= 218AC_LIBTOOL_LANG_C_CONFIG 219_LT_AC_TAGCONFIG 220])# AC_LIBTOOL_SETUP 221 222 223# _LT_AC_SYS_COMPILER 224# ------------------- 225AC_DEFUN([_LT_AC_SYS_COMPILER], 226[AC_REQUIRE([AC_PROG_CC])dnl 227 228# If no C compiler was specified, use CC. 229LTCC=${LTCC-"$CC"} 230 231# If no C compiler flags were specified, use CFLAGS. 232LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 233 234# Allow CC to be a program name with arguments. 235compiler=$CC 236])# _LT_AC_SYS_COMPILER 237 238 239# _LT_CC_BASENAME(CC) 240# ------------------- 241# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 242AC_DEFUN([_LT_CC_BASENAME], 243[for cc_temp in $1""; do 244 case $cc_temp in 245 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 246 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 247 \-*) ;; 248 *) break;; 249 esac 250done 251cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 252]) 253 254 255# _LT_COMPILER_BOILERPLATE 256# ------------------------ 257# Check for compiler boilerplate output or warnings with 258# the simple compiler test code. 259AC_DEFUN([_LT_COMPILER_BOILERPLATE], 260[ac_outfile=conftest.$ac_objext 261printf "$lt_simple_compile_test_code" >conftest.$ac_ext 262eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 263_lt_compiler_boilerplate=`cat conftest.err` 264$rm conftest* 265])# _LT_COMPILER_BOILERPLATE 266 267 268# _LT_LINKER_BOILERPLATE 269# ---------------------- 270# Check for linker boilerplate output or warnings with 271# the simple link test code. 272AC_DEFUN([_LT_LINKER_BOILERPLATE], 273[ac_outfile=conftest.$ac_objext 274printf "$lt_simple_link_test_code" >conftest.$ac_ext 275eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 276_lt_linker_boilerplate=`cat conftest.err` 277$rm conftest* 278])# _LT_LINKER_BOILERPLATE 279 280 281# _LT_AC_SYS_LIBPATH_AIX 282# ---------------------- 283# Links a minimal program and checks the executable 284# for the system default hardcoded library path. In most cases, 285# this is /usr/lib:/lib, but when the MPI compilers are used 286# the location of the communication and MPI libs are included too. 287# If we don't find anything, use the default library path according 288# to the aix ld manual. 289AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], 290[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ 291aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } 292}'` 293# Check for a 64-bit object if we didn't find anything. 294if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } 295}'`; fi],[]) 296if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 297])# _LT_AC_SYS_LIBPATH_AIX 298 299 300# _LT_AC_SHELL_INIT(ARG) 301# ---------------------- 302AC_DEFUN([_LT_AC_SHELL_INIT], 303[ifdef([AC_DIVERSION_NOTICE], 304 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 305 [AC_DIVERT_PUSH(NOTICE)]) 306$1 307AC_DIVERT_POP 308])# _LT_AC_SHELL_INIT 309 310 311# _LT_AC_PROG_ECHO_BACKSLASH 312# -------------------------- 313# Add some code to the start of the generated configure script which 314# will find an echo command which doesn't interpret backslashes. 315AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], 316[_LT_AC_SHELL_INIT([ 317# Check that we are running under the correct shell. 318SHELL=${CONFIG_SHELL-/bin/sh} 319 320case X$ECHO in 321X*--fallback-echo) 322 # Remove one level of quotation (which was required for Make). 323 ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 324 ;; 325esac 326 327echo=${ECHO-echo} 328if test "X[$]1" = X--no-reexec; then 329 # Discard the --no-reexec flag, and continue. 330 shift 331elif test "X[$]1" = X--fallback-echo; then 332 # Avoid inline document here, it may be left over 333 : 334elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then 335 # Yippee, $echo works! 336 : 337else 338 # Restart under the correct shell. 339 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 340fi 341 342if test "X[$]1" = X--fallback-echo; then 343 # used as fallback echo 344 shift 345 cat <<EOF 346[$]* 347EOF 348 exit 0 349fi 350 351# The HP-UX ksh and POSIX shell print the target directory to stdout 352# if CDPATH is set. 353(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 354 355if test -z "$ECHO"; then 356if test "X${echo_test_string+set}" != Xset; then 357# find a string as large as possible, as long as the shell can cope with it 358 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 359 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 360 if (echo_test_string=`eval $cmd`) 2>/dev/null && 361 echo_test_string=`eval $cmd` && 362 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null 363 then 364 break 365 fi 366 done 367fi 368 369if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 370 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 371 test "X$echo_testing_string" = "X$echo_test_string"; then 372 : 373else 374 # The Solaris, AIX, and Digital Unix default echo programs unquote 375 # backslashes. This makes it impossible to quote backslashes using 376 # echo "$something" | sed 's/\\/\\\\/g' 377 # 378 # So, first we look for a working echo in the user's PATH. 379 380 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 381 for dir in $PATH /usr/ucb; do 382 IFS="$lt_save_ifs" 383 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 384 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 385 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 386 test "X$echo_testing_string" = "X$echo_test_string"; then 387 echo="$dir/echo" 388 break 389 fi 390 done 391 IFS="$lt_save_ifs" 392 393 if test "X$echo" = Xecho; then 394 # We didn't find a better echo, so look for alternatives. 395 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && 396 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && 397 test "X$echo_testing_string" = "X$echo_test_string"; then 398 # This shell has a builtin print -r that does the trick. 399 echo='print -r' 400 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && 401 test "X$CONFIG_SHELL" != X/bin/ksh; then 402 # If we have ksh, try running configure again with it. 403 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 404 export ORIGINAL_CONFIG_SHELL 405 CONFIG_SHELL=/bin/ksh 406 export CONFIG_SHELL 407 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 408 else 409 # Try using printf. 410 echo='printf %s\n' 411 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 412 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 413 test "X$echo_testing_string" = "X$echo_test_string"; then 414 # Cool, printf works 415 : 416 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 417 test "X$echo_testing_string" = 'X\t' && 418 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 419 test "X$echo_testing_string" = "X$echo_test_string"; then 420 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 421 export CONFIG_SHELL 422 SHELL="$CONFIG_SHELL" 423 export SHELL 424 echo="$CONFIG_SHELL [$]0 --fallback-echo" 425 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 426 test "X$echo_testing_string" = 'X\t' && 427 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 428 test "X$echo_testing_string" = "X$echo_test_string"; then 429 echo="$CONFIG_SHELL [$]0 --fallback-echo" 430 else 431 # maybe with a smaller string... 432 prev=: 433 434 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 435 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null 436 then 437 break 438 fi 439 prev="$cmd" 440 done 441 442 if test "$prev" != 'sed 50q "[$]0"'; then 443 echo_test_string=`eval $prev` 444 export echo_test_string 445 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 446 else 447 # Oops. We lost completely, so just stick with echo. 448 echo=echo 449 fi 450 fi 451 fi 452 fi 453fi 454fi 455 456# Copy echo and quote the copy suitably for passing to libtool from 457# the Makefile, instead of quoting the original, which is used later. 458ECHO=$echo 459if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 460 ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 461fi 462 463AC_SUBST(ECHO) 464])])# _LT_AC_PROG_ECHO_BACKSLASH 465 466 467# _LT_AC_LOCK 468# ----------- 469AC_DEFUN([_LT_AC_LOCK], 470[AC_ARG_ENABLE([libtool-lock], 471 [AC_HELP_STRING([--disable-libtool-lock], 472 [avoid locking (might break parallel builds)])]) 473test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 474 475# Some flags need to be propagated to the compiler or linker for good 476# libtool support. 477case $host in 478ia64-*-hpux*) 479 # Find out which ABI we are using. 480 echo 'int i;' > conftest.$ac_ext 481 if AC_TRY_EVAL(ac_compile); then 482 case `/usr/bin/file conftest.$ac_objext` in 483 *ELF-32*) 484 HPUX_IA64_MODE="32" 485 ;; 486 *ELF-64*) 487 HPUX_IA64_MODE="64" 488 ;; 489 esac 490 fi 491 rm -rf conftest* 492 ;; 493*-*-irix6*) 494 # Find out which ABI we are using. 495 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 496 if AC_TRY_EVAL(ac_compile); then 497 if test "$lt_cv_prog_gnu_ld" = yes; then 498 case `/usr/bin/file conftest.$ac_objext` in 499 *32-bit*) 500 LD="${LD-ld} -melf32bsmip" 501 ;; 502 *N32*) 503 LD="${LD-ld} -melf32bmipn32" 504 ;; 505 *64-bit*) 506 LD="${LD-ld} -melf64bmip" 507 ;; 508 esac 509 else 510 case `/usr/bin/file conftest.$ac_objext` in 511 *32-bit*) 512 LD="${LD-ld} -32" 513 ;; 514 *N32*) 515 LD="${LD-ld} -n32" 516 ;; 517 *64-bit*) 518 LD="${LD-ld} -64" 519 ;; 520 esac 521 fi 522 fi 523 rm -rf conftest* 524 ;; 525 526x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) 527 # Find out which ABI we are using. 528 echo 'int i;' > conftest.$ac_ext 529 if AC_TRY_EVAL(ac_compile); then 530 case `/usr/bin/file conftest.o` in 531 *32-bit*) 532 case $host in 533 x86_64-*linux*) 534 LD="${LD-ld} -m elf_i386" 535 ;; 536 ppc64-*linux*|powerpc64-*linux*) 537 LD="${LD-ld} -m elf32ppclinux" 538 ;; 539 s390x-*linux*) 540 LD="${LD-ld} -m elf_s390" 541 ;; 542 sparc64-*linux*) 543 LD="${LD-ld} -m elf32_sparc" 544 ;; 545 esac 546 ;; 547 *64-bit*) 548 case $host in 549 x86_64-*linux*) 550 LD="${LD-ld} -m elf_x86_64" 551 ;; 552 ppc*-*linux*|powerpc*-*linux*) 553 LD="${LD-ld} -m elf64ppc" 554 ;; 555 s390*-*linux*) 556 LD="${LD-ld} -m elf64_s390" 557 ;; 558 sparc*-*linux*) 559 LD="${LD-ld} -m elf64_sparc" 560 ;; 561 esac 562 ;; 563 esac 564 fi 565 rm -rf conftest* 566 ;; 567 568*-*-sco3.2v5*) 569 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 570 SAVE_CFLAGS="$CFLAGS" 571 CFLAGS="$CFLAGS -belf" 572 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 573 [AC_LANG_PUSH(C) 574 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 575 AC_LANG_POP]) 576 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 577 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 578 CFLAGS="$SAVE_CFLAGS" 579 fi 580 ;; 581sparc*-*solaris*) 582 # Find out which ABI we are using. 583 echo 'int i;' > conftest.$ac_ext 584 if AC_TRY_EVAL(ac_compile); then 585 case `/usr/bin/file conftest.o` in 586 *64-bit*) 587 case $lt_cv_prog_gnu_ld in 588 yes*) LD="${LD-ld} -m elf64_sparc" ;; 589 *) LD="${LD-ld} -64" ;; 590 esac 591 ;; 592 esac 593 fi 594 rm -rf conftest* 595 ;; 596 597AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], 598[*-*-cygwin* | *-*-mingw* | *-*-pw32*) 599 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 600 AC_CHECK_TOOL(AS, as, false) 601 AC_CHECK_TOOL(OBJDUMP, objdump, false) 602 ;; 603 ]) 604esac 605 606need_locks="$enable_libtool_lock" 607 608])# _LT_AC_LOCK 609 610 611# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 612# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 613# ---------------------------------------------------------------- 614# Check whether the given compiler option works 615AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], 616[AC_REQUIRE([LT_AC_PROG_SED]) 617AC_CACHE_CHECK([$1], [$2], 618 [$2=no 619 ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 620 printf "$lt_simple_compile_test_code" > conftest.$ac_ext 621 lt_compiler_flag="$3" 622 # Insert the option either (1) after the last *FLAGS variable, or 623 # (2) before a word containing "conftest.", or (3) at the end. 624 # Note that $ac_compile itself does not contain backslashes and begins 625 # with a dollar sign (not a hyphen), so the echo should work correctly. 626 # The option is referenced via a variable to avoid confusing sed. 627 lt_compile=`echo "$ac_compile" | $SED \ 628 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 629 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 630 -e 's:$: $lt_compiler_flag:'` 631 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 632 (eval "$lt_compile" 2>conftest.err) 633 ac_status=$? 634 cat conftest.err >&AS_MESSAGE_LOG_FD 635 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 636 if (exit $ac_status) && test -s "$ac_outfile"; then 637 # The compiler can only warn and ignore the option if not recognized 638 # So say no if there are warnings other than the usual output. 639 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp 640 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 641 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 642 $2=yes 643 fi 644 fi 645 $rm conftest* 646]) 647 648if test x"[$]$2" = xyes; then 649 ifelse([$5], , :, [$5]) 650else 651 ifelse([$6], , :, [$6]) 652fi 653])# AC_LIBTOOL_COMPILER_OPTION 654 655 656# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 657# [ACTION-SUCCESS], [ACTION-FAILURE]) 658# ------------------------------------------------------------ 659# Check whether the given compiler option works 660AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], 661[AC_CACHE_CHECK([$1], [$2], 662 [$2=no 663 save_LDFLAGS="$LDFLAGS" 664 LDFLAGS="$LDFLAGS $3" 665 printf "$lt_simple_link_test_code" > conftest.$ac_ext 666 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 667 # The linker can only warn and ignore the option if not recognized 668 # So say no if there are warnings 669 if test -s conftest.err; then 670 # Append any errors to the config.log. 671 cat conftest.err 1>&AS_MESSAGE_LOG_FD 672 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp 673 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 674 if diff conftest.exp conftest.er2 >/dev/null; then 675 $2=yes 676 fi 677 else 678 $2=yes 679 fi 680 fi 681 $rm conftest* 682 LDFLAGS="$save_LDFLAGS" 683]) 684 685if test x"[$]$2" = xyes; then 686 ifelse([$4], , :, [$4]) 687else 688 ifelse([$5], , :, [$5]) 689fi 690])# AC_LIBTOOL_LINKER_OPTION 691 692 693# AC_LIBTOOL_SYS_MAX_CMD_LEN 694# -------------------------- 695AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], 696[# find the maximum length of command line arguments 697AC_MSG_CHECKING([the maximum length of command line arguments]) 698AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 699 i=0 700 teststring="ABCD" 701 702 case $build_os in 703 msdosdjgpp*) 704 # On DJGPP, this test can blow up pretty badly due to problems in libc 705 # (any single argument exceeding 2000 bytes causes a buffer overrun 706 # during glob expansion). Even if it were fixed, the result of this 707 # check would be larger than it should be. 708 lt_cv_sys_max_cmd_len=12288; # 12K is about right 709 ;; 710 711 gnu*) 712 # Under GNU Hurd, this test is not required because there is 713 # no limit to the length of command line arguments. 714 # Libtool will interpret -1 as no limit whatsoever 715 lt_cv_sys_max_cmd_len=-1; 716 ;; 717 718 cygwin* | mingw*) 719 # On Win9x/ME, this test blows up -- it succeeds, but takes 720 # about 5 minutes as the teststring grows exponentially. 721 # Worse, since 9x/ME are not pre-emptively multitasking, 722 # you end up with a "frozen" computer, even though with patience 723 # the test eventually succeeds (with a max line length of 256k). 724 # Instead, let's just punt: use the minimum linelength reported by 725 # all of the supported platforms: 8192 (on NT/2K/XP). 726 lt_cv_sys_max_cmd_len=8192; 727 ;; 728 729 amigaos*) 730 # On AmigaOS with pdksh, this test takes hours, literally. 731 # So we just punt and use a minimum line length of 8192. 732 lt_cv_sys_max_cmd_len=8192; 733 ;; 734 735 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 736 # This has been around since 386BSD, at least. Likely further. 737 if test -x /sbin/sysctl; then 738 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 739 elif test -x /usr/sbin/sysctl; then 740 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 741 else 742 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 743 fi 744 # And add a safety zone 745 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 746 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 747 ;; 748 749 interix*) 750 # We know the value 262144 and hardcode it with a safety zone (like BSD) 751 lt_cv_sys_max_cmd_len=196608 752 ;; 753 754 osf*) 755 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 756 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 757 # nice to cause kernel panics so lets avoid the loop below. 758 # First set a reasonable default. 759 lt_cv_sys_max_cmd_len=16384 760 # 761 if test -x /sbin/sysconfig; then 762 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 763 *1*) lt_cv_sys_max_cmd_len=-1 ;; 764 esac 765 fi 766 ;; 767 sco3.2v5*) 768 lt_cv_sys_max_cmd_len=102400 769 ;; 770 sysv5* | sco5v6* | sysv4.2uw2*) 771 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 772 if test -n "$kargmax"; then 773 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 774 else 775 lt_cv_sys_max_cmd_len=32768 776 fi 777 ;; 778 *) 779 # If test is not a shell built-in, we'll probably end up computing a 780 # maximum length that is only half of the actual maximum length, but 781 # we can't tell. 782 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 783 while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ 784 = "XX$teststring") >/dev/null 2>&1 && 785 new_result=`expr "X$teststring" : ".*" 2>&1` && 786 lt_cv_sys_max_cmd_len=$new_result && 787 test $i != 17 # 1/2 MB should be enough 788 do 789 i=`expr $i + 1` 790 teststring=$teststring$teststring 791 done 792 teststring= 793 # Add a significant safety factor because C++ compilers can tack on massive 794 # amounts of additional arguments before passing them to the linker. 795 # It appears as though 1/2 is a usable value. 796 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 797 ;; 798 esac 799]) 800if test -n $lt_cv_sys_max_cmd_len ; then 801 AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 802else 803 AC_MSG_RESULT(none) 804fi 805])# AC_LIBTOOL_SYS_MAX_CMD_LEN 806 807 808# _LT_AC_CHECK_DLFCN 809# ------------------ 810AC_DEFUN([_LT_AC_CHECK_DLFCN], 811[AC_CHECK_HEADERS(dlfcn.h)dnl 812])# _LT_AC_CHECK_DLFCN 813 814 815# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 816# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 817# --------------------------------------------------------------------- 818AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], 819[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 820if test "$cross_compiling" = yes; then : 821 [$4] 822else 823 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 824 lt_status=$lt_dlunknown 825 cat > conftest.$ac_ext <<EOF 826[#line __oline__ "configure" 827#include "confdefs.h" 828 829#if HAVE_DLFCN_H 830#include <dlfcn.h> 831#endif 832 833#include <stdio.h> 834 835#ifdef RTLD_GLOBAL 836# define LT_DLGLOBAL RTLD_GLOBAL 837#else 838# ifdef DL_GLOBAL 839# define LT_DLGLOBAL DL_GLOBAL 840# else 841# define LT_DLGLOBAL 0 842# endif 843#endif 844 845/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 846 find out it does not work in some platform. */ 847#ifndef LT_DLLAZY_OR_NOW 848# ifdef RTLD_LAZY 849# define LT_DLLAZY_OR_NOW RTLD_LAZY 850# else 851# ifdef DL_LAZY 852# define LT_DLLAZY_OR_NOW DL_LAZY 853# else 854# ifdef RTLD_NOW 855# define LT_DLLAZY_OR_NOW RTLD_NOW 856# else 857# ifdef DL_NOW 858# define LT_DLLAZY_OR_NOW DL_NOW 859# else 860# define LT_DLLAZY_OR_NOW 0 861# endif 862# endif 863# endif 864# endif 865#endif 866 867#ifdef __cplusplus 868extern "C" void exit (int); 869#endif 870 871void fnord() { int i=42;} 872int main () 873{ 874 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 875 int status = $lt_dlunknown; 876 877 if (self) 878 { 879 if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 880 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 881 /* dlclose (self); */ 882 } 883 else 884 puts (dlerror ()); 885 886 exit (status); 887}] 888EOF 889 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 890 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 891 lt_status=$? 892 case x$lt_status in 893 x$lt_dlno_uscore) $1 ;; 894 x$lt_dlneed_uscore) $2 ;; 895 x$lt_dlunknown|x*) $3 ;; 896 esac 897 else : 898 # compilation failed 899 $3 900 fi 901fi 902rm -fr conftest* 903])# _LT_AC_TRY_DLOPEN_SELF 904 905 906# AC_LIBTOOL_DLOPEN_SELF 907# ---------------------- 908AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], 909[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 910if test "x$enable_dlopen" != xyes; then 911 enable_dlopen=unknown 912 enable_dlopen_self=unknown 913 enable_dlopen_self_static=unknown 914else 915 lt_cv_dlopen=no 916 lt_cv_dlopen_libs= 917 918 case $host_os in 919 beos*) 920 lt_cv_dlopen="load_add_on" 921 lt_cv_dlopen_libs= 922 lt_cv_dlopen_self=yes 923 ;; 924 925 mingw* | pw32*) 926 lt_cv_dlopen="LoadLibrary" 927 lt_cv_dlopen_libs= 928 ;; 929 930 cygwin*) 931 lt_cv_dlopen="dlopen" 932 lt_cv_dlopen_libs= 933 ;; 934 935 darwin*) 936 # if libdl is installed we need to link against it 937 AC_CHECK_LIB([dl], [dlopen], 938 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 939 lt_cv_dlopen="dyld" 940 lt_cv_dlopen_libs= 941 lt_cv_dlopen_self=yes 942 ]) 943 ;; 944 945 *) 946 AC_CHECK_FUNC([shl_load], 947 [lt_cv_dlopen="shl_load"], 948 [AC_CHECK_LIB([dld], [shl_load], 949 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], 950 [AC_CHECK_FUNC([dlopen], 951 [lt_cv_dlopen="dlopen"], 952 [AC_CHECK_LIB([dl], [dlopen], 953 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 954 [AC_CHECK_LIB([svld], [dlopen], 955 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 956 [AC_CHECK_LIB([dld], [dld_link], 957 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) 958 ]) 959 ]) 960 ]) 961 ]) 962 ]) 963 ;; 964 esac 965 966 if test "x$lt_cv_dlopen" != xno; then 967 enable_dlopen=yes 968 else 969 enable_dlopen=no 970 fi 971 972 case $lt_cv_dlopen in 973 dlopen) 974 save_CPPFLAGS="$CPPFLAGS" 975 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 976 977 save_LDFLAGS="$LDFLAGS" 978 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 979 980 save_LIBS="$LIBS" 981 LIBS="$lt_cv_dlopen_libs $LIBS" 982 983 AC_CACHE_CHECK([whether a program can dlopen itself], 984 lt_cv_dlopen_self, [dnl 985 _LT_AC_TRY_DLOPEN_SELF( 986 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 987 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 988 ]) 989 990 if test "x$lt_cv_dlopen_self" = xyes; then 991 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 992 AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 993 lt_cv_dlopen_self_static, [dnl 994 _LT_AC_TRY_DLOPEN_SELF( 995 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 996 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 997 ]) 998 fi 999 1000 CPPFLAGS="$save_CPPFLAGS" 1001 LDFLAGS="$save_LDFLAGS" 1002 LIBS="$save_LIBS" 1003 ;; 1004 esac 1005 1006 case $lt_cv_dlopen_self in 1007 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 1008 *) enable_dlopen_self=unknown ;; 1009 esac 1010 1011 case $lt_cv_dlopen_self_static in 1012 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 1013 *) enable_dlopen_self_static=unknown ;; 1014 esac 1015fi 1016])# AC_LIBTOOL_DLOPEN_SELF 1017 1018 1019# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) 1020# --------------------------------- 1021# Check to see if options -c and -o are simultaneously supported by compiler 1022AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], 1023[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl 1024AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 1025 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 1026 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 1027 $rm -r conftest 2>/dev/null 1028 mkdir conftest 1029 cd conftest 1030 mkdir out 1031 printf "$lt_simple_compile_test_code" > conftest.$ac_ext 1032 1033 lt_compiler_flag="-o out/conftest2.$ac_objext" 1034 # Insert the option either (1) after the last *FLAGS variable, or 1035 # (2) before a word containing "conftest.", or (3) at the end. 1036 # Note that $ac_compile itself does not contain backslashes and begins 1037 # with a dollar sign (not a hyphen), so the echo should work correctly. 1038 lt_compile=`echo "$ac_compile" | $SED \ 1039 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1040 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1041 -e 's:$: $lt_compiler_flag:'` 1042 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1043 (eval "$lt_compile" 2>out/conftest.err) 1044 ac_status=$? 1045 cat out/conftest.err >&AS_MESSAGE_LOG_FD 1046 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1047 if (exit $ac_status) && test -s out/conftest2.$ac_objext 1048 then 1049 # The compiler can only warn and ignore the option if not recognized 1050 # So say no if there are warnings 1051 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp 1052 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 1053 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 1054 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 1055 fi 1056 fi 1057 chmod u+w . 2>&AS_MESSAGE_LOG_FD 1058 $rm conftest* 1059 # SGI C++ compiler will create directory out/ii_files/ for 1060 # template instantiation 1061 test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files 1062 $rm out/* && rmdir out 1063 cd .. 1064 rmdir conftest 1065 $rm conftest* 1066]) 1067])# AC_LIBTOOL_PROG_CC_C_O 1068 1069 1070# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) 1071# ----------------------------------------- 1072# Check to see if we can do hard links to lock some files if needed 1073AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], 1074[AC_REQUIRE([_LT_AC_LOCK])dnl 1075 1076hard_links="nottested" 1077if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 1078 # do not overwrite the value of need_locks provided by the user 1079 AC_MSG_CHECKING([if we can lock with hard links]) 1080 hard_links=yes 1081 $rm conftest* 1082 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1083 touch conftest.a 1084 ln conftest.a conftest.b 2>&5 || hard_links=no 1085 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1086 AC_MSG_RESULT([$hard_links]) 1087 if test "$hard_links" = no; then 1088 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 1089 need_locks=warn 1090 fi 1091else 1092 need_locks=no 1093fi 1094])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS 1095 1096 1097# AC_LIBTOOL_OBJDIR 1098# ----------------- 1099AC_DEFUN([AC_LIBTOOL_OBJDIR], 1100[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 1101[rm -f .libs 2>/dev/null 1102mkdir .libs 2>/dev/null 1103if test -d .libs; then 1104 lt_cv_objdir=.libs 1105else 1106 # MS-DOS does not allow filenames that begin with a dot. 1107 lt_cv_objdir=_libs 1108fi 1109rmdir .libs 2>/dev/null]) 1110objdir=$lt_cv_objdir 1111])# AC_LIBTOOL_OBJDIR 1112 1113 1114# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) 1115# ---------------------------------------------- 1116# Check hardcoding attributes. 1117AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], 1118[AC_MSG_CHECKING([how to hardcode library paths into programs]) 1119_LT_AC_TAGVAR(hardcode_action, $1)= 1120if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ 1121 test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ 1122 test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 1123 1124 # We can hardcode non-existant directories. 1125 if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && 1126 # If the only mechanism to avoid hardcoding is shlibpath_var, we 1127 # have to relink, otherwise we might link with an installed library 1128 # when we should be linking with a yet-to-be-installed one 1129 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && 1130 test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then 1131 # Linking always hardcodes the temporary library directory. 1132 _LT_AC_TAGVAR(hardcode_action, $1)=relink 1133 else 1134 # We can link without hardcoding, and we can hardcode nonexisting dirs. 1135 _LT_AC_TAGVAR(hardcode_action, $1)=immediate 1136 fi 1137else 1138 # We cannot hardcode anything, or else we can only hardcode existing 1139 # directories. 1140 _LT_AC_TAGVAR(hardcode_action, $1)=unsupported 1141fi 1142AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) 1143 1144if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then 1145 # Fast installation is not supported 1146 enable_fast_install=no 1147elif test "$shlibpath_overrides_runpath" = yes || 1148 test "$enable_shared" = no; then 1149 # Fast installation is not necessary 1150 enable_fast_install=needless 1151fi 1152])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH 1153 1154 1155# AC_LIBTOOL_SYS_LIB_STRIP 1156# ------------------------ 1157AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], 1158[striplib= 1159old_striplib= 1160AC_MSG_CHECKING([whether stripping libraries is possible]) 1161if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then 1162 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 1163 test -z "$striplib" && striplib="$STRIP --strip-unneeded" 1164 AC_MSG_RESULT([yes]) 1165else 1166# FIXME - insert some real tests, host_os isn't really good enough 1167 case $host_os in 1168 darwin*) 1169 if test -n "$STRIP" ; then 1170 striplib="$STRIP -x" 1171 AC_MSG_RESULT([yes]) 1172 else 1173 AC_MSG_RESULT([no]) 1174fi 1175 ;; 1176 *) 1177 AC_MSG_RESULT([no]) 1178 ;; 1179 esac 1180fi 1181])# AC_LIBTOOL_SYS_LIB_STRIP 1182 1183 1184# AC_LIBTOOL_SYS_DYNAMIC_LINKER 1185# ----------------------------- 1186# PORTME Fill in your ld.so characteristics 1187AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], 1188[AC_MSG_CHECKING([dynamic linker characteristics]) 1189library_names_spec= 1190libname_spec='lib$name' 1191soname_spec= 1192shrext_cmds=".so" 1193postinstall_cmds= 1194postuninstall_cmds= 1195finish_cmds= 1196finish_eval= 1197shlibpath_var= 1198shlibpath_overrides_runpath=unknown 1199version_type=none 1200dynamic_linker="$host_os ld.so" 1201sys_lib_dlsearch_path_spec="/lib /usr/lib" 1202if test "$GCC" = yes; then 1203 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` 1204 if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then 1205 # if the path contains ";" then we assume it to be the separator 1206 # otherwise default to the standard path separator (i.e. ":") - it is 1207 # assumed that no part of a normal pathname contains ";" but that should 1208 # okay in the real world where ";" in dirpaths is itself problematic. 1209 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 1210 else 1211 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 1212 fi 1213else 1214 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 1215fi 1216need_lib_prefix=unknown 1217hardcode_into_libs=no 1218 1219# when you set need_version to no, make sure it does not cause -set_version 1220# flags to be left without arguments 1221need_version=unknown 1222 1223case $host_os in 1224aix3*) 1225 version_type=linux 1226 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' 1227 shlibpath_var=LIBPATH 1228 1229 # AIX 3 has no versioning support, so we append a major version to the name. 1230 soname_spec='${libname}${release}${shared_ext}$major' 1231 ;; 1232 1233aix4* | aix5*) 1234 version_type=linux 1235 need_lib_prefix=no 1236 need_version=no 1237 hardcode_into_libs=yes 1238 if test "$host_cpu" = ia64; then 1239 # AIX 5 supports IA64 1240 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' 1241 shlibpath_var=LD_LIBRARY_PATH 1242 else 1243 # With GCC up to 2.95.x, collect2 would create an import file 1244 # for dependence libraries. The import file would start with 1245 # the line `#! .'. This would cause the generated library to 1246 # depend on `.', always an invalid library. This was fixed in 1247 # development snapshots of GCC prior to 3.0. 1248 case $host_os in 1249 aix4 | aix4.[[01]] | aix4.[[01]].*) 1250 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 1251 echo ' yes ' 1252 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then 1253 : 1254 else 1255 can_build_shared=no 1256 fi 1257 ;; 1258 esac 1259 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 1260 # soname into executable. Probably we can add versioning support to 1261 # collect2, so additional links can be useful in future. 1262 if test "$aix_use_runtimelinking" = yes; then 1263 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 1264 # instead of lib<name>.a to let people know that these are not 1265 # typical AIX shared libraries. 1266 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1267 else 1268 # We preserve .a as extension for shared libraries through AIX4.2 1269 # and later when we are not doing run time linking. 1270 library_names_spec='${libname}${release}.a $libname.a' 1271 soname_spec='${libname}${release}${shared_ext}$major' 1272 fi 1273 shlibpath_var=LIBPATH 1274 fi 1275 ;; 1276 1277amigaos*) 1278 library_names_spec='$libname.ixlibrary $libname.a' 1279 # Create ${libname}_ixlibrary.a entries in /sys/libs. 1280 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 1281 ;; 1282 1283beos*) 1284 library_names_spec='${libname}${shared_ext}' 1285 dynamic_linker="$host_os ld.so" 1286 shlibpath_var=LIBRARY_PATH 1287 ;; 1288 1289bsdi[[45]]*) 1290 version_type=linux 1291 need_version=no 1292 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1293 soname_spec='${libname}${release}${shared_ext}$major' 1294 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 1295 shlibpath_var=LD_LIBRARY_PATH 1296 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 1297 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 1298 # the default ld.so.conf also contains /usr/contrib/lib and 1299 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 1300 # libtool to hard-code these into programs 1301 ;; 1302 1303cygwin* | mingw* | pw32*) 1304 version_type=windows 1305 shrext_cmds=".dll" 1306 need_version=no 1307 need_lib_prefix=no 1308 1309 case $GCC,$host_os in 1310 yes,cygwin* | yes,mingw* | yes,pw32*) 1311 library_names_spec='$libname.dll.a' 1312 # DLL is installed to $(libdir)/../bin by postinstall_cmds 1313 postinstall_cmds='base_file=`basename \${file}`~ 1314 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ 1315 dldir=$destdir/`dirname \$dlpath`~ 1316 test -d \$dldir || mkdir -p \$dldir~ 1317 $install_prog $dir/$dlname \$dldir/$dlname~ 1318 chmod a+x \$dldir/$dlname' 1319 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 1320 dlpath=$dir/\$dldll~ 1321 $rm \$dlpath' 1322 shlibpath_overrides_runpath=yes 1323 1324 case $host_os in 1325 cygwin*) 1326 # Cygwin DLLs use 'cyg' prefix rather than 'lib' 1327 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 1328 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" 1329 ;; 1330 mingw*) 1331 # MinGW DLLs use traditional 'lib' prefix 1332 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 1333 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` 1334 if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then 1335 # It is most probably a Windows format PATH printed by 1336 # mingw gcc, but we are running on Cygwin. Gcc prints its search 1337 # path with ; separators, and with drive letters. We can handle the 1338 # drive letters (cygwin fileutils understands them), so leave them, 1339 # especially as we might pass files found there to a mingw objdump, 1340 # which wouldn't understand a cygwinified path. Ahh. 1341 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 1342 else 1343 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 1344 fi 1345 ;; 1346 pw32*) 1347 # pw32 DLLs use 'pw' prefix rather than 'lib' 1348 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 1349 ;; 1350 esac 1351 ;; 1352 1353 *) 1354 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 1355 ;; 1356 esac 1357 dynamic_linker='Win32 ld.exe' 1358 # FIXME: first we should search . and the directory the executable is in 1359 shlibpath_var=PATH 1360 ;; 1361 1362darwin* | rhapsody*) 1363 dynamic_linker="$host_os dyld" 1364 version_type=darwin 1365 need_lib_prefix=no 1366 need_version=no 1367 library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' 1368 soname_spec='${libname}${release}${major}$shared_ext' 1369 shlibpath_overrides_runpath=yes 1370 shlibpath_var=DYLD_LIBRARY_PATH 1371 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 1372 # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. 1373 if test "$GCC" = yes; then 1374 sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` 1375 else 1376 sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' 1377 fi 1378 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 1379 ;; 1380 1381dgux*) 1382 version_type=linux 1383 need_lib_prefix=no 1384 need_version=no 1385 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' 1386 soname_spec='${libname}${release}${shared_ext}$major' 1387 shlibpath_var=LD_LIBRARY_PATH 1388 ;; 1389 1390freebsd1*) 1391 dynamic_linker=no 1392 ;; 1393 1394kfreebsd*-gnu) 1395 version_type=linux 1396 need_lib_prefix=no 1397 need_version=no 1398 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 1399 soname_spec='${libname}${release}${shared_ext}$major' 1400 shlibpath_var=LD_LIBRARY_PATH 1401 shlibpath_overrides_runpath=no 1402 hardcode_into_libs=yes 1403 dynamic_linker='GNU ld.so' 1404 ;; 1405 1406freebsd* | dragonfly*) 1407 # DragonFly does not have aout. When/if they implement a new 1408 # versioning mechanism, adjust this. 1409 if test -x /usr/bin/objformat; then 1410 objformat=`/usr/bin/objformat` 1411 else 1412 case $host_os in 1413 freebsd[[123]]*) objformat=aout ;; 1414 *) objformat=elf ;; 1415 esac 1416 fi 1417 version_type=freebsd-$objformat 1418 case $version_type in 1419 freebsd-elf*) 1420 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 1421 need_version=no 1422 need_lib_prefix=no 1423 ;; 1424 freebsd-*) 1425 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' 1426 need_version=yes 1427 ;; 1428 esac 1429 shlibpath_var=LD_LIBRARY_PATH 1430 case $host_os in 1431 freebsd2*) 1432 shlibpath_overrides_runpath=yes 1433 ;; 1434 freebsd3.[[01]]* | freebsdelf3.[[01]]*) 1435 shlibpath_overrides_runpath=yes 1436 hardcode_into_libs=yes 1437 ;; 1438 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 1439 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 1440 shlibpath_overrides_runpath=no 1441 hardcode_into_libs=yes 1442 ;; 1443 freebsd*) # from 4.6 on 1444 shlibpath_overrides_runpath=yes 1445 hardcode_into_libs=yes 1446 ;; 1447 esac 1448 ;; 1449 1450gnu*) 1451 version_type=linux 1452 need_lib_prefix=no 1453 need_version=no 1454 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 1455 soname_spec='${libname}${release}${shared_ext}$major' 1456 shlibpath_var=LD_LIBRARY_PATH 1457 hardcode_into_libs=yes 1458 ;; 1459 1460hpux9* | hpux10* | hpux11*) 1461 # Give a soname corresponding to the major version so that dld.sl refuses to 1462 # link against other versions. 1463 version_type=sunos 1464 need_lib_prefix=no 1465 need_version=no 1466 case $host_cpu in 1467 ia64*) 1468 shrext_cmds='.so' 1469 hardcode_into_libs=yes 1470 dynamic_linker="$host_os dld.so" 1471 shlibpath_var=LD_LIBRARY_PATH 1472 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 1473 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1474 soname_spec='${libname}${release}${shared_ext}$major' 1475 if test "X$HPUX_IA64_MODE" = X32; then 1476 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 1477 else 1478 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 1479 fi 1480 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 1481 ;; 1482 hppa*64*) 1483 shrext_cmds='.sl' 1484 hardcode_into_libs=yes 1485 dynamic_linker="$host_os dld.sl" 1486 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 1487 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 1488 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1489 soname_spec='${libname}${release}${shared_ext}$major' 1490 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 1491 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 1492 ;; 1493 *) 1494 shrext_cmds='.sl' 1495 dynamic_linker="$host_os dld.sl" 1496 shlibpath_var=SHLIB_PATH 1497 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 1498 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1499 soname_spec='${libname}${release}${shared_ext}$major' 1500 ;; 1501 esac 1502 # HP-UX runs *really* slowly unless shared libraries are mode 555. 1503 postinstall_cmds='chmod 555 $lib' 1504 ;; 1505 1506interix3*) 1507 version_type=linux 1508 need_lib_prefix=no 1509 need_version=no 1510 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 1511 soname_spec='${libname}${release}${shared_ext}$major' 1512 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 1513 shlibpath_var=LD_LIBRARY_PATH 1514 shlibpath_overrides_runpath=no 1515 hardcode_into_libs=yes 1516 ;; 1517 1518irix5* | irix6* | nonstopux*) 1519 case $host_os in 1520 nonstopux*) version_type=nonstopux ;; 1521 *) 1522 if test "$lt_cv_prog_gnu_ld" = yes; then 1523 version_type=linux 1524 else 1525 version_type=irix 1526 fi ;; 1527 esac 1528 need_lib_prefix=no 1529 need_version=no 1530 soname_spec='${libname}${release}${shared_ext}$major' 1531 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' 1532 case $host_os in 1533 irix5* | nonstopux*) 1534 libsuff= shlibsuff= 1535 ;; 1536 *) 1537 case $LD in # libtool.m4 will add one of these switches to LD 1538 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 1539 libsuff= shlibsuff= libmagic=32-bit;; 1540 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 1541 libsuff=32 shlibsuff=N32 libmagic=N32;; 1542 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 1543 libsuff=64 shlibsuff=64 libmagic=64-bit;; 1544 *) libsuff= shlibsuff= libmagic=never-match;; 1545 esac 1546 ;; 1547 esac 1548 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 1549 shlibpath_overrides_runpath=no 1550 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 1551 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 1552 hardcode_into_libs=yes 1553 ;; 1554 1555# No shared lib support for Linux oldld, aout, or coff. 1556linux*oldld* | linux*aout* | linux*coff*) 1557 dynamic_linker=no 1558 ;; 1559 1560# This must be Linux ELF. 1561linux*) 1562 version_type=linux 1563 need_lib_prefix=no 1564 need_version=no 1565 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 1566 soname_spec='${libname}${release}${shared_ext}$major'…
Large files files are truncated, but you can click here to view the full file