source: trunk/third/binutils/libtool.m4 @ 21000

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