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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 26AC_DEFUN([AC_PROG_LIBTOOL], 27[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl 28dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX 29dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. 30 AC_PROVIDE_IFELSE([AC_PROG_CXX], 31 [AC_LIBTOOL_CXX], 32 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX 33])]) 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 106AC_LIBTOOL_SYS_MAX_CMD_LEN 107 108# Only perform the check for file, if the check method requires it 109case $deplibs_check_method in 110file_magic*) 111 if test "$file_magic_cmd" = '$MAGIC_CMD'; then 112 AC_PATH_MAGIC 113 fi 114 ;; 115esac 116 117AC_CHECK_TOOL(RANLIB, ranlib, :) 118AC_CHECK_TOOL(STRIP, strip, :) 119 120# Check for any special flags to pass to ltconfig. 121libtool_flags="--cache-file=$cache_file" 122test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" 123test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" 124test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" 125test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc" 126test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" 127ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], 128[libtool_flags="$libtool_flags --enable-dlopen"]) 129ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 130[libtool_flags="$libtool_flags --enable-win32-dll"]) 131AC_ARG_ENABLE(libtool-lock, 132 [ --disable-libtool-lock avoid locking (might break parallel builds)]) 133test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" 134test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" 135 136AC_ARG_WITH(pic, 137 [ --with-pic try to use only PIC/non-PIC objects [default=use both]], 138 pic_mode="$withval", pic_mode=default) 139test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic" 140test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" 141 142# Some flags need to be propagated to the compiler or linker for good 143# libtool support. 144case $host in 145*-*-irix6*) 146 # Find out which ABI we are using. 147 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 148 if AC_TRY_EVAL(ac_compile); then 149 if test "$lt_cv_prog_gnu_ld" = yes; then 150 case `/usr/bin/file conftest.$ac_objext` in 151 *32-bit*) 152 LD="${LD-ld} -melf32bsmip" 153 ;; 154 *N32*) 155 LD="${LD-ld} -melf32bmipn32" 156 ;; 157 *64-bit*) 158 LD="${LD-ld} -melf64bmip" 159 ;; 160 esac 161 else 162 case `/usr/bin/file conftest.$ac_objext` in 163 *32-bit*) 164 LD="${LD-ld} -32" 165 ;; 166 *N32*) 167 LD="${LD-ld} -n32" 168 ;; 169 *64-bit*) 170 LD="${LD-ld} -64" 171 ;; 172 esac 173 fi 174 fi 175 rm -rf conftest* 176 ;; 177 178ia64-*-hpux*) 179 # Find out which ABI we are using. 180 echo 'int i;' > conftest.$ac_ext 181 if AC_TRY_EVAL(ac_compile); then 182 case "`/usr/bin/file conftest.o`" in 183 *ELF-32*) 184 HPUX_IA64_MODE="32" 185 ;; 186 *ELF-64*) 187 HPUX_IA64_MODE="64" 188 ;; 189 esac 190 fi 191 rm -rf conftest* 192 ;; 193 194x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) 195 # Find out which ABI we are using. 196 echo 'int i;' > conftest.$ac_ext 197 if AC_TRY_EVAL(ac_compile); then 198 case "`/usr/bin/file conftest.o`" in 199 *32-bit*) 200 case $host in 201 x86_64-*linux*) 202 LD="${LD-ld} -m elf_i386" 203 ;; 204 ppc64-*linux*|powerpc64-*linux*) 205 LD="${LD-ld} -m elf32ppclinux" 206 ;; 207 s390x-*linux*) 208 LD="${LD-ld} -m elf_s390" 209 ;; 210 sparc64-*linux*) 211 LD="${LD-ld} -m elf32_sparc" 212 ;; 213 esac 214 ;; 215 *64-bit*) 216 case $host in 217 x86_64-*linux*) 218 LD="${LD-ld} -m elf_x86_64" 219 ;; 220 ppc*-*linux*|powerpc*-*linux*) 221 LD="${LD-ld} -m elf64ppc" 222 ;; 223 s390*-*linux*) 224 LD="${LD-ld} -m elf64_s390" 225 ;; 226 sparc*-*linux*) 227 LD="${LD-ld} -m elf64_sparc" 228 ;; 229 esac 230 ;; 231 esac 232 fi 233 rm -rf conftest* 234 ;; 235 236*-*-sco3.2v5*) 237 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 238 SAVE_CFLAGS="$CFLAGS" 239 CFLAGS="$CFLAGS -belf" 240 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 241 [AC_LANG_SAVE 242 AC_LANG_C 243 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 244 AC_LANG_RESTORE]) 245 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 246 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 247 CFLAGS="$SAVE_CFLAGS" 248 fi 249 ;; 250 251ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 252[*-*-cygwin* | *-*-mingw* | *-*-pw32*) 253 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 254 AC_CHECK_TOOL(AS, as, false) 255 AC_CHECK_TOOL(OBJDUMP, objdump, false) 256 257 # recent cygwin and mingw systems supply a stub DllMain which the user 258 # can override, but on older systems we have to supply one 259 AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, 260 [AC_TRY_LINK([], 261 [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); 262 DllMain (0, 0, 0);], 263 [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) 264 265 case $host/$CC in 266 *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) 267 # old mingw systems require "-dll" to link a DLL, while more recent ones 268 # require "-mdll" 269 SAVE_CFLAGS="$CFLAGS" 270 CFLAGS="$CFLAGS -mdll" 271 AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, 272 [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) 273 CFLAGS="$SAVE_CFLAGS" ;; 274 *-*-cygwin* | *-*-pw32*) 275 # cygwin systems need to pass --dll to the linker, and not link 276 # crt.o which will require a WinMain@16 definition. 277 lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; 278 esac 279 ;; 280 ]) 281esac 282]) 283 284 285# AC_LIBTOOL_SYS_MAX_CMD_LEN 286# -------------------------- 287AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], 288[# find the maximum length of command line arguments 289AC_MSG_CHECKING([the maximum length of command line arguments]) 290AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 291 i=0 292 teststring="ABCD" 293 294 case $build_os in 295 msdosdjgpp*) 296 # On DJGPP, this test can blow up pretty badly due to problems in libc 297 # (any single argument exceeding 2000 bytes causes a buffer overrun 298 # during glob expansion). Even if it were fixed, the result of this 299 # check would be larger than it should be. 300 lt_cv_sys_max_cmd_len=12288; # 12K is about right 301 ;; 302 303 cygwin* | mingw*) 304 # On Win9x/ME, this test blows up -- it succeeds, but takes 305 # about 5 minutes as the teststring grows exponentially. 306 # Worse, since 9x/ME are not pre-emptively multitasking, 307 # you end up with a "frozen" computer, even though with patience 308 # the test eventually succeeds (with a max line length of 256k). 309 # Instead, let's just punt: use the minimum linelength reported by 310 # all of the supported platforms: 8192 (on NT/2K/XP). 311 lt_cv_sys_max_cmd_len=8192; 312 ;; 313 314 amigaos*) 315 # On AmigaOS with pdksh, this test takes hours, literally. 316 # So we just punt and use a minimum line length of 8192. 317 lt_cv_sys_max_cmd_len=8192; 318 ;; 319 320 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 321 # This has been around since 386BSD, at least. Likely further. 322 if test -x /sbin/sysctl; then 323 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 324 elif test -x /usr/sbin/sysctl; then 325 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 326 else 327 lt_cv_sys_max_cmd_len=65536 # usable default for *BSD 328 fi 329 # And add a safety zone 330 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 331 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 332 ;; 333 esac 334]) 335if test -n "$lt_cv_sys_max_cmd_len" ; then 336 AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 337else 338 AC_MSG_RESULT(none) 339fi 340])# AC_LIBTOOL_SYS_MAX_CMD_LEN 341 342 343# AC_LIBTOOL_DLOPEN - enable checks for dlopen support 344AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) 345 346# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's 347AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) 348 349# AC_ENABLE_SHARED - implement the --enable-shared flag 350# Usage: AC_ENABLE_SHARED[(DEFAULT)] 351# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 352# `yes'. 353AC_DEFUN([AC_ENABLE_SHARED], 354[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl 355AC_ARG_ENABLE(shared, 356changequote(<<, >>)dnl 357<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], 358changequote([, ])dnl 359[p=${PACKAGE-default} 360case $enableval in 361yes) enable_shared=yes ;; 362no) enable_shared=no ;; 363*) 364 enable_shared=no 365 # Look at the argument we got. We use all the common list separators. 366 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 367 for pkg in $enableval; do 368 if test "X$pkg" = "X$p"; then 369 enable_shared=yes 370 fi 371 done 372 IFS="$ac_save_ifs" 373 ;; 374esac], 375enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl 376]) 377 378# AC_DISABLE_SHARED - set the default shared flag to --disable-shared 379AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 380AC_ENABLE_SHARED(no)]) 381 382# AC_ENABLE_STATIC - implement the --enable-static flag 383# Usage: AC_ENABLE_STATIC[(DEFAULT)] 384# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 385# `yes'. 386AC_DEFUN([AC_ENABLE_STATIC], 387[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl 388AC_ARG_ENABLE(static, 389changequote(<<, >>)dnl 390<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], 391changequote([, ])dnl 392[p=${PACKAGE-default} 393case $enableval in 394yes) enable_static=yes ;; 395no) enable_static=no ;; 396*) 397 enable_static=no 398 # Look at the argument we got. We use all the common list separators. 399 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 400 for pkg in $enableval; do 401 if test "X$pkg" = "X$p"; then 402 enable_static=yes 403 fi 404 done 405 IFS="$ac_save_ifs" 406 ;; 407esac], 408enable_static=AC_ENABLE_STATIC_DEFAULT)dnl 409]) 410 411# AC_DISABLE_STATIC - set the default static flag to --disable-static 412AC_DEFUN([AC_DISABLE_STATIC], 413[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 414AC_ENABLE_STATIC(no)]) 415 416 417# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag 418# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] 419# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 420# `yes'. 421AC_DEFUN([AC_ENABLE_FAST_INSTALL], 422[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl 423AC_ARG_ENABLE(fast-install, 424changequote(<<, >>)dnl 425<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], 426changequote([, ])dnl 427[p=${PACKAGE-default} 428case $enableval in 429yes) enable_fast_install=yes ;; 430no) enable_fast_install=no ;; 431*) 432 enable_fast_install=no 433 # Look at the argument we got. We use all the common list separators. 434 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 435 for pkg in $enableval; do 436 if test "X$pkg" = "X$p"; then 437 enable_fast_install=yes 438 fi 439 done 440 IFS="$ac_save_ifs" 441 ;; 442esac], 443enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl 444]) 445 446# AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install 447AC_DEFUN([AC_DISABLE_FAST_INSTALL], 448[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 449AC_ENABLE_FAST_INSTALL(no)]) 450 451# AC_LIBTOOL_PICMODE - implement the --with-pic flag 452# Usage: AC_LIBTOOL_PICMODE[(MODE)] 453# Where MODE is either `yes' or `no'. If omitted, it defaults to 454# `both'. 455AC_DEFUN([AC_LIBTOOL_PICMODE], 456[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 457pic_mode=ifelse($#,1,$1,default)]) 458 459 460# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library 461AC_DEFUN([AC_PATH_TOOL_PREFIX], 462[AC_MSG_CHECKING([for $1]) 463AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 464[case $MAGIC_CMD in 465 /*) 466 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 467 ;; 468 ?:/*) 469 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path. 470 ;; 471 *) 472 ac_save_MAGIC_CMD="$MAGIC_CMD" 473 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" 474dnl $ac_dummy forces splitting on constant user-supplied paths. 475dnl POSIX.2 word splitting is done only on the output of word expansions, 476dnl not every word. This closes a longstanding sh security hole. 477 ac_dummy="ifelse([$2], , $PATH, [$2])" 478 for ac_dir in $ac_dummy; do 479 test -z "$ac_dir" && ac_dir=. 480 if test -f $ac_dir/$1; then 481 lt_cv_path_MAGIC_CMD="$ac_dir/$1" 482 if test -n "$file_magic_test_file"; then 483 case $deplibs_check_method in 484 "file_magic "*) 485 file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" 486 MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 487 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 488 egrep "$file_magic_regex" > /dev/null; then 489 : 490 else 491 cat <<EOF 1>&2 492 493*** Warning: the command libtool uses to detect shared libraries, 494*** $file_magic_cmd, produces output that libtool cannot recognize. 495*** The result is that libtool may fail to recognize shared libraries 496*** as such. This will affect the creation of libtool libraries that 497*** depend on shared libraries, but programs linked with such libtool 498*** libraries will work regardless of this problem. Nevertheless, you 499*** may want to report the problem to your system manager and/or to 500*** bug-libtool@gnu.org 501 502EOF 503 fi ;; 504 esac 505 fi 506 break 507 fi 508 done 509 IFS="$ac_save_ifs" 510 MAGIC_CMD="$ac_save_MAGIC_CMD" 511 ;; 512esac]) 513MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 514if test -n "$MAGIC_CMD"; then 515 AC_MSG_RESULT($MAGIC_CMD) 516else 517 AC_MSG_RESULT(no) 518fi 519]) 520 521 522# AC_PATH_MAGIC - find a file program which can recognise a shared library 523AC_DEFUN([AC_PATH_MAGIC], 524[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl 525AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH) 526if test -z "$lt_cv_path_MAGIC_CMD"; then 527 if test -n "$ac_tool_prefix"; then 528 AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH) 529 else 530 MAGIC_CMD=: 531 fi 532fi 533]) 534 535 536# AC_PROG_LD - find the path to the GNU or non-GNU linker 537AC_DEFUN([AC_PROG_LD], 538[AC_ARG_WITH(gnu-ld, 539[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], 540test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) 541AC_REQUIRE([AC_PROG_CC])dnl 542AC_REQUIRE([AC_CANONICAL_HOST])dnl 543AC_REQUIRE([AC_CANONICAL_BUILD])dnl 544ac_prog=ld 545if test "$GCC" = yes; then 546 # Check if gcc -print-prog-name=ld gives a path. 547 AC_MSG_CHECKING([for ld used by GCC]) 548 case $host in 549 *-*-mingw*) 550 # gcc leaves a trailing carriage return which upsets mingw 551 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 552 *) 553 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 554 esac 555 case $ac_prog in 556 # Accept absolute paths. 557 [[\\/]* | [A-Za-z]:[\\/]*)] 558 re_direlt=['/[^/][^/]*/\.\./'] 559 # Canonicalize the path of ld 560 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` 561 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do 562 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` 563 done 564 test -z "$LD" && LD="$ac_prog" 565 ;; 566 "") 567 # If it fails, then pretend we aren't using GCC. 568 ac_prog=ld 569 ;; 570 *) 571 # If it is relative, then search for the first ld in PATH. 572 with_gnu_ld=unknown 573 ;; 574 esac 575elif test "$with_gnu_ld" = yes; then 576 AC_MSG_CHECKING([for GNU ld]) 577else 578 AC_MSG_CHECKING([for non-GNU ld]) 579fi 580AC_CACHE_VAL(lt_cv_path_LD, 581[if test -z "$LD"; then 582 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 583 for ac_dir in $PATH; do 584 test -z "$ac_dir" && ac_dir=. 585 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 586 lt_cv_path_LD="$ac_dir/$ac_prog" 587 # Check to see if the program is GNU ld. I'd rather use --version, 588 # but apparently some GNU ld's only accept -v. 589 # Break only if it was the GNU/non-GNU ld that we prefer. 590 if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then 591 test "$with_gnu_ld" != no && break 592 else 593 test "$with_gnu_ld" != yes && break 594 fi 595 fi 596 done 597 IFS="$ac_save_ifs" 598else 599 lt_cv_path_LD="$LD" # Let the user override the test with a path. 600fi]) 601LD="$lt_cv_path_LD" 602if test -n "$LD"; then 603 AC_MSG_RESULT($LD) 604else 605 AC_MSG_RESULT(no) 606fi 607test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 608AC_PROG_LD_GNU 609]) 610 611AC_DEFUN([AC_PROG_LD_GNU], 612[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 613[# I'd rather use --version here, but apparently some GNU ld's only accept -v. 614if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then 615 lt_cv_prog_gnu_ld=yes 616else 617 lt_cv_prog_gnu_ld=no 618fi]) 619with_gnu_ld=$lt_cv_prog_gnu_ld 620]) 621 622# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker 623# -- PORTME Some linkers may need a different reload flag. 624AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], 625[AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, 626[lt_cv_ld_reload_flag='-r']) 627reload_flag=$lt_cv_ld_reload_flag 628test -n "$reload_flag" && reload_flag=" $reload_flag" 629]) 630 631# AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies 632# -- PORTME fill in with the dynamic library characteristics 633AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], 634[AC_CACHE_CHECK([how to recognise dependant libraries], 635lt_cv_deplibs_check_method, 636[lt_cv_file_magic_cmd='$MAGIC_CMD' 637lt_cv_file_magic_test_file= 638lt_cv_deplibs_check_method='unknown' 639# Need to set the preceding variable on all platforms that support 640# interlibrary dependencies. 641# 'none' -- dependencies not supported. 642# `unknown' -- same as none, but documents that we really don't know. 643# 'pass_all' -- all dependencies passed with no checks. 644# 'test_compile' -- check by making test program. 645# 'file_magic [regex]' -- check by looking for files in library path 646# which responds to the $file_magic_cmd with a given egrep regex. 647# If you have `file' or equivalent on your system and you're not sure 648# whether `pass_all' will *always* work, you probably want this one. 649 650case $host_os in 651aix*) 652 lt_cv_deplibs_check_method=pass_all 653 ;; 654 655beos*) 656 lt_cv_deplibs_check_method=pass_all 657 ;; 658 659bsdi4*) 660 lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'] 661 lt_cv_file_magic_cmd='/usr/bin/file -L' 662 lt_cv_file_magic_test_file=/shlib/libc.so 663 ;; 664 665cygwin* | mingw* |pw32*) 666 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 667 lt_cv_file_magic_cmd='$OBJDUMP -f' 668 ;; 669 670darwin* | rhapsody*) 671 # this will be overwritten by pass_all, but leave it in just in case 672 lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' 673 lt_cv_file_magic_cmd='/usr/bin/file -L' 674 case "$host_os" in 675 rhapsody* | darwin1.[012]) 676 lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System' 677 ;; 678 *) # Darwin 1.3 on 679 lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' 680 ;; 681 esac 682 lt_cv_deplibs_check_method=pass_all 683 ;; 684 685freebsd* | kfreebsd*-gnu) 686 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 687 case $host_cpu in 688 i*86 ) 689 # Not sure whether the presence of OpenBSD here was a mistake. 690 # Let's accept both of them until this is cleared up. 691 lt_cv_deplibs_check_method=['file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'] 692 lt_cv_file_magic_cmd=/usr/bin/file 693 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 694 ;; 695 esac 696 else 697 lt_cv_deplibs_check_method=pass_all 698 fi 699 ;; 700 701gnu*) 702 lt_cv_deplibs_check_method=pass_all 703 ;; 704 705hpux10.20*|hpux11*) 706 case $host_cpu in 707 hppa*) 708 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] 709 lt_cv_file_magic_cmd=/usr/bin/file 710 lt_cv_file_magic_test_file=/usr/lib/libc.sl 711 ;; 712 ia64*) 713 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'] 714 lt_cv_file_magic_cmd=/usr/bin/file 715 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 716 ;; 717 esac 718 ;; 719 720irix5* | irix6*) 721 case $host_os in 722 irix5*) 723 # this will be overridden with pass_all, but let us keep it just in case 724 lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" 725 ;; 726 *) 727 case $LD in 728 *-32|*"-32 ") libmagic=32-bit;; 729 *-n32|*"-n32 ") libmagic=N32;; 730 *-64|*"-64 ") libmagic=64-bit;; 731 *) libmagic=never-match;; 732 esac 733 # this will be overridden with pass_all, but let us keep it just in case 734 lt_cv_deplibs_check_method=["file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"] 735 ;; 736 esac 737 lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` 738 lt_cv_deplibs_check_method=pass_all 739 ;; 740 741# This must be Linux ELF. 742linux-gnu*) 743 lt_cv_deplibs_check_method=pass_all 744 ;; 745 746netbsd* | knetbsd*-gnu) 747 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then 748 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] 749 else 750 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'] 751 fi 752 ;; 753 754newsos6) 755 [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'] 756 lt_cv_file_magic_cmd=/usr/bin/file 757 lt_cv_file_magic_test_file=/usr/lib/libnls.so 758 ;; 759 760osf3* | osf4* | osf5*) 761 # this will be overridden with pass_all, but let us keep it just in case 762 lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' 763 lt_cv_file_magic_test_file=/shlib/libc.so 764 lt_cv_deplibs_check_method=pass_all 765 ;; 766 767sco3.2v5*) 768 lt_cv_deplibs_check_method=pass_all 769 ;; 770 771solaris*) 772 lt_cv_deplibs_check_method=pass_all 773 lt_cv_file_magic_test_file=/lib/libc.so 774 ;; 775 776[sysv5uw[78]* | sysv4*uw2*)] 777 lt_cv_deplibs_check_method=pass_all 778 ;; 779 780sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 781 case $host_vendor in 782 ncr) 783 lt_cv_deplibs_check_method=pass_all 784 ;; 785 motorola) 786 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]'] 787 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 788 ;; 789 esac 790 ;; 791esac 792]) 793file_magic_cmd=$lt_cv_file_magic_cmd 794deplibs_check_method=$lt_cv_deplibs_check_method 795]) 796 797 798# AC_PROG_NM - find the path to a BSD-compatible name lister 799AC_DEFUN([AC_PROG_NM], 800[AC_MSG_CHECKING([for BSD-compatible nm]) 801AC_CACHE_VAL(lt_cv_path_NM, 802[if test -n "$NM"; then 803 # Let the user override the test. 804 lt_cv_path_NM="$NM" 805else 806 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 807 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do 808 test -z "$ac_dir" && ac_dir=. 809 tmp_nm=$ac_dir/${ac_tool_prefix}nm 810 if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then 811 # Check to see if the nm accepts a BSD-compat flag. 812 # Adding the `sed 1q' prevents false positives on HP-UX, which says: 813 # nm: unknown option "B" ignored 814 # Tru64's nm complains that /dev/null is an invalid object file 815 if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then 816 lt_cv_path_NM="$tmp_nm -B" 817 break 818 elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 819 lt_cv_path_NM="$tmp_nm -p" 820 break 821 else 822 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 823 continue # so that we can try to find one that supports BSD flags 824 fi 825 fi 826 done 827 IFS="$ac_save_ifs" 828 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm 829fi]) 830NM="$lt_cv_path_NM" 831AC_MSG_RESULT([$NM]) 832]) 833 834# AC_CHECK_LIBM - check for math library 835AC_DEFUN([AC_CHECK_LIBM], 836[AC_REQUIRE([AC_CANONICAL_HOST])dnl 837LIBM= 838case $host in 839*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) 840 # These system don't have libm 841 # on darwin the libm is a symbolic link to libSystem.dylib 842 ;; 843*-ncr-sysv4.3*) 844 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 845 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") 846 ;; 847*) 848 AC_CHECK_LIB(m, main, LIBM="-lm") 849 ;; 850esac 851]) 852 853# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for 854# the libltdl convenience library and INCLTDL to the include flags for 855# the libltdl header and adds --enable-ltdl-convenience to the 856# configure arguments. Note that LIBLTDL and INCLTDL are not 857# AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not 858# provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed 859# with '${top_builddir}/' and INCLTDL will be prefixed with 860# '${top_srcdir}/' (note the single quotes!). If your package is not 861# flat and you're not using automake, define top_builddir and 862# top_srcdir appropriately in the Makefiles. 863AC_DEFUN([AC_LIBLTDL_CONVENIENCE], 864[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 865 case $enable_ltdl_convenience in 866 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; 867 "") enable_ltdl_convenience=yes 868 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; 869 esac 870 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la 871 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 872]) 873 874# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for 875# the libltdl installable library and INCLTDL to the include flags for 876# the libltdl header and adds --enable-ltdl-install to the configure 877# arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is 878# AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed 879# libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will 880# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed 881# with '${top_srcdir}/' (note the single quotes!). If your package is 882# not flat and you're not using automake, define top_builddir and 883# top_srcdir appropriately in the Makefiles. 884# In the future, this macro may have to be called after AC_PROG_LIBTOOL. 885AC_DEFUN([AC_LIBLTDL_INSTALLABLE], 886[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 887 AC_CHECK_LIB(ltdl, main, 888 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], 889 [if test x"$enable_ltdl_install" = xno; then 890 AC_MSG_WARN([libltdl not installed, but installation disabled]) 891 else 892 enable_ltdl_install=yes 893 fi 894 ]) 895 if test x"$enable_ltdl_install" = x"yes"; then 896 ac_configure_args="$ac_configure_args --enable-ltdl-install" 897 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la 898 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) 899 else 900 ac_configure_args="$ac_configure_args --enable-ltdl-install=no" 901 LIBLTDL="-lltdl" 902 INCLTDL= 903 fi 904]) 905 906# If this macro is not defined by Autoconf, define it here. 907ifdef([AC_PROVIDE_IFELSE], 908 [], 909 [define([AC_PROVIDE_IFELSE], 910 [ifdef([AC_PROVIDE_$1], 911 [$2], [$3])])]) 912 913# AC_LIBTOOL_CXX - enable support for C++ libraries 914AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])]) 915 916AC_DEFUN([_AC_LIBTOOL_CXX], 917[AC_REQUIRE([AC_PROG_CXX]) 918AC_REQUIRE([AC_PROG_CXXCPP]) 919LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh" 920lt_save_CC="$CC" 921lt_save_CFLAGS="$CFLAGS" 922dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC 923dnl is set to the C++ compiler. 924AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \ 925MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ 926LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ 927AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ 928objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ 929deplibs_check_method="$deplibs_check_method" \ 930file_magic_cmd="$file_magic_cmd" \ 931${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ 932--build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \ 933|| AC_MSG_ERROR([libtool tag configuration failed]) 934CC="$lt_save_CC" 935CFLAGS="$lt_save_CFLAGS" 936 937# Redirect the config.log output again, so that the ltconfig log is not 938# clobbered by the next message. 939exec 5>>./config.log 940]) 941 942# AC_LIBTOOL_GCJ - enable support for GCJ libraries 943AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])]) 944 945AC_DEFUN([_AC_LIBTOOL_GCJ], 946[AC_REQUIRE([AC_PROG_LIBTOOL]) 947AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], 948 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], 949 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], 950 [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], 951 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], 952 [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) 953LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh" 954lt_save_CC="$CC" 955lt_save_CFLAGS="$CFLAGS" 956dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC 957dnl is set to the C++ compiler. 958AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \ 959MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ 960LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \ 961AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \ 962objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \ 963deplibs_check_method="$deplibs_check_method" \ 964file_magic_cmd="$file_magic_cmd" \ 965${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \ 966--build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \ 967|| AC_MSG_ERROR([libtool tag configuration failed]) 968CC="$lt_save_CC" 969CFLAGS="$lt_save_CFLAGS" 970 971# Redirect the config.log output again, so that the ltconfig log is not 972# clobbered by the next message. 973exec 5>>./config.log 974]) 975 976dnl old names 977AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) 978AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) 979AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) 980AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) 981AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) 982AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) 983AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) 984 985dnl This is just to silence aclocal about the macro not being used 986ifelse([AC_DISABLE_FAST_INSTALL])dnl 987 988AC_DEFUN([LT_AC_PROG_GCJ], 989[AC_CHECK_TOOL(GCJ, gcj, no) 990 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 991 AC_SUBST(GCJFLAGS) 992]) 993