1# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*- 2## Copyright 1996, 1997, 1998, 1999, 2000, 2001 3## Free Software Foundation, Inc. 4## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 5## 6## This program is free software; you can redistribute it and/or modify 7## it under the terms of the GNU General Public License as published by 8## the Free Software Foundation; either version 2 of the License, or 9## (at your option) any later version. 10## 11## This program is distributed in the hope that it will be useful, but 12## WITHOUT ANY WARRANTY; without even the implied warranty of 13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14## General Public License for more details. 15## 16## You should have received a copy of the GNU General Public License 17## along with this program; if not, write to the Free Software 18## Foundation, Inc., 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# The next line was added by Bruno Haible 2001-06-08. 26builtin([undefine],[symbols]) 27 28# serial 46 AC_PROG_LIBTOOL 29 30AC_DEFUN([AC_PROG_LIBTOOL], 31[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl 32 33# This can be used to rebuild libtool when needed 34LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" 35 36# Always use our own libtool. 37LIBTOOL='$(SHELL) $(top_builddir)/libtool' 38AC_SUBST(LIBTOOL)dnl 39 40# Prevent multiple expansion 41define([AC_PROG_LIBTOOL], []) 42]) 43 44AC_DEFUN([AC_LIBTOOL_SETUP], 45[AC_PREREQ(2.13)dnl 46AC_REQUIRE([AC_ENABLE_SHARED])dnl 47AC_REQUIRE([AC_ENABLE_STATIC])dnl 48AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl 49AC_REQUIRE([AC_CANONICAL_HOST])dnl 50AC_REQUIRE([AC_CANONICAL_BUILD])dnl 51AC_REQUIRE([AC_PROG_CC])dnl 52AC_REQUIRE([AC_PROG_LD])dnl 53AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl 54AC_REQUIRE([AC_PROG_NM])dnl 55AC_REQUIRE([AC_PROG_LN_S])dnl 56AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl 57AC_REQUIRE([AC_OBJEXT])dnl 58AC_REQUIRE([AC_EXEEXT])dnl 59dnl 60 61_LT_AC_PROG_ECHO_BACKSLASH 62# Only perform the check for file, if the check method requires it 63case $deplibs_check_method in 64file_magic*) 65 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 66 AC_PATH_MAGIC 67 fi 68 ;; 69esac 70 71AC_CHECK_TOOL(RANLIB, ranlib, :) 72AC_CHECK_TOOL(STRIP, strip, :) 73 74ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) 75ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 76enable_win32_dll=yes, enable_win32_dll=no) 77 78AC_ARG_ENABLE(libtool-lock, 79 [ --disable-libtool-lock avoid locking (might break parallel builds)]) 80test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 81 82# Some flags need to be propagated to the compiler or linker for good 83# libtool support. 84case $host in 85*-*-irix6*) 86 # Find out which ABI we are using. 87 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 88 if AC_TRY_EVAL(ac_compile); then 89 case `/usr/bin/file conftest.$ac_objext` in 90 *32-bit*) 91 LD="${LD-ld} -32" 92 ;; 93 *N32*) 94 LD="${LD-ld} -n32" 95 ;; 96 *64-bit*) 97 LD="${LD-ld} -64" 98 ;; 99 esac 100 fi 101 rm -rf conftest* 102 ;; 103 104*-*-sco3.2v5*) 105 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 106 SAVE_CFLAGS="$CFLAGS" 107 CFLAGS="$CFLAGS -belf" 108 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 109 [AC_LANG_SAVE 110 AC_LANG_C 111 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 112 AC_LANG_RESTORE]) 113 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 114 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 115 CFLAGS="$SAVE_CFLAGS" 116 fi 117 ;; 118 119ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 120[*-*-cygwin* | *-*-mingw* | *-*-pw32*) 121 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 122 AC_CHECK_TOOL(AS, as, false) 123 AC_CHECK_TOOL(OBJDUMP, objdump, false) 124 125 # recent cygwin and mingw systems supply a stub DllMain which the user 126 # can override, but on older systems we have to supply one 127 AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, 128 [AC_TRY_LINK([], 129 [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); 130 DllMain (0, 0, 0);], 131 [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) 132 133 case $host/$CC in 134 *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) 135 # old mingw systems require "-dll" to link a DLL, while more recent ones 136 # require "-mdll" 137 SAVE_CFLAGS="$CFLAGS" 138 CFLAGS="$CFLAGS -mdll" 139 AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, 140 [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) 141 CFLAGS="$SAVE_CFLAGS" ;; 142 *-*-cygwin* | *-*-pw32*) 143 # cygwin systems need to pass --dll to the linker, and not link 144 # crt.o which will require a WinMain@16 definition. 145 lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; 146 esac 147 ;; 148 ]) 149esac 150 151_LT_AC_LTCONFIG_HACK 152 153]) 154 155# AC_LIBTOOL_HEADER_ASSERT 156# ------------------------ 157AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT], 158[AC_CACHE_CHECK([whether $CC supports assert without backlinking], 159 [lt_cv_func_assert_works], 160 [case $host in 161 *-*-solaris*) 162 if test "$GCC" = yes && test "$with_gnu_ld" != yes; then 163 case `$CC --version 2>/dev/null` in 164 [[12]].*) lt_cv_func_assert_works=no ;; 165 *) lt_cv_func_assert_works=yes ;; 166 esac 167 fi 168 ;; 169 esac]) 170 171if test "x$lt_cv_func_assert_works" = xyes; then 172 AC_CHECK_HEADERS(assert.h) 173fi 174])# AC_LIBTOOL_HEADER_ASSERT 175 176# _LT_AC_CHECK_DLFCN 177# -------------------- 178AC_DEFUN([_LT_AC_CHECK_DLFCN], 179[AC_CHECK_HEADERS(dlfcn.h) 180])# _LT_AC_CHECK_DLFCN 181 182# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 183# --------------------------------- 184AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], 185[AC_REQUIRE([AC_CANONICAL_HOST]) 186AC_REQUIRE([AC_PROG_NM]) 187AC_REQUIRE([AC_OBJEXT]) 188# Check for command to grab the raw symbol name followed by C symbol from nm. 189AC_MSG_CHECKING([command to parse $NM output]) 190AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl 191 192# These are sane defaults that work on at least a few old systems. 193# [They come from Ultrix. What could be older than Ultrix?!! ;)] 194 195# Character class describing NM global symbol codes. 196symcode='[[BCDEGRST]]' 197 198# Regexp to match symbols that can be accessed directly from C. 199sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 200 201# Transform the above into a raw symbol and a C symbol. 202symxfrm='\1 \2\3 \3' 203 204# Transform an extracted symbol line into a proper C declaration 205lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" 206 207# Transform an extracted symbol line into symbol name and symbol address 208lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" 209 210# Define system-specific variables. 211case $host_os in 212aix*) 213 symcode='[[BCDT]]' 214 ;; 215cygwin* | mingw* | pw32*) 216 symcode='[[ABCDGISTW]]' 217 ;; 218hpux*) # Its linker distinguishes data from code symbols 219 lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 220 lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" 221 ;; 222irix*) 223 symcode='[[BCDEGRST]]' 224 ;; 225solaris* | sysv5*) 226 symcode='[[BDT]]' 227 ;; 228sysv4) 229 symcode='[[DFNSTU]]' 230 ;; 231esac 232 233# Handle CRLF in mingw tool chain 234opt_cr= 235case $host_os in 236mingw*) 237 opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp 238 ;; 239esac 240 241# If we're using GNU nm, then use its standard symbol codes. 242if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then 243 symcode='[[ABCDGISTW]]' 244fi 245 246# Try without a prefix undercore, then with it. 247for ac_symprfx in "" "_"; do 248 249 # Write the raw and C identifiers. 250lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" 251 252 # Check to see that the pipe works correctly. 253 pipe_works=no 254 rm -f conftest* 255 cat > conftest.$ac_ext <<EOF 256#ifdef __cplusplus 257extern "C" { 258#endif 259char nm_test_var; 260void nm_test_func(){} 261#ifdef __cplusplus 262} 263#endif 264int main(){nm_test_var='a';nm_test_func();return(0);} 265EOF 266 267 if AC_TRY_EVAL(ac_compile); then 268 # Now try to grab the symbols. 269 nlist=conftest.nm 270 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 271 # Try sorting and uniquifying the output. 272 if sort "$nlist" | uniq > "$nlist"T; then 273 mv -f "$nlist"T "$nlist" 274 else 275 rm -f "$nlist"T 276 fi 277 278 # Make sure that we snagged all the symbols we need. 279 if egrep ' nm_test_var$' "$nlist" >/dev/null; then 280 if egrep ' nm_test_func$' "$nlist" >/dev/null; then 281 cat <<EOF > conftest.$ac_ext 282#ifdef __cplusplus 283extern "C" { 284#endif 285 286EOF 287 # Now generate the symbol file. 288 eval "$lt_cv_global_symbol_to_cdecl"' < "$nlist" >> conftest.$ac_ext' 289 290 cat <<EOF >> conftest.$ac_ext 291#if defined (__STDC__) && __STDC__ 292# define lt_ptr void * 293#else 294# define lt_ptr char * 295# define const 296#endif 297 298/* The mapping between symbol names and symbols. */ 299const struct { 300 const char *name; 301 lt_ptr address; 302} 303lt_preloaded_symbols[[]] = 304{ 305EOF 306 sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext 307 cat <<\EOF >> conftest.$ac_ext 308 {0, (lt_ptr) 0} 309}; 310 311#ifdef __cplusplus 312} 313#endif 314EOF 315 # Now try linking the two files. 316 mv conftest.$ac_objext conftstm.$ac_objext 317 save_LIBS="$LIBS" 318 save_CFLAGS="$CFLAGS" 319 LIBS="conftstm.$ac_objext" 320 CFLAGS="$CFLAGS$no_builtin_flag" 321 if AC_TRY_EVAL(ac_link) && test -s conftest; then 322 pipe_works=yes 323 fi 324 LIBS="$save_LIBS" 325 CFLAGS="$save_CFLAGS" 326 else 327 echo "cannot find nm_test_func in $nlist" >&AC_FD_CC 328 fi 329 else 330 echo "cannot find nm_test_var in $nlist" >&AC_FD_CC 331 fi 332 else 333 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AC_FD_CC 334 fi 335 else 336 echo "$progname: failed program was:" >&AC_FD_CC 337 cat conftest.$ac_ext >&5 338 fi 339 rm -f conftest* conftst* 340 341 # Do not use the global_symbol_pipe unless it works. 342 if test "$pipe_works" = yes; then 343 break 344 else 345 lt_cv_sys_global_symbol_pipe= 346 fi 347done 348]) 349global_symbol_pipe="$lt_cv_sys_global_symbol_pipe" 350if test -z "$lt_cv_sys_global_symbol_pipe"; then 351 global_symbol_to_cdecl= 352 global_symbol_to_c_name_address= 353else 354 global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl" 355 global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address" 356fi 357if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address"; 358then 359 AC_MSG_RESULT(failed) 360else 361 AC_MSG_RESULT(ok) 362fi 363]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE 364 365# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR 366# --------------------------------- 367AC_DEFUN([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], 368[# Find the correct PATH separator. Usually this is `:', but 369# DJGPP uses `;' like DOS. 370if test "X${PATH_SEPARATOR+set}" != Xset; then 371 UNAME=${UNAME-`uname 2>/dev/null`} 372 case X$UNAME in 373 *-DOS) lt_cv_sys_path_separator=';' ;; 374 *) lt_cv_sys_path_separator=':' ;; 375 esac 376 PATH_SEPARATOR=$lt_cv_sys_path_separator 377fi 378])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR 379 380# _LT_AC_PROG_ECHO_BACKSLASH 381# -------------------------- 382# Add some code to the start of the generated configure script which 383# will find an echo command which doesn't interpret backslashes. 384AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], 385[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 386 [AC_DIVERT_PUSH(NOTICE)]) 387_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR 388 389# Check that we are running under the correct shell. 390SHELL=${CONFIG_SHELL-/bin/sh} 391 392case X$ECHO in 393X*--fallback-echo) 394 # Remove one level of quotation (which was required for Make). 395 ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 396 ;; 397esac 398 399echo=${ECHO-echo} 400if test "X[$]1" = X--no-reexec; then 401 # Discard the --no-reexec flag, and continue. 402 shift 403elif test "X[$]1" = X--fallback-echo; then 404 # Avoid inline document here, it may be left over 405 : 406elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then 407 # Yippee, $echo works! 408 : 409else 410 # Restart under the correct shell. 411 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 412fi 413 414if test "X[$]1" = X--fallback-echo; then 415 # used as fallback echo 416 shift 417 cat <<EOF 418$* 419EOF 420 exit 0 421fi 422 423# The HP-UX ksh and POSIX shell print the target directory to stdout 424# if CDPATH is set. 425if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi 426 427if test -z "$ECHO"; then 428if test "X${echo_test_string+set}" != Xset; then 429# find a string as large as possible, as long as the shell can cope with it 430 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 431 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 432 if (echo_test_string="`eval $cmd`") 2>/dev/null && 433 echo_test_string="`eval $cmd`" && 434 (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null 435 then 436 break 437 fi 438 done 439fi 440 441if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 442 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 443 test "X$echo_testing_string" = "X$echo_test_string"; then 444 : 445else 446 # The Solaris, AIX, and Digital Unix default echo programs unquote 447 # backslashes. This makes it impossible to quote backslashes using 448 # echo "$something" | sed 's/\\/\\\\/g' 449 # 450 # So, first we look for a working echo in the user's PATH. 451 452 IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR 453 for dir in $PATH /usr/ucb; do 454 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 455 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 456 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 457 test "X$echo_testing_string" = "X$echo_test_string"; then 458 echo="$dir/echo" 459 break 460 fi 461 done 462 IFS="$save_ifs" 463 464 if test "X$echo" = Xecho; then 465 # We didn't find a better echo, so look for alternatives. 466 if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && 467 echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && 468 test "X$echo_testing_string" = "X$echo_test_string"; then 469 # This shell has a builtin print -r that does the trick. 470 echo='print -r' 471 elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && 472 test "X$CONFIG_SHELL" != X/bin/ksh; then 473 # If we have ksh, try running configure again with it. 474 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 475 export ORIGINAL_CONFIG_SHELL 476 CONFIG_SHELL=/bin/ksh 477 export CONFIG_SHELL 478 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 479 else 480 # Try using printf. 481 echo='printf %s\n' 482 if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && 483 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && 484 test "X$echo_testing_string" = "X$echo_test_string"; then 485 # Cool, printf works 486 : 487 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 488 test "X$echo_testing_string" = 'X\t' && 489 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 490 test "X$echo_testing_string" = "X$echo_test_string"; then 491 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 492 export CONFIG_SHELL 493 SHELL="$CONFIG_SHELL" 494 export SHELL 495 echo="$CONFIG_SHELL [$]0 --fallback-echo" 496 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 497 test "X$echo_testing_string" = 'X\t' && 498 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 499 test "X$echo_testing_string" = "X$echo_test_string"; then 500 echo="$CONFIG_SHELL [$]0 --fallback-echo" 501 else 502 # maybe with a smaller string... 503 prev=: 504 505 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 506 if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null 507 then 508 break 509 fi 510 prev="$cmd" 511 done 512 513 if test "$prev" != 'sed 50q "[$]0"'; then 514 echo_test_string=`eval $prev` 515 export echo_test_string 516 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 517 else 518 # Oops. We lost completely, so just stick with echo. 519 echo=echo 520 fi 521 fi 522 fi 523 fi 524fi 525fi 526 527# Copy echo and quote the copy suitably for passing to libtool from 528# the Makefile, instead of quoting the original, which is used later. 529ECHO=$echo 530if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 531 ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 532fi 533 534AC_SUBST(ECHO) 535AC_DIVERT_POP 536])# _LT_AC_PROG_ECHO_BACKSLASH 537 538# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 539# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 540# ------------------------------------------------------------------ 541AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], 542[if test "$cross_compiling" = yes; then : 543 [$4] 544else 545 AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 546 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 547 lt_status=$lt_dlunknown 548 cat > conftest.$ac_ext <<EOF 549[#line __oline__ "configure" 550#include "confdefs.h" 551 552#if HAVE_DLFCN_H 553#include <dlfcn.h> 554#endif 555 556#include <stdio.h> 557 558#ifdef RTLD_GLOBAL 559# define LT_DLGLOBAL RTLD_GLOBAL 560#else 561# ifdef DL_GLOBAL 562# define LT_DLGLOBAL DL_GLOBAL 563# else 564# define LT_DLGLOBAL 0 565# endif 566#endif 567 568/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 569 find out it does not work in some platform. */ 570#ifndef LT_DLLAZY_OR_NOW 571# ifdef RTLD_LAZY 572# define LT_DLLAZY_OR_NOW RTLD_LAZY 573# else 574# ifdef DL_LAZY 575# define LT_DLLAZY_OR_NOW DL_LAZY 576# else 577# ifdef RTLD_NOW 578# define LT_DLLAZY_OR_NOW RTLD_NOW 579# else 580# ifdef DL_NOW 581# define LT_DLLAZY_OR_NOW DL_NOW 582# else 583# define LT_DLLAZY_OR_NOW 0 584# endif 585# endif 586# endif 587# endif 588#endif 589 590#ifdef __cplusplus 591extern "C" void exit (int); 592#endif 593 594void fnord() { int i=42;} 595int main () 596{ 597 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 598 int status = $lt_dlunknown; 599 600 if (self) 601 { 602 if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 603 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 604 /* dlclose (self); */ 605 } 606 607 exit (status); 608}] 609EOF 610 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 611 (./conftest; exit; ) 2>/dev/null 612 lt_status=$? 613 case x$lt_status in 614 x$lt_dlno_uscore) $1 ;; 615 x$lt_dlneed_uscore) $2 ;; 616 x$lt_unknown|x*) $3 ;; 617 esac 618 else : 619 # compilation failed 620 $3 621 fi 622fi 623rm -fr conftest* 624])# _LT_AC_TRY_DLOPEN_SELF 625 626# AC_LIBTOOL_DLOPEN_SELF 627# ------------------- 628AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], 629[if test "x$enable_dlopen" != xyes; then 630 enable_dlopen=unknown 631 enable_dlopen_self=unknown 632 enable_dlopen_self_static=unknown 633else 634 lt_cv_dlopen=no 635 lt_cv_dlopen_libs= 636 637 case $host_os in 638 beos*) 639 lt_cv_dlopen="load_add_on" 640 lt_cv_dlopen_libs= 641 lt_cv_dlopen_self=yes 642 ;; 643 644 cygwin* | mingw* | pw32*) 645 lt_cv_dlopen="LoadLibrary" 646 lt_cv_dlopen_libs= 647 ;; 648 649 *) 650 AC_CHECK_FUNC([shl_load], 651 [lt_cv_dlopen="shl_load"], 652 [AC_CHECK_LIB([dld], [shl_load], 653 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], 654 [AC_CHECK_FUNC([dlopen], 655 [lt_cv_dlopen="dlopen"], 656 [AC_CHECK_LIB([dl], [dlopen], 657 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 658 [AC_CHECK_LIB([svld], [dlopen], 659 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 660 [AC_CHECK_LIB([dld], [dld_link], 661 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) 662 ]) 663 ]) 664 ]) 665 ]) 666 ]) 667 ;; 668 esac 669 670 if test "x$lt_cv_dlopen" != xno; then 671 enable_dlopen=yes 672 else 673 enable_dlopen=no 674 fi 675 676 case $lt_cv_dlopen in 677 dlopen) 678 save_CPPFLAGS="$CPPFLAGS" 679 AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl 680 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 681 682 save_LDFLAGS="$LDFLAGS" 683 eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 684 685 save_LIBS="$LIBS" 686 LIBS="$lt_cv_dlopen_libs $LIBS" 687 688 AC_CACHE_CHECK([whether a program can dlopen itself], 689 lt_cv_dlopen_self, [dnl 690 _LT_AC_TRY_DLOPEN_SELF( 691 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 692 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 693 ]) 694 695 if test "x$lt_cv_dlopen_self" = xyes; then 696 LDFLAGS="$LDFLAGS $link_static_flag" 697 AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 698 lt_cv_dlopen_self_static, [dnl 699 _LT_AC_TRY_DLOPEN_SELF( 700 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 701 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 702 ]) 703 fi 704 705 CPPFLAGS="$save_CPPFLAGS" 706 LDFLAGS="$save_LDFLAGS" 707 LIBS="$save_LIBS" 708 ;; 709 esac 710 711 case $lt_cv_dlopen_self in 712 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 713 *) enable_dlopen_self=unknown ;; 714 esac 715 716 case $lt_cv_dlopen_self_static in 717 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 718 *) enable_dlopen_self_static=unknown ;; 719 esac 720fi 721])# AC_LIBTOOL_DLOPEN_SELF 722 723AC_DEFUN([_LT_AC_LTCONFIG_HACK], 724[AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])dnl 725# Sed substitution that helps us do robust quoting. It backslashifies 726# metacharacters that are still active within double-quoted strings. 727Xsed='sed -e s/^X//' 728sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g' 729 730# Same as above, but do not quote variable references. 731double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g' 732 733# Sed substitution to delay expansion of an escaped shell variable in a 734# double_quote_subst'ed string. 735delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 736 737# Constants: 738rm="rm -f" 739 740# Global variables: 741default_ofile=libtool 742can_build_shared=yes 743 744# All known linkers require a `.a' archive for static linking (except M$VC, 745# which needs '.lib'). 746libext=a 747ltmain="$ac_aux_dir/ltmain.sh" 748ofile="$default_ofile" 749with_gnu_ld="$lt_cv_prog_gnu_ld" 750need_locks="$enable_libtool_lock" 751 752old_CC="$CC" 753old_CFLAGS="$CFLAGS" 754 755# Set sane defaults for various variables 756test -z "$AR" && AR=ar 757test -z "$AR_FLAGS" && AR_FLAGS=cru 758test -z "$AS" && AS=as 759test -z "$CC" && CC=cc 760test -z "$DLLTOOL" && DLLTOOL=dlltool 761test -z "$LD" && LD=ld 762test -z "$LN_S" && LN_S="ln -s" 763test -z "$MAGIC_CMD" && MAGIC_CMD=file 764test -z "$NM" && NM=nm 765test -z "$OBJDUMP" && OBJDUMP=objdump 766test -z "$RANLIB" && RANLIB=: 767test -z "$STRIP" && STRIP=: 768test -z "$ac_objext" && ac_objext=o 769 770if test x"$host" != x"$build"; then 771 ac_tool_prefix=${host_alias}- 772else 773 ac_tool_prefix= 774fi 775 776# Transform linux* to *-*-linux-gnu*, to support old configure scripts. 777case $host_os in 778linux-gnu*) ;; 779linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` 780esac 781 782case $host_os in 783aix3*) 784 # AIX sometimes has problems with the GCC collect2 program. For some 785 # reason, if we set the COLLECT_NAMES environment variable, the problems 786 # vanish in a puff of smoke. 787 if test "X${COLLECT_NAMES+set}" != Xset; then 788 COLLECT_NAMES= 789 export COLLECT_NAMES 790 fi 791 ;; 792esac 793 794# Determine commands to create old-style static archives. 795old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' 796old_postinstall_cmds='chmod 644 $oldlib' 797old_postuninstall_cmds= 798 799if test -n "$RANLIB"; then 800 case $host_os in 801 openbsd*) 802 old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" 803 ;; 804 *) 805 old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" 806 ;; 807 esac 808 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 809fi 810 811# Allow CC to be a program name with arguments. 812set dummy $CC 813compiler="[$]2" 814 815## FIXME: this should be a separate macro 816## 817AC_MSG_CHECKING([for objdir]) 818rm -f .libs 2>/dev/null 819mkdir .libs 2>/dev/null 820if test -d .libs; then 821 objdir=.libs 822else 823 # MS-DOS does not allow filenames that begin with a dot. 824 objdir=_libs 825fi 826rmdir .libs 2>/dev/null 827AC_MSG_RESULT($objdir) 828## 829## END FIXME 830 831 832## FIXME: this should be a separate macro 833## 834AC_ARG_WITH(pic, 835[ --with-pic try to use only PIC/non-PIC objects [default=use both]], 836pic_mode="$withval", pic_mode=default) 837test -z "$pic_mode" && pic_mode=default 838 839# We assume here that the value for lt_cv_prog_cc_pic will not be cached 840# in isolation, and that seeing it set (from the cache) indicates that 841# the associated values are set (in the cache) correctly too. 842AC_MSG_CHECKING([for $compiler option to produce PIC]) 843AC_CACHE_VAL(lt_cv_prog_cc_pic, 844[ lt_cv_prog_cc_pic= 845 lt_cv_prog_cc_shlib= 846 lt_cv_prog_cc_wl= 847 lt_cv_prog_cc_static= 848 lt_cv_prog_cc_no_builtin= 849 lt_cv_prog_cc_can_build_shared=$can_build_shared 850 851 if test "$GCC" = yes; then 852 lt_cv_prog_cc_wl='-Wl,' 853 lt_cv_prog_cc_static='-static' 854 855 case $host_os in 856 aix*) 857 # Below there is a dirty hack to force normal static linking with -ldl 858 # The problem is because libdl dynamically linked with both libc and 859 # libC (AIX C++ library), which obviously doesn't included in libraries 860 # list by gcc. This cause undefined symbols with -static flags. 861 # This hack allows C programs to be linked with "-static -ldl", but 862 # not sure about C++ programs. 863 lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC" 864 ;; 865 amigaos*) 866 # FIXME: we need at least 68020 code to build shared libraries, but 867 # adding the `-m68020' flag to GCC prevents building anything better, 868 # like `-m68040'. 869 lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' 870 ;; 871 beos* | irix5* | irix6* | osf3* | osf4* | osf5*) 872 # PIC is the default for these OSes. 873 ;; 874 darwin* | rhapsody*) 875 # PIC is the default on this platform 876 # Common symbols not allowed in MH_DYLIB files 877 lt_cv_prog_cc_pic='-fno-common' 878 ;; 879 cygwin* | mingw* | pw32* | os2*) 880 # This hack is so that the source file can tell whether it is being 881 # built for inclusion in a dll (and should export symbols for example). 882 lt_cv_prog_cc_pic='-DDLL_EXPORT' 883 ;; 884 sysv4*MP*) 885 if test -d /usr/nec; then 886 lt_cv_prog_cc_pic=-Kconform_pic 887 fi 888 ;; 889 *) 890 lt_cv_prog_cc_pic='-fPIC' 891 ;; 892 esac 893 else 894 # PORTME Check for PIC flags for the system compiler. 895 case $host_os in 896 aix3* | aix4* | aix5*) 897 lt_cv_prog_cc_wl='-Wl,' 898 # All AIX code is PIC. 899 if test "$host_cpu" = ia64; then 900 # AIX 5 now supports IA64 processor 901 lt_cv_prog_cc_static='-Bstatic' 902 else 903 lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' 904 fi 905 ;; 906 907 hpux9* | hpux10* | hpux11*) 908 # Is there a better lt_cv_prog_cc_static that works with the bundled CC? 909 lt_cv_prog_cc_wl='-Wl,' 910 lt_cv_prog_cc_static="${lt_cv_prog_cc_wl}-a ${lt_cv_prog_cc_wl}archive" 911 lt_cv_prog_cc_pic='+Z' 912 ;; 913 914 irix5* | irix6*) 915 lt_cv_prog_cc_wl='-Wl,' 916 lt_cv_prog_cc_static='-non_shared' 917 # PIC (with -KPIC) is the default. 918 ;; 919 920 linux*) 921 echo '__INTEL_COMPILER' > conftest.$ac_ext 922 if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null 923 then 924 lt_cv_prog_cc_can_build_shared=no 925 else 926 # Intel icc 927 lt_cv_prog_cc_pic='-KPIC' 928 lt_cv_prog_cc_static='-static' 929 lt_cv_prog_cc_wl='-Qoption,ld,' 930 fi 931 ;; 932 933 cygwin* | mingw* | pw32* | os2*) 934 # This hack is so that the source file can tell whether it is being 935 # built for inclusion in a dll (and should export symbols for example). 936 lt_cv_prog_cc_pic='-DDLL_EXPORT' 937 ;; 938 939 newsos6) 940 lt_cv_prog_cc_pic='-KPIC' 941 lt_cv_prog_cc_static='-Bstatic' 942 ;; 943 944 osf3* | osf4* | osf5*) 945 # All OSF/1 code is PIC. 946 lt_cv_prog_cc_wl='-Wl,' 947 lt_cv_prog_cc_static='-non_shared' 948 ;; 949 950 sco3.2v5*) 951 lt_cv_prog_cc_pic='-Kpic' 952 lt_cv_prog_cc_static='-dn' 953 lt_cv_prog_cc_shlib='-belf' 954 ;; 955 956 solaris*) 957 lt_cv_prog_cc_pic='-KPIC' 958 lt_cv_prog_cc_static='-Bstatic' 959 lt_cv_prog_cc_wl='-Wl,' 960 ;; 961 962 sunos4*) 963 lt_cv_prog_cc_pic='-PIC' 964 lt_cv_prog_cc_static='-Bstatic' 965 lt_cv_prog_cc_wl='-Qoption ld ' 966 ;; 967 968 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 969 lt_cv_prog_cc_pic='-KPIC' 970 lt_cv_prog_cc_static='-Bstatic' 971 if test "x$host_vendor" = xsni; then 972 lt_cv_prog_cc_wl='-LD' 973 else 974 lt_cv_prog_cc_wl='-Wl,' 975 fi 976 ;; 977 978 uts4*) 979 lt_cv_prog_cc_pic='-pic' 980 lt_cv_prog_cc_static='-Bstatic' 981 ;; 982 983 sysv4*MP*) 984 if test -d /usr/nec ;then 985 lt_cv_prog_cc_pic='-Kconform_pic' 986 lt_cv_prog_cc_static='-Bstatic' 987 fi 988 ;; 989 990 *) 991 lt_cv_prog_cc_can_build_shared=no 992 ;; 993 esac 994 fi 995]) 996if test -z "$lt_cv_prog_cc_pic"; then 997 AC_MSG_RESULT([none]) 998else 999 AC_MSG_RESULT([$lt_cv_prog_cc_pic]) 1000 1001 # Check to make sure the pic_flag actually works. 1002 AC_MSG_CHECKING([if $compiler PIC flag $lt_cv_prog_cc_pic works]) 1003 AC_CACHE_VAL(lt_cv_prog_cc_pic_works, [dnl 1004 save_CFLAGS="$CFLAGS" 1005 CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC" 1006 AC_TRY_COMPILE([], [], [dnl 1007 case $host_os in 1008 hpux9* | hpux10* | hpux11*) 1009 # On HP-UX, both CC and GCC only warn that PIC is supported... then 1010 # they create non-PIC objects. So, if there were any warnings, we 1011 # assume that PIC is not supported. 1012 if test -s conftest.err; then 1013 lt_cv_prog_cc_pic_works=no 1014 else 1015 lt_cv_prog_cc_pic_works=yes 1016 fi 1017 ;; 1018 *) 1019 lt_cv_prog_cc_pic_works=yes 1020 ;; 1021 esac 1022 ], [dnl 1023 lt_cv_prog_cc_pic_works=no 1024 ]) 1025 CFLAGS="$save_CFLAGS" 1026 ]) 1027 1028 if test "X$lt_cv_prog_cc_pic_works" = Xno; then 1029 lt_cv_prog_cc_pic= 1030 lt_cv_prog_cc_can_build_shared=no 1031 else 1032 lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic" 1033 fi 1034 1035 AC_MSG_RESULT([$lt_cv_prog_cc_pic_works]) 1036fi 1037## 1038## END FIXME 1039 1040# Check for any special shared library compilation flags. 1041if test -n "$lt_cv_prog_cc_shlib"; then 1042 AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries]) 1043 if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then : 1044 else 1045 AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure]) 1046 lt_cv_prog_cc_can_build_shared=no 1047 fi 1048fi 1049 1050## FIXME: this should be a separate macro 1051## 1052AC_MSG_CHECKING([if $compiler static flag $lt_cv_prog_cc_static works]) 1053AC_CACHE_VAL([lt_cv_prog_cc_static_works], [dnl 1054 lt_cv_prog_cc_static_works=no 1055 save_LDFLAGS="$LDFLAGS" 1056 LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static" 1057 AC_TRY_LINK([], [], [lt_cv_prog_cc_static_works=yes]) 1058 LDFLAGS="$save_LDFLAGS" 1059]) 1060 1061# Belt *and* braces to stop my trousers falling down: 1062test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static= 1063AC_MSG_RESULT([$lt_cv_prog_cc_static_works]) 1064 1065pic_flag="$lt_cv_prog_cc_pic" 1066special_shlib_compile_flags="$lt_cv_prog_cc_shlib" 1067wl="$lt_cv_prog_cc_wl" 1068link_static_flag="$lt_cv_prog_cc_static" 1069no_builtin_flag="$lt_cv_prog_cc_no_builtin" 1070can_build_shared="$lt_cv_prog_cc_can_build_shared" 1071## 1072## END FIXME 1073 1074 1075## FIXME: this should be a separate macro 1076## 1077# Check to see if options -o and -c are simultaneously supported by compiler 1078AC_MSG_CHECKING([if $compiler supports -c -o file.$ac_objext]) 1079AC_CACHE_VAL([lt_cv_compiler_c_o], [ 1080$rm -r conftest 2>/dev/null 1081mkdir conftest 1082cd conftest 1083echo "int some_variable = 0;" > conftest.$ac_ext 1084mkdir out 1085# According to Tom Tromey, Ian Lance Taylor reported there are C compilers 1086# that will create temporary files in the current directory regardless of 1087# the output directory. Thus, making CWD read-only will cause this test 1088# to fail, enabling locking or at least warning the user not to do parallel 1089# builds. 1090chmod -w . 1091save_CFLAGS="$CFLAGS" 1092CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" 1093compiler_c_o=no 1094if { (eval echo configure:__oline__: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then 1095 # The compiler can only warn and ignore the option if not recognized 1096 # So say no if there are warnings 1097 if test -s out/conftest.err; then 1098 lt_cv_compiler_c_o=no 1099 else 1100 lt_cv_compiler_c_o=yes 1101 fi 1102else 1103 # Append any errors to the config.log. 1104 cat out/conftest.err 1>&AC_FD_CC 1105 lt_cv_compiler_c_o=no 1106fi 1107CFLAGS="$save_CFLAGS" 1108chmod u+w . 1109$rm conftest* out/* 1110rmdir out 1111cd .. 1112rmdir conftest 1113$rm -r conftest 2>/dev/null 1114]) 1115compiler_c_o=$lt_cv_compiler_c_o 1116AC_MSG_RESULT([$compiler_c_o]) 1117 1118if test x"$compiler_c_o" = x"yes"; then 1119 # Check to see if we can write to a .lo 1120 AC_MSG_CHECKING([if $compiler supports -c -o file.lo]) 1121 AC_CACHE_VAL([lt_cv_compiler_o_lo], [ 1122 lt_cv_compiler_o_lo=no 1123 save_CFLAGS="$CFLAGS" 1124 CFLAGS="$CFLAGS -c -o conftest.lo" 1125 save_objext="$ac_objext" 1126 ac_objext=lo 1127 AC_TRY_COMPILE([], [int some_variable = 0;], [dnl 1128 # The compiler can only warn and ignore the option if not recognized 1129 # So say no if there are warnings 1130 if test -s conftest.err; then 1131 lt_cv_compiler_o_lo=no 1132 else 1133 lt_cv_compiler_o_lo=yes 1134 fi 1135 ]) 1136 ac_objext="$save_objext" 1137 CFLAGS="$save_CFLAGS" 1138 ]) 1139 compiler_o_lo=$lt_cv_compiler_o_lo 1140 AC_MSG_RESULT([$compiler_o_lo]) 1141else 1142 compiler_o_lo=no 1143fi 1144## 1145## END FIXME 1146 1147## FIXME: this should be a separate macro 1148## 1149# Check to see if we can do hard links to lock some files if needed 1150hard_links="nottested" 1151if test "$compiler_c_o" = no && test "$need_locks" != no; then 1152 # do not overwrite the value of need_locks provided by the user 1153 AC_MSG_CHECKING([if we can lock with hard links]) 1154 hard_links=yes 1155 $rm conftest* 1156 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1157 touch conftest.a 1158 ln conftest.a conftest.b 2>&5 || hard_links=no 1159 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1160 AC_MSG_RESULT([$hard_links]) 1161 if test "$hard_links" = no; then 1162 AC_MSG_WARN([\`$CC' does not support \`-c -o', so \`make -j' may be unsafe]) 1163 need_locks=warn 1164 fi 1165else 1166 need_locks=no 1167fi 1168## 1169## END FIXME 1170 1171## FIXME: this should be a separate macro 1172## 1173if test "$GCC" = yes; then 1174 # Check to see if options -fno-rtti -fno-exceptions are supported by compiler 1175 AC_MSG_CHECKING([if $compiler supports -fno-rtti -fno-exceptions]) 1176 echo "int some_variable = 0;" > conftest.$ac_ext 1177 save_CFLAGS="$CFLAGS" 1178 CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext" 1179 compiler_rtti_exceptions=no 1180 AC_TRY_COMPILE([], [int some_variable = 0;], [dnl 1181 # The compiler can only warn and ignore the option if not recognized 1182 # So say no if there are warnings 1183 if test -s conftest.err; then 1184 compiler_rtti_exceptions=no 1185 else 1186 compiler_rtti_exceptions=yes 1187 fi 1188 ]) 1189 CFLAGS="$save_CFLAGS" 1190 AC_MSG_RESULT([$compiler_rtti_exceptions]) 1191 1192 if test "$compiler_rtti_exceptions" = "yes"; then 1193 no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' 1194 else 1195 no_builtin_flag=' -fno-builtin' 1196 fi 1197fi 1198## 1199## END FIXME 1200 1201## FIXME: this should be a separate macro 1202## 1203# See if the linker supports building shared libraries. 1204AC_MSG_CHECKING([whether the linker ($LD) supports shared libraries]) 1205 1206allow_undefined_flag= 1207no_undefined_flag= 1208need_lib_prefix=unknown 1209need_version=unknown 1210# when you set need_version to no, make sure it does not cause -set_version 1211# flags to be left without arguments 1212archive_cmds= 1213archive_expsym_cmds= 1214old_archive_from_new_cmds= 1215old_archive_from_expsyms_cmds= 1216export_dynamic_flag_spec= 1217whole_archive_flag_spec= 1218thread_safe_flag_spec= 1219hardcode_into_libs=no 1220hardcode_libdir_flag_spec= 1221hardcode_libdir_separator= 1222hardcode_direct=no 1223hardcode_minus_L=no 1224hardcode_shlibpath_var=unsupported 1225runpath_var= 1226link_all_deplibs=unknown 1227always_export_symbols=no 1228export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' 1229# include_expsyms should be a list of space-separated symbols to be *always* 1230# included in the symbol list 1231include_expsyms= 1232# exclude_expsyms can be an egrep regular expression of symbols to exclude 1233# it will be wrapped by ` (' and `)$', so one must not match beginning or 1234# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 1235# as well as any symbol that contains `d'. 1236exclude_expsyms="_GLOBAL_OFFSET_TABLE_" 1237# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 1238# platforms (ab)use it in PIC code, but their linkers get confused if 1239# the symbol is explicitly referenced. Since portable code cannot 1240# rely on this symbol name, it's probably fine to never include it in 1241# preloaded symbol tables. 1242extract_expsyms_cmds= 1243 1244case $host_os in 1245cygwin* | mingw* | pw32*) 1246 # FIXME: the MSVC++ port hasn't been tested in a loooong time 1247 # When not using gcc, we currently assume that we are using 1248 # Microsoft Visual C++. 1249 if test "$GCC" != yes; then 1250 with_gnu_ld=no 1251 fi 1252 ;; 1253openbsd*) 1254 with_gnu_ld=no 1255 ;; 1256esac 1257 1258ld_shlibs=yes 1259if test "$with_gnu_ld" = yes; then 1260 # If archive_cmds runs LD, not CC, wlarc should be empty 1261 wlarc='${wl}' 1262 1263 # See if GNU ld supports shared libraries. 1264 case $host_os in 1265 aix3* | aix4* | aix5*) 1266 # On AIX, the GNU linker is very broken 1267 # Note:Check GNU linker on AIX 5-IA64 when/if it becomes available. 1268 ld_shlibs=no 1269 cat <<EOF 1>&2 1270 1271*** Warning: the GNU linker, at least up to release 2.9.1, is reported 1272*** to be unable to reliably create shared libraries on AIX. 1273*** Therefore, libtool is disabling shared libraries support. If you 1274*** really care for shared libraries, you may want to modify your PATH 1275*** so that a non-GNU linker is found, and then restart. 1276 1277EOF 1278 ;; 1279 1280 amigaos*) 1281 archive_cmds='$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)' 1282 hardcode_libdir_flag_spec='-L$libdir' 1283 hardcode_minus_L=yes 1284 1285 # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports 1286 # that the semantics of dynamic libraries on AmigaOS, at least up 1287 # to version 4, is to share data among multiple programs linked 1288 # with the same dynamic library. Since this doesn't match the 1289 # behavior of shared libraries on other platforms, we can use 1290 # them. 1291 ld_shlibs=no 1292 ;; 1293 1294 beos*) 1295 if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 1296 allow_undefined_flag=unsupported 1297 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 1298 # support --undefined. This deserves some investigation. FIXME 1299 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 1300 else 1301 ld_shlibs=no 1302 fi 1303 ;; 1304 1305 cygwin* | mingw* | pw32*) 1306 # hardcode_libdir_flag_spec is actually meaningless, as there is 1307 # no search path for DLLs. 1308 hardcode_libdir_flag_spec='-L$libdir' 1309 allow_undefined_flag=unsupported 1310 always_export_symbols=yes 1311 1312 extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ 1313 sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ 1314 test -f $output_objdir/impgen.exe || (cd $output_objdir && \ 1315 if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ 1316 else $CC -o impgen impgen.c ; fi)~ 1317 $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' 1318 1319 old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' 1320 1321 # cygwin and mingw dlls have different entry points and sets of symbols 1322 # to exclude. 1323 # FIXME: what about values for MSVC? 1324 dll_entry=__cygwin_dll_entry@12 1325 dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ 1326 case $host_os in 1327 mingw*) 1328 # mingw values 1329 dll_entry=_DllMainCRTStartup@12 1330 dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ 1331 ;; 1332 esac 1333 1334 # mingw and cygwin differ, and it's simplest to just exclude the union 1335 # of the two symbol sets. 1336 dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 1337 1338 # recent cygwin and mingw systems supply a stub DllMain which the user 1339 # can override, but on older systems we have to supply one (in ltdll.c) 1340 if test "x$lt_cv_need_dllmain" = "xyes"; then 1341 ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " 1342 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~ 1343 test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' 1344 else 1345 ltdll_obj= 1346 ltdll_cmds= 1347 fi 1348 1349 # Extract the symbol export list from an `--export-all' def file, 1350 # then regenerate the def file from the symbol export list, so that 1351 # the compiled dll only exports the symbol export list. 1352 # Be careful not to strip the DATA tag left be newer dlltools. 1353 export_symbols_cmds="$ltdll_cmds"' 1354 $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ 1355 sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' 1356 1357 # If the export-symbols file already is a .def file (1st line 1358 # is EXPORTS), use it as is. 1359 # If DATA tags from a recent dlltool are present, honour them! 1360 archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then 1361 cp $export_symbols $output_objdir/$soname-def; 1362 else 1363 echo EXPORTS > $output_objdir/$soname-def; 1364 _lt_hint=1; 1365 cat $export_symbols | while read symbol; do 1366 set dummy \$symbol; 1367 case \[$]# in 1368 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; 1369 *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; 1370 esac; 1371 _lt_hint=`expr 1 + \$_lt_hint`; 1372 done; 1373 fi~ 1374 '"$ltdll_cmds"' 1375 $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~ 1376 $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~ 1377 $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~ 1378 $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~ 1379 $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' 1380 ;; 1381 1382 netbsd*) 1383 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 1384 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 1385 wlarc= 1386 else 1387 archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 1388 archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 1389 fi 1390 ;; 1391 1392 solaris* | sysv5*) 1393 if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then 1394 ld_shlibs=no 1395 cat <<EOF 1>&2 1396 1397*** Warning: The releases 2.8.* of the GNU linker cannot reliably 1398*** create shared libraries on Solaris systems. Therefore, libtool 1399*** is disabling shared libraries support. We urge you to upgrade GNU 1400*** binutils to release 2.9.1 or newer. Another option is to modify 1401*** your PATH or compiler configuration so that the native linker is 1402*** used, and then restart. 1403 1404EOF 1405 elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 1406 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 1407 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 1408 else 1409 ld_shlibs=no 1410 fi 1411 ;; 1412 1413 sunos4*) 1414 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 1415 wlarc= 1416 hardcode_direct=yes 1417 hardcode_shlibpath_var=no 1418 ;; 1419 1420 *) 1421 if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then 1422 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 1423 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 1424 else 1425 ld_shlibs=no 1426 fi 1427 ;; 1428 esac 1429 1430 if test "$ld_shlibs" = yes; then 1431 runpath_var=LD_RUN_PATH 1432 hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' 1433 export_dynamic_flag_spec='${wl}--export-dynamic' 1434 case $host_os in 1435 cygwin* | mingw* | pw32*) 1436 # dlltool doesn't understand --whole-archive et. al. 1437 whole_archive_flag_spec= 1438 ;; 1439 *) 1440 # ancient GNU ld didn't support --whole-archive et. al. 1441 if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then 1442 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 1443 else 1444 whole_archive_flag_spec= 1445 fi 1446 ;; 1447 esac 1448 fi 1449else 1450 # PORTME fill in a description of your system's linker (not GNU ld) 1451 case $host_os in 1452 aix3*) 1453 allow_undefined_flag=unsupported 1454 always_export_symbols=yes 1455 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' 1456 # Note: this linker hardcodes the directories in LIBPATH if there 1457 # are no directories specified by -L. 1458 hardcode_minus_L=yes 1459 if test "$GCC" = yes && test -z "$link_static_flag"; then 1460 # Neither direct hardcoding nor static linking is supported with a 1461 # broken collect2. 1462 hardcode_direct=unsupported 1463 fi 1464 ;; 1465 1466 aix4* | aix5*) 1467 if test "$host_cpu" = ia64; then 1468 # On IA64, the linker does run time linking by default, so we don't 1469 # have to do anything special. 1470 aix_use_runtimelinking=no 1471 exp_sym_flag='-Bexport' 1472 no_entry_flag="" 1473 else 1474 aix_use_runtimelinking=no 1475 1476 # Test if we are trying to use run time linking or normal 1477 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 1478 # need to do runtime linking. 1479 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) 1480 for ld_flag in $LDFLAGS; do 1481 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 1482 aix_use_runtimelinking=yes 1483 break 1484 fi 1485 done 1486 esac 1487 1488 exp_sym_flag='-bexport' 1489 no_entry_flag='-bnoentry' 1490 fi 1491 1492 # When large executables or shared objects are built, AIX ld can 1493 # have problems creating the table of contents. If linking a library 1494 # or program results in "error TOC overflow" add -mminimal-toc to 1495 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 1496 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 1497 1498 hardcode_direct=yes 1499 archive_cmds='' 1500 hardcode_libdir_separator=':' 1501 if test "$GCC" = yes; then 1502 case $host_os in aix4.[[012]]|aix4.[[012]].*) 1503 collect2name=`${CC} -print-prog-name=collect2` 1504 if test -f "$collect2name" && \ 1505 strings "$collect2name" | grep resolve_lib_name >/dev/null 1506 then 1507 # We have reworked collect2 1508 hardcode_direct=yes 1509 else 1510 # We have old collect2 1511 hardcode_direct=unsupported 1512 # It fails to find uninstalled libraries when the uninstalled 1513 # path is not listed in the libpath. Setting hardcode_minus_L 1514 # to unsupported forces relinking 1515 hardcode_minus_L=yes 1516 hardcode_libdir_flag_spec='-L$libdir' 1517 hardcode_libdir_separator= 1518 fi 1519 esac 1520 1521 shared_flag='-shared' 1522 else 1523 # not using gcc 1524 if test "$host_cpu" = ia64; then 1525 shared_flag='${wl}-G' 1526 else 1527 if test "$aix_use_runtimelinking" = yes; then 1528 shared_flag='${wl}-G' 1529 else 1530 shared_flag='${wl}-bM:SRE' 1531 fi 1532 fi 1533 fi 1534 1535 # It seems that -bexpall can do strange things, so it is better to 1536 # generate a list of symbols to export. 1537 always_export_symbols=yes 1538 if test "$aix_use_runtimelinking" = yes; then 1539 # Warning - without using the other runtime loading flags (-brtl), 1540 # -berok will link without error, but may produce a broken library. 1541 allow_undefined_flag='-berok' 1542 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' 1543 archive_expsym_cmds="\$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}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" 1544 else 1545 if test "$host_cpu" = ia64; then 1546 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' 1547 allow_undefined_flag="-z nodefs" 1548 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" 1549 else 1550 hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' 1551 # Warning - without using the other run time loading flags, 1552 # -berok will link without error, but may produce a broken library. 1553 allow_undefined_flag='${wl}-berok' 1554 # This is a bit strange, but is similar to how AIX traditionally builds 1555 # it's shared libraries. 1556 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname' 1557 fi 1558 fi 1559 ;; 1560 1561 amigaos*) 1562 archive_cmds='$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)' 1563 hardcode_libdir_flag_spec='-L$libdir' 1564 hardcode_minus_L=yes 1565 # see comment about different semantics on the GNU ld section 1566 ld_shlibs=no 1567 ;; 1568 1569 cygwin* | mingw* | pw32*) 1570 # When not using gcc, we currently assume that we are using 1571 # Microsoft Visual C++. 1572 # hardcode_libdir_flag_spec is actually meaningless, as there is 1573 # no search path for DLLs. 1574 hardcode_libdir_flag_spec=' ' 1575 allow_undefined_flag=unsupported 1576 # Tell ltmain to make .lib files, not .a files. 1577 libext=lib 1578 # FIXME: Setting linknames here is a bad hack. 1579 archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 1580 # The linker will automatically build a .lib file if we build a DLL. 1581 old_archive_from_new_cmds='true' 1582 # FIXME: Should let the user specify the lib program. 1583 old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' 1584 fix_srcfile_path='`cygpath -w "$srcfile"`' 1585 ;; 1586 1587 darwin* | rhapsody*) 1588 case "$host_os" in 1589 rhapsody* | darwin1.[[012]]) 1590 allow_undefined_flag='-undefined suppress' 1591 ;; 1592 *) # Darwin 1.3 on 1593 allow_undefined_flag='-flat_namespace -undefined suppress' 1594 ;; 1595 esac 1596 # FIXME: Relying on posixy $() will cause problems for 1597 # cross-compilation, but unfortunately the echo tests do not 1598 # yet detect zsh echo's removal of \ escapes. 1599 archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' 1600 # We need to add '_' to the symbols in $export_symbols first 1601 #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' 1602 hardcode_direct=yes 1603 hardcode_shlibpath_var=no 1604 whole_archive_flag_spec='-all_load $convenience' 1605 ;; 1606 1607 freebsd1*) 1608 ld_shlibs=no 1609 ;; 1610 1611 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 1612 # support. Future versions do this automatically, but an explicit c++rt0.o 1613 # does not break anything, and helps significantly (at the cost of a little 1614 # extra space). 1615 freebsd2.2*) 1616 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 1617 hardcode_libdir_flag_spec='-R$libdir' 1618 hardcode_direct=yes 1619 hardcode_shlibpath_var=no 1620 ;; 1621 1622 # Unfortunately, older versions of FreeBSD 2 do not have this feature. 1623 freebsd2*) 1624 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 1625 hardcode_direct=yes 1626 hardcode_minus_L=yes 1627 hardcode_shlibpath_var=no 1628 ;; 1629 1630 # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 1631 freebsd*) 1632 archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 1633 hardcode_libdir_flag_spec='-R$libdir' 1634 hardcode_direct=yes 1635 hardcode_shlibpath_var=no 1636 ;; 1637 1638 hpux9* | hpux10* | hpux11*) 1639 case $host_os in 1640 hpux9*) archive_cmds='$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' ;; 1641 *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; 1642 esac 1643 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' 1644 hardcode_libdir_separator=: 1645 hardcode_direct=yes 1646 hardcode_minus_L=yes # Not in the search PATH, but as the default 1647 # location of the library. 1648 export_dynamic_flag_spec='${wl}-E' 1649 ;; 1650 1651 irix5* | irix6*) 1652 if test "$GCC" = yes; then 1653 archive_cmds='$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' 1654 else 1655 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' 1656 fi 1657 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 1658 hardcode_libdir_separator=: 1659 link_all_deplibs=yes 1660 ;; 1661 1662 netbsd*) 1663 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 1664 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 1665 else 1666 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 1667 fi 1668 hardcode_libdir_flag_spec='-R$libdir' 1669 hardcode_direct=yes 1670 hardcode_shlibpath_var=no 1671 ;; 1672 1673 newsos6) 1674 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1675 hardcode_direct=yes 1676 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 1677 hardcode_libdir_separator=: 1678 hardcode_shlibpath_var=no 1679 ;; 1680 1681 openbsd*) 1682 hardcode_direct=yes 1683 hardcode_shlibpath_var=no 1684 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 1685 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' 1686 hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 1687 export_dynamic_flag_spec='${wl}-E' 1688 else 1689 case "$host_os" in 1690 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 1691 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 1692 hardcode_libdir_flag_spec='-R$libdir' 1693 ;; 1694 *) 1695 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' 1696 hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 1697 ;; 1698 esac 1699 fi 1700 ;; 1701 1702 os2*) 1703 hardcode_libdir_flag_spec='-L$libdir' 1704 hardcode_minus_L=yes 1705 allow_undefined_flag=unsupported 1706 archive_cmds='$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' 1707 old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 1708 ;; 1709 1710 osf3*) 1711 if test "$GCC" = yes; then 1712 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' 1713 archive_cmds='$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' 1714 else 1715 allow_undefined_flag=' -expect_unresolved \*' 1716 archive_cmds='$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' 1717 fi 1718 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 1719 hardcode_libdir_separator=: 1720 ;; 1721 1722 osf4* | osf5*) # as osf3* with the addition of -msym flag 1723 if test "$GCC" = yes; then 1724 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' 1725 archive_cmds='$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' 1726 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 1727 else 1728 allow_undefined_flag=' -expect_unresolved \*' 1729 archive_cmds='$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' 1730 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ 1731 $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' 1732 1733 #Both c and cxx compiler support -rpath directly 1734 hardcode_libdir_flag_spec='-rpath $libdir' 1735 fi 1736 hardcode_libdir_separator=: 1737 ;; 1738 1739 sco3.2v5*) 1740 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1741 hardcode_shlibpath_var=no 1742 runpath_var=LD_RUN_PATH 1743 hardcode_runpath_var=yes 1744 export_dynamic_flag_spec='${wl}-Bexport' 1745 ;; 1746 1747 solaris*) 1748 # gcc --version < 3.0 without binutils cannot create self contained 1749 # shared libraries reliably, requiring libgcc.a to resolve some of 1750 # the object symbols generated in some cases. Libraries that use 1751 # assert need libgcc.a to resolve __eprintf, for example. Linking 1752 # a copy of libgcc.a into every shared library to guarantee resolving 1753 # such symbols causes other problems: According to Tim Van Holder 1754 # <tim.van.holder@pandora.be>, C++ libraries end up with a separate 1755 # (to the application) exception stack for one thing. 1756 no_undefined_flag=' -z defs' 1757 if test "$GCC" = yes; then 1758 case `$CC --version 2>/dev/null` in 1759 [[12]].*) 1760 cat <<EOF 1>&2 1761 1762*** Warning: Releases of GCC earlier than version 3.0 cannot reliably 1763*** create self contained shared libraries on Solaris systems, without 1764*** introducing a dependency on libgcc.a. Therefore, libtool is disabling 1765*** -no-undefined support, which will at least allow you to build shared 1766*** libraries. However, you may find that when you link such libraries 1767*** into an application without using GCC, you have to manually add 1768*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to 1769*** upgrade to a newer version of GCC. Another option is to rebuild your 1770*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer. 1771 1772EOF 1773 no_undefined_flag= 1774 ;; 1775 esac 1776 fi 1777 # $CC -shared without GNU ld will not create a library from C++ 1778 # object files and a static libstdc++, better avoid it by now 1779 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 1780 archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 1781 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' 1782 hardcode_libdir_flag_spec='-R$libdir' 1783 hardcode_shlibpath_var=no 1784 case $host_os in 1785 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 1786 *) # Supported since Solaris 2.6 (maybe 2.5.1?) 1787 whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; 1788 esac 1789 link_all_deplibs=yes 1790 ;; 1791 1792 sunos4*) 1793 if test "x$host_vendor" = xsequent; then 1794 # Use $CC to link under sequent, because it throws in some extra .o 1795 # files that make .init and .fini sections work. 1796 archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 1797 else 1798 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 1799 fi 1800 hardcode_libdir_flag_spec='-L$libdir' 1801 hardcode_direct=yes 1802 hardcode_minus_L=yes 1803 hardcode_shlibpath_var=no 1804 ;; 1805 1806 sysv4) 1807 if test "x$host_vendor" = xsno; then 1808 archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' 1809 hardcode_direct=yes # is this really true??? 1810 else 1811 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1812 hardcode_direct=no #Motorola manual says yes, but my tests say they lie 1813 fi 1814 runpath_var='LD_RUN_PATH' 1815 hardcode_shlibpath_var=no 1816 ;; 1817 1818 sysv4.3*) 1819 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1820 hardcode_shlibpath_var=no 1821 export_dynamic_flag_spec='-Bexport' 1822 ;; 1823 1824 sysv5*) 1825 no_undefined_flag=' -z text' 1826 # $CC -shared without GNU ld will not create a library from C++ 1827 # object files and a static libstdc++, better avoid it by now 1828 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 1829 archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ 1830 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' 1831 hardcode_libdir_flag_spec= 1832 hardcode_shlibpath_var=no 1833 runpath_var='LD_RUN_PATH' 1834 ;; 1835 1836 uts4*) 1837 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1838 hardcode_libdir_flag_spec='-L$libdir' 1839 hardcode_shlibpath_var=no 1840 ;; 1841 1842 dgux*) 1843 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1844 hardcode_libdir_flag_spec='-L$libdir' 1845 hardcode_shlibpath_var=no 1846 ;; 1847 1848 sysv4*MP*) 1849 if test -d /usr/nec; then 1850 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 1851 hardcode_shlibpath_var=no 1852 runpath_var=LD_RUN_PATH 1853 hardcode_runpath_var=yes 1854 ld_shlibs=yes 1855 fi 1856 ;; 1857 1858 sysv4.2uw2*) 1859 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' 1860 hardcode_direct=yes 1861 hardcode_minus_L=no 1862 hardcode_shlibpath_var=no 1863 hardcode_runpath_var=yes 1864 runpath_var=LD_RUN_PATH 1865 ;; 1866 1867 sysv5uw7* | unixware7*) 1868 no_undefined_flag='${wl}-z ${wl}text' 1869 if test "$GCC" = yes; then 1870 archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 1871 else 1872 archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 1873 fi 1874 runpath_var='LD_RUN_PATH' 1875 hardcode_shlibpath_var=no 1876 ;; 1877 1878 *) 1879 ld_shlibs=no 1880 ;; 1881 esac 1882fi 1883AC_MSG_RESULT([$ld_shlibs]) 1884test "$ld_shlibs" = no && can_build_shared=no 1885## 1886## END FIXME 1887 1888## FIXME: this should be a separate macro 1889## 1890# Check hardcoding attributes. 1891AC_MSG_CHECKING([how to hardcode library paths into programs]) 1892hardcode_action= 1893if test -n "$hardcode_libdir_flag_spec" || \ 1894 test -n "$runpath_var"; then 1895 1896 # We can hardcode non-existant directories. 1897 if test "$hardcode_direct" != no && 1898 # If the only mechanism to avoid hardcoding is shlibpath_var, we 1899 # have to relink, otherwise we might link with an installed library 1900 # when we should be linking with a yet-to-be-installed one 1901 ## test "$hardcode_shlibpath_var" != no && 1902 test "$hardcode_minus_L" != no; then 1903 # Linking always hardcodes the temporary library directory. 1904 hardcode_action=relink 1905 else 1906 # We can link without hardcoding, and we can hardcode nonexisting dirs. 1907 hardcode_action=immediate 1908 fi 1909else 1910 # We cannot hardcode anything, or else we can only hardcode existing 1911 # directories. 1912 hardcode_action=unsupported 1913fi 1914AC_MSG_RESULT([$hardcode_action]) 1915## 1916## END FIXME 1917 1918## FIXME: this should be a separate macro 1919## 1920striplib= 1921old_striplib= 1922AC_MSG_CHECKING([whether stripping libraries is possible]) 1923if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then 1924 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 1925 test -z "$striplib" && striplib="$STRIP --strip-unneeded" 1926 AC_MSG_RESULT([yes]) 1927else 1928 AC_MSG_RESULT([no]) 1929fi 1930## 1931## END FIXME 1932 1933reload_cmds='$LD$reload_flag -o $output$reload_objs' 1934test -z "$deplibs_check_method" && deplibs_check_method=unknown 1935 1936## FIXME: this should be a separate macro 1937## 1938# PORTME Fill in your ld.so characteristics 1939AC_MSG_CHECKING([dynamic linker characteristics]) 1940library_names_spec= 1941libname_spec='lib$name' 1942soname_spec= 1943postinstall_cmds= 1944postuninstall_cmds= 1945finish_cmds= 1946finish_eval= 1947shlibpath_var= 1948shlibpath_overrides_runpath=unknown 1949version_type=none 1950dynamic_linker="$host_os ld.so" 1951sys_lib_dlsearch_path_spec="/lib /usr/lib" 1952sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 1953 1954case $host_os in 1955aix3*) 1956 version_type=linux 1957 library_names_spec='${libname}${release}.so$versuffix $libname.a' 1958 shlibpath_var=LIBPATH 1959 1960 # AIX has no versioning support, so we append a major version to the name. 1961 soname_spec='${libname}${release}.so$major' 1962 ;; 1963 1964aix4* | aix5*) 1965 version_type=linux 1966 if test "$host_cpu" = ia64; then 1967 # AIX 5 supports IA64 1968 library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' 1969 shlibpath_var=LD_LIBRARY_PATH 1970 else 1971 # With GCC up to 2.95.x, collect2 would create an import file 1972 # for dependence libraries. The import file would start with 1973 # the line `#! .'. This would cause the generated library to 1974 # depend on `.', always an invalid library. This was fixed in 1975 # development snapshots of GCC prior to 3.0. 1976 case $host_os in 1977 aix4 | aix4.[[01]] | aix4.[[01]].*) 1978 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 1979 echo ' yes ' 1980 echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then 1981 : 1982 else 1983 can_build_shared=no 1984 fi 1985 ;; 1986 esac 1987 # AIX (on Power*) has no versioning support, so currently we can 1988 # not hardcode correct soname into executable. Probably we can 1989 # add versioning support to collect2, so additional links can 1990 # be useful in future. 1991 if test "$aix_use_runtimelinking" = yes; then 1992 # If using run time linking (on AIX 4.2 or later) use lib<name>.so 1993 # instead of lib<name>.a to let people know that these are not 1994 # typical AIX shared libraries. 1995 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 1996 else 1997 # We preserve .a as extension for shared libraries through AIX4.2 1998 # and later when we are not doing run time linking. 1999 library_names_spec='${libname}${release}.a $libname.a' 2000 soname_spec='${libname}${release}.so$major' 2001 fi 2002 shlibpath_var=LIBPATH 2003 fi 2004 ;; 2005 2006amigaos*) 2007 library_names_spec='$libname.ixlibrary $libname.a' 2008 # Create ${libname}_ixlibrary.a entries in /sys/libs. 2009 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' 2010 ;; 2011 2012beos*) 2013 library_names_spec='${libname}.so' 2014 dynamic_linker="$host_os ld.so" 2015 shlibpath_var=LIBRARY_PATH 2016 ;; 2017 2018bsdi4*) 2019 version_type=linux 2020 need_version=no 2021 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2022 soname_spec='${libname}${release}.so$major' 2023 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 2024 shlibpath_var=LD_LIBRARY_PATH 2025 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 2026 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 2027 export_dynamic_flag_spec=-rdynamic 2028 # the default ld.so.conf also contains /usr/contrib/lib and 2029 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 2030 # libtool to hard-code these into programs 2031 ;; 2032 2033cygwin* | mingw* | pw32*) 2034 version_type=windows 2035 need_version=no 2036 need_lib_prefix=no 2037 case $GCC,$host_os in 2038 yes,cygwin*) 2039 library_names_spec='$libname.dll.a' 2040 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' 2041 postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ 2042 dldir=$destdir/`dirname \$dlpath`~ 2043 test -d \$dldir || mkdir -p \$dldir~ 2044 $install_prog .libs/$dlname \$dldir/$dlname' 2045 postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2046 dlpath=$dir/\$dldll~ 2047 $rm \$dlpath' 2048 ;; 2049 yes,mingw*) 2050 library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' 2051 sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` 2052 ;; 2053 yes,pw32*) 2054 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' 2055 ;; 2056 *) 2057 library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' 2058 ;; 2059 esac 2060 dynamic_linker='Win32 ld.exe' 2061 # FIXME: first we should search . and the directory the executable is in 2062 shlibpath_var=PATH 2063 ;; 2064 2065darwin* | rhapsody*) 2066 dynamic_linker="$host_os dyld" 2067 version_type=darwin 2068 need_lib_prefix=no 2069 need_version=no 2070 # FIXME: Relying on posixy $() will cause problems for 2071 # cross-compilation, but unfortunately the echo tests do not 2072 # yet detect zsh echo's removal of \ escapes. 2073 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)' 2074 soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' 2075 shlibpath_overrides_runpath=yes 2076 shlibpath_var=DYLD_LIBRARY_PATH 2077 ;; 2078 2079freebsd1*) 2080 dynamic_linker=no 2081 ;; 2082 2083freebsd*-gnu*) 2084 version_type=linux 2085 need_lib_prefix=no 2086 need_version=no 2087 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2088 soname_spec='${libname}${release}.so$major' 2089 shlibpath_var=LD_LIBRARY_PATH 2090 shlibpath_overrides_runpath=no 2091 hardcode_into_libs=yes 2092 dynamic_linker='GNU ld.so' 2093 ;; 2094 2095freebsd*) 2096 objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` 2097 version_type=freebsd-$objformat 2098 case $version_type in 2099 freebsd-elf*) 2100 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' 2101 need_version=no 2102 need_lib_prefix=no 2103 ;; 2104 freebsd-*) 2105 library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' 2106 need_version=yes 2107 ;; 2108 esac 2109 shlibpath_var=LD_LIBRARY_PATH 2110 case $host_os in 2111 freebsd2*) 2112 shlibpath_overrides_runpath=yes 2113 ;; 2114 *) 2115 shlibpath_overrides_runpath=no 2116 hardcode_into_libs=yes 2117 ;; 2118 esac 2119 ;; 2120 2121gnu*) 2122 version_type=linux 2123 need_lib_prefix=no 2124 need_version=no 2125 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' 2126 soname_spec='${libname}${release}.so$major' 2127 shlibpath_var=LD_LIBRARY_PATH 2128 hardcode_into_libs=yes 2129 ;; 2130 2131hpux9* | hpux10* | hpux11*) 2132 # Give a soname corresponding to the major version so that dld.sl refuses to 2133 # link against other versions. 2134 dynamic_linker="$host_os dld.sl" 2135 version_type=sunos 2136 need_lib_prefix=no 2137 need_version=no 2138 shlibpath_var=SHLIB_PATH 2139 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2140 library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' 2141 soname_spec='${libname}${release}.sl$major' 2142 # HP-UX runs *really* slowly unless shared libraries are mode 555. 2143 postinstall_cmds='chmod 555 $lib' 2144 ;; 2145 2146irix5* | irix6*) 2147 version_type=irix 2148 need_lib_prefix=no 2149 need_version=no 2150 soname_spec='${libname}${release}.so$major' 2151 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' 2152 case $host_os in 2153 irix5*) 2154 libsuff= shlibsuff= 2155 ;; 2156 *) 2157 case $LD in # libtool.m4 will add one of these switches to LD 2158 *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; 2159 *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; 2160 *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; 2161 *) libsuff= shlibsuff= libmagic=never-match;; 2162 esac 2163 ;; 2164 esac 2165 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 2166 shlibpath_overrides_runpath=no 2167 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 2168 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 2169 ;; 2170 2171# No shared lib support for Linux oldld, aout, or coff. 2172linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) 2173 dynamic_linker=no 2174 ;; 2175 2176# This must be Linux ELF. 2177linux-gnu*) 2178 version_type=linux 2179 need_lib_prefix=no 2180 need_version=no 2181 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2182 soname_spec='${libname}${release}.so$major' 2183 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2184 shlibpath_var=LD_LIBRARY_PATH 2185 shlibpath_overrides_runpath=no 2186 # This implies no fast_install, which is unacceptable. 2187 # Some rework will be needed to allow for fast_install 2188 # before this can be enabled. 2189 hardcode_into_libs=yes 2190 2191 # We used to test for /lib/ld.so.1 and disable shared libraries on 2192 # powerpc, because MkLinux only supported shared libraries with the 2193 # GNU dynamic linker. Since this was broken with cross compilers, 2194 # most powerpc-linux boxes support dynamic linking these days and 2195 # people can always --disable-shared, the test was removed, and we 2196 # assume the GNU/Linux dynamic linker is in use. 2197 dynamic_linker='GNU/Linux ld.so' 2198 ;; 2199 2200netbsd*) 2201 version_type=sunos 2202 need_lib_prefix=no 2203 need_version=no 2204 if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then 2205 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 2206 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2207 dynamic_linker='NetBSD (a.out) ld.so' 2208 else 2209 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' 2210 soname_spec='${libname}${release}.so$major' 2211 dynamic_linker='NetBSD ld.elf_so' 2212 fi 2213 shlibpath_var=LD_LIBRARY_PATH 2214 shlibpath_overrides_runpath=yes 2215 hardcode_into_libs=yes 2216 ;; 2217 2218newsos6) 2219 version_type=linux 2220 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2221 shlibpath_var=LD_LIBRARY_PATH 2222 shlibpath_overrides_runpath=yes 2223 ;; 2224 2225openbsd*) 2226 version_type=sunos 2227 need_lib_prefix=no 2228 need_version=no 2229 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 2230 case "$host_os" in 2231 openbsd2.[[89]] | openbsd2.[[89]].*) 2232 shlibpath_overrides_runpath=no 2233 ;; 2234 *) 2235 shlibpath_overrides_runpath=yes 2236 ;; 2237 esac 2238 else 2239 shlibpath_overrides_runpath=yes 2240 fi 2241 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 2242 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2243 shlibpath_var=LD_LIBRARY_PATH 2244 ;; 2245 2246os2*) 2247 libname_spec='$name' 2248 need_lib_prefix=no 2249 library_names_spec='$libname.dll $libname.a' 2250 dynamic_linker='OS/2 ld.exe' 2251 shlibpath_var=LIBPATH 2252 ;; 2253 2254osf3* | osf4* | osf5*) 2255 version_type=osf 2256 need_version=no 2257 soname_spec='${libname}${release}.so' 2258 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' 2259 shlibpath_var=LD_LIBRARY_PATH 2260 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 2261 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 2262 ;; 2263 2264sco3.2v5*) 2265 version_type=osf 2266 soname_spec='${libname}${release}.so$major' 2267 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2268 shlibpath_var=LD_LIBRARY_PATH 2269 ;; 2270 2271solaris*) 2272 version_type=linux 2273 need_lib_prefix=no 2274 need_version=no 2275 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2276 soname_spec='${libname}${release}.so$major' 2277 shlibpath_var=LD_LIBRARY_PATH 2278 shlibpath_overrides_runpath=yes 2279 hardcode_into_libs=yes 2280 # ldd complains unless libraries are executable 2281 postinstall_cmds='chmod +x $lib' 2282 ;; 2283 2284sunos4*) 2285 version_type=sunos 2286 library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' 2287 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 2288 shlibpath_var=LD_LIBRARY_PATH 2289 shlibpath_overrides_runpath=yes 2290 if test "$with_gnu_ld" = yes; then 2291 need_lib_prefix=no 2292 fi 2293 need_version=yes 2294 ;; 2295 2296sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 2297 version_type=linux 2298 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2299 soname_spec='${libname}${release}.so$major' 2300 shlibpath_var=LD_LIBRARY_PATH 2301 case $host_vendor in 2302 sni) 2303 shlibpath_overrides_runpath=no 2304 ;; 2305 motorola) 2306 need_lib_prefix=no 2307 need_version=no 2308 shlibpath_overrides_runpath=no 2309 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 2310 ;; 2311 esac 2312 ;; 2313 2314uts4*) 2315 version_type=linux 2316 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2317 soname_spec='${libname}${release}.so$major' 2318 shlibpath_var=LD_LIBRARY_PATH 2319 ;; 2320 2321dgux*) 2322 version_type=linux 2323 need_lib_prefix=no 2324 need_version=no 2325 library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' 2326 soname_spec='${libname}${release}.so$major' 2327 shlibpath_var=LD_LIBRARY_PATH 2328 ;; 2329 2330sysv4*MP*) 2331 if test -d /usr/nec ;then 2332 version_type=linux 2333 library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' 2334 soname_spec='$libname.so.$major' 2335 shlibpath_var=LD_LIBRARY_PATH 2336 fi 2337 ;; 2338 2339*) 2340 dynamic_linker=no 2341 ;; 2342esac 2343AC_MSG_RESULT([$dynamic_linker]) 2344test "$dynamic_linker" = no && can_build_shared=no 2345## 2346## END FIXME 2347 2348## FIXME: this should be a separate macro 2349## 2350# Report the final consequences. 2351AC_MSG_CHECKING([if libtool supports shared libraries]) 2352AC_MSG_RESULT([$can_build_shared]) 2353## 2354## END FIXME 2355 2356## FIXME: this should be a separate macro 2357## 2358AC_MSG_CHECKING([whether to build shared libraries]) 2359test "$can_build_shared" = "no" && enable_shared=no 2360 2361# On AIX, shared libraries and static libraries use the same namespace, and 2362# are all built from PIC. 2363case "$host_os" in 2364aix3*) 2365 test "$enable_shared" = yes && enable_static=no 2366 if test -n "$RANLIB"; then 2367 archive_cmds="$archive_cmds~\$RANLIB \$lib" 2368 postinstall_cmds='$RANLIB $lib' 2369 fi 2370 ;; 2371 2372aix4*) 2373 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 2374 test "$enable_shared" = yes && enable_static=no 2375 fi 2376 ;; 2377esac 2378AC_MSG_RESULT([$enable_shared]) 2379## 2380## END FIXME 2381 2382## FIXME: this should be a separate macro 2383## 2384AC_MSG_CHECKING([whether to build static libraries]) 2385# Make sure either enable_shared or enable_static is yes. 2386test "$enable_shared" = yes || enable_static=yes 2387AC_MSG_RESULT([$enable_static]) 2388## 2389## END FIXME 2390 2391if test "$hardcode_action" = relink; then 2392 # Fast installation is not supported 2393 enable_fast_install=no 2394elif test "$shlibpath_overrides_runpath" = yes || 2395 test "$enable_shared" = no; then 2396 # Fast installation is not necessary 2397 enable_fast_install=needless 2398fi 2399 2400variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 2401if test "$GCC" = yes; then 2402 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 2403fi 2404 2405AC_LIBTOOL_DLOPEN_SELF 2406 2407## FIXME: this should be a separate macro 2408## 2409if test "$enable_shared" = yes && test "$GCC" = yes; then 2410 case $archive_cmds in 2411 *'~'*) 2412 # FIXME: we may have to deal with multi-command sequences. 2413 ;; 2414 '$CC '*) 2415 # Test whether the compiler implicitly links with -lc since on some 2416 # systems, -lgcc has to come before -lc. If gcc already passes -lc 2417 # to ld, don't add -lc before -lgcc. 2418 AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 2419 AC_CACHE_VAL([lt_cv_archive_cmds_need_lc], 2420 [$rm conftest* 2421 echo 'static int dummy;' > conftest.$ac_ext 2422 2423 if AC_TRY_EVAL(ac_compile); then 2424 soname=conftest 2425 lib=conftest 2426 libobjs=conftest.$ac_objext 2427 deplibs= 2428 wl=$lt_cv_prog_cc_wl 2429 compiler_flags=-v 2430 linker_flags=-v 2431 verstring= 2432 output_objdir=. 2433 libname=conftest 2434 save_allow_undefined_flag=$allow_undefined_flag 2435 allow_undefined_flag= 2436 if AC_TRY_EVAL(archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2437 then 2438 lt_cv_archive_cmds_need_lc=no 2439 else 2440 lt_cv_archive_cmds_need_lc=yes 2441 fi 2442 allow_undefined_flag=$save_allow_undefined_flag 2443 else 2444 cat conftest.err 1>&5 2445 fi 2446 $rm conftest* 2447 ]) 2448 AC_MSG_RESULT([$lt_cv_archive_cmds_need_lc]) 2449 ;; 2450 esac 2451fi 2452need_lc=${lt_cv_archive_cmds_need_lc-yes} 2453## 2454## END FIXME 2455 2456## FIXME: this should be a separate macro 2457## 2458# The second clause should only fire when bootstrapping the 2459# libtool distribution, otherwise you forgot to ship ltmain.sh 2460# with your package, and you will get complaints that there are 2461# no rules to generate ltmain.sh. 2462if test -f "$ltmain"; then 2463 : 2464else 2465 # If there is no Makefile yet, we rely on a make rule to execute 2466 # `config.status --recheck' to rerun these tests and create the 2467 # libtool script then. 2468 test -f Makefile && make "$ltmain" 2469fi 2470 2471if test -f "$ltmain"; then 2472 trap "$rm \"${ofile}T\"; exit 1" 1 2 15 2473 $rm -f "${ofile}T" 2474 2475 echo creating $ofile 2476 2477 # Now quote all the things that may contain metacharacters while being 2478 # careful not to overquote the AC_SUBSTed values. We take copies of the 2479 # variables and quote the copies for generation of the libtool script. 2480 for var in echo old_CC old_CFLAGS \ 2481 AR AR_FLAGS CC LD LN_S NM SHELL \ 2482 reload_flag reload_cmds wl \ 2483 pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ 2484 thread_safe_flag_spec whole_archive_flag_spec libname_spec \ 2485 library_names_spec soname_spec \ 2486 RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ 2487 old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \ 2488 postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \ 2489 old_striplib striplib file_magic_cmd export_symbols_cmds \ 2490 deplibs_check_method allow_undefined_flag no_undefined_flag \ 2491 finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ 2492 global_symbol_to_c_name_address \ 2493 hardcode_libdir_flag_spec hardcode_libdir_separator \ 2494 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ 2495 compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do 2496 2497 case $var in 2498 reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ 2499 old_postinstall_cmds | old_postuninstall_cmds | \ 2500 export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ 2501 extract_expsyms_cmds | old_archive_from_expsyms_cmds | \ 2502 postinstall_cmds | postuninstall_cmds | \ 2503 finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) 2504 # Double-quote double-evaled strings. 2505 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" 2506 ;; 2507 *) 2508 eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" 2509 ;; 2510 esac 2511 done 2512 2513 cat <<__EOF__ > "${ofile}T" 2514#! $SHELL 2515 2516# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 2517# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) 2518# NOTE: Changes made to this file will be lost: look at ltmain.sh. 2519# 2520# Copyright (C) 1996-2000 Free Software Foundation, Inc. 2521# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 2522# 2523# This program is free software; you can redistribute it and/or modify 2524# it under the terms of the GNU General Public License as published by 2525# the Free Software Foundation; either version 2 of the License, or 2526# (at your option) any later version. 2527# 2528# This program is distributed in the hope that it will be useful, but 2529# WITHOUT ANY WARRANTY; without even the implied warranty of 2530# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2531# General Public License for more details. 2532# 2533# You should have received a copy of the GNU General Public License 2534# along with this program; if not, write to the Free Software 2535# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2536# 2537# As a special exception to the GNU General Public License, if you 2538# distribute this file as part of a program that contains a 2539# configuration script generated by Autoconf, you may include it under 2540# the same distribution terms that you use for the rest of that program. 2541 2542# Sed that helps us avoid accidentally triggering echo(1) options like -n. 2543Xsed="sed -e s/^X//" 2544 2545# The HP-UX ksh and POSIX shell print the target directory to stdout 2546# if CDPATH is set. 2547if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi 2548 2549# ### BEGIN LIBTOOL CONFIG 2550 2551# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 2552 2553# Shell to use when invoking shell scripts. 2554SHELL=$lt_SHELL 2555 2556# Whether or not to build shared libraries. 2557build_libtool_libs=$enable_shared 2558 2559# Whether or not to build static libraries. 2560build_old_libs=$enable_static 2561 2562# Whether or not to add -lc for building shared libraries. 2563build_libtool_need_lc=$need_lc 2564 2565# Whether or not to optimize for fast installation. 2566fast_install=$enable_fast_install 2567 2568# The host system. 2569host_alias=$host_alias 2570host=$host 2571 2572# An echo program that does not interpret backslashes. 2573echo=$lt_echo 2574 2575# The archiver. 2576AR=$lt_AR 2577AR_FLAGS=$lt_AR_FLAGS 2578 2579# The default C compiler. 2580CC=$lt_CC 2581 2582# Is the compiler the GNU C compiler? 2583with_gcc=$GCC 2584 2585# The linker used to build libraries. 2586LD=$lt_LD 2587 2588# Whether we need hard or soft links. 2589LN_S=$lt_LN_S 2590 2591# A BSD-compatible nm program. 2592NM=$lt_NM 2593 2594# A symbol stripping program 2595STRIP=$STRIP 2596 2597# Used to examine libraries when file_magic_cmd begins "file" 2598MAGIC_CMD=$MAGIC_CMD 2599 2600# Used on cygwin: DLL creation program. 2601DLLTOOL="$DLLTOOL" 2602 2603# Used on cygwin: object dumper. 2604OBJDUMP="$OBJDUMP" 2605 2606# Used on cygwin: assembler. 2607AS="$AS" 2608 2609# The name of the directory that contains temporary libtool files. 2610objdir=$objdir 2611 2612# How to create reloadable object files. 2613reload_flag=$lt_reload_flag 2614reload_cmds=$lt_reload_cmds 2615 2616# How to pass a linker flag through the compiler. 2617wl=$lt_wl 2618 2619# Object file suffix (normally "o"). 2620objext="$ac_objext" 2621 2622# Old archive suffix (normally "a"). 2623libext="$libext" 2624 2625# Executable file suffix (normally ""). 2626exeext="$exeext" 2627 2628# Additional compiler flags for building library objects. 2629pic_flag=$lt_pic_flag 2630pic_mode=$pic_mode 2631 2632# Does compiler simultaneously support -c and -o options? 2633compiler_c_o=$lt_compiler_c_o 2634 2635# Can we write directly to a .lo ? 2636compiler_o_lo=$lt_compiler_o_lo 2637 2638# Must we lock files when doing compilation ? 2639need_locks=$lt_need_locks 2640 2641# Do we need the lib prefix for modules? 2642need_lib_prefix=$need_lib_prefix 2643 2644# Do we need a version for libraries? 2645need_version=$need_version 2646 2647# Whether dlopen is supported. 2648dlopen_support=$enable_dlopen 2649 2650# Whether dlopen of programs is supported. 2651dlopen_self=$enable_dlopen_self 2652 2653# Whether dlopen of statically linked programs is supported. 2654dlopen_self_static=$enable_dlopen_self_static 2655 2656# Compiler flag to prevent dynamic linking. 2657link_static_flag=$lt_link_static_flag 2658 2659# Compiler flag to turn off builtin functions. 2660no_builtin_flag=$lt_no_builtin_flag 2661 2662# Compiler flag to allow reflexive dlopens. 2663export_dynamic_flag_spec=$lt_export_dynamic_flag_spec 2664 2665# Compiler flag to generate shared objects directly from archives. 2666whole_archive_flag_spec=$lt_whole_archive_flag_spec 2667 2668# Compiler flag to generate thread-safe objects. 2669thread_safe_flag_spec=$lt_thread_safe_flag_spec 2670 2671# Library versioning type. 2672version_type=$version_type 2673 2674# Format of library name prefix. 2675libname_spec=$lt_libname_spec 2676 2677# List of archive names. First name is the real one, the rest are links. 2678# The last name is the one that the linker finds with -lNAME. 2679library_names_spec=$lt_library_names_spec 2680 2681# The coded name of the library, if different from the real name. 2682soname_spec=$lt_soname_spec 2683 2684# Commands used to build and install an old-style archive. 2685RANLIB=$lt_RANLIB 2686old_archive_cmds=$lt_old_archive_cmds 2687old_postinstall_cmds=$lt_old_postinstall_cmds 2688old_postuninstall_cmds=$lt_old_postuninstall_cmds 2689 2690# Create an old-style archive from a shared archive. 2691old_archive_from_new_cmds=$lt_old_archive_from_new_cmds 2692 2693# Create a temporary old-style archive to link instead of a shared archive. 2694old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds 2695 2696# Commands used to build and install a shared archive. 2697archive_cmds=$lt_archive_cmds 2698archive_expsym_cmds=$lt_archive_expsym_cmds 2699postinstall_cmds=$lt_postinstall_cmds 2700postuninstall_cmds=$lt_postuninstall_cmds 2701 2702# Commands to strip libraries. 2703old_striplib=$lt_old_striplib 2704striplib=$lt_striplib 2705 2706# Method to check whether dependent libraries are shared objects. 2707deplibs_check_method=$lt_deplibs_check_method 2708 2709# Command to use when deplibs_check_method == file_magic. 2710file_magic_cmd=$lt_file_magic_cmd 2711 2712# Flag that allows shared libraries with undefined symbols to be built. 2713allow_undefined_flag=$lt_allow_undefined_flag 2714 2715# Flag that forces no undefined symbols. 2716no_undefined_flag=$lt_no_undefined_flag 2717 2718# Commands used to finish a libtool library installation in a directory. 2719finish_cmds=$lt_finish_cmds 2720 2721# Same as above, but a single script fragment to be evaled but not shown. 2722finish_eval=$lt_finish_eval 2723 2724# Take the output of nm and produce a listing of raw symbols and C names. 2725global_symbol_pipe=$lt_global_symbol_pipe 2726 2727# Transform the output of nm in a proper C declaration 2728global_symbol_to_cdecl=$lt_global_symbol_to_cdecl 2729 2730# Transform the output of nm in a C name address pair 2731global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address 2732 2733# This is the shared library runtime path variable. 2734runpath_var=$runpath_var 2735 2736# This is the shared library path variable. 2737shlibpath_var=$shlibpath_var 2738 2739# Is shlibpath searched before the hard-coded library search path? 2740shlibpath_overrides_runpath=$shlibpath_overrides_runpath 2741 2742# How to hardcode a shared library path into an executable. 2743hardcode_action=$hardcode_action 2744 2745# Whether we should hardcode library paths into libraries. 2746hardcode_into_libs=$hardcode_into_libs 2747 2748# Flag to hardcode \$libdir into a binary during linking. 2749# This must work even if \$libdir does not exist. 2750hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec 2751 2752# Whether we need a single -rpath flag with a separated argument. 2753hardcode_libdir_separator=$lt_hardcode_libdir_separator 2754 2755# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the 2756# resulting binary. 2757hardcode_direct=$hardcode_direct 2758 2759# Set to yes if using the -LDIR flag during linking hardcodes DIR into the 2760# resulting binary. 2761hardcode_minus_L=$hardcode_minus_L 2762 2763# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into 2764# the resulting binary. 2765hardcode_shlibpath_var=$hardcode_shlibpath_var 2766 2767# Variables whose values should be saved in libtool wrapper scripts and 2768# restored at relink time. 2769variables_saved_for_relink="$variables_saved_for_relink" 2770 2771# Whether libtool must link a program against all its dependency libraries. 2772link_all_deplibs=$link_all_deplibs 2773 2774# Compile-time system search path for libraries 2775sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 2776 2777# Run-time system search path for libraries 2778sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec 2779 2780# Fix the shell variable \$srcfile for the compiler. 2781fix_srcfile_path="$fix_srcfile_path" 2782 2783# Set to yes if exported symbols are required. 2784always_export_symbols=$always_export_symbols 2785 2786# The commands to list exported symbols. 2787export_symbols_cmds=$lt_export_symbols_cmds 2788 2789# The commands to extract the exported symbol list from a shared archive. 2790extract_expsyms_cmds=$lt_extract_expsyms_cmds 2791 2792# Symbols that should not be listed in the preloaded symbols. 2793exclude_expsyms=$lt_exclude_expsyms 2794 2795# Symbols that must always be exported. 2796include_expsyms=$lt_include_expsyms 2797 2798# ### END LIBTOOL CONFIG 2799 2800__EOF__ 2801 2802 case $host_os in 2803 aix3*) 2804 cat <<\EOF >> "${ofile}T" 2805 2806# AIX sometimes has problems with the GCC collect2 program. For some 2807# reason, if we set the COLLECT_NAMES environment variable, the problems 2808# vanish in a puff of smoke. 2809if test "X${COLLECT_NAMES+set}" != Xset; then 2810 COLLECT_NAMES= 2811 export COLLECT_NAMES 2812fi 2813EOF 2814 ;; 2815 esac 2816 2817 case $host_os in 2818 cygwin* | mingw* | pw32* | os2*) 2819 cat <<'EOF' >> "${ofile}T" 2820 # This is a source program that is used to create dlls on Windows 2821 # Don't remove nor modify the starting and closing comments 2822# /* ltdll.c starts here */ 2823# #define WIN32_LEAN_AND_MEAN 2824# #include <windows.h> 2825# #undef WIN32_LEAN_AND_MEAN 2826# #include <stdio.h> 2827# 2828# #ifndef __CYGWIN__ 2829# # ifdef __CYGWIN32__ 2830# # define __CYGWIN__ __CYGWIN32__ 2831# # endif 2832# #endif 2833# 2834# #ifdef __cplusplus 2835# extern "C" { 2836# #endif 2837# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); 2838# #ifdef __cplusplus 2839# } 2840# #endif 2841# 2842# #ifdef __CYGWIN__ 2843# #include <cygwin/cygwin_dll.h> 2844# DECLARE_CYGWIN_DLL( DllMain ); 2845# #endif 2846# HINSTANCE __hDllInstance_base; 2847# 2848# BOOL APIENTRY 2849# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) 2850# { 2851# __hDllInstance_base = hInst; 2852# return TRUE; 2853# } 2854# /* ltdll.c ends here */ 2855 # This is a source program that is used to create import libraries 2856 # on Windows for dlls which lack them. Don't remove nor modify the 2857 # starting and closing comments 2858# /* impgen.c starts here */ 2859# /* Copyright (C) 1999-2000 Free Software Foundation, Inc. 2860# 2861# This file is part of GNU libtool. 2862# 2863# This program is free software; you can redistribute it and/or modify 2864# it under the terms of the GNU General Public License as published by 2865# the Free Software Foundation; either version 2 of the License, or 2866# (at your option) any later version. 2867# 2868# This program is distributed in the hope that it will be useful, 2869# but WITHOUT ANY WARRANTY; without even the implied warranty of 2870# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2871# GNU General Public License for more details. 2872# 2873# You should have received a copy of the GNU General Public License 2874# along with this program; if not, write to the Free Software 2875# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 2876# */ 2877# 2878# #include <stdio.h> /* for printf() */ 2879# #include <unistd.h> /* for open(), lseek(), read() */ 2880# #include <fcntl.h> /* for O_RDONLY, O_BINARY */ 2881# #include <string.h> /* for strdup() */ 2882# 2883# /* O_BINARY isn't required (or even defined sometimes) under Unix */ 2884# #ifndef O_BINARY 2885# #define O_BINARY 0 2886# #endif 2887# 2888# static unsigned int 2889# pe_get16 (fd, offset) 2890# int fd; 2891# int offset; 2892# { 2893# unsigned char b[2]; 2894# lseek (fd, offset, SEEK_SET); 2895# read (fd, b, 2); 2896# return b[0] + (b[1]<<8); 2897# } 2898# 2899# static unsigned int 2900# pe_get32 (fd, offset) 2901# int fd; 2902# int offset; 2903# { 2904# unsigned char b[4]; 2905# lseek (fd, offset, SEEK_SET); 2906# read (fd, b, 4); 2907# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); 2908# } 2909# 2910# static unsigned int 2911# pe_as32 (ptr) 2912# void *ptr; 2913# { 2914# unsigned char *b = ptr; 2915# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); 2916# } 2917# 2918# int 2919# main (argc, argv) 2920# int argc; 2921# char *argv[]; 2922# { 2923# int dll; 2924# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; 2925# unsigned long export_rva, export_size, nsections, secptr, expptr; 2926# unsigned long name_rvas, nexp; 2927# unsigned char *expdata, *erva; 2928# char *filename, *dll_name; 2929# 2930# filename = argv[1]; 2931# 2932# dll = open(filename, O_RDONLY|O_BINARY); 2933# if (dll < 1) 2934# return 1; 2935# 2936# dll_name = filename; 2937# 2938# for (i=0; filename[i]; i++) 2939# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') 2940# dll_name = filename + i +1; 2941# 2942# pe_header_offset = pe_get32 (dll, 0x3c); 2943# opthdr_ofs = pe_header_offset + 4 + 20; 2944# num_entries = pe_get32 (dll, opthdr_ofs + 92); 2945# 2946# if (num_entries < 1) /* no exports */ 2947# return 1; 2948# 2949# export_rva = pe_get32 (dll, opthdr_ofs + 96); 2950# export_size = pe_get32 (dll, opthdr_ofs + 100); 2951# nsections = pe_get16 (dll, pe_header_offset + 4 +2); 2952# secptr = (pe_header_offset + 4 + 20 + 2953# pe_get16 (dll, pe_header_offset + 4 + 16)); 2954# 2955# expptr = 0; 2956# for (i = 0; i < nsections; i++) 2957# { 2958# char sname[8]; 2959# unsigned long secptr1 = secptr + 40 * i; 2960# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); 2961# unsigned long vsize = pe_get32 (dll, secptr1 + 16); 2962# unsigned long fptr = pe_get32 (dll, secptr1 + 20); 2963# lseek(dll, secptr1, SEEK_SET); 2964# read(dll, sname, 8); 2965# if (vaddr <= export_rva && vaddr+vsize > export_rva) 2966# { 2967# expptr = fptr + (export_rva - vaddr); 2968# if (export_rva + export_size > vaddr + vsize) 2969# export_size = vsize - (export_rva - vaddr); 2970# break; 2971# } 2972# } 2973# 2974# expdata = (unsigned char*)malloc(export_size); 2975# lseek (dll, expptr, SEEK_SET); 2976# read (dll, expdata, export_size); 2977# erva = expdata - export_rva; 2978# 2979# nexp = pe_as32 (expdata+24); 2980# name_rvas = pe_as32 (expdata+32); 2981# 2982# printf ("EXPORTS\n"); 2983# for (i = 0; i<nexp; i++) 2984# { 2985# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); 2986# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); 2987# } 2988# 2989# return 0; 2990# } 2991# /* impgen.c ends here */ 2992 2993EOF 2994 ;; 2995 esac 2996 2997 # We use sed instead of cat because bash on DJGPP gets confused if 2998 # if finds mixed CR/LF and LF-only lines. Since sed operates in 2999 # text mode, it properly converts lines to CR/LF. This bash problem 3000 # is reportedly fixed, but why not run on old versions too? 3001 sed '$q' "$ltmain" >> "${ofile}T" || (rm -f "${ofile}T"; exit 1) 3002 3003 mv -f "${ofile}T" "$ofile" || \ 3004 (rm -f "$ofile" && cp "${ofile}T" "$ofile" && rm -f "${ofile}T") 3005 chmod +x "$ofile" 3006fi 3007## 3008## END FIXME 3009 3010])# _LT_AC_LTCONFIG_HACK 3011 3012# AC_LIBTOOL_DLOPEN - enable checks for dlopen support 3013AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) 3014 3015# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's 3016AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) 3017 3018# AC_ENABLE_SHARED - implement the --enable-shared flag 3019# Usage: AC_ENABLE_SHARED[(DEFAULT)] 3020# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 3021# `yes'. 3022AC_DEFUN([AC_ENABLE_SHARED], 3023[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl 3024AC_ARG_ENABLE(shared, 3025changequote(<<, >>)dnl 3026<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], 3027changequote([, ])dnl 3028[p=${PACKAGE-default} 3029case $enableval in 3030yes) enable_shared=yes ;; 3031no) enable_shared=no ;; 3032*) 3033 enable_shared=no 3034 # Look at the argument we got. We use all the common list separators. 3035 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 3036 for pkg in $enableval; do 3037 if test "X$pkg" = "X$p"; then 3038 enable_shared=yes 3039 fi 3040 done 3041 IFS="$ac_save_ifs" 3042 ;; 3043esac], 3044enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl 3045]) 3046 3047# AC_DISABLE_SHARED - set the default shared flag to --disable-shared 3048AC_DEFUN([AC_DISABLE_SHARED], 3049[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3050AC_ENABLE_SHARED(no)]) 3051 3052# AC_ENABLE_STATIC - implement the --enable-static flag 3053# Usage: AC_ENABLE_STATIC[(DEFAULT)] 3054# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 3055# `yes'. 3056AC_DEFUN([AC_ENABLE_STATIC], 3057[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl 3058AC_ARG_ENABLE(static, 3059changequote(<<, >>)dnl 3060<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], 3061changequote([, ])dnl 3062[p=${PACKAGE-default} 3063case $enableval in 3064yes) enable_static=yes ;; 3065no) enable_static=no ;; 3066*) 3067 enable_static=no 3068 # Look at the argument we got. We use all the common list separators. 3069 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 3070 for pkg in $enableval; do 3071 if test "X$pkg" = "X$p"; then 3072 enable_static=yes 3073 fi 3074 done 3075 IFS="$ac_save_ifs" 3076 ;; 3077esac], 3078enable_static=AC_ENABLE_STATIC_DEFAULT)dnl 3079]) 3080 3081# AC_DISABLE_STATIC - set the default static flag to --disable-static 3082AC_DEFUN([AC_DISABLE_STATIC], 3083[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3084AC_ENABLE_STATIC(no)]) 3085 3086 3087# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag 3088# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] 3089# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 3090# `yes'. 3091AC_DEFUN([AC_ENABLE_FAST_INSTALL], 3092[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl 3093AC_ARG_ENABLE(fast-install, 3094changequote(<<, >>)dnl 3095<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], 3096changequote([, ])dnl 3097[p=${PACKAGE-default} 3098case $enableval in 3099yes) enable_fast_install=yes ;; 3100no) enable_fast_install=no ;; 3101*) 3102 enable_fast_install=no 3103 # Look at the argument we got. We use all the common list separators. 3104 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 3105 for pkg in $enableval; do 3106 if test "X$pkg" = "X$p"; then 3107 enable_fast_install=yes 3108 fi 3109 done 3110 IFS="$ac_save_ifs" 3111 ;; 3112esac], 3113enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl 3114]) 3115 3116# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install 3117AC_DEFUN([AC_DISABLE_FAST_INSTALL], 3118[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3119AC_ENABLE_FAST_INSTALL(no)]) 3120 3121# AC_LIBTOOL_PICMODE - implement the --with-pic flag 3122# Usage: AC_LIBTOOL_PICMODE[(MODE)] 3123# Where MODE is either `yes' or `no'. If omitted, it defaults to 3124# `both'. 3125AC_DEFUN([AC_LIBTOOL_PICMODE], 3126[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3127pic_mode=ifelse($#,1,$1,default)]) 3128 3129 3130# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library 3131AC_DEFUN([AC_PATH_TOOL_PREFIX], 3132[AC_MSG_CHECKING([for $1]) 3133AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 3134[case $MAGIC_CMD in 3135 /*) 3136 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 3137 ;; 3138 ?:/*) 3139 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. 3140 ;; 3141 *) 3142 ac_save_MAGIC_CMD="$MAGIC_CMD" 3143 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" 3144dnl $ac_dummy forces splitting on constant user-supplied paths. 3145dnl POSIX.2 word splitting is done only on the output of word expansions, 3146dnl not every word. This closes a longstanding sh security hole. 3147 ac_dummy="ifelse([$2], , $PATH, [$2])" 3148 for ac_dir in $ac_dummy; do 3149 test -z "$ac_dir" && ac_dir=. 3150 if test -f $ac_dir/$1; then 3151 lt_cv_path_MAGIC_CMD="$ac_dir/$1" 3152 if test -n "$file_magic_test_file"; then 3153 case $deplibs_check_method in 3154 "file_magic "*) 3155 file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" 3156 MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 3157 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 3158 egrep "$file_magic_regex" > /dev/null; then 3159 : 3160 else 3161 cat <<EOF 1>&2 3162 3163*** Warning: the command libtool uses to detect shared libraries, 3164*** $file_magic_cmd, produces output that libtool cannot recognize. 3165*** The result is that libtool may fail to recognize shared libraries 3166*** as such. This will affect the creation of libtool libraries that 3167*** depend on shared libraries, but programs linked with such libtool 3168*** libraries will work regardless of this problem. Nevertheless, you 3169*** may want to report the problem to your system manager and/or to 3170*** bug-libtool@gnu.org 3171 3172EOF 3173 fi ;; 3174 esac 3175 fi 3176 break 3177 fi 3178 done 3179 IFS="$ac_save_ifs" 3180 MAGIC_CMD="$ac_save_MAGIC_CMD" 3181 ;; 3182esac]) 3183MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 3184if test -n "$MAGIC_CMD"; then 3185 AC_MSG_RESULT($MAGIC_CMD) 3186else 3187 AC_MSG_RESULT(no) 3188fi 3189]) 3190 3191 3192# AC_PATH_MAGIC - find a file program which can recognise a shared library 3193AC_DEFUN([AC_PATH_MAGIC], 3194[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl 3195AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) 3196if test -z "$lt_cv_path_MAGIC_CMD"; then 3197 if test -n "$ac_tool_prefix"; then 3198 AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) 3199 else 3200 MAGIC_CMD=: 3201 fi 3202fi 3203]) 3204 3205 3206# AC_PROG_LD - find the path to the GNU or non-GNU linker 3207AC_DEFUN([AC_PROG_LD], 3208[AC_ARG_WITH(gnu-ld, 3209[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], 3210test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) 3211AC_REQUIRE([AC_PROG_CC])dnl 3212AC_REQUIRE([AC_CANONICAL_HOST])dnl 3213AC_REQUIRE([AC_CANONICAL_BUILD])dnl 3214AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl 3215ac_prog=ld 3216if test "$GCC" = yes; then 3217 # Check if gcc -print-prog-name=ld gives a path. 3218 AC_MSG_CHECKING([for ld used by GCC]) 3219 case $host in 3220 *-*-mingw*) 3221 # gcc leaves a trailing carriage return which upsets mingw 3222 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 3223 *) 3224 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 3225 esac 3226 case $ac_prog in 3227 # Accept absolute paths. 3228 [[\\/]]* | [[A-Za-z]]:[[\\/]]*) 3229 re_direlt='/[[^/]][[^/]]*/\.\./' 3230 # Canonicalize the path of ld 3231 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` 3232 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do 3233 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` 3234 done 3235 test -z "$LD" && LD="$ac_prog" 3236 ;; 3237 "") 3238 # If it fails, then pretend we aren't using GCC. 3239 ac_prog=ld 3240 ;; 3241 *) 3242 # If it is relative, then search for the first ld in PATH. 3243 with_gnu_ld=unknown 3244 ;; 3245 esac 3246elif test "$with_gnu_ld" = yes; then 3247 AC_MSG_CHECKING([for GNU ld]) 3248else 3249 AC_MSG_CHECKING([for non-GNU ld]) 3250fi 3251AC_CACHE_VAL(lt_cv_path_LD, 3252[if test -z "$LD"; then 3253 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3254 for ac_dir in $PATH; do 3255 test -z "$ac_dir" && ac_dir=. 3256 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 3257 lt_cv_path_LD="$ac_dir/$ac_prog" 3258 # Check to see if the program is GNU ld. I'd rather use --version, 3259 # but apparently some GNU ld's only accept -v. 3260 # Break only if it was the GNU/non-GNU ld that we prefer. 3261 if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then 3262 test "$with_gnu_ld" != no && break 3263 else 3264 test "$with_gnu_ld" != yes && break 3265 fi 3266 fi 3267 done 3268 IFS="$ac_save_ifs" 3269else 3270 lt_cv_path_LD="$LD" # Let the user override the test with a path. 3271fi]) 3272LD="$lt_cv_path_LD" 3273if test -n "$LD"; then 3274 AC_MSG_RESULT($LD) 3275else 3276 AC_MSG_RESULT(no) 3277fi 3278test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 3279AC_PROG_LD_GNU 3280]) 3281 3282# AC_PROG_LD_GNU - 3283AC_DEFUN([AC_PROG_LD_GNU], 3284[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 3285[# I'd rather use --version here, but apparently some GNU ld's only accept -v. 3286if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then 3287 lt_cv_prog_gnu_ld=yes 3288else 3289 lt_cv_prog_gnu_ld=no 3290fi]) 3291with_gnu_ld=$lt_cv_prog_gnu_ld 3292]) 3293 3294# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker 3295# -- PORTME Some linkers may need a different reload flag. 3296AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], 3297[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, 3298[lt_cv_ld_reload_flag='-r']) 3299reload_flag=$lt_cv_ld_reload_flag 3300test -n "$reload_flag" && reload_flag=" $reload_flag" 3301]) 3302 3303# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies 3304# -- PORTME fill in with the dynamic library characteristics 3305AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], 3306[AC_CACHE_CHECK([how to recognise dependant libraries], 3307lt_cv_deplibs_check_method, 3308[lt_cv_file_magic_cmd='$MAGIC_CMD' 3309lt_cv_file_magic_test_file= 3310lt_cv_deplibs_check_method='unknown' 3311# Need to set the preceding variable on all platforms that support 3312# interlibrary dependencies. 3313# 'none' -- dependencies not supported. 3314# `unknown' -- same as none, but documents that we really don't know. 3315# 'pass_all' -- all dependencies passed with no checks. 3316# 'test_compile' -- check by making test program. 3317# 'file_magic [[regex]]' -- check by looking for files in library path 3318# which responds to the $file_magic_cmd with a given egrep regex. 3319# If you have `file' or equivalent on your system and you're not sure 3320# whether `pass_all' will *always* work, you probably want this one. 3321 3322case $host_os in 3323aix4* | aix5*) 3324 lt_cv_deplibs_check_method=pass_all 3325 ;; 3326 3327beos*) 3328 lt_cv_deplibs_check_method=pass_all 3329 ;; 3330 3331bsdi4*) 3332 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 3333 lt_cv_file_magic_cmd='/usr/bin/file -L' 3334 lt_cv_file_magic_test_file=/shlib/libc.so 3335 ;; 3336 3337cygwin* | mingw* | pw32*) 3338 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 3339 lt_cv_file_magic_cmd='$OBJDUMP -f' 3340 ;; 3341 3342darwin* | rhapsody*) 3343 lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' 3344 lt_cv_file_magic_cmd='/usr/bin/file -L' 3345 case "$host_os" in 3346 rhapsody* | darwin1.[[012]]) 3347 lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1` 3348 ;; 3349 *) # Darwin 1.3 on 3350 lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' 3351 ;; 3352 esac 3353 ;; 3354 3355freebsd*) 3356 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 3357 case $host_cpu in 3358 i*86 ) 3359 # Not sure whether the presence of OpenBSD here was a mistake. 3360 # Let's accept both of them until this is cleared up. 3361 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' 3362 lt_cv_file_magic_cmd=/usr/bin/file 3363 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3364 ;; 3365 esac 3366 else 3367 lt_cv_deplibs_check_method=pass_all 3368 fi 3369 ;; 3370 3371gnu*) 3372 lt_cv_deplibs_check_method=pass_all 3373 ;; 3374 3375hpux10.20*|hpux11*) 3376 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 3377 lt_cv_file_magic_cmd=/usr/bin/file 3378 lt_cv_file_magic_test_file=/usr/lib/libc.sl 3379 ;; 3380 3381irix5* | irix6*) 3382 case $host_os in 3383 irix5*) 3384 # this will be overridden with pass_all, but let us keep it just in case 3385 lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" 3386 ;; 3387 *) 3388 case $LD in 3389 *-32|*"-32 ") libmagic=32-bit;; 3390 *-n32|*"-n32 ") libmagic=N32;; 3391 *-64|*"-64 ") libmagic=64-bit;; 3392 *) libmagic=never-match;; 3393 esac 3394 # this will be overridden with pass_all, but let us keep it just in case 3395 lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" 3396 ;; 3397 esac 3398 lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` 3399 lt_cv_deplibs_check_method=pass_all 3400 ;; 3401 3402# This must be Linux ELF. 3403linux-gnu*) 3404 case $host_cpu in 3405 alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) 3406 lt_cv_deplibs_check_method=pass_all ;; 3407 *) 3408 # glibc up to 2.1.1 does not perform some relocations on ARM 3409 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; 3410 esac 3411 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` 3412 ;; 3413 3414netbsd*) 3415 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 3416 lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' 3417 else 3418 lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' 3419 fi 3420 ;; 3421 3422newos6*) 3423 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3424 lt_cv_file_magic_cmd=/usr/bin/file 3425 lt_cv_file_magic_test_file=/usr/lib/libnls.so 3426 ;; 3427 3428openbsd*) 3429 lt_cv_file_magic_cmd=/usr/bin/file 3430 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3431 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 3432 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' 3433 else 3434 lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' 3435 fi 3436 ;; 3437 3438osf3* | osf4* | osf5*) 3439 # this will be overridden with pass_all, but let us keep it just in case 3440 lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' 3441 lt_cv_file_magic_test_file=/shlib/libc.so 3442 lt_cv_deplibs_check_method=pass_all 3443 ;; 3444 3445sco3.2v5*) 3446 lt_cv_deplibs_check_method=pass_all 3447 ;; 3448 3449solaris*) 3450 lt_cv_deplibs_check_method=pass_all 3451 lt_cv_file_magic_test_file=/lib/libc.so 3452 ;; 3453 3454sysv5uw[[78]]* | sysv4*uw2*) 3455 lt_cv_deplibs_check_method=pass_all 3456 ;; 3457 3458sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 3459 case $host_vendor in 3460 motorola) 3461 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]]' 3462 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3463 ;; 3464 ncr) 3465 lt_cv_deplibs_check_method=pass_all 3466 ;; 3467 sequent) 3468 lt_cv_file_magic_cmd='/bin/file' 3469 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3470 ;; 3471 sni) 3472 lt_cv_file_magic_cmd='/bin/file' 3473 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3474 lt_cv_file_magic_test_file=/lib/libc.so 3475 ;; 3476 esac 3477 ;; 3478esac 3479]) 3480file_magic_cmd=$lt_cv_file_magic_cmd 3481deplibs_check_method=$lt_cv_deplibs_check_method 3482]) 3483 3484 3485# AC_PROG_NM - find the path to a BSD-compatible name lister 3486AC_DEFUN([AC_PROG_NM], 3487[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl 3488AC_MSG_CHECKING([for BSD-compatible nm]) 3489AC_CACHE_VAL(lt_cv_path_NM, 3490[if test -n "$NM"; then 3491 # Let the user override the test. 3492 lt_cv_path_NM="$NM" 3493else 3494 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3495 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do 3496 test -z "$ac_dir" && ac_dir=. 3497 tmp_nm=$ac_dir/${ac_tool_prefix}nm 3498 if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then 3499 # Check to see if the nm accepts a BSD-compat flag. 3500 # Adding the `sed 1q' prevents false positives on HP-UX, which says: 3501 # nm: unknown option "B" ignored 3502 # Tru64's nm complains that /dev/null is an invalid object file 3503 if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then 3504 lt_cv_path_NM="$tmp_nm -B" 3505 break 3506 elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 3507 lt_cv_path_NM="$tmp_nm -p" 3508 break 3509 else 3510 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3511 continue # so that we can try to find one that supports BSD flags 3512 fi 3513 fi 3514 done 3515 IFS="$ac_save_ifs" 3516 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm 3517fi]) 3518NM="$lt_cv_path_NM" 3519AC_MSG_RESULT([$NM]) 3520]) 3521 3522# AC_CHECK_LIBM - check for math library 3523AC_DEFUN([AC_CHECK_LIBM], 3524[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3525LIBM= 3526case $host in 3527*-*-beos* | *-*-cygwin* | *-*-pw32*) 3528 # These system don't have libm 3529 ;; 3530*-ncr-sysv4.3*) 3531 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 3532 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") 3533 ;; 3534*) 3535 AC_CHECK_LIB(m, main, LIBM="-lm") 3536 ;; 3537esac 3538]) 3539 3540# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for 3541# the libltdl convenience library and INCLTDL to the include flags for 3542# the libltdl header and adds --enable-ltdl-convenience to the 3543# configure arguments. Note that LIBLTDL and INCLTDL are not 3544# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not 3545# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed 3546# with '${top_builddir}/' and INCLTDL will be prefixed with 3547# '${top_srcdir}/' (note the single quotes!). If your package is not 3548# flat and you're not using automake, define top_builddir and 3549# top_srcdir appropriately in the Makefiles. 3550AC_DEFUN([AC_LIBLTDL_CONVENIENCE], 3551[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3552 case $enable_ltdl_convenience in 3553 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; 3554 "") enable_ltdl_convenience=yes 3555 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; 3556 esac 3557 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la 3558 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 3559]) 3560 3561# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for 3562# the libltdl installable library and INCLTDL to the include flags for 3563# the libltdl header and adds --enable-ltdl-install to the configure 3564# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is 3565# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed 3566# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will 3567# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed 3568# with '${top_srcdir}/' (note the single quotes!). If your package is 3569# not flat and you're not using automake, define top_builddir and 3570# top_srcdir appropriately in the Makefiles. 3571# In the future, this macro may have to be called after AC_PROG_LIBTOOL. 3572AC_DEFUN([AC_LIBLTDL_INSTALLABLE], 3573[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 3574 AC_CHECK_LIB(ltdl, main, 3575 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], 3576 [if test x"$enable_ltdl_install" = xno; then 3577 AC_MSG_WARN([libltdl not installed, but installation disabled]) 3578 else 3579 enable_ltdl_install=yes 3580 fi 3581 ]) 3582 if test x"$enable_ltdl_install" = x"yes"; then 3583 ac_configure_args="$ac_configure_args --enable-ltdl-install" 3584 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la 3585 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 3586 else 3587 ac_configure_args="$ac_configure_args --enable-ltdl-install=no" 3588 LIBLTDL="-lltdl" 3589 INCLTDL= 3590 fi 3591]) 3592 3593# old names 3594AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) 3595AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) 3596AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) 3597AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) 3598AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) 3599AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) 3600AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) 3601 3602# This is just to silence aclocal about the macro not being used 3603ifelse([AC_DISABLE_FAST_INSTALL]) 3604