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