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