1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 47 AC_PROG_LIBTOOL 26 27# AC_PROG_LIBTOOL 28# --------------- 29AC_DEFUN([AC_PROG_LIBTOOL], 30[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl 31dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX 32dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. 33 AC_PROVIDE_IFELSE([AC_PROG_CXX], 34 [AC_LIBTOOL_CXX], 35 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX 36 ])]) 37 38dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. 39dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run 40dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. 41 AC_PROVIDE_IFELSE([AC_PROG_GCJ], 42 [AC_LIBTOOL_GCJ], 43 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 44 [AC_LIBTOOL_GCJ], 45 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], 46 [AC_LIBTOOL_GCJ], 47 [ifdef([AC_PROG_GCJ], 48 [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) 49 ifdef([A][M_PROG_GCJ], 50 [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) 51 ifdef([LT_AC_PROG_GCJ], 52 [define([LT_AC_PROG_GCJ], 53 defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) 54])])# AC_PROG_LIBTOOL 55 56 57# _AC_PROG_LIBTOOL 58# ---------------- 59AC_DEFUN([_AC_PROG_LIBTOOL], 60[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl 61AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl 62AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl 63 64# This can be used to rebuild libtool when needed 65LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" 66 67# Always use our own libtool. 68LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' 69AC_SUBST(LIBTOOL)dnl 70 71# Prevent multiple expansion 72define([AC_PROG_LIBTOOL], []) 73])# _AC_PROG_LIBTOOL 74 75 76# AC_LIBTOOL_SETUP 77# ---------------- 78AC_DEFUN([AC_LIBTOOL_SETUP], 79[AC_PREREQ(2.50)dnl 80AC_REQUIRE([AC_ENABLE_SHARED])dnl 81AC_REQUIRE([AC_ENABLE_STATIC])dnl 82AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl 83AC_REQUIRE([AC_CANONICAL_HOST])dnl 84AC_REQUIRE([AC_CANONICAL_BUILD])dnl 85AC_REQUIRE([AC_PROG_CC])dnl 86AC_REQUIRE([AC_PROG_LD])dnl 87AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl 88AC_REQUIRE([AC_PROG_NM])dnl 89AC_REQUIRE([LT_AC_PROG_SED])dnl 90 91AC_REQUIRE([AC_PROG_LN_S])dnl 92AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl 93# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! 94AC_REQUIRE([AC_OBJEXT])dnl 95AC_REQUIRE([AC_EXEEXT])dnl 96dnl 97 98AC_LIBTOOL_SYS_MAX_CMD_LEN 99AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 100AC_LIBTOOL_OBJDIR 101 102AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl 103_LT_AC_PROG_ECHO_BACKSLASH 104 105case $host_os in 106aix3*) 107 # AIX sometimes has problems with the GCC collect2 program. For some 108 # reason, if we set the COLLECT_NAMES environment variable, the problems 109 # vanish in a puff of smoke. 110 if test "X${COLLECT_NAMES+set}" != Xset; then 111 COLLECT_NAMES= 112 export COLLECT_NAMES 113 fi 114 ;; 115esac 116 117# Sed substitution that helps us do robust quoting. It backslashifies 118# metacharacters that are still active within double-quoted strings. 119Xsed='sed -e s/^X//' 120[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] 121 122# Same as above, but do not quote variable references. 123[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] 124 125# Sed substitution to delay expansion of an escaped shell variable in a 126# double_quote_subst'ed string. 127delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 128 129# Sed substitution to avoid accidental globbing in evaled expressions 130no_glob_subst='s/\*/\\\*/g' 131 132# Constants: 133rm="rm -f" 134 135# Global variables: 136default_ofile=libtool 137can_build_shared=yes 138 139# All known linkers require a `.a' archive for static linking (except M$VC, 140# which needs '.lib'). 141libext=a 142ltmain="$ac_aux_dir/ltmain.sh" 143ofile="$default_ofile" 144with_gnu_ld="$lt_cv_prog_gnu_ld" 145 146AC_CHECK_TOOL(RANLIB, ranlib, :) 147AC_CHECK_TOOL(STRIP, strip, :) 148 149old_CC="$CC" 150old_CFLAGS="$CFLAGS" 151 152# Set sane defaults for various variables 153test -z "$AR" && AR=ar 154test -z "$AR_FLAGS" && AR_FLAGS=cru 155test -z "$AS" && AS=as 156test -z "$CC" && CC=cc 157test -z "$LTCC" && LTCC=$CC 158test -z "$DLLTOOL" && DLLTOOL=dlltool 159test -z "$LD" && LD=ld 160test -z "$LN_S" && LN_S="ln -s" 161test -z "$MAGIC_CMD" && MAGIC_CMD=file 162test -z "$NM" && NM=nm 163test -z "$SED" && SED=sed 164test -z "$OBJDUMP" && OBJDUMP=objdump 165test -z "$RANLIB" && RANLIB=: 166test -z "$STRIP" && STRIP=: 167test -z "$ac_objext" && ac_objext=o 168 169# Determine commands to create old-style static archives. 170old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' 171old_postinstall_cmds='chmod 644 $oldlib' 172old_postuninstall_cmds= 173 174if test -n "$RANLIB"; then 175 case $host_os in 176 openbsd*) 177 old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" 178 ;; 179 *) 180 old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" 181 ;; 182 esac 183 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 184fi 185 186# Only perform the check for file, if the check method requires it 187case $deplibs_check_method in 188file_magic*) 189 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 190 AC_PATH_MAGIC 191 fi 192 ;; 193esac 194 195ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) 196ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 197enable_win32_dll=yes, enable_win32_dll=no) 198 199AC_ARG_ENABLE([libtool-lock], 200 [AC_HELP_STRING([--disable-libtool-lock], 201 [avoid locking (might break parallel builds)])]) 202test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 203 204AC_ARG_WITH([pic], 205 [AC_HELP_STRING([--with-pic], 206 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], 207 [pic_mode="$withval"], 208 [pic_mode=default]) 209test -z "$pic_mode" && pic_mode=default 210 211# Use C for the default configuration in the libtool script 212tagname= 213AC_LIBTOOL_LANG_C_CONFIG 214_LT_AC_TAGCONFIG 215])# AC_LIBTOOL_SETUP 216 217 218# _LT_AC_SYS_COMPILER 219# ------------------- 220AC_DEFUN([_LT_AC_SYS_COMPILER], 221[AC_REQUIRE([AC_PROG_CC])dnl 222 223# If no C compiler was specified, use CC. 224LTCC=${LTCC-"$CC"} 225 226# Allow CC to be a program name with arguments. 227set dummy $CC 228compiler="[$]2" 229])# _LT_AC_SYS_COMPILER 230 231 232# _LT_AC_SYS_LIBPATH_AIX 233# ---------------------- 234# Links a minimal program and checks the executable 235# for the system default hardcoded library path. In most cases, 236# this is /usr/lib:/lib, but when the MPI compilers are used 237# the location of the communication and MPI libs are included too. 238# If we don't find anything, use the default library path according 239# to the aix ld manual. 240AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], 241[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ 242aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } 243}'` 244# Check for a 64-bit object if we didn't find anything. 245if 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; } 246}'`; fi],[]) 247if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 248])# _LT_AC_SYS_LIBPATH_AIX 249 250 251# _LT_AC_PROG_ECHO_BACKSLASH 252# -------------------------- 253# Add some code to the start of the generated configure script which 254# will find an echo command which doesn't interpret backslashes. 255AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], 256[ifdef([AC_DIVERSION_NOTICE], 257 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 258 [AC_DIVERT_PUSH(NOTICE)]) 259 260# Check that we are running under the correct shell. 261SHELL=${CONFIG_SHELL-/bin/sh} 262 263case X$ECHO in 264X*--fallback-echo) 265 # Remove one level of quotation (which was required for Make). 266 ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 267 ;; 268esac 269 270echo=${ECHO-echo} 271if test "X[$]1" = X--no-reexec; then 272 # Discard the --no-reexec flag, and continue. 273 shift 274elif test "X[$]1" = X--fallback-echo; then 275 # Avoid inline document here, it may be left over 276 : 277elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then 278 # Yippee, $echo works! 279 : 280else 281 # Restart under the correct shell. 282 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 283fi 284 285if test "X[$]1" = X--fallback-echo; then 286 # used as fallback echo 287 shift 288 cat <<EOF 289[$]* 290EOF 291 exit 0 292fi 293 294# The HP-UX ksh and POSIX shell print the target directory to stdout 295# if CDPATH is set. 296if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi 297 298if test -z "$ECHO"; then 299if test "X${echo_test_string+set}" != Xset; then 300# find a string as large as possible, as long as the shell can cope with it 301 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 302 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 303 if (echo_test_string="`eval $cmd`") 2>/dev/null && 304 echo_test_string="`eval $cmd`" && 305 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null 306 then 307 break 308 fi 309 done 310fi 311 312if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 313 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 314 test "X$echo_testing_string" = "X$echo_test_string"; then 315 : 316else 317 # The Solaris, AIX, and Digital Unix default echo programs unquote 318 # backslashes. This makes it impossible to quote backslashes using 319 # echo "$something" | sed 's/\\/\\\\/g' 320 # 321 # So, first we look for a working echo in the user's PATH. 322 323 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 324 for dir in $PATH /usr/ucb; do 325 IFS="$lt_save_ifs" 326 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 327 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 328 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 329 test "X$echo_testing_string" = "X$echo_test_string"; then 330 echo="$dir/echo" 331 break 332 fi 333 done 334 IFS="$lt_save_ifs" 335 336 if test "X$echo" = Xecho; then 337 # We didn't find a better echo, so look for alternatives. 338 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && 339 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && 340 test "X$echo_testing_string" = "X$echo_test_string"; then 341 # This shell has a builtin print -r that does the trick. 342 echo='print -r' 343 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && 344 test "X$CONFIG_SHELL" != X/bin/ksh; then 345 # If we have ksh, try running configure again with it. 346 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 347 export ORIGINAL_CONFIG_SHELL 348 CONFIG_SHELL=/bin/ksh 349 export CONFIG_SHELL 350 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 351 else 352 # Try using printf. 353 echo='printf %s\n' 354 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 355 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 356 test "X$echo_testing_string" = "X$echo_test_string"; then 357 # Cool, printf works 358 : 359 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 360 test "X$echo_testing_string" = 'X\t' && 361 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 362 test "X$echo_testing_string" = "X$echo_test_string"; then 363 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 364 export CONFIG_SHELL 365 SHELL="$CONFIG_SHELL" 366 export SHELL 367 echo="$CONFIG_SHELL [$]0 --fallback-echo" 368 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 369 test "X$echo_testing_string" = 'X\t' && 370 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 371 test "X$echo_testing_string" = "X$echo_test_string"; then 372 echo="$CONFIG_SHELL [$]0 --fallback-echo" 373 else 374 # maybe with a smaller string... 375 prev=: 376 377 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 378 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null 379 then 380 break 381 fi 382 prev="$cmd" 383 done 384 385 if test "$prev" != 'sed 50q "[$]0"'; then 386 echo_test_string=`eval $prev` 387 export echo_test_string 388 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 389 else 390 # Oops. We lost completely, so just stick with echo. 391 echo=echo 392 fi 393 fi 394 fi 395 fi 396fi 397fi 398 399# Copy echo and quote the copy suitably for passing to libtool from 400# the Makefile, instead of quoting the original, which is used later. 401ECHO=$echo 402if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 403 ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 404fi 405 406AC_SUBST(ECHO) 407AC_DIVERT_POP 408])# _LT_AC_PROG_ECHO_BACKSLASH 409 410 411# _LT_AC_LOCK 412# ----------- 413AC_DEFUN([_LT_AC_LOCK], 414[AC_ARG_ENABLE([libtool-lock], 415 [AC_HELP_STRING([--disable-libtool-lock], 416 [avoid locking (might break parallel builds)])]) 417test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 418 419# Some flags need to be propagated to the compiler or linker for good 420# libtool support. 421case $host in 422ia64-*-hpux*) 423 # Find out which ABI we are using. 424 echo 'int i;' > conftest.$ac_ext 425 if AC_TRY_EVAL(ac_compile); then 426 case `/usr/bin/file conftest.$ac_objext` in 427 *ELF-32*) 428 HPUX_IA64_MODE="32" 429 ;; 430 *ELF-64*) 431 HPUX_IA64_MODE="64" 432 ;; 433 esac 434 fi 435 rm -rf conftest* 436 ;; 437*-*-irix6*) 438 # Find out which ABI we are using. 439 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 440 if AC_TRY_EVAL(ac_compile); then 441 case `/usr/bin/file conftest.$ac_objext` in 442 *32-bit*) 443 LD="${LD-ld} -32" 444 ;; 445 *N32*) 446 LD="${LD-ld} -n32" 447 ;; 448 *64-bit*) 449 LD="${LD-ld} -64" 450 ;; 451 esac 452 fi 453 rm -rf conftest* 454 ;; 455 456*-*-linux*) 457 # Test if the compiler is 64bit 458 echo 'int i;' > conftest.$ac_ext 459 if AC_TRY_EVAL(ac_compile); then 460 case `/usr/bin/file conftest.$ac_objext` in 461 *"ELF 32"*) 462 LINUX_64_MODE="32" 463 ;; 464 *"ELF 64"*) 465 LINUX_64_MODE="64" 466 ;; 467 esac 468 fi 469 rm -rf conftest* 470 ;; 471 472*-*-sco3.2v5*) 473 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 474 SAVE_CFLAGS="$CFLAGS" 475 CFLAGS="$CFLAGS -belf" 476 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 477 [AC_LANG_PUSH(C) 478 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 479 AC_LANG_POP]) 480 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 481 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 482 CFLAGS="$SAVE_CFLAGS" 483 fi 484 ;; 485ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 486[*-*-cygwin* | *-*-mingw* | *-*-pw32*) 487 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 488 AC_CHECK_TOOL(AS, as, false) 489 AC_CHECK_TOOL(OBJDUMP, objdump, false) 490 491 # recent cygwin and mingw systems supply a stub DllMain which the user 492 # can override, but on older systems we have to supply one 493 AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, 494 [AC_TRY_LINK([], 495 [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); 496 DllMain (0, 0, 0);], 497 [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) 498 499 case $host/$CC in 500 *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) 501 # old mingw systems require "-dll" to link a DLL, while more recent ones 502 # require "-mdll" 503 SAVE_CFLAGS="$CFLAGS" 504 CFLAGS="$CFLAGS -mdll" 505 AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, 506 [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) 507 CFLAGS="$SAVE_CFLAGS" ;; 508 *-*-cygwin* | *-*-pw32*) 509 # cygwin systems need to pass --dll to the linker, and not link 510 # crt.o which will require a WinMain@16 definition. 511 lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; 512 esac 513 ;; 514 ]) 515esac 516 517need_locks="$enable_libtool_lock" 518 519])# _LT_AC_LOCK 520 521 522# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 523# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 524# ---------------------------------------------------------------- 525# Check whether the given compiler option works 526AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], 527[AC_CACHE_CHECK([$1], [$2], 528 [$2=no 529 ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 530 save_CFLAGS="$CFLAGS" 531 CFLAGS="$CFLAGS $3" 532 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 533 if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then 534 # The compiler can only warn and ignore the option if not recognized 535 # So say no if there are warnings 536 if test -s conftest.err; then 537 # Append any errors to the config.log. 538 cat conftest.err 1>&AS_MESSAGE_LOG_FD 539 else 540 $2=yes 541 fi 542 fi 543 $rm conftest* 544 CFLAGS="$save_CFLAGS" 545]) 546 547if test x"[$]$2" = xyes; then 548 ifelse([$5], , :, [$5]) 549else 550 ifelse([$6], , :, [$6]) 551fi 552])# AC_LIBTOOL_COMPILER_OPTION 553 554 555# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 556# [ACTION-SUCCESS], [ACTION-FAILURE]) 557# ------------------------------------------------------------ 558# Check whether the given compiler option works 559AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], 560[AC_CACHE_CHECK([$1], [$2], 561 [$2=no 562 save_LDFLAGS="$LDFLAGS" 563 LDFLAGS="$LDFLAGS $3" 564 echo "$lt_simple_link_test_code" > conftest.$ac_ext 565 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 566 # The compiler can only warn and ignore the option if not recognized 567 # So say no if there are warnings 568 if test -s conftest.err; then 569 # Append any errors to the config.log. 570 cat conftest.err 1>&AS_MESSAGE_LOG_FD 571 else 572 $2=yes 573 fi 574 fi 575 $rm conftest* 576 LDFLAGS="$save_LDFLAGS" 577]) 578 579if test x"[$]$2" = xyes; then 580 ifelse([$4], , :, [$4]) 581else 582 ifelse([$5], , :, [$5]) 583fi 584])# AC_LIBTOOL_LINKER_OPTION 585 586 587# AC_LIBTOOL_SYS_MAX_CMD_LEN 588# -------------------------- 589AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], 590[# find the maximum length of command line arguments 591AC_MSG_CHECKING([the maximum length of command line arguments]) 592AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 593 i=0 594 testring="ABCD" 595 596 case $host_os in 597 msdosdjgpp*) 598 # On DJGPP, this test can blow up pretty badly due to problems in libc 599 # (any single argument exceeding 2000 bytes causes a buffer overrun 600 # during glob expansion). Even if it were fixed, the result of this 601 # check would be larger than it should be. 602 lt_cv_sys_max_cmd_len=12288; # 12K is about right 603 ;; 604 605 gnu*) 606 # Under GNU Hurd, this test is not required because there is 607 # no limit to the length of command line arguments. 608 # Libtool will interpret -1 as no limit whatsoever 609 lt_cv_sys_max_cmd_len=-1; 610 ;; 611 612 *) 613 # If test is not a shell built-in, we'll probably end up computing a 614 # maximum length that is only half of the actual maximum length, but 615 # we can't tell. 616 while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ 617 = "XX$testring") >/dev/null 2>&1 && 618 new_result=`expr "X$testring" : ".*" 2>&1` && 619 lt_cv_sys_max_cmd_len=$new_result && 620 test $i != 17 # 1/2 MB should be enough 621 do 622 i=`expr $i + 1` 623 testring=$testring$testring 624 done 625 testring= 626 # Add a significant safety factor because C++ compilers can tack on massive 627 # amounts of additional arguments before passing them to the linker. 628 # It appears as though 1/2 is a usable value. 629 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 630 ;; 631 esac 632]) 633if test -n $lt_cv_sys_max_cmd_len ; then 634 AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 635else 636 AC_MSG_RESULT(none) 637fi 638])# AC_LIBTOOL_SYS_MAX_CMD_LEN 639 640 641# _LT_AC_CHECK_DLFCN 642# -------------------- 643AC_DEFUN([_LT_AC_CHECK_DLFCN], 644[AC_CHECK_HEADERS(dlfcn.h)dnl 645])# _LT_AC_CHECK_DLFCN 646 647 648# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 649# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 650# ------------------------------------------------------------------ 651AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], 652[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 653if test "$cross_compiling" = yes; then : 654 [$4] 655else 656 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 657 lt_status=$lt_dlunknown 658 cat > conftest.$ac_ext <<EOF 659[#line __oline__ "configure" 660#include "confdefs.h" 661 662#if HAVE_DLFCN_H 663#include <dlfcn.h> 664#endif 665 666#include <stdio.h> 667 668#ifdef RTLD_GLOBAL 669# define LT_DLGLOBAL RTLD_GLOBAL 670#else 671# ifdef DL_GLOBAL 672# define LT_DLGLOBAL DL_GLOBAL 673# else 674# define LT_DLGLOBAL 0 675# endif 676#endif 677 678/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 679 find out it does not work in some platform. */ 680#ifndef LT_DLLAZY_OR_NOW 681# ifdef RTLD_LAZY 682# define LT_DLLAZY_OR_NOW RTLD_LAZY 683# else 684# ifdef DL_LAZY 685# define LT_DLLAZY_OR_NOW DL_LAZY 686# else 687# ifdef RTLD_NOW 688# define LT_DLLAZY_OR_NOW RTLD_NOW 689# else 690# ifdef DL_NOW 691# define LT_DLLAZY_OR_NOW DL_NOW 692# else 693# define LT_DLLAZY_OR_NOW 0 694# endif 695# endif 696# endif 697# endif 698#endif 699 700#ifdef __cplusplus 701extern "C" void exit (int); 702#endif 703 704void fnord() { int i=42;} 705int main () 706{ 707 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 708 int status = $lt_dlunknown; 709 710 if (self) 711 { 712 if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 713 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 714 /* dlclose (self); */ 715 } 716 717 exit (status); 718}] 719EOF 720 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 721 (./conftest; exit; ) 2>/dev/null 722 lt_status=$? 723 case x$lt_status in 724 x$lt_dlno_uscore) $1 ;; 725 x$lt_dlneed_uscore) $2 ;; 726 x$lt_unknown|x*) $3 ;; 727 esac 728 else : 729 # compilation failed 730 $3 731 fi 732fi 733rm -fr conftest* 734])# _LT_AC_TRY_DLOPEN_SELF 735 736 737# AC_LIBTOOL_DLOPEN_SELF 738# ------------------- 739AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], 740[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 741if test "x$enable_dlopen" != xyes; then 742 enable_dlopen=unknown 743 enable_dlopen_self=unknown 744 enable_dlopen_self_static=unknown 745else 746 lt_cv_dlopen=no 747 lt_cv_dlopen_libs= 748 749 case $host_os in 750 beos*) 751 lt_cv_dlopen="load_add_on" 752 lt_cv_dlopen_libs= 753 lt_cv_dlopen_self=yes 754 ;; 755 756 cygwin* | mingw* | pw32*) 757 lt_cv_dlopen="LoadLibrary" 758 lt_cv_dlopen_libs= 759 ;; 760 761 *) 762 AC_CHECK_FUNC([shl_load], 763 [lt_cv_dlopen="shl_load"], 764 [AC_CHECK_LIB([dld], [shl_load], 765 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], 766 [AC_CHECK_FUNC([dlopen], 767 [lt_cv_dlopen="dlopen"], 768 [AC_CHECK_LIB([dl], [dlopen], 769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 770 [AC_CHECK_LIB([svld], [dlopen], 771 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 772 [AC_CHECK_LIB([dld], [dld_link], 773 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) 774 ]) 775 ]) 776 ]) 777 ]) 778 ]) 779 ;; 780 esac 781 782 if test "x$lt_cv_dlopen" != xno; then 783 enable_dlopen=yes 784 else 785 enable_dlopen=no 786 fi 787 788 case $lt_cv_dlopen in 789 dlopen) 790 save_CPPFLAGS="$CPPFLAGS" 791 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 792 793 save_LDFLAGS="$LDFLAGS" 794 eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 795 796 save_LIBS="$LIBS" 797 LIBS="$lt_cv_dlopen_libs $LIBS" 798 799 AC_CACHE_CHECK([whether a program can dlopen itself], 800 lt_cv_dlopen_self, [dnl 801 _LT_AC_TRY_DLOPEN_SELF( 802 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 803 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 804 ]) 805 806 if test "x$lt_cv_dlopen_self" = xyes; then 807 LDFLAGS="$LDFLAGS $link_static_flag" 808 AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 809 lt_cv_dlopen_self_static, [dnl 810 _LT_AC_TRY_DLOPEN_SELF( 811 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 812 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 813 ]) 814 fi 815 816 CPPFLAGS="$save_CPPFLAGS" 817 LDFLAGS="$save_LDFLAGS" 818 LIBS="$save_LIBS" 819 ;; 820 esac 821 822 case $lt_cv_dlopen_self in 823 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 824 *) enable_dlopen_self=unknown ;; 825 esac 826 827 case $lt_cv_dlopen_self_static in 828 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 829 *) enable_dlopen_self_static=unknown ;; 830 esac 831fi 832])# AC_LIBTOOL_DLOPEN_SELF 833 834 835# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) 836# --------------------------------- 837# Check to see if options -c and -o are simultaneously supported by compiler 838AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], 839[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl 840AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 841 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 842 [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 843 $rm -r conftest 2>/dev/null 844 mkdir conftest 845 cd conftest 846 mkdir out 847 ifelse([$1],[],[save_CFLAGS="$CFLAGS" 848 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"], 849 [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS" 850 CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"], 851 [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS" 852 GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"]) 853 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 854 855 # According to Tom Tromey, Ian Lance Taylor reported there are C compilers 856 # that will create temporary files in the current directory regardless of 857 # the output directory. Thus, making CWD read-only will cause this test 858 # to fail, enabling locking or at least warning the user not to do parallel 859 # builds. 860 chmod -w . 861 862 if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext 863 then 864 # The compiler can only warn and ignore the option if not recognized 865 # So say no if there are warnings 866 if test -s out/conftest.err; then 867 # Append any errors to the config.log. 868 cat out/conftest.err 1>&AS_MESSAGE_LOG_FD 869 else 870 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 871 fi 872 fi 873 ifelse([$1],[],[CFLAGS="$save_CFLAGS"], 874 [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"], 875 [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"]) 876 chmod u+w . 877 $rm conftest* out/* 878 rmdir out 879 cd .. 880 rmdir conftest 881 $rm conftest* 882]) 883])# AC_LIBTOOL_PROG_CC_C_O 884 885 886# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) 887# ----------------------------------------- 888# Check to see if we can do hard links to lock some files if needed 889AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], 890[AC_REQUIRE([_LT_AC_LOCK])dnl 891 892hard_links="nottested" 893if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 894 # do not overwrite the value of need_locks provided by the user 895 AC_MSG_CHECKING([if we can lock with hard links]) 896 hard_links=yes 897 $rm conftest* 898 ln conftest.a conftest.b 2>/dev/null && hard_links=no 899 touch conftest.a 900 ln conftest.a conftest.b 2>&5 || hard_links=no 901 ln conftest.a conftest.b 2>/dev/null && hard_links=no 902 AC_MSG_RESULT([$hard_links]) 903 if test "$hard_links" = no; then 904 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 905 need_locks=warn 906 fi 907else 908 need_locks=no 909fi 910])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS 911 912 913# AC_LIBTOOL_OBJDIR 914# ----------------- 915AC_DEFUN([AC_LIBTOOL_OBJDIR], 916[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 917[rm -f .libs 2>/dev/null 918mkdir .libs 2>/dev/null 919if test -d .libs; then 920 lt_cv_objdir=.libs 921else 922 # MS-DOS does not allow filenames that begin with a dot. 923 lt_cv_objdir=_libs 924fi 925rmdir .libs 2>/dev/null]) 926objdir=$lt_cv_objdir 927])# AC_LIBTOOL_OBJDIR 928 929 930# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) 931# ---------------------------------------------- 932# Check hardcoding attributes. 933AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], 934[AC_MSG_CHECKING([how to hardcode library paths into programs]) 935_LT_AC_TAGVAR(hardcode_action, $1)= 936if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ 937 test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then 938 939 # We can hardcode non-existant directories. 940 if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && 941 # If the only mechanism to avoid hardcoding is shlibpath_var, we 942 # have to relink, otherwise we might link with an installed library 943 # when we should be linking with a yet-to-be-installed one 944 ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && 945 test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then 946 # Linking always hardcodes the temporary library directory. 947 _LT_AC_TAGVAR(hardcode_action, $1)=relink 948 else 949 # We can link without hardcoding, and we can hardcode nonexisting dirs. 950 _LT_AC_TAGVAR(hardcode_action, $1)=immediate 951 fi 952else 953 # We cannot hardcode anything, or else we can only hardcode existing 954 # directories. 955 _LT_AC_TAGVAR(hardcode_action, $1)=unsupported 956fi 957AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) 958 959if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then 960 # Fast installation is not supported 961 enable_fast_install=no 962elif test "$shlibpath_overrides_runpath" = yes || 963 test "$enable_shared" = no; then 964 # Fast installation is not necessary 965 enable_fast_install=needless 966fi 967])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH 968 969 970# AC_LIBTOOL_SYS_LIB_STRIP 971# ------------------------ 972AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], 973[striplib= 974old_striplib= 975AC_MSG_CHECKING([whether stripping libraries is possible]) 976if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then 977 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 978 test -z "$striplib" && striplib="$STRIP --strip-unneeded" 979 AC_MSG_RESULT([yes]) 980else 981 AC_MSG_RESULT([no]) 982fi 983])# AC_LIBTOOL_SYS_LIB_STRIP 984 985 986# AC_LIBTOOL_SYS_DYNAMIC_LINKER 987# ----------------------------- 988# PORTME Fill in your ld.so characteristics 989AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], 990[AC_MSG_CHECKING([dynamic linker characteristics]) 991library_names_spec= 992libname_spec='lib$name' 993soname_spec= 994postinstall_cmds= 995postuninstall_cmds= 996finish_cmds= 997finish_eval= 998shlibpath_var= 999shlibpath_overrides_runpath=unknown 1000version_type=none 1001dynamic_linker="$host_os ld.so" 1002sys_lib_dlsearch_path_spec="/lib /usr/lib" 1003sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 1004need_lib_prefix=unknown 1005hardcode_into_libs=no 1006 1007# when you set need_version to no, make sure it does not cause -set_version 1008# flags to be left without arguments 1009need_version=unknown 1010 1011case $host_os in 1012aix3*) 1013 version_type=linux 1014 library_names_spec='${libname}${release}.so$versuffix $libname.a' 1015 shlibpath_var=LIBPATH 1016 1017 # AIX 3 has no versioning support, so we append a major version to the name. 1018 soname_spec='${libname}${release}.so$major' 1019 ;; 1020 1021aix4* | aix5*) 1022 version_type=linux 1023 if test "$host_cpu" = ia64; then 1024 # AIX 5 supports IA64 1025 library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' 1026 shlibpath_var=LD_LIBRARY_PATH 1027 else 1028 # With GCC up to 2.95.x, collect2 would create an import file 1029 # for dependence libraries. The import file would start with 1030 # the line `#! .'. This would cause the generated library to 1031 # depend on `.', always an invalid library. This was fixed in 1032 # development snapshots of GCC prior to 3.0. 1033 case $host_os in 1034 aix4 | aix4.[[01]] | aix4.[[01]].*) 1035 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 1036 echo ' yes ' 1037 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then 1038 : 1039 else 1040 can_build_shared=no 1041 fi 1042 ;; 1043 esac 1044 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 1045 # soname into executable. Probably we can add versioning support to 1046 # collect2, so additional links can be useful in future. 1047 if test "$aix_use_runtimelinking" = yes; then 1048 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 1049 # instead of lib<name>.a to let people know that these are not 1050 # typical AIX shared libraries. 1051 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1052 else 1053 # We preserve .a as extension for shared libraries through AIX4.2 1054 # and later when we are not doing run time linking. 1055 library_names_spec='${libname}${release}.a $libname.a' 1056 soname_spec='${libname}${release}.so$major' 1057 fi 1058 shlibpath_var=LIBPATH 1059 fi 1060 ;; 1061 1062amigaos*) 1063 library_names_spec='$libname.ixlibrary $libname.a' 1064 # Create ${libname}_ixlibrary.a entries in /sys/libs. 1065 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' 1066 ;; 1067 1068beos*) 1069 library_names_spec='${libname}.so' 1070 dynamic_linker="$host_os ld.so" 1071 shlibpath_var=LIBRARY_PATH 1072 ;; 1073 1074bsdi4*) 1075 version_type=linux 1076 need_version=no 1077 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1078 soname_spec='${libname}${release}.so$major' 1079 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 1080 shlibpath_var=LD_LIBRARY_PATH 1081 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 1082 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 1083 # the default ld.so.conf also contains /usr/contrib/lib and 1084 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 1085 # libtool to hard-code these into programs 1086 ;; 1087 1088cygwin* | mingw* | pw32*) 1089 version_type=windows 1090 need_version=no 1091 need_lib_prefix=no 1092 case $GCC,$host_os in 1093 yes,cygwin*) 1094 library_names_spec='$libname.dll.a' 1095 sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" 1096 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' 1097 postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ 1098 dldir=$destdir/`dirname \$dlpath`~ 1099 test -d \$dldir || mkdir -p \$dldir~ 1100 $install_prog .libs/$dlname \$dldir/$dlname' 1101 postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ 1102 dlpath=$dir/\$dldll~ 1103 $rm \$dlpath' 1104 ;; 1105 yes,mingw*) 1106 library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' 1107 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"` 1108 if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then 1109 # It is most probably a Windows format PATH printed by 1110 # mingw gcc, but we are running on Cygwin. Gcc prints its search 1111 # path with ; separators, and with drive letters. We can handle the 1112 # drive letters (cygwin fileutils understands them), so leave them, 1113 # especially as we might pass files found there to a mingw objdump, 1114 # which wouldn't understand a cygwinified path. Ahh. 1115 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'` 1116 else 1117 sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e "s/$PATH_SEPARATOR/ /g"` 1118 fi 1119 ;; 1120 yes,pw32*) 1121 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' 1122 ;; 1123 *) 1124 library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' 1125 ;; 1126 esac 1127 dynamic_linker='Win32 ld.exe' 1128 # FIXME: first we should search . and the directory the executable is in 1129 shlibpath_var=PATH 1130 ;; 1131 1132darwin* | rhapsody*) 1133 dynamic_linker="$host_os dyld" 1134 version_type=darwin 1135 need_lib_prefix=no 1136 need_version=no 1137 # FIXME: Relying on posixy $() will cause problems for 1138 # cross-compilation, but unfortunately the echo tests do not 1139 # yet detect zsh echo's removal of \ escapes. 1140 library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' 1141 soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' 1142 shlibpath_overrides_runpath=yes 1143 shlibpath_var=DYLD_LIBRARY_PATH 1144 ;; 1145 1146dgux*) 1147 version_type=linux 1148 need_lib_prefix=no 1149 need_version=no 1150 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1151 soname_spec='${libname}${release}.so$major' 1152 shlibpath_var=LD_LIBRARY_PATH 1153 ;; 1154 1155freebsd1*) 1156 dynamic_linker=no 1157 ;; 1158 1159freebsd*) 1160 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` 1161 version_type=freebsd-$objformat 1162 case $version_type in 1163 freebsd-elf*) 1164 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' 1165 need_version=no 1166 need_lib_prefix=no 1167 ;; 1168 freebsd-*) 1169 library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' 1170 need_version=yes 1171 ;; 1172 esac 1173 shlibpath_var=LD_LIBRARY_PATH 1174 case $host_os in 1175 freebsd2*) 1176 shlibpath_overrides_runpath=yes 1177 ;; 1178 freebsd3.[01]* | freebsdelf3.[01]*) 1179 shlibpath_overrides_runpath=yes 1180 hardcode_into_libs=yes 1181 ;; 1182 *) # from 3.2 on 1183 shlibpath_overrides_runpath=no 1184 hardcode_into_libs=yes 1185 ;; 1186 esac 1187 ;; 1188 1189gnu*) 1190 version_type=linux 1191 need_lib_prefix=no 1192 need_version=no 1193 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' 1194 soname_spec='${libname}${release}.so$major' 1195 shlibpath_var=LD_LIBRARY_PATH 1196 hardcode_into_libs=yes 1197 ;; 1198 1199hpux9* | hpux10* | hpux11*) 1200 # Give a soname corresponding to the major version so that dld.sl refuses to 1201 # link against other versions. 1202 version_type=sunos 1203 need_lib_prefix=no 1204 need_version=no 1205 if test "$host_cpu" = ia64; then 1206 hardcode_into_libs=yes 1207 dynamic_linker="$host_os dld.so" 1208 shlibpath_var=LD_LIBRARY_PATH 1209 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 1210 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1211 soname_spec='${libname}${release}.so$major' 1212 if test "X$HPUX_IA64_MODE" = X32; then 1213 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 1214 else 1215 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 1216 fi 1217 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 1218 else 1219 dynamic_linker="$host_os dld.sl" 1220 shlibpath_var=SHLIB_PATH 1221 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 1222 library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' 1223 soname_spec='${libname}${release}.sl$major' 1224 fi 1225 # HP-UX runs *really* slowly unless shared libraries are mode 555. 1226 postinstall_cmds='chmod 555 $lib' 1227 ;; 1228 1229irix5* | irix6* | nonstopux*) 1230 case $host_os in 1231 nonstopux*) version_type=nonstopux ;; 1232 *) version_type=irix ;; 1233 esac 1234 need_lib_prefix=no 1235 need_version=no 1236 soname_spec='${libname}${release}.so$major' 1237 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' 1238 case $host_os in 1239 irix5* | nonstopux*) 1240 libsuff= shlibsuff= 1241 ;; 1242 *) 1243 case $LD in # libtool.m4 will add one of these switches to LD 1244 *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; 1245 *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; 1246 *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; 1247 *) libsuff= shlibsuff= libmagic=never-match;; 1248 esac 1249 ;; 1250 esac 1251 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 1252 shlibpath_overrides_runpath=no 1253 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 1254 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 1255 ;; 1256 1257# No shared lib support for Linux oldld, aout, or coff. 1258linux*oldld* | linux*aout* | linux*coff*) 1259 dynamic_linker=no 1260 ;; 1261 1262# This must be Linux ELF. 1263linux*) 1264 version_type=linux 1265 need_lib_prefix=no 1266 need_version=no 1267 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1268 soname_spec='${libname}${release}.so$major' 1269 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 1270 libsuff= 1271 if test "x$LINUX_64_MODE" = x64; then 1272 # Some platforms are per default 64-bit, so there's no /lib64 1273 if test -d /lib64; then 1274 libsuff=64 1275 fi 1276 fi 1277 shlibpath_var=LD_LIBRARY_PATH 1278 shlibpath_overrides_runpath=no 1279 sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" 1280 sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" 1281 # This implies no fast_install, which is unacceptable. 1282 # Some rework will be needed to allow for fast_install 1283 # before this can be enabled. 1284 hardcode_into_libs=yes 1285 1286 # We used to test for /lib/ld.so.1 and disable shared libraries on 1287 # powerpc, because MkLinux only supported shared libraries with the 1288 # GNU dynamic linker. Since this was broken with cross compilers, 1289 # most powerpc-linux boxes support dynamic linking these days and 1290 # people can always --disable-shared, the test was removed, and we 1291 # assume the GNU/Linux dynamic linker is in use. 1292 dynamic_linker='GNU/Linux ld.so' 1293 ;; 1294 1295netbsd*) 1296 version_type=sunos 1297 need_lib_prefix=no 1298 need_version=no 1299 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 1300 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 1301 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 1302 dynamic_linker='NetBSD (a.out) ld.so' 1303 else 1304 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' 1305 soname_spec='${libname}${release}.so$major' 1306 dynamic_linker='NetBSD ld.elf_so' 1307 fi 1308 shlibpath_var=LD_LIBRARY_PATH 1309 shlibpath_overrides_runpath=yes 1310 hardcode_into_libs=yes 1311 ;; 1312 1313newsos6) 1314 version_type=linux 1315 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1316 shlibpath_var=LD_LIBRARY_PATH 1317 shlibpath_overrides_runpath=yes 1318 ;; 1319 1320nto-qnx) 1321 version_type=linux 1322 need_lib_prefix=no 1323 need_version=no 1324 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1325 soname_spec='${libname}${release}.so$major' 1326 shlibpath_var=LD_LIBRARY_PATH 1327 shlibpath_overrides_runpath=yes 1328 ;; 1329 1330openbsd*) 1331 version_type=sunos 1332 need_lib_prefix=no 1333 need_version=no 1334 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 1335 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 1336 shlibpath_var=LD_LIBRARY_PATH 1337 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 1338 case $host_os in 1339 openbsd2.[[89]] | openbsd2.[[89]].*) 1340 shlibpath_overrides_runpath=no 1341 ;; 1342 *) 1343 shlibpath_overrides_runpath=yes 1344 ;; 1345 esac 1346 else 1347 shlibpath_overrides_runpath=yes 1348 fi 1349 ;; 1350 1351os2*) 1352 libname_spec='$name' 1353 need_lib_prefix=no 1354 library_names_spec='$libname.dll $libname.a' 1355 dynamic_linker='OS/2 ld.exe' 1356 shlibpath_var=LIBPATH 1357 ;; 1358 1359osf3* | osf4* | osf5*) 1360 version_type=osf 1361 need_lib_prefix=no 1362 need_version=no 1363 soname_spec='${libname}${release}.so' 1364 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' 1365 shlibpath_var=LD_LIBRARY_PATH 1366 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 1367 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 1368 ;; 1369 1370sco3.2v5*) 1371 version_type=osf 1372 soname_spec='${libname}${release}.so$major' 1373 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1374 shlibpath_var=LD_LIBRARY_PATH 1375 ;; 1376 1377solaris*) 1378 version_type=linux 1379 need_lib_prefix=no 1380 need_version=no 1381 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1382 soname_spec='${libname}${release}.so$major' 1383 shlibpath_var=LD_LIBRARY_PATH 1384 shlibpath_overrides_runpath=yes 1385 hardcode_into_libs=yes 1386 # ldd complains unless libraries are executable 1387 postinstall_cmds='chmod +x $lib' 1388 ;; 1389 1390sunos4*) 1391 version_type=sunos 1392 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 1393 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 1394 shlibpath_var=LD_LIBRARY_PATH 1395 shlibpath_overrides_runpath=yes 1396 if test "$with_gnu_ld" = yes; then 1397 need_lib_prefix=no 1398 fi 1399 need_version=yes 1400 ;; 1401 1402sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 1403 version_type=linux 1404 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1405 soname_spec='${libname}${release}.so$major' 1406 shlibpath_var=LD_LIBRARY_PATH 1407 case $host_vendor in 1408 sni) 1409 shlibpath_overrides_runpath=no 1410 ;; 1411 motorola) 1412 need_lib_prefix=no 1413 need_version=no 1414 shlibpath_overrides_runpath=no 1415 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 1416 ;; 1417 esac 1418 ;; 1419 1420sysv4*MP*) 1421 if test -d /usr/nec ;then 1422 version_type=linux 1423 library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' 1424 soname_spec='$libname.so.$major' 1425 shlibpath_var=LD_LIBRARY_PATH 1426 fi 1427 ;; 1428 1429uts4*) 1430 version_type=linux 1431 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1432 soname_spec='${libname}${release}.so$major' 1433 shlibpath_var=LD_LIBRARY_PATH 1434 ;; 1435 1436*) 1437 dynamic_linker=no 1438 ;; 1439esac 1440AC_MSG_RESULT([$dynamic_linker]) 1441test "$dynamic_linker" = no && can_build_shared=no 1442])# AC_LIBTOOL_SYS_DYNAMIC_LINKER 1443 1444 1445# _LT_AC_TAGCONFIG 1446# ---------------- 1447AC_DEFUN([_LT_AC_TAGCONFIG], 1448[AC_ARG_WITH([tags], 1449 [AC_HELP_STRING([--with-tags=TAGS], 1450 [include additional configurations @<:@CXX,GCJ@:>@])], 1451 [tagnames="$withval"], 1452 [tagnames="CXX,GCJ" 1453 case $host_os in 1454 mingw*|cygwin*) tagnames="$tagnames,RC" ;; 1455 esac]) 1456 1457if test -f "$ltmain" && test -n "$tagnames"; then 1458 if test ! -f "${ofile}"; then 1459 AC_MSG_WARN([output file `$ofile' does not exist]) 1460 fi 1461 1462 if test -z "$LTCC"; then 1463 eval "`$SHELL ${ofile} --config | grep '^LTCC='`" 1464 if test -z "$LTCC"; then 1465 AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) 1466 else 1467 AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) 1468 fi 1469 fi 1470 1471 # Extract list of available tagged configurations in $ofile. 1472 # Note that this assumes the entire list is on one line. 1473 available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` 1474 1475 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 1476 for tagname in $tagnames; do 1477 IFS="$lt_save_ifs" 1478 # Check whether tagname contains only valid characters 1479 case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in 1480 "") ;; 1481 *) AC_MSG_ERROR([invalid tag name: $tagname]) 1482 ;; 1483 esac 1484 1485 if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null 1486 then 1487 AC_MSG_ERROR([tag name \"$tagname\" already exists]) 1488 fi 1489 1490 # Update the list of available tags. 1491 if test -n "$tagname"; then 1492 echo appending configuration tag \"$tagname\" to $ofile 1493 1494 case $tagname in 1495 CXX) 1496 AC_LIBTOOL_LANG_CXX_CONFIG 1497 ;; 1498 1499 GCJ) 1500 AC_LIBTOOL_LANG_GCJ_CONFIG 1501 ;; 1502 1503 RC) 1504 AC_LIBTOOL_LANG_RC_CONFIG 1505 ;; 1506 1507 *) 1508 AC_MSG_ERROR([Unsupported tag name: $tagname]) 1509 ;; 1510 esac 1511 1512 # Append the new tag name to the list of available tags. 1513 available_tags="$available_tags $tagname" 1514 fi 1515 done 1516 IFS="$lt_save_ifs" 1517 1518 # Now substitute the updated list of available tags. 1519 if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then 1520 mv "${ofile}T" "$ofile" 1521 chmod +x "$ofile" 1522 else 1523 rm -f "${ofile}T" 1524 AC_MSG_ERROR([unable to update list of available tagged configurations.]) 1525 fi 1526fi 1527])# _LT_AC_TAGCONFIG 1528 1529 1530# AC_LIBTOOL_DLOPEN 1531# ----------------- 1532# enable checks for dlopen support 1533AC_DEFUN([AC_LIBTOOL_DLOPEN], 1534 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) 1535])# AC_LIBTOOL_DLOPEN 1536 1537 1538# AC_LIBTOOL_WIN32_DLL 1539# -------------------- 1540# declare package support for building win32 dll's 1541AC_DEFUN([AC_LIBTOOL_WIN32_DLL], 1542[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) 1543])# AC_LIBTOOL_WIN32_DLL 1544 1545 1546# AC_ENABLE_SHARED([DEFAULT]) 1547# --------------------------- 1548# implement the --enable-shared flag 1549# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 1550AC_DEFUN([AC_ENABLE_SHARED], 1551[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl 1552AC_ARG_ENABLE([shared], 1553 [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], 1554 [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], 1555 [p=${PACKAGE-default} 1556 case $enableval in 1557 yes) enable_shared=yes ;; 1558 no) enable_shared=no ;; 1559 *) 1560 enable_shared=no 1561 # Look at the argument we got. We use all the common list separators. 1562 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 1563 for pkg in $enableval; do 1564 IFS="$lt_save_ifs" 1565 if test "X$pkg" = "X$p"; then 1566 enable_shared=yes 1567 fi 1568 done 1569 IFS="$lt_save_ifs" 1570 ;; 1571 esac], 1572 [enable_shared=]AC_ENABLE_SHARED_DEFAULT) 1573])# AC_ENABLE_SHARED 1574 1575 1576# AC_DISABLE_SHARED 1577# ----------------- 1578#- set the default shared flag to --disable-shared 1579AC_DEFUN([AC_DISABLE_SHARED], 1580[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 1581AC_ENABLE_SHARED(no) 1582])# AC_DISABLE_SHARED 1583 1584 1585# AC_ENABLE_STATIC([DEFAULT]) 1586# --------------------------- 1587# implement the --enable-static flag 1588# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 1589AC_DEFUN([AC_ENABLE_STATIC], 1590[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl 1591AC_ARG_ENABLE([static], 1592 [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], 1593 [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], 1594 [p=${PACKAGE-default} 1595 case $enableval in 1596 yes) enable_static=yes ;; 1597 no) enable_static=no ;; 1598 *) 1599 enable_static=no 1600 # Look at the argument we got. We use all the common list separators. 1601 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 1602 for pkg in $enableval; do 1603 IFS="$lt_save_ifs" 1604 if test "X$pkg" = "X$p"; then 1605 enable_static=yes 1606 fi 1607 done 1608 IFS="$lt_save_ifs" 1609 ;; 1610 esac], 1611 [enable_static=]AC_ENABLE_STATIC_DEFAULT) 1612])# AC_ENABLE_STATIC 1613 1614 1615# AC_DISABLE_STATIC 1616# ----------------- 1617# set the default static flag to --disable-static 1618AC_DEFUN([AC_DISABLE_STATIC], 1619[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 1620AC_ENABLE_STATIC(no) 1621])# AC_DISABLE_STATIC 1622 1623 1624# AC_ENABLE_FAST_INSTALL([DEFAULT]) 1625# --------------------------------- 1626# implement the --enable-fast-install flag 1627# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 1628AC_DEFUN([AC_ENABLE_FAST_INSTALL], 1629[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl 1630AC_ARG_ENABLE([fast-install], 1631 [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], 1632 [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], 1633 [p=${PACKAGE-default} 1634 case $enableval in 1635 yes) enable_fast_install=yes ;; 1636 no) enable_fast_install=no ;; 1637 *) 1638 enable_fast_install=no 1639 # Look at the argument we got. We use all the common list separators. 1640 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 1641 for pkg in $enableval; do 1642 IFS="$lt_save_ifs" 1643 if test "X$pkg" = "X$p"; then 1644 enable_fast_install=yes 1645 fi 1646 done 1647 IFS="$lt_save_ifs" 1648 ;; 1649 esac], 1650 [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) 1651])# AC_ENABLE_FAST_INSTALL 1652 1653 1654# AC_DISABLE_FAST_INSTALL 1655# ----------------------- 1656# set the default to --disable-fast-install 1657AC_DEFUN([AC_DISABLE_FAST_INSTALL], 1658[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 1659AC_ENABLE_FAST_INSTALL(no) 1660])# AC_DISABLE_FAST_INSTALL 1661 1662 1663# AC_LIBTOOL_PICMODE([MODE]) 1664# -------------------------- 1665# implement the --with-pic flag 1666# MODE is either `yes' or `no'. If omitted, it defaults to `both'. 1667AC_DEFUN([AC_LIBTOOL_PICMODE], 1668[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 1669pic_mode=ifelse($#,1,$1,default) 1670])# AC_LIBTOOL_PICMODE 1671 1672 1673# AC_PATH_TOOL_PREFIX 1674# ------------------- 1675# find a file program which can recognise shared library 1676AC_DEFUN([AC_PATH_TOOL_PREFIX], 1677[AC_MSG_CHECKING([for $1]) 1678AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 1679[case $MAGIC_CMD in 1680[[\\/*] | ?:[\\/]*]) 1681 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 1682 ;; 1683*) 1684 lt_save_MAGIC_CMD="$MAGIC_CMD" 1685 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 1686dnl $ac_dummy forces splitting on constant user-supplied paths. 1687dnl POSIX.2 word splitting is done only on the output of word expansions, 1688dnl not every word. This closes a longstanding sh security hole. 1689 ac_dummy="ifelse([$2], , $PATH, [$2])" 1690 for ac_dir in $ac_dummy; do 1691 IFS="$lt_save_ifs" 1692 test -z "$ac_dir" && ac_dir=. 1693 if test -f $ac_dir/$1; then 1694 lt_cv_path_MAGIC_CMD="$ac_dir/$1" 1695 if test -n "$file_magic_test_file"; then 1696 case $deplibs_check_method in 1697 "file_magic "*) 1698 file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" 1699 MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 1700 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 1701 egrep "$file_magic_regex" > /dev/null; then 1702 : 1703 else 1704 cat <<EOF 1>&2 1705 1706*** Warning: the command libtool uses to detect shared libraries, 1707*** $file_magic_cmd, produces output that libtool cannot recognize. 1708*** The result is that libtool may fail to recognize shared libraries 1709*** as such. This will affect the creation of libtool libraries that 1710*** depend on shared libraries, but programs linked with such libtool 1711*** libraries will work regardless of this problem. Nevertheless, you 1712*** may want to report the problem to your system manager and/or to 1713*** bug-libtool@gnu.org 1714 1715EOF 1716 fi ;; 1717 esac 1718 fi 1719 break 1720 fi 1721 done 1722 IFS="$lt_save_ifs" 1723 MAGIC_CMD="$lt_save_MAGIC_CMD" 1724 ;; 1725esac]) 1726MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 1727if test -n "$MAGIC_CMD"; then 1728 AC_MSG_RESULT($MAGIC_CMD) 1729else 1730 AC_MSG_RESULT(no) 1731fi 1732])# AC_PATH_TOOL_PREFIX 1733 1734 1735# AC_PATH_MAGIC 1736# ------------- 1737# find a file program which can recognise a shared library 1738AC_DEFUN([AC_PATH_MAGIC], 1739[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 1740if test -z "$lt_cv_path_MAGIC_CMD"; then 1741 if test -n "$ac_tool_prefix"; then 1742 AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 1743 else 1744 MAGIC_CMD=: 1745 fi 1746fi 1747])# AC_PATH_MAGIC 1748 1749 1750# AC_PROG_LD 1751# ---------- 1752# find the path to the GNU or non-GNU linker 1753AC_DEFUN([AC_PROG_LD], 1754[AC_ARG_WITH([gnu-ld], 1755 [AC_HELP_STRING([--with-gnu-ld], 1756 [assume the C compiler uses GNU ld @<:@default=no@:>@])], 1757 [test "$withval" = no || with_gnu_ld=yes], 1758 [with_gnu_ld=no]) 1759AC_REQUIRE([AC_PROG_CC])dnl 1760AC_REQUIRE([AC_CANONICAL_HOST])dnl 1761AC_REQUIRE([AC_CANONICAL_BUILD])dnl 1762ac_prog=ld 1763if test "$GCC" = yes; then 1764 # Check if gcc -print-prog-name=ld gives a path. 1765 AC_MSG_CHECKING([for ld used by GCC]) 1766 case $host in 1767 *-*-mingw*) 1768 # gcc leaves a trailing carriage return which upsets mingw 1769 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 1770 *) 1771 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 1772 esac 1773 case $ac_prog in 1774 # Accept absolute paths. 1775 [[\\/]]* | ?:[[\\/]]*) 1776 re_direlt='/[[^/]][[^/]]*/\.\./' 1777 # Canonicalize the path of ld 1778 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` 1779 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do 1780 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` 1781 done 1782 test -z "$LD" && LD="$ac_prog" 1783 ;; 1784 "") 1785 # If it fails, then pretend we aren't using GCC. 1786 ac_prog=ld 1787 ;; 1788 *) 1789 # If it is relative, then search for the first ld in PATH. 1790 with_gnu_ld=unknown 1791 ;; 1792 esac 1793elif test "$with_gnu_ld" = yes; then 1794 AC_MSG_CHECKING([for GNU ld]) 1795else 1796 AC_MSG_CHECKING([for non-GNU ld]) 1797fi 1798AC_CACHE_VAL(lt_cv_path_LD, 1799[if test -z "$LD"; then 1800 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 1801 for ac_dir in $PATH; do 1802 IFS="$lt_save_ifs" 1803 test -z "$ac_dir" && ac_dir=. 1804 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 1805 lt_cv_path_LD="$ac_dir/$ac_prog" 1806 # Check to see if the program is GNU ld. I'd rather use --version, 1807 # but apparently some GNU ld's only accept -v. 1808 # Break only if it was the GNU/non-GNU ld that we prefer. 1809 if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then 1810 test "$with_gnu_ld" != no && break 1811 else 1812 test "$with_gnu_ld" != yes && break 1813 fi 1814 fi 1815 done 1816 IFS="$lt_save_ifs" 1817else 1818 lt_cv_path_LD="$LD" # Let the user override the test with a path. 1819fi]) 1820LD="$lt_cv_path_LD" 1821if test -n "$LD"; then 1822 AC_MSG_RESULT($LD) 1823else 1824 AC_MSG_RESULT(no) 1825fi 1826test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 1827AC_PROG_LD_GNU 1828])# AC_PROG_LD 1829 1830 1831# AC_PROG_LD_GNU 1832# -------------- 1833AC_DEFUN([AC_PROG_LD_GNU], 1834[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 1835[# I'd rather use --version here, but apparently some GNU ld's only accept -v. 1836if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then 1837 lt_cv_prog_gnu_ld=yes 1838else 1839 lt_cv_prog_gnu_ld=no 1840fi]) 1841with_gnu_ld=$lt_cv_prog_gnu_ld 1842])# AC_PROG_LD_GNU 1843 1844 1845# AC_PROG_LD_RELOAD_FLAG 1846# ---------------------- 1847# find reload flag for linker 1848# -- PORTME Some linkers may need a different reload flag. 1849AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], 1850[AC_CACHE_CHECK([for $LD option to reload object files], 1851 lt_cv_ld_reload_flag, 1852 [lt_cv_ld_reload_flag='-r']) 1853reload_flag=$lt_cv_ld_reload_flag 1854case $reload_flag in 1855"" | " "*) ;; 1856*) reload_flag=" $reload_flag" ;; 1857esac 1858reload_cmds='$LD$reload_flag -o $output$reload_objs' 1859])# AC_PROG_LD_RELOAD_FLAG 1860 1861 1862# AC_DEPLIBS_CHECK_METHOD 1863# ----------------------- 1864# how to check for library dependencies 1865# -- PORTME fill in with the dynamic library characteristics 1866AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], 1867[AC_CACHE_CHECK([how to recognise dependant libraries], 1868lt_cv_deplibs_check_method, 1869[lt_cv_file_magic_cmd='$MAGIC_CMD' 1870lt_cv_file_magic_test_file= 1871lt_cv_deplibs_check_method='unknown' 1872# Need to set the preceding variable on all platforms that support 1873# interlibrary dependencies. 1874# 'none' -- dependencies not supported. 1875# `unknown' -- same as none, but documents that we really don't know. 1876# 'pass_all' -- all dependencies passed with no checks. 1877# 'test_compile' -- check by making test program. 1878# 'file_magic [[regex]]' -- check by looking for files in library path 1879# which responds to the $file_magic_cmd with a given egrep regex. 1880# If you have `file' or equivalent on your system and you're not sure 1881# whether `pass_all' will *always* work, you probably want this one. 1882 1883case $host_os in 1884aix4* | aix5*) 1885 lt_cv_deplibs_check_method=pass_all 1886 ;; 1887 1888beos*) 1889 lt_cv_deplibs_check_method=pass_all 1890 ;; 1891 1892bsdi4*) 1893 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 1894 lt_cv_file_magic_cmd='/usr/bin/file -L' 1895 lt_cv_file_magic_test_file=/shlib/libc.so 1896 ;; 1897 1898cygwin* | mingw* | pw32*) 1899 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 1900 lt_cv_file_magic_cmd='$OBJDUMP -f' 1901 ;; 1902 1903darwin* | rhapsody*) 1904 lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' 1905 lt_cv_file_magic_cmd='/usr/bin/file -L' 1906 case "$host_os" in 1907 rhapsody* | darwin1.[[012]]) 1908 lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` 1909 ;; 1910 *) # Darwin 1.3 on 1911 lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' 1912 ;; 1913 esac 1914 ;; 1915 1916freebsd*) 1917 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 1918 case $host_cpu in 1919 i*86 ) 1920 # Not sure whether the presence of OpenBSD here was a mistake. 1921 # Let's accept both of them until this is cleared up. 1922 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' 1923 lt_cv_file_magic_cmd=/usr/bin/file 1924 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 1925 ;; 1926 esac 1927 else 1928 lt_cv_deplibs_check_method=pass_all 1929 fi 1930 ;; 1931 1932gnu*) 1933 lt_cv_deplibs_check_method=pass_all 1934 ;; 1935 1936hpux10.20* | hpux11*) 1937 lt_cv_file_magic_cmd=/usr/bin/file 1938 if test "$host_cpu" = ia64; then 1939 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 1940 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 1941 else 1942 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 1943 lt_cv_file_magic_test_file=/usr/lib/libc.sl 1944 fi 1945 ;; 1946 1947irix5* | irix6* | nonstopux*) 1948 case $host_os in 1949 irix5* | nonstopux*) 1950 # this will be overridden with pass_all, but let us keep it just in case 1951 lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" 1952 ;; 1953 *) 1954 case $LD in 1955 *-32|*"-32 ") libmagic=32-bit;; 1956 *-n32|*"-n32 ") libmagic=N32;; 1957 *-64|*"-64 ") libmagic=64-bit;; 1958 *) libmagic=never-match;; 1959 esac 1960 # this will be overridden with pass_all, but let us keep it just in case 1961 lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" 1962 ;; 1963 esac 1964 lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` 1965 lt_cv_deplibs_check_method=pass_all 1966 ;; 1967 1968# This must be Linux ELF. 1969linux*) 1970 case $host_cpu in 1971 alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh* | x86_64* ) 1972 lt_cv_deplibs_check_method=pass_all ;; 1973 *) 1974 # glibc up to 2.1.1 does not perform some relocations on ARM 1975 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; 1976 esac 1977 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` 1978 ;; 1979 1980netbsd*) 1981 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 1982 lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' 1983 else 1984 lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' 1985 fi 1986 ;; 1987 1988newos6*) 1989 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 1990 lt_cv_file_magic_cmd=/usr/bin/file 1991 lt_cv_file_magic_test_file=/usr/lib/libnls.so 1992 ;; 1993 1994nto-qnx) 1995 lt_cv_deplibs_check_method=unknown 1996 ;; 1997 1998openbsd*) 1999 lt_cv_file_magic_cmd=/usr/bin/file 2000 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 2001 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 2002 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' 2003 else 2004 lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' 2005 fi 2006 ;; 2007 2008osf3* | osf4* | osf5*) 2009 # this will be overridden with pass_all, but let us keep it just in case 2010 lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' 2011 lt_cv_file_magic_test_file=/shlib/libc.so 2012 lt_cv_deplibs_check_method=pass_all 2013 ;; 2014 2015sco3.2v5*) 2016 lt_cv_deplibs_check_method=pass_all 2017 ;; 2018 2019solaris*) 2020 lt_cv_deplibs_check_method=pass_all 2021 lt_cv_file_magic_test_file=/lib/libc.so 2022 ;; 2023 2024sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 2025 case $host_vendor in 2026 motorola) 2027 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]]' 2028 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 2029 ;; 2030 ncr) 2031 lt_cv_deplibs_check_method=pass_all 2032 ;; 2033 sequent) 2034 lt_cv_file_magic_cmd='/bin/file' 2035 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 2036 ;; 2037 sni) 2038 lt_cv_file_magic_cmd='/bin/file' 2039 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 2040 lt_cv_file_magic_test_file=/lib/libc.so 2041 ;; 2042 esac 2043 ;; 2044 2045sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) 2046 lt_cv_deplibs_check_method=pass_all 2047 ;; 2048esac 2049]) 2050file_magic_cmd=$lt_cv_file_magic_cmd 2051deplibs_check_method=$lt_cv_deplibs_check_method 2052test -z "$deplibs_check_method" && deplibs_check_method=unknown 2053])# AC_DEPLIBS_CHECK_METHOD 2054 2055 2056# AC_PROG_NM 2057# ---------- 2058# find the path to a BSD-compatible name lister 2059AC_DEFUN([AC_PROG_NM], 2060[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, 2061[if test -n "$NM"; then 2062 # Let the user override the test. 2063 lt_cv_path_NM="$NM" 2064else 2065 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 2066 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do 2067 IFS="$lt_save_ifs" 2068 test -z "$ac_dir" && ac_dir=. 2069 tmp_nm="$ac_dir/${ac_tool_prefix}nm" 2070 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 2071 # Check to see if the nm accepts a BSD-compat flag. 2072 # Adding the `sed 1q' prevents false positives on HP-UX, which says: 2073 # nm: unknown option "B" ignored 2074 # Tru64's nm complains that /dev/null is an invalid object file 2075 if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then 2076 lt_cv_path_NM="$tmp_nm -B" 2077 break 2078 elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 2079 lt_cv_path_NM="$tmp_nm -p" 2080 break 2081 else 2082 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 2083 continue # so that we can try to find one that supports BSD flags 2084 fi 2085 fi 2086 done 2087 IFS="$lt_save_ifs" 2088 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm 2089fi]) 2090NM="$lt_cv_path_NM" 2091])# AC_PROG_NM 2092 2093 2094# AC_CHECK_LIBM 2095# ------------- 2096# check for math library 2097AC_DEFUN([AC_CHECK_LIBM], 2098[AC_REQUIRE([AC_CANONICAL_HOST])dnl 2099LIBM= 2100case $host in 2101*-*-beos* | *-*-cygwin* | *-*-pw32*) 2102 # These system don't have libm 2103 ;; 2104*-ncr-sysv4.3*) 2105 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 2106 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") 2107 ;; 2108*) 2109 AC_CHECK_LIB(m, main, LIBM="-lm") 2110 ;; 2111esac 2112])# AC_CHECK_LIBM 2113 2114 2115# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) 2116# ----------------------------------- 2117# sets LIBLTDL to the link flags for the libltdl convenience library and 2118# LTDLINCL to the include flags for the libltdl header and adds 2119# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL 2120# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If 2121# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will 2122# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with 2123# '${top_srcdir}/' (note the single quotes!). If your package is not 2124# flat and you're not using automake, define top_builddir and 2125# top_srcdir appropriately in the Makefiles. 2126AC_DEFUN([AC_LIBLTDL_CONVENIENCE], 2127[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 2128 case $enable_ltdl_convenience in 2129 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; 2130 "") enable_ltdl_convenience=yes 2131 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; 2132 esac 2133 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la 2134 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 2135 # For backwards non-gettext consistent compatibility... 2136 INCLTDL="$LTDLINCL" 2137])# AC_LIBLTDL_CONVENIENCE 2138 2139 2140# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) 2141# ----------------------------------- 2142# sets LIBLTDL to the link flags for the libltdl installable library and 2143# LTDLINCL to the include flags for the libltdl header and adds 2144# --enable-ltdl-install to the configure arguments. Note that LIBLTDL 2145# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If 2146# DIRECTORY is not provided and an installed libltdl is not found, it is 2147# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' 2148# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single 2149# quotes!). If your package is not flat and you're not using automake, 2150# define top_builddir and top_srcdir appropriately in the Makefiles. 2151# In the future, this macro may have to be called after AC_PROG_LIBTOOL. 2152AC_DEFUN([AC_LIBLTDL_INSTALLABLE], 2153[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 2154 AC_CHECK_LIB(ltdl, main, 2155 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], 2156 [if test x"$enable_ltdl_install" = xno; then 2157 AC_MSG_WARN([libltdl not installed, but installation disabled]) 2158 else 2159 enable_ltdl_install=yes 2160 fi 2161 ]) 2162 if test x"$enable_ltdl_install" = x"yes"; then 2163 ac_configure_args="$ac_configure_args --enable-ltdl-install" 2164 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la 2165 LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 2166 else 2167 ac_configure_args="$ac_configure_args --enable-ltdl-install=no" 2168 LIBLTDL="-lltdl" 2169 LTDLINCL= 2170 fi 2171 # For backwards non-gettext consistent compatibility... 2172 INCLTDL="$LTDLINCL" 2173])# AC_LIBLTDL_INSTALLABLE 2174 2175 2176# If this macro is not defined by Autoconf, define it here. 2177ifdef([AC_PROVIDE_IFELSE], 2178 [], 2179 [define([AC_PROVIDE_IFELSE], 2180 [ifdef([AC_PROVIDE_$1], 2181 [$2], [$3])])]) 2182 2183 2184# AC_LIBTOOL_CXX 2185# -------------- 2186# enable support for C++ libraries 2187AC_DEFUN([AC_LIBTOOL_CXX], 2188[AC_REQUIRE([_LT_AC_LANG_CXX]) 2189])# AC_LIBTOOL_CXX 2190 2191 2192# _LT_AC_LANG_CXX 2193# --------------- 2194AC_DEFUN([_LT_AC_LANG_CXX], 2195[AC_REQUIRE([AC_PROG_CXX]) 2196AC_REQUIRE([AC_PROG_CXXCPP]) 2197])# _LT_AC_LANG_CXX 2198 2199 2200# AC_LIBTOOL_GCJ 2201# -------------- 2202# enable support for GCJ libraries 2203AC_DEFUN([AC_LIBTOOL_GCJ], 2204[AC_REQUIRE([_LT_AC_LANG_GCJ]) 2205])# AC_LIBTOOL_GCJ 2206 2207 2208# _LT_AC_LANG_GCJ 2209# --------------- 2210AC_DEFUN([_LT_AC_LANG_GCJ], 2211[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], 2212 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], 2213 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], 2214 [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], 2215 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], 2216 [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) 2217])# _LT_AC_LANG_GCJ 2218 2219 2220# AC_LIBTOOL_RC 2221# -------------- 2222# enable support for Windows resource files 2223AC_DEFUN([AC_LIBTOOL_RC], 2224[AC_REQUIRE([AC_PROG_RC]) 2225])# AC_LIBTOOL_RC 2226 2227 2228# AC_LIBTOOL_LANG_C_CONFIG 2229# ------------------------ 2230# Ensure that the configuration vars for the C compiler are 2231# suitably defined. Those variables are subsequently used by 2232# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. 2233AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) 2234AC_DEFUN([_LT_AC_LANG_C_CONFIG], 2235[lt_save_CC="$CC" 2236AC_LANG_PUSH(C) 2237 2238# Source file extension for C test sources. 2239ac_ext=c 2240 2241# Object file extension for compiled C test sources. 2242objext=o 2243_LT_AC_TAGVAR(objext, $1)=$objext 2244 2245# Code to be used in simple compile tests 2246lt_simple_compile_test_code="int some_variable = 0;" 2247 2248# Code to be used in simple link tests 2249lt_simple_link_test_code='main(){return(0);}' 2250 2251_LT_AC_SYS_COMPILER 2252 2253# 2254# Check for any special shared library compilation flags. 2255# 2256_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= 2257if test "$GCC" = no; then 2258 case $host_os in 2259 sco3.2v5*) 2260 _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' 2261 ;; 2262 esac 2263fi 2264if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then 2265 AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) 2266 if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : 2267 else 2268 AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) 2269 _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no 2270 fi 2271fi 2272 2273 2274# 2275# Check to make sure the static flag actually works. 2276# 2277AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], 2278 _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), 2279 $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), 2280 [], 2281 [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) 2282 2283 2284## CAVEAT EMPTOR: 2285## There is no encapsulation within the following macros, do not change 2286## the running order or otherwise move them around unless you know exactly 2287## what you are doing... 2288AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) 2289AC_LIBTOOL_PROG_COMPILER_PIC($1) 2290AC_LIBTOOL_PROG_CC_C_O($1) 2291AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) 2292AC_LIBTOOL_PROG_LD_SHLIBS($1) 2293AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) 2294AC_LIBTOOL_SYS_LIB_STRIP 2295AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) 2296AC_LIBTOOL_DLOPEN_SELF($1) 2297 2298# Report which librarie types wil actually be built 2299AC_MSG_CHECKING([if libtool supports shared libraries]) 2300AC_MSG_RESULT([$can_build_shared]) 2301 2302AC_MSG_CHECKING([whether to build shared libraries]) 2303test "$can_build_shared" = "no" && enable_shared=no 2304 2305# On AIX, shared libraries and static libraries use the same namespace, and 2306# are all built from PIC. 2307case "$host_os" in 2308aix3*) 2309 test "$enable_shared" = yes && enable_static=no 2310 if test -n "$RANLIB"; then 2311 archive_cmds="$archive_cmds~\$RANLIB \$lib" 2312 postinstall_cmds='$RANLIB $lib' 2313 fi 2314 ;; 2315 2316aix4*) 2317 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 2318 test "$enable_shared" = yes && enable_static=no 2319 fi 2320 ;; 2321esac 2322AC_MSG_RESULT([$enable_shared]) 2323 2324AC_MSG_CHECKING([whether to build static libraries]) 2325# Make sure either enable_shared or enable_static is yes. 2326test "$enable_shared" = yes || enable_static=yes 2327AC_MSG_RESULT([$enable_static]) 2328 2329AC_LIBTOOL_CONFIG($1) 2330 2331AC_LANG_POP 2332CC="$lt_save_CC" 2333])# AC_LIBTOOL_LANG_C_CONFIG 2334 2335 2336# AC_LIBTOOL_LANG_CXX_CONFIG 2337# -------------------------- 2338# Ensure that the configuration vars for the C compiler are 2339# suitably defined. Those variables are subsequently used by 2340# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. 2341AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) 2342AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], 2343[AC_LANG_PUSH(C++) 2344AC_REQUIRE([AC_PROG_CXX]) 2345AC_REQUIRE([AC_PROG_CXXCPP]) 2346 2347_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 2348_LT_AC_TAGVAR(allow_undefined_flag, $1)= 2349_LT_AC_TAGVAR(always_export_symbols, $1)=no 2350_LT_AC_TAGVAR(archive_expsym_cmds, $1)= 2351_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= 2352_LT_AC_TAGVAR(hardcode_direct, $1)=no 2353_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= 2354_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= 2355_LT_AC_TAGVAR(hardcode_minus_L, $1)=no 2356_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown 2357_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 2358_LT_AC_TAGVAR(no_undefined_flag, $1)= 2359_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 2360 2361# Dependencies to place before and after the object being linked: 2362_LT_AC_TAGVAR(predep_objects, $1)= 2363_LT_AC_TAGVAR(postdep_objects, $1)= 2364_LT_AC_TAGVAR(predeps, $1)= 2365_LT_AC_TAGVAR(postdeps, $1)= 2366_LT_AC_TAGVAR(compiler_lib_search_path, $1)= 2367 2368# Source file extension for C test sources. 2369ac_ext=cc 2370 2371# Object file extension for compiled C test sources. 2372objext=o 2373_LT_AC_TAGVAR(objext, $1)=$objext 2374 2375# Code to be used in simple compile tests 2376lt_simple_compile_test_code="int some_variable = 0;" 2377 2378# Code to be used in simple link tests 2379lt_simple_link_test_code='int main(int char *[]) { return(0); }' 2380 2381# ltmain only uses $CC for tagged configurations so make sure $CC is set. 2382_LT_AC_SYS_COMPILER 2383 2384# Allow CC to be a program name with arguments. 2385lt_save_CC="$CC" 2386CC=${CXX-"c++"} 2387set dummy $CC 2388compiler="[$]2" 2389_LT_AC_TAGVAR(compiler, $1)=$CC 2390cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` 2391 2392# We don't want -fno-exception wen compiling C++ code, so set the 2393# no_builtin_flag separately 2394if test "$GXX" = yes; then 2395 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 2396else 2397 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 2398fi 2399 2400if test "$GXX" = yes; then 2401 # Set up default GNU C++ configuration 2402 2403 # Check if GNU C++ uses GNU ld as the underlying linker, since the 2404 # archiving commands below assume that GNU ld is being used. 2405 if eval "`$CC -print-prog-name=ld` --version 2>&1" | \ 2406 egrep 'GNU ld' > /dev/null; then 2407 with_gnu_ld=yes 2408 2409 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 2410 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 2411 2412 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 2413 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 2414 2415 # If archive_cmds runs LD, not CC, wlarc should be empty 2416 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 2417 # investigate it a little bit more. (MM) 2418 wlarc='${wl}' 2419 2420 # ancient GNU ld didn't support --whole-archive et. al. 2421 if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ 2422 egrep 'no-whole-archive' > /dev/null; then 2423 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 2424 else 2425 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 2426 fi 2427 else 2428 with_gnu_ld=no 2429 wlarc= 2430 2431 # A generic and very simple default shared library creation 2432 # command for GNU C++ for the case where it uses the native 2433 # linker, instead of GNU ld. If possible, this setting should 2434 # overridden to take advantage of the native linker features on 2435 # the platform it is being used on. 2436 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 2437 fi 2438 2439 # Commands to make compiler produce verbose output that lists 2440 # what "hidden" libraries, object files and flags are used when 2441 # linking a shared library. 2442 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 2443 2444else 2445 GXX=no 2446 with_gnu_ld=no 2447 wlarc= 2448fi 2449 2450# PORTME: fill in a description of your system's C++ link characteristics 2451AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 2452_LT_AC_TAGVAR(ld_shlibs, $1)=yes 2453case $host_os in 2454 aix3*) 2455 # FIXME: insert proper C++ library support 2456 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2457 ;; 2458 aix4* | aix5*) 2459 if test "$host_cpu" = ia64; then 2460 # On IA64, the linker does run time linking by default, so we don't 2461 # have to do anything special. 2462 aix_use_runtimelinking=no 2463 exp_sym_flag='-Bexport' 2464 no_entry_flag="" 2465 else 2466 # KDE requires run time linking. Make it the default. 2467 aix_use_runtimelinking=yes 2468 exp_sym_flag='-bexport' 2469 no_entry_flag='-bnoentry' 2470 fi 2471 2472 # When large executables or shared objects are built, AIX ld can 2473 # have problems creating the table of contents. If linking a library 2474 # or program results in "error TOC overflow" add -mminimal-toc to 2475 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 2476 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 2477 2478 _LT_AC_TAGVAR(archive_cmds, $1)='' 2479 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 2480 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' 2481 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 2482 2483 if test "$GXX" = yes; then 2484 case $host_os in aix4.[012]|aix4.[012].*) 2485 # We only want to do this on AIX 4.2 and lower, the check 2486 # below for broken collect2 doesn't work under 4.3+ 2487 collect2name=`${CC} -print-prog-name=collect2` 2488 if test -f "$collect2name" && \ 2489 strings "$collect2name" | grep resolve_lib_name >/dev/null 2490 then 2491 # We have reworked collect2 2492 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 2493 else 2494 # We have old collect2 2495 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported 2496 # It fails to find uninstalled libraries when the uninstalled 2497 # path is not listed in the libpath. Setting hardcode_minus_L 2498 # to unsupported forces relinking 2499 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 2500 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 2501 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= 2502 fi 2503 esac 2504 shared_flag='-shared' 2505 else 2506 # not using gcc 2507 if test "$host_cpu" = ia64; then 2508 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 2509 # chokes on -Wl,-G. The following line is correct: 2510 shared_flag='-G' 2511 else 2512 if test "$aix_use_runtimelinking" = yes; then 2513 shared_flag='-qmkshrobj ${wl}-G' 2514 else 2515 shared_flag='-qmkshrobj' 2516 fi 2517 fi 2518 fi 2519 2520 # Let the compiler handle the export list. 2521 _LT_AC_TAGVAR(always_export_symbols, $1)=no 2522 if test "$aix_use_runtimelinking" = yes; then 2523 # Warning - without using the other runtime loading flags (-brtl), 2524 # -berok will link without error, but may produce a broken library. 2525 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' 2526 # Determine the default libpath from the value encoded in an empty executable. 2527 _LT_AC_SYS_LIBPATH_AIX 2528 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 2529 2530 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" 2531 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 2532 else 2533 if test "$host_cpu" = ia64; then 2534 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 2535 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 2536 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" 2537 else 2538 # Determine the default libpath from the value encoded in an empty executable. 2539 _LT_AC_SYS_LIBPATH_AIX 2540 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 2541 # Warning - without using the other run time loading flags, 2542 # -berok will link without error, but may produce a broken library. 2543 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 2544 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 2545 # -bexpall does not export symbols beginning with underscore (_) 2546 _LT_AC_TAGVAR(always_export_symbols, $1)=yes 2547 # Exported symbols can be pulled into shared objects from archives 2548 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' 2549 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes 2550 # This is similar to how AIX traditionally builds it's shared libraries. 2551 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 2552 fi 2553 fi 2554 ;; 2555 chorus*) 2556 case $cc_basename in 2557 *) 2558 # FIXME: insert proper C++ library support 2559 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2560 ;; 2561 esac 2562 ;; 2563 dgux*) 2564 case $cc_basename in 2565 ec++) 2566 # FIXME: insert proper C++ library support 2567 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2568 ;; 2569 ghcx) 2570 # Green Hills C++ Compiler 2571 # FIXME: insert proper C++ library support 2572 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2573 ;; 2574 *) 2575 # FIXME: insert proper C++ library support 2576 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2577 ;; 2578 esac 2579 ;; 2580 freebsd[12]*) 2581 # C++ shared libraries reported to be fairly broken before switch to ELF 2582 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2583 ;; 2584 freebsd-elf*) 2585 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 2586 ;; 2587 freebsd*) 2588 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 2589 # conventions 2590 _LT_AC_TAGVAR(ld_shlibs, $1)=yes 2591 ;; 2592 gnu*) 2593 ;; 2594 hpux*) 2595 if test $with_gnu_ld = no; then 2596 if test "$host_cpu" = ia64; then 2597 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 2598 else 2599 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 2600 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2601 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 2602 fi 2603 fi 2604 if test "$host_cpu" = ia64; then 2605 _LT_AC_TAGVAR(hardcode_direct, $1)=no 2606 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 2607 else 2608 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 2609 fi 2610 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 2611 # but as the default 2612 # location of the library. 2613 2614 case $cc_basename in 2615 CC) 2616 # FIXME: insert proper C++ library support 2617 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2618 ;; 2619 aCC) 2620 case $host_os in 2621 hpux9*) 2622 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 2623 ;; 2624 *) 2625 if test "$host_cpu" = ia64; then 2626 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' 2627 else 2628 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 2629 fi 2630 ;; 2631 esac 2632 # Commands to make compiler produce verbose output that lists 2633 # what "hidden" libraries, object files and flags are used when 2634 # linking a shared library. 2635 # 2636 # There doesn't appear to be a way to prevent this compiler from 2637 # explicitly linking system object files so we need to strip them 2638 # from the output so that they don't get included in the library 2639 # dependencies. 2640 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2641 ;; 2642 *) 2643 if test "$GXX" = yes; then 2644 if test $with_gnu_ld = no; then 2645 case $host_os in 2646 hpux9*) 2647 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 2648 ;; 2649 *) 2650 if test "$host_cpu" = ia64; then 2651 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' 2652 else 2653 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 2654 fi 2655 ;; 2656 esac 2657 fi 2658 else 2659 # FIXME: insert proper C++ library support 2660 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2661 fi 2662 ;; 2663 esac 2664 ;; 2665 irix5* | irix6*) 2666 case $cc_basename in 2667 CC) 2668 # SGI C++ 2669 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 2670 2671 # Archives containing C++ object files must be created using 2672 # "CC -ar", where "CC" is the IRIX C++ compiler. This is 2673 # necessary to make sure instantiated templates are included 2674 # in the archive. 2675 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 2676 ;; 2677 *) 2678 if test "$GXX" = yes; then 2679 if test "$with_gnu_ld" = no; then 2680 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 2681 else 2682 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' 2683 fi 2684 fi 2685 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 2686 ;; 2687 esac 2688 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 2689 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2690 ;; 2691 linux*) 2692 case $cc_basename in 2693 KCC) 2694 # Kuck and Associates, Inc. (KAI) C++ Compiler 2695 2696 # KCC will only create a shared library if the output file 2697 # ends with ".so" (or ".sl" for HP-UX), so rename the library 2698 # to its proper name (with version) after linking. 2699 _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 2700 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' 2701 2702 # Commands to make compiler produce verbose output that lists 2703 # what "hidden" libraries, object files and flags are used when 2704 # linking a shared library. 2705 # 2706 # There doesn't appear to be a way to prevent this compiler from 2707 # explicitly linking system object files so we need to strip them 2708 # from the output so that they don't get included in the library 2709 # dependencies. 2710 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2711 2712 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' 2713 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 2714 2715 # Archives containing C++ object files must be created using 2716 # "CC -Bstatic", where "CC" is the KAI C++ compiler. 2717 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 2718 ;; 2719 cxx) 2720 # Compaq C++ 2721 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 2722 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' 2723 2724 runpath_var=LD_RUN_PATH 2725 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 2726 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2727 2728 # Commands to make compiler produce verbose output that lists 2729 # what "hidden" libraries, object files and flags are used when 2730 # linking a shared library. 2731 # 2732 # There doesn't appear to be a way to prevent this compiler from 2733 # explicitly linking system object files so we need to strip them 2734 # from the output so that they don't get included in the library 2735 # dependencies. 2736 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2737 ;; 2738 esac 2739 ;; 2740 lynxos*) 2741 # FIXME: insert proper C++ library support 2742 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2743 ;; 2744 m88k*) 2745 # FIXME: insert proper C++ library support 2746 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2747 ;; 2748 mvs*) 2749 case $cc_basename in 2750 cxx) 2751 # FIXME: insert proper C++ library support 2752 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2753 ;; 2754 *) 2755 # FIXME: insert proper C++ library support 2756 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2757 ;; 2758 esac 2759 ;; 2760 netbsd*) 2761 # NetBSD uses g++ - do we need to do anything? 2762 ;; 2763 osf3*) 2764 case $cc_basename in 2765 KCC) 2766 # Kuck and Associates, Inc. (KAI) C++ Compiler 2767 2768 # KCC will only create a shared library if the output file 2769 # ends with ".so" (or ".sl" for HP-UX), so rename the library 2770 # to its proper name (with version) after linking. 2771 _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 2772 2773 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 2774 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2775 2776 # Archives containing C++ object files must be created using 2777 # "CC -Bstatic", where "CC" is the KAI C++ compiler. 2778 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 2779 2780 ;; 2781 RCC) 2782 # Rational C++ 2.4.1 2783 # FIXME: insert proper C++ library support 2784 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2785 ;; 2786 cxx) 2787 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 2788 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 2789 2790 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 2791 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2792 2793 # Commands to make compiler produce verbose output that lists 2794 # what "hidden" libraries, object files and flags are used when 2795 # linking a shared library. 2796 # 2797 # There doesn't appear to be a way to prevent this compiler from 2798 # explicitly linking system object files so we need to strip them 2799 # from the output so that they don't get included in the library 2800 # dependencies. 2801 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2802 ;; 2803 *) 2804 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 2805 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 2806 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 2807 2808 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 2809 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2810 2811 # Commands to make compiler produce verbose output that lists 2812 # what "hidden" libraries, object files and flags are used when 2813 # linking a shared library. 2814 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 2815 2816 else 2817 # FIXME: insert proper C++ library support 2818 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2819 fi 2820 ;; 2821 esac 2822 ;; 2823 osf4* | osf5*) 2824 case $cc_basename in 2825 KCC) 2826 # Kuck and Associates, Inc. (KAI) C++ Compiler 2827 2828 # KCC will only create a shared library if the output file 2829 # ends with ".so" (or ".sl" for HP-UX), so rename the library 2830 # to its proper name (with version) after linking. 2831 _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 2832 2833 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 2834 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2835 2836 # Archives containing C++ object files must be created using 2837 # the KAI C++ compiler. 2838 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' 2839 ;; 2840 RCC) 2841 # Rational C++ 2.4.1 2842 # FIXME: insert proper C++ library support 2843 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2844 ;; 2845 cxx) 2846 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 2847 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' 2848 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~ 2849 echo "-hidden">> $lib.exp~ 2850 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ 2851 $rm $lib.exp' 2852 2853 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 2854 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2855 2856 # Commands to make compiler produce verbose output that lists 2857 # what "hidden" libraries, object files and flags are used when 2858 # linking a shared library. 2859 # 2860 # There doesn't appear to be a way to prevent this compiler from 2861 # explicitly linking system object files so we need to strip them 2862 # from the output so that they don't get included in the library 2863 # dependencies. 2864 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2865 ;; 2866 *) 2867 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 2868 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 2869 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' 2870 2871 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 2872 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 2873 2874 # Commands to make compiler produce verbose output that lists 2875 # what "hidden" libraries, object files and flags are used when 2876 # linking a shared library. 2877 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' 2878 2879 else 2880 # FIXME: insert proper C++ library support 2881 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2882 fi 2883 ;; 2884 esac 2885 ;; 2886 psos*) 2887 # FIXME: insert proper C++ library support 2888 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2889 ;; 2890 sco*) 2891 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 2892 case $cc_basename in 2893 CC) 2894 # FIXME: insert proper C++ library support 2895 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2896 ;; 2897 *) 2898 # FIXME: insert proper C++ library support 2899 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2900 ;; 2901 esac 2902 ;; 2903 sunos4*) 2904 case $cc_basename in 2905 CC) 2906 # Sun C++ 4.x 2907 # FIXME: insert proper C++ library support 2908 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2909 ;; 2910 lcc) 2911 # Lucid 2912 # FIXME: insert proper C++ library support 2913 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2914 ;; 2915 *) 2916 # FIXME: insert proper C++ library support 2917 _LT_AC_TAGVAR(ld_shlibs, $1)=no 2918 ;; 2919 esac 2920 ;; 2921 solaris*) 2922 case $cc_basename in 2923 CC) 2924 # Sun C++ 4.2, 5.x and Centerline C++ 2925 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' 2926 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 2927 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 2928 $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' 2929 2930 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 2931 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 2932 case $host_os in 2933 solaris2.[0-5] | solaris2.[0-5].*) ;; 2934 *) 2935 # The C++ compiler is used as linker so we must use $wl 2936 # flag to pass the commands to the underlying system 2937 # linker. 2938 # Supported since Solaris 2.6 (maybe 2.5.1?) 2939 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 2940 ;; 2941 esac 2942 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 2943 2944 # Commands to make compiler produce verbose output that lists 2945 # what "hidden" libraries, object files and flags are used when 2946 # linking a shared library. 2947 # 2948 # There doesn't appear to be a way to prevent this compiler from 2949 # explicitly linking system object files so we need to strip them 2950 # from the output so that they don't get included in the library 2951 # dependencies. 2952 output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' 2953 2954 # Archives containing C++ object files must be created using 2955 # "CC -xar", where "CC" is the Sun C++ compiler. This is 2956 # necessary to make sure instantiated templates are included 2957 # in the archive. 2958 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 2959 ;; 2960 gcx) 2961 # Green Hills C++ Compiler 2962 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 2963 2964 # The C++ compiler must be used to create the archive. 2965 _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 2966 ;; 2967 *) 2968 # GNU C++ compiler with Solaris linker 2969 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 2970 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 2971 if $CC --version | egrep -v '^2\.7' > /dev/null; then 2972 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' 2973 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 2974 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' 2975 2976 # Commands to make compiler produce verbose output that lists 2977 # what "hidden" libraries, object files and flags are used when 2978 # linking a shared library. 2979 output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" 2980 else 2981 # g++ 2.7 appears to require `-G' NOT `-shared' on this 2982 # platform. 2983 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' 2984 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 2985 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' 2986 2987 # Commands to make compiler produce verbose output that lists 2988 # what "hidden" libraries, object files and flags are used when 2989 # linking a shared library. 2990 output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" 2991 fi 2992 2993 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 2994 fi 2995 ;; 2996 esac 2997 ;; 2998 sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) 2999 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 3000 ;; 3001 tandem*) 3002 case $cc_basename in 3003 NCC) 3004 # NonStop-UX NCC 3.20 3005 # FIXME: insert proper C++ library support 3006 _LT_AC_TAGVAR(ld_shlibs, $1)=no 3007 ;; 3008 *) 3009 # FIXME: insert proper C++ library support 3010 _LT_AC_TAGVAR(ld_shlibs, $1)=no 3011 ;; 3012 esac 3013 ;; 3014 vxworks*) 3015 # FIXME: insert proper C++ library support 3016 _LT_AC_TAGVAR(ld_shlibs, $1)=no 3017 ;; 3018 *) 3019 # FIXME: insert proper C++ library support 3020 _LT_AC_TAGVAR(ld_shlibs, $1)=no 3021 ;; 3022esac 3023AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) 3024test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 3025 3026# Figure out "hidden" C++ library dependencies from verbose 3027# compiler output whening linking a shared library. 3028cat > conftest.$ac_ext <<EOF 3029class Foo 3030{ 3031public: 3032 Foo (void) { a = 0; } 3033private: 3034 int a; 3035}; 3036EOF 3037 3038 3039if AC_TRY_EVAL(ac_compile); then 3040 # Parse the compiler output and extract the necessary 3041 # objects, libraries and library flags. 3042 3043 # Sentinel used to keep track of whether or not we are before 3044 # the conftest object file. 3045 pre_test_object_deps_done=no 3046 3047 # The `*' in the case matches for architectures that use `case' in 3048 # $output_verbose_cmd can trigger glob expansion during the loop 3049 # eval without this substitution. 3050 output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" 3051 3052 for p in `eval $output_verbose_link_cmd`; do 3053 case $p in 3054 3055 -L* | -R* | -l*) 3056 # Some compilers place space between "-{L,R}" and the path. 3057 # Remove the space. 3058 if test $p = "-L" \ 3059 || test $p = "-R"; then 3060 prev=$p 3061 continue 3062 else 3063 prev= 3064 fi 3065 3066 if test "$pre_test_object_deps_done" = no; then 3067 case $p in 3068 -L* | -R*) 3069 # Internal compiler library paths should come after those 3070 # provided the user. The postdeps already come after the 3071 # user supplied libs so there is no need to process them. 3072 if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then 3073 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 3074 else 3075 _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 3076 fi 3077 ;; 3078 # The "-l" case would never come before the object being 3079 # linked, so don't bother handling this case. 3080 esac 3081 else 3082 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then 3083 _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" 3084 else 3085 _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" 3086 fi 3087 fi 3088 ;; 3089 3090 *.$objext|*.$libext) 3091 # This assumes that the test object file only shows up 3092 # once in the compiler output. 3093 if test "$p" = "conftest.$objext"; then 3094 pre_test_object_deps_done=yes 3095 continue 3096 fi 3097 3098 if test "$pre_test_object_deps_done" = no; then 3099 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then 3100 _LT_AC_TAGVAR(predep_objects, $1)="$p" 3101 else 3102 _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" 3103 fi 3104 else 3105 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then 3106 _LT_AC_TAGVAR(postdep_objects, $1)="$p" 3107 else 3108 _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" 3109 fi 3110 fi 3111 ;; 3112 3113 *) ;; # Ignore the rest. 3114 3115 esac 3116 done 3117 3118 # Clean up. 3119 rm -f a.out 3120else 3121 echo "libtool.m4: error: problem compiling C++ test program" 3122fi 3123 3124$rm -f confest.$objext 3125 3126case " $_LT_AC_TAGVAR(postdeps, $1) " in 3127*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; 3128*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;; 3129esac 3130 3131_LT_AC_TAGVAR(GCC, $1)="$GXX" 3132_LT_AC_TAGVAR(LD, $1)="$LD" 3133 3134## CAVEAT EMPTOR: 3135## There is no encapsulation within the following macros, do not change 3136## the running order or otherwise move them around unless you know exactly 3137## what you are doing... 3138AC_LIBTOOL_PROG_COMPILER_PIC($1) 3139AC_LIBTOOL_PROG_CC_C_O($1) 3140AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) 3141AC_LIBTOOL_PROG_LD_SHLIBS($1) 3142AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) 3143AC_LIBTOOL_SYS_LIB_STRIP 3144AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) 3145AC_LIBTOOL_DLOPEN_SELF($1) 3146 3147AC_LIBTOOL_CONFIG($1) 3148 3149AC_LANG_POP 3150CC="$lt_save_CC" 3151])# AC_LIBTOOL_LANG_CXX_CONFIG 3152 3153 3154# AC_LIBTOOL_LANG_GCJ_CONFIG 3155# -------------------------- 3156# Ensure that the configuration vars for the C compiler are 3157# suitably defined. Those variables are subsequently used by 3158# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. 3159AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) 3160AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], 3161[AC_LANG_SAVE 3162 3163# Source file extension for C test sources. 3164ac_ext=java 3165 3166# Object file extension for compiled C test sources. 3167objext=o 3168_LT_AC_TAGVAR(objext, $1)=$objext 3169 3170# Code to be used in simple compile tests 3171lt_simple_compile_test_code="class foo {}" 3172 3173# Code to be used in simple link tests 3174lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' 3175 3176# ltmain only uses $CC for tagged configurations so make sure $CC is set. 3177_LT_AC_SYS_COMPILER 3178 3179# Allow CC to be a program name with arguments. 3180lt_save_CC="$CC" 3181CC=${GCJ-"gcj"} 3182set dummy $CC 3183compiler="[$]2" 3184_LT_AC_TAGVAR(compiler, $1)=$CC 3185 3186# GCJ did not exist at the time GCC didn't implicitly link libc in. 3187_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 3188 3189## CAVEAT EMPTOR: 3190## There is no encapsulation within the following macros, do not change 3191## the running order or otherwise move them around unless you know exactly 3192## what you are doing... 3193AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) 3194AC_LIBTOOL_PROG_COMPILER_PIC($1) 3195AC_LIBTOOL_PROG_CC_C_O($1) 3196AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) 3197AC_LIBTOOL_PROG_LD_SHLIBS($1) 3198AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) 3199AC_LIBTOOL_SYS_LIB_STRIP 3200AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) 3201AC_LIBTOOL_DLOPEN_SELF($1) 3202 3203AC_LIBTOOL_CONFIG($1) 3204 3205AC_LANG_RESTORE 3206CC="$lt_save_CC" 3207])# AC_LIBTOOL_LANG_GCJ_CONFIG 3208 3209 3210# AC_LIBTOOL_LANG_RC_CONFIG 3211# -------------------------- 3212# Ensure that the configuration vars for the Windows resource compiler are 3213# suitably defined. Those variables are subsequently used by 3214# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. 3215AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) 3216AC_DEFUN([_LT_AC_LANG_RC_CONFIG], 3217[AC_LANG_SAVE 3218 3219# Source file extension for RC test sources. 3220ac_ext=rc 3221 3222# Object file extension for compiled RC test sources. 3223objext=o 3224_LT_AC_TAGVAR(objext, $1)=$objext 3225 3226# Code to be used in simple compile tests 3227lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 3228 3229# Code to be used in simple link tests 3230lt_simple_link_test_code="$lt_simple_compile_test_code" 3231 3232# ltmain only uses $CC for tagged configurations so make sure $CC is set. 3233_LT_AC_SYS_COMPILER 3234 3235# Allow CC to be a program name with arguments. 3236lt_save_CC="$CC" 3237CC=${RC-"windres"} 3238set dummy $CC 3239compiler="[$]2" 3240_LT_AC_TAGVAR(compiler, $1)=$CC 3241_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 3242 3243AC_LIBTOOL_CONFIG($1) 3244 3245AC_LANG_RESTORE 3246CC="$lt_save_CC" 3247])# AC_LIBTOOL_LANG_RC_CONFIG 3248 3249 3250# AC_LIBTOOL_CONFIG([TAGNAME]) 3251# ---------------------------- 3252# If TAGNAME is not passed, then create an initial libtool script 3253# with a default configuration from the untagged config vars. Otherwise 3254# add code to config.status for appending the configuration named by 3255# TAGNAME from the matching tagged config vars. 3256AC_DEFUN([AC_LIBTOOL_CONFIG], 3257[# The else clause should only fire when bootstrapping the 3258# libtool distribution, otherwise you forgot to ship ltmain.sh 3259# with your package, and you will get complaints that there are 3260# no rules to generate ltmain.sh. 3261if test -f "$ltmain"; then 3262 # Now quote all the things that may contain metacharacters while being 3263 # careful not to overquote the AC_SUBSTed values. We take copies of the 3264 # variables and quote the copies for generation of the libtool script. 3265 for var in echo old_CC old_CFLAGS AR AR_FLAGS RANLIB LN_S LTCC NM SED SHELL \ 3266 libname_spec library_names_spec soname_spec extract_expsyms_cmds \ 3267 old_striplib striplib file_magic_cmd finish_cmds finish_eval \ 3268 deplibs_check_method reload_flag reload_cmds need_locks \ 3269 lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ 3270 lt_cv_sys_global_symbol_to_c_name_address \ 3271 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ 3272 old_postinstall_cmds old_postuninstall_cmds \ 3273 _LT_AC_TAGVAR(compiler, $1) \ 3274 _LT_AC_TAGVAR(CC, $1) \ 3275 _LT_AC_TAGVAR(LD, $1) \ 3276 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ 3277 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ 3278 _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ 3279 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ 3280 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ 3281 _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ 3282 _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ 3283 _LT_AC_TAGVAR(old_archive_cmds, $1) \ 3284 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ 3285 _LT_AC_TAGVAR(predep_objects, $1) \ 3286 _LT_AC_TAGVAR(postdep_objects, $1) \ 3287 _LT_AC_TAGVAR(predeps, $1) \ 3288 _LT_AC_TAGVAR(postdeps, $1) \ 3289 _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ 3290 _LT_AC_TAGVAR(archive_cmds, $1) \ 3291 _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ 3292 _LT_AC_TAGVAR(postinstall_cmds, $1) \ 3293 _LT_AC_TAGVAR(postuninstall_cmds, $1) \ 3294 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ 3295 _LT_AC_TAGVAR(allow_undefined_flag, $1) \ 3296 _LT_AC_TAGVAR(no_undefined_flag, $1) \ 3297 _LT_AC_TAGVAR(export_symbols_cmds, $1) \ 3298 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ 3299 _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ 3300 _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ 3301 _LT_AC_TAGVAR(exclude_expsyms, $1) \ 3302 _LT_AC_TAGVAR(include_expsyms, $1); do 3303 3304 case $var in 3305 _LT_AC_TAGVAR(old_archive_cmds, $1) | \ 3306 _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ 3307 _LT_AC_TAGVAR(archive_cmds, $1) | \ 3308 _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ 3309 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ 3310 _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ 3311 extract_expsyms_cmds | reload_cmds | finish_cmds | \ 3312 postinstall_cmds | postuninstall_cmds | \ 3313 old_postinstall_cmds | old_postuninstall_cmds | \ 3314 sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) 3315 # Double-quote double-evaled strings. 3316 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" 3317 ;; 3318 *) 3319 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" 3320 ;; 3321 esac 3322 done 3323 3324 case $lt_echo in 3325 *'\[$]0 --fallback-echo"') 3326 lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` 3327 ;; 3328 esac 3329 3330ifelse([$1], [], 3331 [cfgfile="${ofile}T" 3332 trap "$rm \"$cfgfile\"; exit 1" 1 2 15 3333 $rm -f "$cfgfile" 3334 AC_MSG_NOTICE([creating $ofile])], 3335 [cfgfile="$ofile"]) 3336 3337 cat <<__EOF__ >> "$cfgfile" 3338ifelse([$1], [], 3339[#! $SHELL 3340 3341# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 3342# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) 3343# NOTE: Changes made to this file will be lost: look at ltmain.sh. 3344# 3345# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 3346# Free Software Foundation, Inc. 3347# 3348# This file is part of GNU Libtool: 3349# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 3350# 3351# This program is free software; you can redistribute it and/or modify 3352# it under the terms of the GNU General Public License as published by 3353# the Free Software Foundation; either version 2 of the License, or 3354# (at your option) any later version. 3355# 3356# This program is distributed in the hope that it will be useful, but 3357# WITHOUT ANY WARRANTY; without even the implied warranty of 3358# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 3359# General Public License for more details. 3360# 3361# You should have received a copy of the GNU General Public License 3362# along with this program; if not, write to the Free Software 3363# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 3364# 3365# As a special exception to the GNU General Public License, if you 3366# distribute this file as part of a program that contains a 3367# configuration script generated by Autoconf, you may include it under 3368# the same distribution terms that you use for the rest of that program. 3369 3370# Sed that helps us avoid accidentally triggering echo(1) options like -n. 3371Xsed="sed -e s/^X//" 3372 3373# The HP-UX ksh and POSIX shell print the target directory to stdout 3374# if CDPATH is set. 3375if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi 3376 3377# The names of the tagged configurations supported by this script. 3378available_tags= 3379 3380# ### BEGIN LIBTOOL CONFIG], 3381[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) 3382 3383# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 3384 3385# Shell to use when invoking shell scripts. 3386SHELL=$lt_SHELL 3387 3388# Whether or not to build shared libraries. 3389build_libtool_libs=$enable_shared 3390 3391# Whether or not to build static libraries. 3392build_old_libs=$enable_static 3393 3394# Whether or not to add -lc for building shared libraries. 3395build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) 3396 3397# Whether or not to optimize for fast installation. 3398fast_install=$enable_fast_install 3399 3400# The host system. 3401host_alias=$host_alias 3402host=$host 3403 3404# An echo program that does not interpret backslashes. 3405echo=$lt_echo 3406 3407# The archiver. 3408AR=$lt_AR 3409AR_FLAGS=$lt_AR_FLAGS 3410 3411# A C compiler. 3412LTCC=$lt_LTCC 3413 3414# A language-specific compiler. 3415CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) 3416 3417# Is the compiler the GNU C compiler? 3418with_gcc=$_LT_AC_TAGVAR(GCC, $1) 3419 3420# The linker used to build libraries. 3421LD=$lt_[]_LT_AC_TAGVAR(LD, $1) 3422 3423# Whether we need hard or soft links. 3424LN_S=$lt_LN_S 3425 3426# A BSD-compatible nm program. 3427NM=$lt_NM 3428 3429# A sed program that does not truncate output. 3430SED=$lt_SED 3431 3432# A symbol stripping program 3433STRIP=$STRIP 3434 3435# Used to examine libraries when file_magic_cmd begins "file" 3436MAGIC_CMD=$MAGIC_CMD 3437 3438# Used on cygwin: DLL creation program. 3439DLLTOOL="$DLLTOOL" 3440 3441# Used on cygwin: object dumper. 3442OBJDUMP="$OBJDUMP" 3443 3444# Used on cygwin: assembler. 3445AS="$AS" 3446 3447# The name of the directory that contains temporary libtool files. 3448objdir=$objdir 3449 3450# How to create reloadable object files. 3451reload_flag=$lt_reload_flag 3452reload_cmds=$lt_reload_cmds 3453 3454# How to pass a linker flag through the compiler. 3455wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) 3456 3457# Object file suffix (normally "o"). 3458objext="$ac_objext" 3459 3460# Old archive suffix (normally "a"). 3461libext="$libext" 3462 3463# Executable file suffix (normally ""). 3464exeext="$exeext" 3465 3466# Additional compiler flags for building library objects. 3467pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) 3468pic_mode=$pic_mode 3469 3470# What is the maximum length of a command? 3471max_cmd_len=$lt_cv_sys_max_cmd_len 3472 3473# Does compiler simultaneously support -c and -o options? 3474compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) 3475 3476# Must we lock files when doing compilation ? 3477need_locks=$lt_need_locks 3478 3479# Do we need the lib prefix for modules? 3480need_lib_prefix=$need_lib_prefix 3481 3482# Do we need a version for libraries? 3483need_version=$need_version 3484 3485# Whether dlopen is supported. 3486dlopen_support=$enable_dlopen 3487 3488# Whether dlopen of programs is supported. 3489dlopen_self=$enable_dlopen_self 3490 3491# Whether dlopen of statically linked programs is supported. 3492dlopen_self_static=$enable_dlopen_self_static 3493 3494# Compiler flag to prevent dynamic linking. 3495link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) 3496 3497# Compiler flag to turn off builtin functions. 3498no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) 3499 3500# Compiler flag to allow reflexive dlopens. 3501export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) 3502 3503# Compiler flag to generate shared objects directly from archives. 3504whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) 3505 3506# Compiler flag to generate thread-safe objects. 3507thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) 3508 3509# Library versioning type. 3510version_type=$version_type 3511 3512# Format of library name prefix. 3513libname_spec=$lt_libname_spec 3514 3515# List of archive names. First name is the real one, the rest are links. 3516# The last name is the one that the linker finds with -lNAME. 3517library_names_spec=$lt_library_names_spec 3518 3519# The coded name of the library, if different from the real name. 3520soname_spec=$lt_soname_spec 3521 3522# Commands used to build and install an old-style archive. 3523RANLIB=$lt_RANLIB 3524old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) 3525old_postinstall_cmds=$lt_old_postinstall_cmds 3526old_postuninstall_cmds=$lt_old_postuninstall_cmds 3527 3528# Create an old-style archive from a shared archive. 3529old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) 3530 3531# Create a temporary old-style archive to link instead of a shared archive. 3532old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) 3533 3534# Commands used to build and install a shared archive. 3535archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) 3536archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) 3537postinstall_cmds=$lt_postinstall_cmds 3538postuninstall_cmds=$lt_postuninstall_cmds 3539 3540# Commands to strip libraries. 3541old_striplib=$lt_old_striplib 3542striplib=$lt_striplib 3543 3544# Dependencies to place before the objects being linked to create a 3545# shared library. 3546predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) 3547 3548# Dependencies to place after the objects being linked to create a 3549# shared library. 3550postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) 3551 3552# Dependencies to place before the objects being linked to create a 3553# shared library. 3554predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) 3555 3556# Dependencies to place after the objects being linked to create a 3557# shared library. 3558postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) 3559 3560# The library search path used internally by the compiler when linking 3561# a shared library. 3562compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) 3563 3564# Method to check whether dependent libraries are shared objects. 3565deplibs_check_method=$lt_deplibs_check_method 3566 3567# Command to use when deplibs_check_method == file_magic. 3568file_magic_cmd=$lt_file_magic_cmd 3569 3570# Flag that allows shared libraries with undefined symbols to be built. 3571allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) 3572 3573# Flag that forces no undefined symbols. 3574no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) 3575 3576# Commands used to finish a libtool library installation in a directory. 3577finish_cmds=$lt_finish_cmds 3578 3579# Same as above, but a single script fragment to be evaled but not shown. 3580finish_eval=$lt_finish_eval 3581 3582# Take the output of nm and produce a listing of raw symbols and C names. 3583global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe 3584 3585# Transform the output of nm in a proper C declaration 3586global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl 3587 3588# Transform the output of nm in a C name address pair 3589global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address 3590 3591# This is the shared library runtime path variable. 3592runpath_var=$runpath_var 3593 3594# This is the shared library path variable. 3595shlibpath_var=$shlibpath_var 3596 3597# Is shlibpath searched before the hard-coded library search path? 3598shlibpath_overrides_runpath=$shlibpath_overrides_runpath 3599 3600# How to hardcode a shared library path into an executable. 3601hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) 3602 3603# Whether we should hardcode library paths into libraries. 3604hardcode_into_libs=$hardcode_into_libs 3605 3606# Flag to hardcode \$libdir into a binary during linking. 3607# This must work even if \$libdir does not exist. 3608hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) 3609 3610# Whether we need a single -rpath flag with a separated argument. 3611hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) 3612 3613# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the 3614# resulting binary. 3615hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) 3616 3617# Set to yes if using the -LDIR flag during linking hardcodes DIR into the 3618# resulting binary. 3619hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) 3620 3621# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into 3622# the resulting binary. 3623hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) 3624 3625# Variables whose values should be saved in libtool wrapper scripts and 3626# restored at relink time. 3627variables_saved_for_relink="$variables_saved_for_relink" 3628 3629# Whether libtool must link a program against all its dependency libraries. 3630link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) 3631 3632# Compile-time system search path for libraries 3633sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 3634 3635# Run-time system search path for libraries 3636sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec 3637 3638# Fix the shell variable \$srcfile for the compiler. 3639fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" 3640 3641# Set to yes if exported symbols are required. 3642always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) 3643 3644# The commands to list exported symbols. 3645export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) 3646 3647# The commands to extract the exported symbol list from a shared archive. 3648extract_expsyms_cmds=$lt_extract_expsyms_cmds 3649 3650# Symbols that should not be listed in the preloaded symbols. 3651exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) 3652 3653# Symbols that must always be exported. 3654include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) 3655 3656ifelse([$1],[], 3657[# ### END LIBTOOL CONFIG], 3658[# ### END LIBTOOL TAG CONFIG: $tagname]) 3659 3660__EOF__ 3661 3662ifelse([$1],[], [ 3663 case $host_os in 3664 aix3*) 3665 cat <<\EOF >> "$cfgfile" 3666 3667# AIX sometimes has problems with the GCC collect2 program. For some 3668# reason, if we set the COLLECT_NAMES environment variable, the problems 3669# vanish in a puff of smoke. 3670if test "X${COLLECT_NAMES+set}" != Xset; then 3671 COLLECT_NAMES= 3672 export COLLECT_NAMES 3673fi 3674EOF 3675 ;; 3676 3677 cygwin* | mingw* | pw32* | os2*) 3678 cat <<'EOF' >> "$cfgfile" 3679 # This is a source program that is used to create dlls on Windows 3680 # Don't remove nor modify the starting and closing comments 3681 _LT_AC_FILE_LTDLL_C 3682 # This is a source program that is used to create import libraries 3683 # on Windows for dlls which lack them. Don't remove nor modify the 3684 # starting and closing comments 3685 _LT_AC_FILE_IMPGEN_C 3686EOF 3687 ;; 3688 esac 3689 3690 # We use sed instead of cat because bash on DJGPP gets confused if 3691 # if finds mixed CR/LF and LF-only lines. Since sed operates in 3692 # text mode, it properly converts lines to CR/LF. This bash problem 3693 # is reportedly fixed, but why not run on old versions too? 3694 sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) 3695 3696 mv -f "$cfgfile" "$ofile" || \ 3697 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 3698 chmod +x "$ofile" 3699]) 3700else 3701 # If there is no Makefile yet, we rely on a make rule to execute 3702 # `config.status --recheck' to rerun these tests and create the 3703 # libtool script then. 3704 test -f Makefile && make "$ltmain" 3705fi 3706])# AC_LIBTOOL_CONFIG 3707 3708 3709# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) 3710# ------------------------------------------- 3711AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], 3712[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl 3713 3714_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3715 3716if test "$GCC" = yes; then 3717 _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 3718 3719 AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3720 lt_cv_prog_compiler_rtti_exceptions, 3721 [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [], 3722 [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 3723fi 3724])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI 3725 3726 3727# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 3728# --------------------------------- 3729AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], 3730[AC_REQUIRE([AC_CANONICAL_HOST]) 3731AC_REQUIRE([AC_PROG_NM]) 3732AC_REQUIRE([AC_OBJEXT]) 3733# Check for command to grab the raw symbol name followed by C symbol from nm. 3734AC_MSG_CHECKING([command to parse $NM output from $compiler object]) 3735AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 3736[ 3737# These are sane defaults that work on at least a few old systems. 3738# [They come from Ultrix. What could be older than Ultrix?!! ;)] 3739 3740# Character class describing NM global symbol codes. 3741symcode='[[BCDEGRST]]' 3742 3743# Regexp to match symbols that can be accessed directly from C. 3744sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 3745 3746# Transform the above into a raw symbol and a C symbol. 3747symxfrm='\1 \2\3 \3' 3748 3749# Transform an extracted symbol line into a proper C declaration 3750lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" 3751 3752# Transform an extracted symbol line into symbol name and symbol address 3753lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" 3754 3755# Define system-specific variables. 3756case $host_os in 3757aix*) 3758 symcode='[[BCDT]]' 3759 ;; 3760cygwin* | mingw* | pw32*) 3761 symcode='[[ABCDGISTW]]' 3762 ;; 3763hpux*) # Its linker distinguishes data from code symbols 3764 if test "$host_cpu" = ia64; then 3765 symcode='[[ABCDEGRST]]' 3766 fi 3767 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 3768 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" 3769 ;; 3770irix* | nonstopux*) 3771 symcode='[[BCDEGRST]]' 3772 ;; 3773solaris* | sysv5*) 3774 symcode='[[BDT]]' 3775 ;; 3776sysv4) 3777 symcode='[[DFNSTU]]' 3778 ;; 3779esac 3780 3781# Handle CRLF in mingw tool chain 3782opt_cr= 3783case $host_os in 3784mingw*) 3785 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp 3786 ;; 3787esac 3788 3789# If we're using GNU nm, then use its standard symbol codes. 3790if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then 3791 symcode='[[ABCDGISTW]]' 3792fi 3793 3794# Try without a prefix undercore, then with it. 3795for ac_symprfx in "" "_"; do 3796 3797 # Write the raw and C identifiers. 3798 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" 3799 3800 # Check to see that the pipe works correctly. 3801 pipe_works=no 3802 3803 rm -f conftest* 3804 cat > conftest.$ac_ext <<EOF 3805#ifdef __cplusplus 3806extern "C" { 3807#endif 3808char nm_test_var; 3809void nm_test_func(){} 3810#ifdef __cplusplus 3811} 3812#endif 3813int main(){nm_test_var='a';nm_test_func();return(0);} 3814EOF 3815 3816 if AC_TRY_EVAL(ac_compile); then 3817 # Now try to grab the symbols. 3818 nlist=conftest.nm 3819 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 3820 # Try sorting and uniquifying the output. 3821 if sort "$nlist" | uniq > "$nlist"T; then 3822 mv -f "$nlist"T "$nlist" 3823 else 3824 rm -f "$nlist"T 3825 fi 3826 3827 # Make sure that we snagged all the symbols we need. 3828 if egrep ' nm_test_var$' "$nlist" >/dev/null; then 3829 if egrep ' nm_test_func$' "$nlist" >/dev/null; then 3830 cat <<EOF > conftest.$ac_ext 3831#ifdef __cplusplus 3832extern "C" { 3833#endif 3834 3835EOF 3836 # Now generate the symbol file. 3837 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' 3838 3839 cat <<EOF >> conftest.$ac_ext 3840#if defined (__STDC__) && __STDC__ 3841# define lt_ptr_t void * 3842#else 3843# define lt_ptr_t char * 3844# define const 3845#endif 3846 3847/* The mapping between symbol names and symbols. */ 3848const struct { 3849 const char *name; 3850 lt_ptr_t address; 3851} 3852lt_preloaded_symbols[[]] = 3853{ 3854EOF 3855 sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext 3856 cat <<\EOF >> conftest.$ac_ext 3857 {0, (lt_ptr_t) 0} 3858}; 3859 3860#ifdef __cplusplus 3861} 3862#endif 3863EOF 3864 # Now try linking the two files. 3865 mv conftest.$ac_objext conftstm.$ac_objext 3866 lt_save_LIBS="$LIBS" 3867 lt_save_CFLAGS="$CFLAGS" 3868 LIBS="conftstm.$ac_objext" 3869 CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 3870 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 3871 pipe_works=yes 3872 fi 3873 LIBS="$lt_save_LIBS" 3874 CFLAGS="$lt_save_CFLAGS" 3875 else 3876 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 3877 fi 3878 else 3879 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 3880 fi 3881 else 3882 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 3883 fi 3884 else 3885 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 3886 cat conftest.$ac_ext >&5 3887 fi 3888 rm -f conftest* conftst* 3889 3890 # Do not use the global_symbol_pipe unless it works. 3891 if test "$pipe_works" = yes; then 3892 break 3893 else 3894 lt_cv_sys_global_symbol_pipe= 3895 fi 3896done 3897]) 3898if test -z "$lt_cv_sys_global_symbol_pipe"; then 3899 lt_cv_sys_global_symbol_to_cdecl= 3900fi 3901if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 3902 AC_MSG_RESULT(failed) 3903else 3904 AC_MSG_RESULT(ok) 3905fi 3906]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 3907 3908 3909# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) 3910# --------------------------------------- 3911AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], 3912[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= 3913_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 3914_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= 3915 3916AC_MSG_CHECKING([for $compiler option to produce PIC]) 3917 ifelse([$1],[CXX],[ 3918 # C++ specific cases for pic, static, wl, etc. 3919 if test "$GXX" = yes; then 3920 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3921 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' 3922 3923 case $host_os in 3924 aix*) 3925 # All AIX code is PIC. 3926 if test "$host_cpu" = ia64; then 3927 # AIX 5 now supports IA64 processor 3928 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3929 fi 3930 ;; 3931 amigaos*) 3932 # FIXME: we need at least 68020 code to build shared libraries, but 3933 # adding the `-m68020' flag to GCC prevents building anything better, 3934 # like `-m68040'. 3935 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3936 ;; 3937 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3938 # PIC is the default for these OSes. 3939 ;; 3940 cygwin* | mingw* | os2*) 3941 # This hack is so that the source file can tell whether it is being 3942 # built for inclusion in a dll (and should export symbols for example). 3943 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' 3944 ;; 3945 darwin* | rhapsody*) 3946 # PIC is the default on this platform 3947 # Common symbols not allowed in MH_DYLIB files 3948 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3949 ;; 3950 *djgpp*) 3951 # DJGPP does not support shared libraries at all 3952 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 3953 ;; 3954 sysv4*MP*) 3955 if test -d /usr/nec; then 3956 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3957 fi 3958 ;; 3959 hpux*) 3960 # PIC is the default for IA64 HP-UX, but not for PA HP-UX. 3961 if test "$host_cpu" != ia64; then 3962 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3963 fi 3964 ;; 3965 *) 3966 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3967 ;; 3968 esac 3969 else 3970 case $host_os in 3971 aix4* | aix5*) 3972 # All AIX code is PIC. 3973 if test "$host_cpu" = ia64; then 3974 # AIX 5 now supports IA64 processor 3975 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3976 else 3977 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3978 fi 3979 ;; 3980 chorus*) 3981 case $cc_basename in 3982 cxch68) 3983 # Green Hills C++ Compiler 3984 # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" 3985 ;; 3986 esac 3987 ;; 3988 dgux*) 3989 case $cc_basename in 3990 ec++) 3991 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3992 ;; 3993 ghcx) 3994 # Green Hills C++ Compiler 3995 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3996 ;; 3997 *) 3998 ;; 3999 esac 4000 ;; 4001 freebsd*) 4002 # FreeBSD uses GNU C++ 4003 ;; 4004 hpux9* | hpux10* | hpux11*) 4005 case $cc_basename in 4006 CC) 4007 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4008 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" 4009 if test "$host_cpu" != ia64; then 4010 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4011 fi 4012 ;; 4013 aCC) 4014 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4015 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" 4016 if test "$host_cpu" != ia64; then 4017 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4018 fi 4019 ;; 4020 *) 4021 ;; 4022 esac 4023 ;; 4024 irix5* | irix6* | nonstopux*) 4025 case $cc_basename in 4026 CC) 4027 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4028 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4029 # CC pic flag -KPIC is the default. 4030 ;; 4031 *) 4032 ;; 4033 esac 4034 ;; 4035 linux*) 4036 case $cc_basename in 4037 KCC) 4038 # KAI C++ Compiler 4039 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4040 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4041 ;; 4042 cxx) 4043 # Compaq C++ 4044 # Make sure the PIC flag is empty. It appears that all Alpha 4045 # Linux and Compaq Tru64 Unix objects are PIC. 4046 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 4047 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4048 ;; 4049 *) 4050 ;; 4051 esac 4052 ;; 4053 lynxos*) 4054 ;; 4055 m88k*) 4056 ;; 4057 mvs*) 4058 case $cc_basename in 4059 cxx) 4060 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 4061 ;; 4062 *) 4063 ;; 4064 esac 4065 ;; 4066 netbsd*) 4067 ;; 4068 osf3* | osf4* | osf5*) 4069 case $cc_basename in 4070 KCC) 4071 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4072 ;; 4073 RCC) 4074 # Rational C++ 2.4.1 4075 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4076 ;; 4077 cxx) 4078 # Digital/Compaq C++ 4079 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4080 # Make sure the PIC flag is empty. It appears that all Alpha 4081 # Linux and Compaq Tru64 Unix objects are PIC. 4082 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 4083 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4084 ;; 4085 *) 4086 ;; 4087 esac 4088 ;; 4089 psos*) 4090 ;; 4091 sco*) 4092 case $cc_basename in 4093 CC) 4094 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4095 ;; 4096 *) 4097 ;; 4098 esac 4099 ;; 4100 solaris*) 4101 case $cc_basename in 4102 CC) 4103 # Sun C++ 4.2, 5.x and Centerline C++ 4104 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4105 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4106 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4107 ;; 4108 gcx) 4109 # Green Hills C++ Compiler 4110 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4111 ;; 4112 *) 4113 ;; 4114 esac 4115 ;; 4116 sunos4*) 4117 case $cc_basename in 4118 CC) 4119 # Sun C++ 4.x 4120 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4121 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4122 ;; 4123 lcc) 4124 # Lucid 4125 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4126 ;; 4127 *) 4128 ;; 4129 esac 4130 ;; 4131 tandem*) 4132 case $cc_basename in 4133 NCC) 4134 # NonStop-UX NCC 3.20 4135 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4136 ;; 4137 *) 4138 ;; 4139 esac 4140 ;; 4141 unixware*) 4142 ;; 4143 vxworks*) 4144 ;; 4145 *) 4146 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4147 ;; 4148 esac 4149 fi 4150], 4151[ 4152 if test "$GCC" = yes; then 4153 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4154 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' 4155 4156 case $host_os in 4157 aix*) 4158 # All AIX code is PIC. 4159 if test "$host_cpu" = ia64; then 4160 # AIX 5 now supports IA64 processor 4161 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4162 fi 4163 ;; 4164 4165 amigaos*) 4166 # FIXME: we need at least 68020 code to build shared libraries, but 4167 # adding the `-m68020' flag to GCC prevents building anything better, 4168 # like `-m68040'. 4169 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4170 ;; 4171 4172 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4173 # PIC is the default for these OSes. 4174 ;; 4175 4176 cygwin* | mingw* | pw32* | os2*) 4177 # This hack is so that the source file can tell whether it is being 4178 # built for inclusion in a dll (and should export symbols for example). 4179 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' 4180 ;; 4181 4182 darwin* | rhapsody*) 4183 # PIC is the default on this platform 4184 # Common symbols not allowed in MH_DYLIB files 4185 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4186 ;; 4187 4188 msdosdjgpp*) 4189 # Just because we use GCC doesn't mean we suddenly get shared libraries 4190 # on systems that don't support them. 4191 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4192 enable_shared=no 4193 ;; 4194 4195 sysv4*MP*) 4196 if test -d /usr/nec; then 4197 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4198 fi 4199 ;; 4200 4201 hpux*) 4202 # PIC is the default for IA64 HP-UX, but not for PA HP-UX. 4203 if test "$host_cpu" != ia64; then 4204 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4205 fi 4206 ;; 4207 4208 *) 4209 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4210 ;; 4211 esac 4212 else 4213 # PORTME Check for flag to pass linker flags through the system compiler. 4214 case $host_os in 4215 aix*) 4216 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4217 if test "$host_cpu" = ia64; then 4218 # AIX 5 now supports IA64 processor 4219 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4220 else 4221 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4222 fi 4223 ;; 4224 4225 cygwin* | mingw* | pw32* | os2*) 4226 # This hack is so that the source file can tell whether it is being 4227 # built for inclusion in a dll (and should export symbols for example). 4228 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' 4229 ;; 4230 4231 hpux9* | hpux10* | hpux11*) 4232 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4233 if test "$host_cpu" != ia64; then 4234 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4235 fi 4236 # Is there a better lt_prog_compiler_static that works with the bundled CC? 4237 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 4238 ;; 4239 4240 irix5* | irix6* | nonstopux*) 4241 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4242 # PIC (with -KPIC) is the default. 4243 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4244 ;; 4245 4246 newsos6) 4247 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4248 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4249 ;; 4250 4251 osf3* | osf4* | osf5*) 4252 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4253 # All OSF/1 code is PIC. 4254 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4255 ;; 4256 4257 sco3.2v5*) 4258 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' 4259 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' 4260 ;; 4261 4262 solaris*) 4263 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4264 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4265 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4266 ;; 4267 4268 sunos4*) 4269 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4270 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4271 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4272 ;; 4273 4274 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 4275 if test "x$host_vendor" = xsni; then 4276 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD' 4277 else 4278 _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4279 fi 4280 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4281 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4282 ;; 4283 4284 sysv4*MP*) 4285 if test -d /usr/nec ;then 4286 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4287 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4288 fi 4289 ;; 4290 4291 uts4*) 4292 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4293 _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4294 ;; 4295 4296 *) 4297 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4298 ;; 4299 esac 4300 fi 4301]) 4302AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) 4303 4304# 4305# Check to make sure the PIC flag actually works. 4306# 4307if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then 4308 AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], 4309 _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), 4310 [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [], 4311 [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in 4312 "" | " "*) ;; 4313 *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; 4314 esac], 4315 [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 4316 _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 4317fi 4318case "$host_os" in 4319 # For platforms which do not support PIC, -DPIC is meaningless: 4320 *djgpp*) 4321 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= 4322 ;; 4323 *) 4324 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC" 4325 ;; 4326esac 4327]) 4328 4329 4330# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) 4331# ------------------------------------ 4332# See if the linker supports building shared libraries. 4333AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], 4334[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4335ifelse([$1],[CXX],[ 4336 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' 4337 case $host_os in 4338 aix4* | aix5*) 4339 # If we're using GNU nm, then we don't want the "-C" option. 4340 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4341 if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then 4342 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' 4343 else 4344 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' 4345 fi 4346 ;; 4347 cygwin* | mingw* | pw32*) 4348 _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 4349 ;; 4350 *) 4351 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' 4352 ;; 4353 esac 4354],[ 4355 runpath_var= 4356 _LT_AC_TAGVAR(allow_undefined_flag, $1)= 4357 4358 _LT_AC_TAGVAR(archive_cmds, $1)= 4359 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)= 4360 _LT_AC_TAGVAR(archive_expsym_cmds, $1)= 4361 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= 4362 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= 4363 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= 4364 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 4365 _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= 4366 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= 4367 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= 4368 _LT_AC_TAGVAR(hardcode_direct, $1)=no 4369 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no 4370 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 4371 _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown 4372 _LT_AC_TAGVAR(always_export_symbols, $1)=no 4373 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' 4374 # include_expsyms should be a list of space-separated symbols to be *always* 4375 # included in the symbol list 4376 _LT_AC_TAGVAR(include_expsyms, $1)= 4377 # exclude_expsyms can be an egrep regular expression of symbols to exclude 4378 # it will be wrapped by ` (' and `)$', so one must not match beginning or 4379 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 4380 # as well as any symbol that contains `d'. 4381 _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" 4382 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 4383 # platforms (ab)use it in PIC code, but their linkers get confused if 4384 # the symbol is explicitly referenced. Since portable code cannot 4385 # rely on this symbol name, it's probably fine to never include it in 4386 # preloaded symbol tables. 4387 extract_expsyms_cmds= 4388 4389 case $host_os in 4390 cygwin* | mingw* | pw32*) 4391 # FIXME: the MSVC++ port hasn't been tested in a loooong time 4392 # When not using gcc, we currently assume that we are using 4393 # Microsoft Visual C++. 4394 if test "$GCC" != yes; then 4395 with_gnu_ld=no 4396 fi 4397 ;; 4398 openbsd*) 4399 with_gnu_ld=no 4400 ;; 4401 esac 4402 4403 _LT_AC_TAGVAR(ld_shlibs, $1)=yes 4404 if test "$with_gnu_ld" = yes; then 4405 # If archive_cmds runs LD, not CC, wlarc should be empty 4406 wlarc='${wl}' 4407 4408 # See if GNU ld supports shared libraries. 4409 case $host_os in 4410 aix3* | aix4* | aix5*) 4411 # On AIX/PPC, the GNU linker is very broken 4412 if test "$host_cpu" != ia64; then 4413 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4414 cat <<EOF 1>&2 4415 4416*** Warning: the GNU linker, at least up to release 2.9.1, is reported 4417*** to be unable to reliably create shared libraries on AIX. 4418*** Therefore, libtool is disabling shared libraries support. If you 4419*** really care for shared libraries, you may want to modify your PATH 4420*** so that a non-GNU linker is found, and then restart. 4421 4422EOF 4423 fi 4424 ;; 4425 4426 amigaos*) 4427 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' 4428 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4429 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4430 4431 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports 4432 # that the semantics of dynamic libraries on AmigaOS, at least up 4433 # to version 4, is to share data among multiple programs linked 4434 # with the same dynamic library. Since this doesn't match the 4435 # behavior of shared libraries on other platforms, we can't use 4436 # them. 4437 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4438 ;; 4439 4440 beos*) 4441 if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 4442 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported 4443 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 4444 # support --undefined. This deserves some investigation. FIXME 4445 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4446 else 4447 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4448 fi 4449 ;; 4450 4451 cygwin* | mingw* | pw32*) 4452 # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is 4453 # no search path for DLLs. 4454 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4455 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported 4456 _LT_AC_TAGVAR(always_export_symbols, $1)=yes 4457 4458 extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ 4459 sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ 4460 test -f $output_objdir/impgen.exe || (cd $output_objdir && \ 4461 if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ 4462 else $CC -o impgen impgen.c ; fi)~ 4463 $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' 4464 4465 _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' 4466 4467 # cygwin and mingw dlls have different entry points and sets of symbols 4468 # to exclude. 4469 # FIXME: what about values for MSVC? 4470 dll_entry=__cygwin_dll_entry@12 4471 dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ 4472 case $host_os in 4473 mingw*) 4474 # mingw values 4475 dll_entry=_DllMainCRTStartup@12 4476 dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ 4477 ;; 4478 esac 4479 4480 # mingw and cygwin differ, and it's simplest to just exclude the union 4481 # of the two symbol sets. 4482 dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 4483 4484 # recent cygwin and mingw systems supply a stub DllMain which the user 4485 # can override, but on older systems we have to supply one (in ltdll.c) 4486 if test "x$lt_cv_need_dllmain" = "xyes"; then 4487 ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " 4488 ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ 4489 test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' 4490 else 4491 ltdll_obj= 4492 ltdll_cmds= 4493 fi 4494 4495 # Extract the symbol export list from an `--export-all' def file, 4496 # then regenerate the def file from the symbol export list, so that 4497 # the compiled dll only exports the symbol export list. 4498 # Be careful not to strip the DATA tag left by newer dlltools. 4499 _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"' 4500 $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ 4501 sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' 4502 4503 # If the export-symbols file already is a .def file (1st line 4504 # is EXPORTS), use it as is. 4505 # If DATA tags from a recent dlltool are present, honour them! 4506 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then 4507 cp $export_symbols $output_objdir/$soname-def; 4508 else 4509 echo EXPORTS > $output_objdir/$soname-def; 4510 _lt_hint=1; 4511 cat $export_symbols | while read symbol; do 4512 set dummy \$symbol; 4513 case \[$]# in 4514 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; 4515 *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; 4516 esac; 4517 _lt_hint=`expr 1 + \$_lt_hint`; 4518 done; 4519 fi~ 4520 '"$ltdll_cmds"' 4521 $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ 4522 $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ 4523 $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ 4524 $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ 4525 $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' 4526 ;; 4527 4528 netbsd*) 4529 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 4530 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 4531 wlarc= 4532 else 4533 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4534 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4535 fi 4536 ;; 4537 4538 solaris* | sysv5*) 4539 if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then 4540 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4541 cat <<EOF 1>&2 4542 4543*** Warning: The releases 2.8.* of the GNU linker cannot reliably 4544*** create shared libraries on Solaris systems. Therefore, libtool 4545*** is disabling shared libraries support. We urge you to upgrade GNU 4546*** binutils to release 2.9.1 or newer. Another option is to modify 4547*** your PATH or compiler configuration so that the native linker is 4548*** used, and then restart. 4549 4550EOF 4551 elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 4552 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4553 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4554 else 4555 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4556 fi 4557 ;; 4558 4559 sunos4*) 4560 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4561 wlarc= 4562 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4563 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4564 ;; 4565 4566 *) 4567 if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 4568 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4569 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 4570 else 4571 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4572 fi 4573 ;; 4574 esac 4575 4576 if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then 4577 runpath_var=LD_RUN_PATH 4578 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 4579 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 4580 case $host_os in 4581 cygwin* | mingw* | pw32*) 4582 # dlltool doesn't understand --whole-archive et. al. 4583 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 4584 ;; 4585 *) 4586 # ancient GNU ld didn't support --whole-archive et. al. 4587 if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then 4588 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 4589 else 4590 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 4591 fi 4592 ;; 4593 esac 4594 fi 4595 else 4596 # PORTME fill in a description of your system's linker (not GNU ld) 4597 case $host_os in 4598 aix3*) 4599 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported 4600 _LT_AC_TAGVAR(always_export_symbols, $1)=yes 4601 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' 4602 # Note: this linker hardcodes the directories in LIBPATH if there 4603 # are no directories specified by -L. 4604 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4605 if test "$GCC" = yes && test -z "$link_static_flag"; then 4606 # Neither direct hardcoding nor static linking is supported with a 4607 # broken collect2. 4608 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported 4609 fi 4610 ;; 4611 4612 aix4* | aix5*) 4613 if test "$host_cpu" = ia64; then 4614 # On IA64, the linker does run time linking by default, so we don't 4615 # have to do anything special. 4616 aix_use_runtimelinking=no 4617 exp_sym_flag='-Bexport' 4618 no_entry_flag="" 4619 else 4620 # If we're using GNU nm, then we don't want the "-C" option. 4621 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4622 if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then 4623 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' 4624 else 4625 _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' 4626 fi 4627 4628 # KDE requires run time linking. Make it the default. 4629 aix_use_runtimelinking=yes 4630 exp_sym_flag='-bexport' 4631 no_entry_flag='-bnoentry' 4632 fi 4633 4634 # When large executables or shared objects are built, AIX ld can 4635 # have problems creating the table of contents. If linking a library 4636 # or program results in "error TOC overflow" add -mminimal-toc to 4637 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 4638 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 4639 4640 _LT_AC_TAGVAR(archive_cmds, $1)='' 4641 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4642 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' 4643 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 4644 4645 if test "$GCC" = yes; then 4646 case $host_os in aix4.[012]|aix4.[012].*) 4647 # We only want to do this on AIX 4.2 and lower, the check 4648 # below for broken collect2 doesn't work under 4.3+ 4649 collect2name=`${CC} -print-prog-name=collect2` 4650 if test -f "$collect2name" && \ 4651 strings "$collect2name" | grep resolve_lib_name >/dev/null 4652 then 4653 # We have reworked collect2 4654 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4655 else 4656 # We have old collect2 4657 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported 4658 # It fails to find uninstalled libraries when the uninstalled 4659 # path is not listed in the libpath. Setting hardcode_minus_L 4660 # to unsupported forces relinking 4661 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4662 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4663 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= 4664 fi 4665 esac 4666 shared_flag='-shared' 4667 else 4668 # not using gcc 4669 if test "$host_cpu" = ia64; then 4670 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 4671 # chokes on -Wl,-G. The following line is correct: 4672 shared_flag='-G' 4673 else 4674 if test "$aix_use_runtimelinking" = yes; then 4675 shared_flag='-qmkshrobj ${wl}-G' 4676 else 4677 shared_flag='-qmkshrobj' 4678 fi 4679 fi 4680 fi 4681 4682 # Let the compiler handle the export list. 4683 _LT_AC_TAGVAR(always_export_symbols, $1)=no 4684 if test "$aix_use_runtimelinking" = yes; then 4685 # Warning - without using the other runtime loading flags (-brtl), 4686 # -berok will link without error, but may produce a broken library. 4687 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' 4688 # Determine the default libpath from the value encoded in an empty executable. 4689 _LT_AC_SYS_LIBPATH_AIX 4690 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4691 _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" 4692 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 4693 else 4694 if test "$host_cpu" = ia64; then 4695 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 4696 _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 4697 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" 4698 else 4699 # Determine the default libpath from the value encoded in an empty executable. 4700 _LT_AC_SYS_LIBPATH_AIX 4701 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4702 # Warning - without using the other run time loading flags, 4703 # -berok will link without error, but may produce a broken library. 4704 _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 4705 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 4706 # -bexpall does not export symbols beginning with underscore (_) 4707 _LT_AC_TAGVAR(always_export_symbols, $1)=yes 4708 # Exported symbols can be pulled into shared objects from archives 4709 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' 4710 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes 4711 # This is similar to how AIX traditionally builds it's shared libraries. 4712 _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 4713 fi 4714 fi 4715 ;; 4716 4717 amigaos*) 4718 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' 4719 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4720 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4721 # see comment about different semantics on the GNU ld section 4722 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4723 ;; 4724 4725 bsdi4*) 4726 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 4727 ;; 4728 4729 cygwin* | mingw* | pw32*) 4730 # When not using gcc, we currently assume that we are using 4731 # Microsoft Visual C++. 4732 # hardcode_libdir_flag_spec is actually meaningless, as there is 4733 # no search path for DLLs. 4734 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 4735 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported 4736 # Tell ltmain to make .lib files, not .a files. 4737 libext=lib 4738 # FIXME: Setting linknames here is a bad hack. 4739 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 4740 # The linker will automatically build a .lib file if we build a DLL. 4741 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' 4742 # FIXME: Should let the user specify the lib program. 4743 _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' 4744 fix_srcfile_path='`cygpath -w "$srcfile"`' 4745 ;; 4746 4747 darwin* | rhapsody*) 4748 case "$host_os" in 4749 rhapsody* | darwin1.[[012]]) 4750 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' 4751 ;; 4752 *) # Darwin 1.3 on 4753 _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' 4754 ;; 4755 esac 4756 4757 # FIXME: Relying on posixy $() will cause problems for 4758 # cross-compilation, but unfortunately the echo tests do not 4759 # yet detect zsh echo's removal of \ escapes. Also zsh mangles 4760 # `"' quotes if we put them in here... so don't! 4761 _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' 4762 # We need to add '_' to the symbols in $export_symbols first 4763 #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols' 4764 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4765 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4766 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' 4767 ;; 4768 4769 dgux*) 4770 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4771 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4772 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4773 ;; 4774 4775 freebsd1*) 4776 _LT_AC_TAGVAR(ld_shlibs, $1)=no 4777 ;; 4778 4779 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 4780 # support. Future versions do this automatically, but an explicit c++rt0.o 4781 # does not break anything, and helps significantly (at the cost of a little 4782 # extra space). 4783 freebsd2.2*) 4784 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 4785 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4786 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4787 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4788 ;; 4789 4790 # Unfortunately, older versions of FreeBSD 2 do not have this feature. 4791 freebsd2*) 4792 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4793 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4794 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4795 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4796 ;; 4797 4798 # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 4799 freebsd*) 4800 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 4801 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4802 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4803 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4804 ;; 4805 4806 hpux9* | hpux10* | hpux11*) 4807 if test "$GCC" = yes; then 4808 case $host_os in 4809 hpux9*) 4810 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 4811 ;; 4812 *) 4813 if test "$host_cpu" = ia64; then 4814 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4815 else 4816 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4817 fi 4818 ;; 4819 esac 4820 else 4821 case $host_os in 4822 hpux9*) 4823 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 4824 ;; 4825 *) 4826 if test "$host_cpu" = ia64; then 4827 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' 4828 else 4829 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 4830 fi 4831 ;; 4832 esac 4833 fi 4834 if test "$host_cpu" = ia64; then 4835 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4836 _LT_AC_TAGVAR(hardcode_direct, $1)=no 4837 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4838 else 4839 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4840 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 4841 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4842 fi 4843 # hardcode_minus_L: Not really in the search PATH, 4844 # but as the default location of the library. 4845 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4846 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4847 ;; 4848 4849 irix5* | irix6* | nonstopux*) 4850 if test "$GCC" = yes; then 4851 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4852 else 4853 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' 4854 fi 4855 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4856 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 4857 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 4858 ;; 4859 4860 netbsd*) 4861 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 4862 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 4863 else 4864 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 4865 fi 4866 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4867 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4868 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4869 ;; 4870 4871 newsos6) 4872 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4873 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4874 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4875 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 4876 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4877 ;; 4878 4879 openbsd*) 4880 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4881 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4882 4883 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 4884 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' 4885 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4886 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4887 else 4888 case $host_os in 4889 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 4890 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4891 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4892 ;; 4893 *) 4894 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' 4895 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4896 ;; 4897 esac 4898 fi 4899 ;; 4900 4901 os2*) 4902 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4903 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4904 _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported 4905 _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' 4906 _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 4907 ;; 4908 4909 osf3*) 4910 if test "$GCC" = yes; then 4911 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4912 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4913 else 4914 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4915 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' 4916 fi 4917 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4918 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 4919 ;; 4920 4921 osf4* | osf5*) # as osf3* with the addition of -msym flag 4922 if test "$GCC" = yes; then 4923 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4924 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4925 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4926 else 4927 _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4928 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' 4929 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ 4930 $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' 4931 4932 # Both c and cxx compiler support -rpath directly 4933 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 4934 fi 4935 _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: 4936 ;; 4937 4938 sco3.2v5*) 4939 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4940 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4941 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 4942 runpath_var=LD_RUN_PATH 4943 hardcode_runpath_var=yes 4944 ;; 4945 4946 solaris*) 4947 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' 4948 if test "$GCC" = yes; then 4949 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4950 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 4951 $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' 4952 else 4953 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 4954 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 4955 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' 4956 fi 4957 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4958 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4959 case $host_os in 4960 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 4961 *) # Supported since Solaris 2.6 (maybe 2.5.1?) 4962 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; 4963 esac 4964 _LT_AC_TAGVAR(link_all_deplibs, $1)=yes 4965 ;; 4966 4967 sunos4*) 4968 if test "x$host_vendor" = xsequent; then 4969 # Use $CC to link under sequent, because it throws in some extra .o 4970 # files that make .init and .fini sections work. 4971 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 4972 else 4973 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 4974 fi 4975 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4976 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 4977 _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes 4978 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4979 ;; 4980 4981 sysv4) 4982 if test "x$host_vendor" = xsni; then 4983 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' 4984 _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 4985 else 4986 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4987 _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 4988 fi 4989 runpath_var='LD_RUN_PATH' 4990 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4991 ;; 4992 4993 sysv4.3*) 4994 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4995 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 4996 _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 4997 ;; 4998 4999 sysv4*MP*) 5000 if test -d /usr/nec; then 5001 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5002 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 5003 runpath_var=LD_RUN_PATH 5004 hardcode_runpath_var=yes 5005 _LT_AC_TAGVAR(ld_shlibs, $1)=yes 5006 fi 5007 ;; 5008 5009 sysv4.2uw2*) 5010 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 5011 _LT_AC_TAGVAR(hardcode_direct, $1)=yes 5012 _LT_AC_TAGVAR(hardcode_minus_L, $1)=no 5013 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 5014 hardcode_runpath_var=yes 5015 runpath_var=LD_RUN_PATH 5016 ;; 5017 5018 sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) 5019 _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' 5020 if test "$GCC" = yes; then 5021 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5022 else 5023 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 5024 fi 5025 runpath_var='LD_RUN_PATH' 5026 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 5027 ;; 5028 5029 sysv5*) 5030 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' 5031 # $CC -shared without GNU ld will not create a library from C++ 5032 # object files and a static libstdc++, better avoid it by now 5033 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 5034 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 5035 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' 5036 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= 5037 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 5038 runpath_var='LD_RUN_PATH' 5039 ;; 5040 5041 uts4*) 5042 _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5043 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5044 _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no 5045 ;; 5046 5047 *) 5048 _LT_AC_TAGVAR(ld_shlibs, $1)=no 5049 ;; 5050 esac 5051 fi 5052]) 5053AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) 5054test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 5055 5056variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 5057if test "$GCC" = yes; then 5058 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 5059fi 5060 5061# 5062# Do we need to explicitly link libc? 5063# 5064_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes 5065if test "$enable_shared" = yes && test "$GCC" = yes; then 5066 case $_LT_AC_TAGVAR(archive_cmds, $1) in 5067 *'~'*) 5068 # FIXME: we may have to deal with multi-command sequences. 5069 ;; 5070 '$CC '*) 5071 # Test whether the compiler implicitly links with -lc since on some 5072 # systems, -lgcc has to come before -lc. If gcc already passes -lc 5073 # to ld, don't add -lc before -lgcc. 5074 AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 5075 $rm conftest* 5076 echo 'static int dummy;' > conftest.$ac_ext 5077 5078 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 5079 soname=conftest 5080 lib=conftest 5081 libobjs=conftest.$ac_objext 5082 deplibs= 5083 wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) 5084 compiler_flags=-v 5085 linker_flags=-v 5086 verstring= 5087 output_objdir=. 5088 libname=conftest 5089 lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) 5090 _LT_AC_TAGVAR(allow_undefined_flag, $1)= 5091 if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 5092 then 5093 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no 5094 else 5095 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes 5096 fi 5097 _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 5098 else 5099 cat conftest.err 1>&5 5100 fi 5101 $rm conftest* 5102 AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) 5103 ;; 5104 esac 5105fi 5106])# AC_LIBTOOL_PROG_LD_SHLIBS 5107 5108 5109# _LT_AC_FILE_LTDLL_C 5110# ------------------- 5111# Be careful that the start marker always follows a newline. 5112AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ 5113# /* ltdll.c starts here */ 5114# #define WIN32_LEAN_AND_MEAN 5115# #include <windows.h> 5116# #undef WIN32_LEAN_AND_MEAN 5117# #include <stdio.h> 5118# 5119# #ifndef __CYGWIN__ 5120# # ifdef __CYGWIN32__ 5121# # define __CYGWIN__ __CYGWIN32__ 5122# # endif 5123# #endif 5124# 5125# #ifdef __cplusplus 5126# extern "C" { 5127# #endif 5128# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); 5129# #ifdef __cplusplus 5130# } 5131# #endif 5132# 5133# #ifdef __CYGWIN__ 5134# #include <cygwin/cygwin_dll.h> 5135# DECLARE_CYGWIN_DLL( DllMain ); 5136# #endif 5137# HINSTANCE __hDllInstance_base; 5138# 5139# BOOL APIENTRY 5140# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) 5141# { 5142# __hDllInstance_base = hInst; 5143# return TRUE; 5144# } 5145# /* ltdll.c ends here */ 5146])# _LT_AC_FILE_LTDLL_C 5147 5148 5149# _LT_AC_FILE_IMPGEN_C 5150# -------------------- 5151# Be careful that the start marker always follows a newline. 5152AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [ 5153# /* impgen.c starts here */ 5154# /* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. 5155# 5156# This file is part of GNU libtool. 5157# 5158# This program is free software; you can redistribute it and/or modify 5159# it under the terms of the GNU General Public License as published by 5160# the Free Software Foundation; either version 2 of the License, or 5161# (at your option) any later version. 5162# 5163# This program is distributed in the hope that it will be useful, 5164# but WITHOUT ANY WARRANTY; without even the implied warranty of 5165# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 5166# GNU General Public License for more details. 5167# 5168# You should have received a copy of the GNU General Public License 5169# along with this program; if not, write to the Free Software 5170# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 5171# */ 5172# 5173# #include <stdio.h> /* for printf() */ 5174# #include <unistd.h> /* for open(), lseek(), read() */ 5175# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ 5176# #include <string.h> /* for strdup() */ 5177# 5178# /* O_BINARY isn't required (or even defined sometimes) under Unix */ 5179# #ifndef O_BINARY 5180# #define O_BINARY 0 5181# #endif 5182# 5183# static unsigned int 5184# pe_get16 (fd, offset) 5185# int fd; 5186# int offset; 5187# { 5188# unsigned char b[2]; 5189# lseek (fd, offset, SEEK_SET); 5190# read (fd, b, 2); 5191# return b[0] + (b[1]<<8); 5192# } 5193# 5194# static unsigned int 5195# pe_get32 (fd, offset) 5196# int fd; 5197# int offset; 5198# { 5199# unsigned char b[4]; 5200# lseek (fd, offset, SEEK_SET); 5201# read (fd, b, 4); 5202# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); 5203# } 5204# 5205# static unsigned int 5206# pe_as32 (ptr) 5207# void *ptr; 5208# { 5209# unsigned char *b = ptr; 5210# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); 5211# } 5212# 5213# int 5214# main (argc, argv) 5215# int argc; 5216# char *argv[]; 5217# { 5218# int dll; 5219# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; 5220# unsigned long export_rva, export_size, nsections, secptr, expptr; 5221# unsigned long name_rvas, nexp; 5222# unsigned char *expdata, *erva; 5223# char *filename, *dll_name; 5224# 5225# filename = argv[1]; 5226# 5227# dll = open(filename, O_RDONLY|O_BINARY); 5228# if (dll < 1) 5229# return 1; 5230# 5231# dll_name = filename; 5232# 5233# for (i=0; filename[i]; i++) 5234# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') 5235# dll_name = filename + i +1; 5236# 5237# pe_header_offset = pe_get32 (dll, 0x3c); 5238# opthdr_ofs = pe_header_offset + 4 + 20; 5239# num_entries = pe_get32 (dll, opthdr_ofs + 92); 5240# 5241# if (num_entries < 1) /* no exports */ 5242# return 1; 5243# 5244# export_rva = pe_get32 (dll, opthdr_ofs + 96); 5245# export_size = pe_get32 (dll, opthdr_ofs + 100); 5246# nsections = pe_get16 (dll, pe_header_offset + 4 +2); 5247# secptr = (pe_header_offset + 4 + 20 + 5248# pe_get16 (dll, pe_header_offset + 4 + 16)); 5249# 5250# expptr = 0; 5251# for (i = 0; i < nsections; i++) 5252# { 5253# char sname[8]; 5254# unsigned long secptr1 = secptr + 40 * i; 5255# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); 5256# unsigned long vsize = pe_get32 (dll, secptr1 + 16); 5257# unsigned long fptr = pe_get32 (dll, secptr1 + 20); 5258# lseek(dll, secptr1, SEEK_SET); 5259# read(dll, sname, 8); 5260# if (vaddr <= export_rva && vaddr+vsize > export_rva) 5261# { 5262# expptr = fptr + (export_rva - vaddr); 5263# if (export_rva + export_size > vaddr + vsize) 5264# export_size = vsize - (export_rva - vaddr); 5265# break; 5266# } 5267# } 5268# 5269# expdata = (unsigned char*)malloc(export_size); 5270# lseek (dll, expptr, SEEK_SET); 5271# read (dll, expdata, export_size); 5272# erva = expdata - export_rva; 5273# 5274# nexp = pe_as32 (expdata+24); 5275# name_rvas = pe_as32 (expdata+32); 5276# 5277# printf ("EXPORTS\n"); 5278# for (i = 0; i<nexp; i++) 5279# { 5280# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); 5281# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); 5282# } 5283# 5284# return 0; 5285# } 5286# /* impgen.c ends here */ 5287])# _LT_AC_FILE_IMPGEN_C 5288 5289# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) 5290# --------------------------------- 5291AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) 5292 5293 5294# old names 5295AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) 5296AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) 5297AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) 5298AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) 5299AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) 5300AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) 5301AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) 5302 5303# This is just to silence aclocal about the macro not being used 5304ifelse([AC_DISABLE_FAST_INSTALL]) 5305 5306AC_DEFUN([LT_AC_PROG_GCJ], 5307[AC_CHECK_TOOL(GCJ, gcj, no) 5308 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 5309 AC_SUBST(GCJFLAGS) 5310]) 5311 5312AC_DEFUN([LT_AC_PROG_RC], 5313[AC_CHECK_TOOL(RC, windres, no) 5314]) 5315 5316############################################################ 5317# NOTE: This macro has been submitted for inclusion into # 5318# GNU Autoconf as AC_PROG_SED. When it is available in # 5319# a released version of Autoconf we should remove this # 5320# macro and use it instead. # 5321############################################################ 5322# LT_AC_PROG_SED 5323# -------------- 5324# Check for a fully-functional sed program, that truncates 5325# as few characters as possible. Prefer GNU sed if found. 5326AC_DEFUN([LT_AC_PROG_SED], 5327[AC_MSG_CHECKING([for a sed that does not truncate output]) 5328AC_CACHE_VAL(lt_cv_path_SED, 5329[# Loop through the user's path and test for sed and gsed. 5330# Then use that list of sed's as ones to test for truncation. 5331as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5332for as_dir in $PATH 5333do 5334 IFS=$as_save_IFS 5335 test -z "$as_dir" && as_dir=. 5336 for ac_prog in sed gsed; do 5337 for ac_exec_ext in '' $ac_executable_extensions; do 5338 if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then 5339 _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" 5340 fi 5341 done 5342 done 5343done 5344 5345 # Create a temporary directory, and hook for its removal unless debugging. 5346$debug || 5347{ 5348 trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 5349 trap '{ (exit 1); exit 1; }' 1 2 13 15 5350} 5351 5352# Create a (secure) tmp directory for tmp files. 5353: ${TMPDIR=/tmp} 5354{ 5355 tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` && 5356 test -n "$tmp" && test -d "$tmp" 5357} || 5358{ 5359 tmp=$TMPDIR/sed$$-$RANDOM 5360 (umask 077 && mkdir $tmp) 5361} || 5362{ 5363 echo "$me: cannot create a temporary directory in $TMPDIR" >&2 5364 { (exit 1); exit 1; } 5365} 5366 _max=0 5367 _count=0 5368 # Add /usr/xpg4/bin/sed as it is typically found on Solaris 5369 # along with /bin/sed that truncates output. 5370 for _sed in $_sed_list /usr/xpg4/bin/sed; do 5371 test ! -f ${_sed} && break 5372 cat /dev/null > "$tmp/sed.in" 5373 _count=0 5374 echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" 5375 # Check for GNU sed and select it if it is found. 5376 if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then 5377 lt_cv_path_SED=${_sed} 5378 break; 5379 fi 5380 while true; do 5381 cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" 5382 mv "$tmp/sed.tmp" "$tmp/sed.in" 5383 cp "$tmp/sed.in" "$tmp/sed.nl" 5384 echo >>"$tmp/sed.nl" 5385 ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break 5386 cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break 5387 # 10000 chars as input seems more than enough 5388 test $_count -gt 10 && break 5389 _count=`expr $_count + 1` 5390 if test $_count -gt $_max; then 5391 _max=$_count 5392 lt_cv_path_SED=$_sed 5393 fi 5394 done 5395 done 5396 rm -rf "$tmp" 5397]) 5398AC_MSG_RESULT([$SED]) 5399]) 5400