bfd/
[deliverable/binutils-gdb.git] / libtool.m4
CommitLineData
6cf86f7f 1## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
ef099754
AO
2## Copyright 1996, 1997, 1998, 1999, 2000, 2001
3## Free Software Foundation, Inc.
6cf86f7f
AO
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
6e4d0bcb 18## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
6cf86f7f
AO
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
469b781c
AO
25# serial 46 AC_PROG_LIBTOOL
26AC_DEFUN([AC_PROG_LIBTOOL],
27[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
6cf86f7f
AO
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],
d64552c5
AO
42 [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
43 [AC_LIBTOOL_GCJ],
6cf86f7f
AO
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
d64552c5
AO
49])])
50 ifdef([LT_AC_PROG_GCJ],
51 [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
52])])])])])])
6cf86f7f 53
469b781c 54AC_DEFUN([_AC_PROG_LIBTOOL],
6cf86f7f
AO
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" \
d64552c5 64MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
6cf86f7f
AO
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
469b781c 88AC_DEFUN([AC_LIBTOOL_SETUP],
6cf86f7f
AO
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
469b781c 107case $deplibs_check_method in
6cf86f7f 108file_magic*)
d64552c5 109 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
6cf86f7f
AO
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"
469b781c
AO
123test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
124test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
6cf86f7f
AO
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.
469b781c 142case $host in
6cf86f7f
AO
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
f4ff34a3
AO
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
469b781c 160 case `/usr/bin/file conftest.$ac_objext` in
6cf86f7f
AO
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
f4ff34a3 171 fi
6cf86f7f
AO
172 fi
173 rm -rf conftest*
174 ;;
175
4867be41
DJ
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
6cf86f7f
AO
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],
d64552c5 208[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
6cf86f7f
AO
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
469b781c 221 case $host/$CC in
6cf86f7f
AO
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" ;;
d64552c5 230 *-*-cygwin* | *-*-pw32*)
6cf86f7f
AO
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
469b781c 241AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
6cf86f7f
AO
242
243# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
469b781c 244AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
6cf86f7f
AO
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'.
469b781c
AO
250AC_DEFUN([AC_ENABLE_SHARED],
251[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
6cf86f7f
AO
252AC_ARG_ENABLE(shared,
253changequote(<<, >>)dnl
254<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
255changequote([, ])dnl
256[p=${PACKAGE-default}
469b781c 257case $enableval in
6cf86f7f
AO
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
469b781c 276AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
6cf86f7f
AO
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'.
469b781c
AO
283AC_DEFUN([AC_ENABLE_STATIC],
284[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
6cf86f7f
AO
285AC_ARG_ENABLE(static,
286changequote(<<, >>)dnl
287<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
288changequote([, ])dnl
289[p=${PACKAGE-default}
469b781c 290case $enableval in
6cf86f7f
AO
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
469b781c
AO
309AC_DEFUN([AC_DISABLE_STATIC],
310[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
6cf86f7f
AO
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'.
469b781c
AO
318AC_DEFUN([AC_ENABLE_FAST_INSTALL],
319[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
6cf86f7f
AO
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}
469b781c 325case $enableval in
6cf86f7f
AO
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
469b781c
AO
344AC_DEFUN([AC_DISABLE_FAST_INSTALL],
345[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
6cf86f7f
AO
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'.
469b781c
AO
352AC_DEFUN([AC_LIBTOOL_PICMODE],
353[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
6cf86f7f
AO
354pic_mode=ifelse($#,1,$1,default)])
355
356
357# AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
469b781c 358AC_DEFUN([AC_PATH_TOOL_PREFIX],
6cf86f7f 359[AC_MSG_CHECKING([for $1])
d64552c5 360AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
469b781c 361[case $MAGIC_CMD in
6cf86f7f 362 /*)
d64552c5 363 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
6cf86f7f
AO
364 ;;
365 ?:/*)
d64552c5 366 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
6cf86f7f
AO
367 ;;
368 *)
d64552c5 369 ac_save_MAGIC_CMD="$MAGIC_CMD"
6cf86f7f
AO
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
d64552c5 378 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
6cf86f7f 379 if test -n "$file_magic_test_file"; then
469b781c 380 case $deplibs_check_method in
6cf86f7f
AO
381 "file_magic "*)
382 file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
d64552c5 383 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
6cf86f7f
AO
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"
d64552c5 407 MAGIC_CMD="$ac_save_MAGIC_CMD"
6cf86f7f
AO
408 ;;
409esac])
d64552c5
AO
410MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
411if test -n "$MAGIC_CMD"; then
412 AC_MSG_RESULT($MAGIC_CMD)
6cf86f7f
AO
413else
414 AC_MSG_RESULT(no)
415fi
416])
417
418
419# AC_PATH_MAGIC - find a file program which can recognise a shared library
469b781c 420AC_DEFUN([AC_PATH_MAGIC],
6cf86f7f
AO
421[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
422AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
d64552c5 423if test -z "$lt_cv_path_MAGIC_CMD"; then
6cf86f7f
AO
424 if test -n "$ac_tool_prefix"; then
425 AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
426 else
d64552c5 427 MAGIC_CMD=:
6cf86f7f
AO
428 fi
429fi
430])
431
432
433# AC_PROG_LD - find the path to the GNU or non-GNU linker
469b781c 434AC_DEFUN([AC_PROG_LD],
6cf86f7f
AO
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
469b781c 442if test "$GCC" = yes; then
6cf86f7f
AO
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
469b781c 452 case $ac_prog in
6cf86f7f 453 # Accept absolute paths.
469b781c
AO
454 [[\\/]* | [A-Za-z]:[\\/]*)]
455 re_direlt=['/[^/][^/]*/\.\./']
6cf86f7f
AO
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
469b781c 477AC_CACHE_VAL(lt_cv_path_LD,
6cf86f7f
AO
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
469b781c 483 lt_cv_path_LD="$ac_dir/$ac_prog"
6cf86f7f
AO
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.
469b781c 487 if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
6cf86f7f
AO
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
469b781c 496 lt_cv_path_LD="$LD" # Let the user override the test with a path.
6cf86f7f 497fi])
469b781c 498LD="$lt_cv_path_LD"
6cf86f7f
AO
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
469b781c
AO
508AC_DEFUN([AC_PROG_LD_GNU],
509[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
6cf86f7f
AO
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
469b781c 512 lt_cv_prog_gnu_ld=yes
6cf86f7f 513else
469b781c 514 lt_cv_prog_gnu_ld=no
6cf86f7f 515fi])
469b781c 516with_gnu_ld=$lt_cv_prog_gnu_ld
6cf86f7f
AO
517])
518
519# AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
520# -- PORTME Some linkers may need a different reload flag.
469b781c 521AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
6cf86f7f
AO
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
469b781c 530AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
6cf86f7f
AO
531[AC_CACHE_CHECK([how to recognise dependant libraries],
532lt_cv_deplibs_check_method,
d64552c5 533[lt_cv_file_magic_cmd='$MAGIC_CMD'
6cf86f7f
AO
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
469b781c
AO
547case $host_os in
548aix*)
6cf86f7f
AO
549 lt_cv_deplibs_check_method=pass_all
550 ;;
551
552beos*)
553 lt_cv_deplibs_check_method=pass_all
554 ;;
555
556bsdi4*)
469b781c 557 lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
6cf86f7f
AO
558 lt_cv_file_magic_cmd='/usr/bin/file -L'
559 lt_cv_file_magic_test_file=/shlib/libc.so
560 ;;
561
d64552c5 562cygwin* | mingw* |pw32*)
6cf86f7f 563 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
d64552c5 564 lt_cv_file_magic_cmd='$OBJDUMP -f'
6cf86f7f
AO
565 ;;
566
469b781c
AO
567darwin* | rhapsody*)
568 lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
8cc32590
AO
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
469b781c
AO
578 ;;
579
61edac0c 580freebsd* | kfreebsd*-gnu)
6cf86f7f 581 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
469b781c 582 case $host_cpu in
6cf86f7f 583 i*86 )
103a2e99
AO
584 # Not sure whether the presence of OpenBSD here was a mistake.
585 # Let's accept both of them until this is cleared up.
469b781c 586 lt_cv_deplibs_check_method=['file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library']
6cf86f7f
AO
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
469b781c 600hpux10.20*|hpux11*)
4867be41
DJ
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
6cf86f7f
AO
613 ;;
614
615irix5* | irix6*)
469b781c 616 case $host_os in
6cf86f7f
AO
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 *)
469b781c 622 case $LD in
6cf86f7f
AO
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
469b781c 629 lt_cv_deplibs_check_method=["file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"]
6cf86f7f
AO
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.
103a2e99 637linux-gnu*)
469b781c 638 case $host_cpu in
bc295afe 639 alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
6cf86f7f
AO
640 lt_cv_deplibs_check_method=pass_all ;;
641 *)
642 # glibc up to 2.1.1 does not perform some relocations on ARM
469b781c 643 lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'] ;;
6cf86f7f
AO
644 esac
645 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
646 ;;
647
61edac0c 648netbsd* | knetbsd*-gnu)
469b781c 649 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
8cc32590 650 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
6cf86f7f 651 else
8cc32590 652 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$']
6cf86f7f 653 fi
469b781c
AO
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
6cf86f7f
AO
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
6be7c12c
AO
678[sysv5uw[78]* | sysv4*uw2*)]
679 lt_cv_deplibs_check_method=pass_all
680 ;;
681
6cf86f7f 682sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
469b781c 683 case $host_vendor in
6cf86f7f
AO
684 ncr)
685 lt_cv_deplibs_check_method=pass_all
686 ;;
687 motorola)
469b781c 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]']
6cf86f7f
AO
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
469b781c 701AC_DEFUN([AC_PROG_NM],
6cf86f7f 702[AC_MSG_CHECKING([for BSD-compatible nm])
469b781c 703AC_CACHE_VAL(lt_cv_path_NM,
6cf86f7f
AO
704[if test -n "$NM"; then
705 # Let the user override the test.
469b781c 706 lt_cv_path_NM="$NM"
6cf86f7f
AO
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
103a2e99
AO
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
469b781c 718 lt_cv_path_NM="$tmp_nm -B"
6cf86f7f
AO
719 break
720 elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
469b781c 721 lt_cv_path_NM="$tmp_nm -p"
6cf86f7f
AO
722 break
723 else
469b781c 724 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
6cf86f7f
AO
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"
469b781c 730 test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
6cf86f7f 731fi])
469b781c 732NM="$lt_cv_path_NM"
6cf86f7f
AO
733AC_MSG_RESULT([$NM])
734])
735
736# AC_CHECK_LIBM - check for math library
469b781c 737AC_DEFUN([AC_CHECK_LIBM],
6cf86f7f
AO
738[AC_REQUIRE([AC_CANONICAL_HOST])dnl
739LIBM=
469b781c 740case $host in
d64552c5 741*-*-beos* | *-*-cygwin* | *-*-pw32*)
6cf86f7f
AO
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.
469b781c
AO
764AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
765[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
766 case $enable_ltdl_convenience in
6cf86f7f
AO
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.
469b781c
AO
786AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
787[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
6cf86f7f
AO
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
469b781c
AO
815AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_AC_LIBTOOL_CXX])])
816
817AC_DEFUN([_AC_LIBTOOL_CXX],
818[AC_REQUIRE([AC_PROG_CXX])
6cf86f7f
AO
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" \
469b781c 826MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
6cf86f7f
AO
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
469b781c
AO
844AC_DEFUN([AC_LIBTOOL_GCJ],[AC_REQUIRE([_AC_LIBTOOL_GCJ])])
845
846AC_DEFUN([_AC_LIBTOOL_GCJ],
6cf86f7f
AO
847[AC_REQUIRE([AC_PROG_LIBTOOL])
848AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
849 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
d64552c5
AO
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])])])])])])
6cf86f7f
AO
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.
ef099754 859AR="$AR" LTCC="$CC" CC="$GCJ" CFLAGS="$GCJFLAGS" CPPFLAGS="$CPPFLAGS" \
469b781c 860MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
6cf86f7f
AO
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
469b781c
AO
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])
6cf86f7f
AO
885
886dnl This is just to silence aclocal about the macro not being used
887ifelse([AC_DISABLE_FAST_INSTALL])dnl
103a2e99 888
469b781c
AO
889AC_DEFUN([LT_AC_PROG_GCJ],
890[AC_CHECK_TOOL(GCJ, gcj, no)
103a2e99
AO
891 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
892 AC_SUBST(GCJFLAGS)
893])
This page took 0.288069 seconds and 4 git commands to generate.