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