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