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