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