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
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.
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.
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.
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.
25 # serial 46 AC_PROG_LIBTOOL
26 AC_DEFUN([AC_PROG_LIBTOOL],
27 [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
28 dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
29 dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
30 AC_PROVIDE_IFELSE([AC_PROG_CXX],
32 [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
35 dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
36 dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
37 dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
38 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
40 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
42 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
45 [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
47 ifdef([A][M_PROG_GCJ],
48 [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
50 ifdef([LT_AC_PROG_GCJ],
51 [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
54 AC_DEFUN([_AC_PROG_LIBTOOL],
55 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
56 AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
57 AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
59 # Save cache, so that ltconfig can load it
62 # Actually configure libtool. ac_aux_dir is where install-sh is found.
63 AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
64 MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
65 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
66 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
67 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
68 deplibs_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])
73 # Reload cache, that may have been modified by ltconfig
76 # This can be used to rebuild libtool when needed
77 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
79 # Always use our own libtool.
80 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
83 # Redirect the config.log output again, so that the ltconfig log is not
84 # clobbered by the next message.
88 AC_DEFUN([AC_LIBTOOL_SETUP],
90 AC_REQUIRE([AC_ENABLE_SHARED])dnl
91 AC_REQUIRE([AC_ENABLE_STATIC])dnl
92 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
93 AC_REQUIRE([AC_CANONICAL_HOST])dnl
94 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
95 AC_REQUIRE([AC_PROG_CC])dnl
96 AC_REQUIRE([AC_PROG_LD])dnl
97 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
98 AC_REQUIRE([AC_PROG_NM])dnl
99 AC_REQUIRE([AC_PROG_LN_S])dnl
100 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
101 # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
102 AC_REQUIRE([AC_OBJEXT])dnl
103 AC_REQUIRE([AC_EXEEXT])dnl
106 AC_LIBTOOL_SYS_MAX_CMD_LEN
108 # Only perform the check for file, if the check method requires it
109 case $deplibs_check_method in
111 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
117 AC_CHECK_TOOL(RANLIB, ranlib, :)
118 AC_CHECK_TOOL(STRIP, strip, :)
120 # Check for any special flags to pass to ltconfig.
121 libtool_flags="--cache-file=$cache_file"
122 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
123 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
124 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
125 test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
126 test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
127 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
128 [libtool_flags="$libtool_flags --enable-dlopen"])
129 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
130 [libtool_flags="$libtool_flags --enable-win32-dll"])
131 AC_ARG_ENABLE(libtool-lock,
132 [ --disable-libtool-lock avoid locking (might break parallel builds)])
133 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
134 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
137 [ --with-pic try to use only PIC/non-PIC objects [default=use both]],
138 pic_mode="$withval", pic_mode=default)
139 test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
140 test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
142 # Some flags need to be propagated to the compiler or linker for good
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
152 LD="${LD-ld} -melf32bsmip"
155 LD="${LD-ld} -melf32bmipn32"
158 LD="${LD-ld} -melf64bmip"
162 case `/usr/bin/file conftest.$ac_objext` in
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
194 x86_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
202 LD="${LD-ld} -m elf_i386"
204 ppc64-*linux*|powerpc64-*linux*)
205 LD="${LD-ld} -m elf32ppclinux"
208 LD="${LD-ld} -m elf_s390"
211 LD="${LD-ld} -m elf32_sparc"
218 LD="${LD-ld} -m elf_x86_64"
220 ppc*-*linux*|powerpc*-*linux*)
221 LD="${LD-ld} -m elf64ppc"
224 LD="${LD-ld} -m elf64_s390"
227 LD="${LD-ld} -m elf64_sparc"
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,
243 AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
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"
251 ifdef([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)
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,
261 [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
263 [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
266 *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
267 # old mingw systems require "-dll" to link a DLL, while more recent ones
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" ;;
285 # AC_LIBTOOL_SYS_MAX_CMD_LEN
286 # --------------------------
287 AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
288 [# find the maximum length of command line arguments
289 AC_MSG_CHECKING([the maximum length of command line arguments])
290 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
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
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;
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;
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`
327 lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
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`
334 # If test is not a shell built-in, we'll probably end up computing a
335 # maximum length that is only half of the actual maximum length, but
337 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
338 while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
339 = "XX$teststring") >/dev/null 2>&1 &&
340 new_result=`expr "X$teststring" : ".*" 2>&1` &&
341 lt_cv_sys_max_cmd_len=$new_result &&
342 test $i != 17 # 1/2 MB should be enough
345 teststring=$teststring$teststring
348 # Add a significant safety factor because C++ compilers can tack on massive
349 # amounts of additional arguments before passing them to the linker.
350 # It appears as though 1/2 is a usable value.
351 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
355 if test -n $lt_cv_sys_max_cmd_len ; then
356 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
360 ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
363 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
364 AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
366 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
367 AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
369 # AC_ENABLE_SHARED - implement the --enable-shared flag
370 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
371 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
373 AC_DEFUN([AC_ENABLE_SHARED],
374 [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
375 AC_ARG_ENABLE(shared,
376 changequote(<<, >>)dnl
377 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
379 [p=${PACKAGE-default}
381 yes) enable_shared=yes ;;
382 no) enable_shared=no ;;
385 # Look at the argument we got. We use all the common list separators.
386 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
387 for pkg in $enableval; do
388 if test "X$pkg" = "X$p"; then
395 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
398 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
399 AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
400 AC_ENABLE_SHARED(no)])
402 # AC_ENABLE_STATIC - implement the --enable-static flag
403 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
404 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
406 AC_DEFUN([AC_ENABLE_STATIC],
407 [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
408 AC_ARG_ENABLE(static,
409 changequote(<<, >>)dnl
410 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
412 [p=${PACKAGE-default}
414 yes) enable_static=yes ;;
415 no) enable_static=no ;;
418 # Look at the argument we got. We use all the common list separators.
419 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
420 for pkg in $enableval; do
421 if test "X$pkg" = "X$p"; then
428 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
431 # AC_DISABLE_STATIC - set the default static flag to --disable-static
432 AC_DEFUN([AC_DISABLE_STATIC],
433 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
434 AC_ENABLE_STATIC(no)])
437 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
438 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
439 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
441 AC_DEFUN([AC_ENABLE_FAST_INSTALL],
442 [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
443 AC_ARG_ENABLE(fast-install,
444 changequote(<<, >>)dnl
445 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
447 [p=${PACKAGE-default}
449 yes) enable_fast_install=yes ;;
450 no) enable_fast_install=no ;;
452 enable_fast_install=no
453 # Look at the argument we got. We use all the common list separators.
454 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
455 for pkg in $enableval; do
456 if test "X$pkg" = "X$p"; then
457 enable_fast_install=yes
463 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
466 # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
467 AC_DEFUN([AC_DISABLE_FAST_INSTALL],
468 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
469 AC_ENABLE_FAST_INSTALL(no)])
471 # AC_LIBTOOL_PICMODE - implement the --with-pic flag
472 # Usage: AC_LIBTOOL_PICMODE[(MODE)]
473 # Where MODE is either `yes' or `no'. If omitted, it defaults to
475 AC_DEFUN([AC_LIBTOOL_PICMODE],
476 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
477 pic_mode=ifelse($#,1,$1,default)])
480 # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
481 AC_DEFUN([AC_PATH_TOOL_PREFIX],
482 [AC_MSG_CHECKING([for $1])
483 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
486 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
489 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
492 ac_save_MAGIC_CMD="$MAGIC_CMD"
493 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
494 dnl $ac_dummy forces splitting on constant user-supplied paths.
495 dnl POSIX.2 word splitting is done only on the output of word expansions,
496 dnl not every word. This closes a longstanding sh security hole.
497 ac_dummy="ifelse([$2], , $PATH, [$2])"
498 for ac_dir in $ac_dummy; do
499 test -z "$ac_dir" && ac_dir=.
500 if test -f $ac_dir/$1; then
501 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
502 if test -n "$file_magic_test_file"; then
503 case $deplibs_check_method in
505 file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
506 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
507 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
508 egrep "$file_magic_regex" > /dev/null; then
513 *** Warning: the command libtool uses to detect shared libraries,
514 *** $file_magic_cmd, produces output that libtool cannot recognize.
515 *** The result is that libtool may fail to recognize shared libraries
516 *** as such. This will affect the creation of libtool libraries that
517 *** depend on shared libraries, but programs linked with such libtool
518 *** libraries will work regardless of this problem. Nevertheless, you
519 *** may want to report the problem to your system manager and/or to
520 *** bug-libtool@gnu.org
530 MAGIC_CMD="$ac_save_MAGIC_CMD"
533 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
534 if test -n "$MAGIC_CMD"; then
535 AC_MSG_RESULT($MAGIC_CMD)
542 # AC_PATH_MAGIC - find a file program which can recognise a shared library
543 AC_DEFUN([AC_PATH_MAGIC],
544 [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
545 AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
546 if test -z "$lt_cv_path_MAGIC_CMD"; then
547 if test -n "$ac_tool_prefix"; then
548 AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
556 # AC_PROG_LD - find the path to the GNU or non-GNU linker
557 AC_DEFUN([AC_PROG_LD],
559 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
560 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
561 AC_REQUIRE([AC_PROG_CC])dnl
562 AC_REQUIRE([AC_CANONICAL_HOST])dnl
563 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
565 if test "$GCC" = yes; then
566 # Check if gcc -print-prog-name=ld gives a path.
567 AC_MSG_CHECKING([for ld used by GCC])
570 # gcc leaves a trailing carriage return which upsets mingw
571 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
573 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
576 # Accept absolute paths.
577 [[\\/]* | [A-Za-z]:[\\/]*)]
578 re_direlt=['/[^/][^/]*/\.\./']
579 # Canonicalize the path of ld
580 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
581 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
582 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
584 test -z "$LD" && LD="$ac_prog"
587 # If it fails, then pretend we aren't using GCC.
591 # If it is relative, then search for the first ld in PATH.
595 elif test "$with_gnu_ld" = yes; then
596 AC_MSG_CHECKING([for GNU ld])
598 AC_MSG_CHECKING([for non-GNU ld])
600 AC_CACHE_VAL(lt_cv_path_LD,
601 [if test -z "$LD"; then
602 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
603 for ac_dir in $PATH; do
604 test -z "$ac_dir" && ac_dir=.
605 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
606 lt_cv_path_LD="$ac_dir/$ac_prog"
607 # Check to see if the program is GNU ld. I'd rather use --version,
608 # but apparently some GNU ld's only accept -v.
609 # Break only if it was the GNU/non-GNU ld that we prefer.
610 if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
611 test "$with_gnu_ld" != no && break
613 test "$with_gnu_ld" != yes && break
619 lt_cv_path_LD="$LD" # Let the user override the test with a path.
622 if test -n "$LD"; then
627 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
631 AC_DEFUN([AC_PROG_LD_GNU],
632 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
633 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
634 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
635 lt_cv_prog_gnu_ld=yes
639 with_gnu_ld=$lt_cv_prog_gnu_ld
642 # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
643 # -- PORTME Some linkers may need a different reload flag.
644 AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
645 [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
646 [lt_cv_ld_reload_flag='-r'])
647 reload_flag=$lt_cv_ld_reload_flag
648 test -n "$reload_flag" && reload_flag=" $reload_flag"
651 # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
652 # -- PORTME fill in with the dynamic library characteristics
653 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
654 [AC_CACHE_CHECK([how to recognise dependant libraries],
655 lt_cv_deplibs_check_method,
656 [lt_cv_file_magic_cmd='$MAGIC_CMD'
657 lt_cv_file_magic_test_file=
658 lt_cv_deplibs_check_method='unknown'
659 # Need to set the preceding variable on all platforms that support
660 # interlibrary dependencies.
661 # 'none' -- dependencies not supported.
662 # `unknown' -- same as none, but documents that we really don't know.
663 # 'pass_all' -- all dependencies passed with no checks.
664 # 'test_compile' -- check by making test program.
665 # 'file_magic [regex]' -- check by looking for files in library path
666 # which responds to the $file_magic_cmd with a given egrep regex.
667 # If you have `file' or equivalent on your system and you're not sure
668 # whether `pass_all' will *always* work, you probably want this one.
672 lt_cv_deplibs_check_method=pass_all
676 lt_cv_deplibs_check_method=pass_all
680 lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
681 lt_cv_file_magic_cmd='/usr/bin/file -L'
682 lt_cv_file_magic_test_file=/shlib/libc.so
685 cygwin* | mingw* |pw32*)
686 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
687 lt_cv_file_magic_cmd='$OBJDUMP -f'
691 # this will be overwritten by pass_all, but leave it in just in case
692 lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
693 lt_cv_file_magic_cmd='/usr/bin/file -L'
695 rhapsody* | darwin1.[012])
696 lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
699 lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
702 lt_cv_deplibs_check_method=pass_all
705 freebsd* | kfreebsd*-gnu)
706 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
709 # Not sure whether the presence of OpenBSD here was a mistake.
710 # Let's accept both of them until this is cleared up.
711 lt_cv_deplibs_check_method=['file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library']
712 lt_cv_file_magic_cmd=/usr/bin/file
713 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
717 lt_cv_deplibs_check_method=pass_all
722 lt_cv_deplibs_check_method=pass_all
728 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library']
729 lt_cv_file_magic_cmd=/usr/bin/file
730 lt_cv_file_magic_test_file=/usr/lib/libc.sl
733 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64']
734 lt_cv_file_magic_cmd=/usr/bin/file
735 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
743 # this will be overridden with pass_all, but let us keep it just in case
744 lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
748 *-32|*"-32 ") libmagic=32-bit;;
749 *-n32|*"-n32 ") libmagic=N32;;
750 *-64|*"-64 ") libmagic=64-bit;;
751 *) libmagic=never-match;;
753 # this will be overridden with pass_all, but let us keep it just in case
754 lt_cv_deplibs_check_method=["file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"]
757 lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
758 lt_cv_deplibs_check_method=pass_all
761 # This must be Linux ELF.
763 lt_cv_deplibs_check_method=pass_all
766 netbsd* | knetbsd*-gnu)
767 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
768 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
770 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$']
775 [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
776 lt_cv_file_magic_cmd=/usr/bin/file
777 lt_cv_file_magic_test_file=/usr/lib/libnls.so
780 osf3* | osf4* | osf5*)
781 # this will be overridden with pass_all, but let us keep it just in case
782 lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
783 lt_cv_file_magic_test_file=/shlib/libc.so
784 lt_cv_deplibs_check_method=pass_all
788 lt_cv_deplibs_check_method=pass_all
792 lt_cv_deplibs_check_method=pass_all
793 lt_cv_file_magic_test_file=/lib/libc.so
796 [sysv5uw[78]* | sysv4*uw2*)]
797 lt_cv_deplibs_check_method=pass_all
800 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
803 lt_cv_deplibs_check_method=pass_all
806 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]']
807 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
813 file_magic_cmd=$lt_cv_file_magic_cmd
814 deplibs_check_method=$lt_cv_deplibs_check_method
818 # AC_PROG_NM - find the path to a BSD-compatible name lister
819 AC_DEFUN([AC_PROG_NM],
820 [AC_MSG_CHECKING([for BSD-compatible nm])
821 AC_CACHE_VAL(lt_cv_path_NM,
822 [if test -n "$NM"; then
823 # Let the user override the test.
826 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
827 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
828 test -z "$ac_dir" && ac_dir=.
829 tmp_nm=$ac_dir/${ac_tool_prefix}nm
830 if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
831 # Check to see if the nm accepts a BSD-compat flag.
832 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
833 # nm: unknown option "B" ignored
834 # Tru64's nm complains that /dev/null is an invalid object file
835 if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
836 lt_cv_path_NM="$tmp_nm -B"
838 elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
839 lt_cv_path_NM="$tmp_nm -p"
842 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
843 continue # so that we can try to find one that supports BSD flags
848 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
854 # AC_CHECK_LIBM - check for math library
855 AC_DEFUN([AC_CHECK_LIBM],
856 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
859 *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
860 # These system don't have libm
861 # on darwin the libm is a symbolic link to libSystem.dylib
864 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
865 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
868 AC_CHECK_LIB(m, main, LIBM="-lm")
873 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
874 # the libltdl convenience library and INCLTDL to the include flags for
875 # the libltdl header and adds --enable-ltdl-convenience to the
876 # configure arguments. Note that LIBLTDL and INCLTDL are not
877 # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If DIR is not
878 # provided, it is assumed to be `libltdl'. LIBLTDL will be prefixed
879 # with '${top_builddir}/' and INCLTDL will be prefixed with
880 # '${top_srcdir}/' (note the single quotes!). If your package is not
881 # flat and you're not using automake, define top_builddir and
882 # top_srcdir appropriately in the Makefiles.
883 AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
884 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
885 case $enable_ltdl_convenience in
886 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
887 "") enable_ltdl_convenience=yes
888 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
890 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
891 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
894 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
895 # the libltdl installable library and INCLTDL to the include flags for
896 # the libltdl header and adds --enable-ltdl-install to the configure
897 # arguments. Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
898 # AC_CONFIG_SUBDIRS called. If DIR is not provided and an installed
899 # libltdl is not found, it is assumed to be `libltdl'. LIBLTDL will
900 # be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
901 # with '${top_srcdir}/' (note the single quotes!). If your package is
902 # not flat and you're not using automake, define top_builddir and
903 # top_srcdir appropriately in the Makefiles.
904 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
905 AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
906 [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
907 AC_CHECK_LIB(ltdl, main,
908 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
909 [if test x"$enable_ltdl_install" = xno; then
910 AC_MSG_WARN([libltdl not installed, but installation disabled])
912 enable_ltdl_install=yes
915 if test x"$enable_ltdl_install" = x"yes"; then
916 ac_configure_args="$ac_configure_args --enable-ltdl-install"
917 LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
918 INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
920 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
926 # If this macro is not defined by Autoconf, define it here.
927 ifdef([AC_PROVIDE_IFELSE],
929 [define([AC_PROVIDE_IFELSE],
930 [ifdef([AC_PROVIDE_$1],
933 # AC_LIBTOOL_CXX - enable support for C++ libraries
934 AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
936 AC_DEFUN([_AC_LIBTOOL_CXX],
937 [AC_REQUIRE([AC_PROG_CXX])
938 AC_REQUIRE([AC_PROG_CXXCPP])
939 LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
941 lt_save_CFLAGS="$CFLAGS"
942 dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
943 dnl is set to the C++ compiler.
944 AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
945 MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
946 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
947 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
948 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
949 deplibs_check_method="$deplibs_check_method" \
950 file_magic_cmd="$file_magic_cmd" \
951 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
952 --build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
953 || AC_MSG_ERROR([libtool tag configuration failed])
955 CFLAGS="$lt_save_CFLAGS"
957 # Redirect the config.log output again, so that the ltconfig log is not
958 # clobbered by the next message.
962 # AC_LIBTOOL_GCJ - enable support for GCJ libraries
963 AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
965 AC_DEFUN([_AC_LIBTOOL_GCJ],
966 [AC_REQUIRE([AC_PROG_LIBTOOL])
967 AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
968 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
969 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
970 [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
971 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
972 [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
973 LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-gcj.sh"
975 lt_save_CFLAGS="$CFLAGS"
976 dnl Make sure LTCC is set to the C compiler, i.e. set LTCC before CC
977 dnl is set to the C++ compiler.
978 AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
979 MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
980 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
981 AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
982 objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
983 deplibs_check_method="$deplibs_check_method" \
984 file_magic_cmd="$file_magic_cmd" \
985 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
986 --build="$build" --add-tag=GCJ $ac_aux_dir/ltcf-gcj.sh $host \
987 || AC_MSG_ERROR([libtool tag configuration failed])
989 CFLAGS="$lt_save_CFLAGS"
991 # Redirect the config.log output again, so that the ltconfig log is not
992 # clobbered by the next message.
997 AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
998 AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
999 AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
1000 AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
1001 AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
1002 AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
1003 AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
1005 dnl This is just to silence aclocal about the macro not being used
1006 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1008 AC_DEFUN([LT_AC_PROG_GCJ],
1009 [AC_CHECK_TOOL(GCJ, gcj, no)
1010 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"