1
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
2
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
3
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
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.
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.
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.
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.
24
## 1.4.2 modified by BMSIII - Mar2004 - to eliminate 1.5.2 whines about
25
## underquoted AC _ DEFUN 's
27
# serial 40 AC_PROG_LIBTOOL
28
AC_DEFUN([AC_PROG_LIBTOOL],
29
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
31
# Save cache, so that ltconfig can load it
34
# Actually configure libtool. ac_aux_dir is where install-sh is found.
35
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
36
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
37
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
38
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
39
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
40
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
41
|| AC_MSG_ERROR([libtool configure failed])
43
# Reload cache, that may have been modified by ltconfig
46
# This can be used to rebuild libtool when needed
47
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
49
# Always use our own libtool.
50
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
53
# Redirect the config.log output again, so that the ltconfig log is not
54
# clobbered by the next message.
58
AC_DEFUN([AC_LIBTOOL_SETUP],
60
AC_REQUIRE([AC_ENABLE_SHARED])dnl
61
AC_REQUIRE([AC_ENABLE_STATIC])dnl
62
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
63
AC_REQUIRE([AC_CANONICAL_HOST])dnl
64
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
65
AC_REQUIRE([AC_PROG_RANLIB])dnl
66
AC_REQUIRE([AC_PROG_CC])dnl
67
AC_REQUIRE([AC_PROG_LD])dnl
68
AC_REQUIRE([AC_PROG_NM])dnl
69
AC_REQUIRE([AC_PROG_LN_S])dnl
72
# Check for any special flags to pass to ltconfig.
73
libtool_flags="--cache-file=$cache_file"
74
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
75
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
76
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
77
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
78
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
79
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
80
[libtool_flags="$libtool_flags --enable-dlopen"])
81
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
82
[libtool_flags="$libtool_flags --enable-win32-dll"])
83
AC_ARG_ENABLE(libtool-lock,
84
[ --disable-libtool-lock avoid locking (might break parallel builds)])
85
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
86
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
88
# Some flags need to be propagated to the compiler or linker for good
92
# Find out which ABI we are using.
93
echo '[#]line __oline__ "configure"' > conftest.$ac_ext
94
if AC_TRY_EVAL(ac_compile); then
95
case "`/usr/bin/file conftest.o`" in
111
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
112
SAVE_CFLAGS="$CFLAGS"
113
CFLAGS="$CFLAGS -belf"
114
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
115
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
116
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
117
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
118
CFLAGS="$SAVE_CFLAGS"
122
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
123
[*-*-cygwin* | *-*-mingw*)
124
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
125
AC_CHECK_TOOL(AS, as, false)
126
AC_CHECK_TOOL(OBJDUMP, objdump, false)
132
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
133
AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
135
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
136
AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
138
# AC_ENABLE_SHARED - implement the --enable-shared flag
139
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
140
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
142
AC_DEFUN([AC_ENABLE_SHARED], [dnl
143
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
144
AC_ARG_ENABLE(shared,
145
changequote(<<, >>)dnl
146
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
148
[p=${PACKAGE-default}
150
yes) enable_shared=yes ;;
151
no) enable_shared=no ;;
154
# Look at the argument we got. We use all the common list separators.
155
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
156
for pkg in $enableval; do
157
if test "X$pkg" = "X$p"; then
164
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
167
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
168
AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
169
AC_ENABLE_SHARED(no)])
171
# AC_ENABLE_STATIC - implement the --enable-static flag
172
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
173
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
175
AC_DEFUN([AC_ENABLE_STATIC], [dnl
176
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
177
AC_ARG_ENABLE(static,
178
changequote(<<, >>)dnl
179
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
181
[p=${PACKAGE-default}
183
yes) enable_static=yes ;;
184
no) enable_static=no ;;
187
# Look at the argument we got. We use all the common list separators.
188
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
189
for pkg in $enableval; do
190
if test "X$pkg" = "X$p"; then
197
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
200
# AC_DISABLE_STATIC - set the default static flag to --disable-static
201
AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
202
AC_ENABLE_STATIC(no)])
205
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
206
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
207
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
209
AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl
210
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
211
AC_ARG_ENABLE(fast-install,
212
changequote(<<, >>)dnl
213
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
215
[p=${PACKAGE-default}
217
yes) enable_fast_install=yes ;;
218
no) enable_fast_install=no ;;
220
enable_fast_install=no
221
# Look at the argument we got. We use all the common list separators.
222
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
223
for pkg in $enableval; do
224
if test "X$pkg" = "X$p"; then
225
enable_fast_install=yes
231
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
234
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
235
AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
236
AC_ENABLE_FAST_INSTALL(no)])
238
# AC_PROG_LD - find the path to the GNU or non-GNU linker
239
AC_DEFUN([AC_PROG_LD],
241
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
242
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
243
AC_REQUIRE([AC_PROG_CC])dnl
244
AC_REQUIRE([AC_CANONICAL_HOST])dnl
245
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
247
if test "$ac_cv_prog_gcc" = yes; then
248
# Check if gcc -print-prog-name=ld gives a path.
249
AC_MSG_CHECKING([for ld used by GCC])
250
ac_prog=`($CC -print-prog-name=ld) 2>&5`
252
# Accept absolute paths.
254
[\\/]* | [A-Za-z]:[\\/]*)
255
re_direlt='/[^/][^/]*/\.\./'
257
# Canonicalize the path of ld
258
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
259
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
260
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
262
test -z "$LD" && LD="$ac_prog"
265
# If it fails, then pretend we aren't using GCC.
269
# If it is relative, then search for the first ld in PATH.
273
elif test "$with_gnu_ld" = yes; then
274
AC_MSG_CHECKING([for GNU ld])
276
AC_MSG_CHECKING([for non-GNU ld])
278
AC_CACHE_VAL(ac_cv_path_LD,
279
[if test -z "$LD"; then
280
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
281
for ac_dir in $PATH; do
282
test -z "$ac_dir" && ac_dir=.
283
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
284
ac_cv_path_LD="$ac_dir/$ac_prog"
285
# Check to see if the program is GNU ld. I'd rather use --version,
286
# but apparently some GNU ld's only accept -v.
287
# Break only if it was the GNU/non-GNU ld that we prefer.
288
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
289
test "$with_gnu_ld" != no && break
291
test "$with_gnu_ld" != yes && break
297
ac_cv_path_LD="$LD" # Let the user override the test with a path.
300
if test -n "$LD"; then
305
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
310
AC_DEFUN([AC_PROG_LD_GNU],
311
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
312
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
313
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
314
ac_cv_prog_gnu_ld=yes
320
# AC_PROG_NM - find the path to a BSD-compatible name lister
321
AC_DEFUN([AC_PROG_NM],
322
[AC_MSG_CHECKING([for BSD-compatible nm])
323
AC_CACHE_VAL(ac_cv_path_NM,
324
[if test -n "$NM"; then
325
# Let the user override the test.
328
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
329
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
330
test -z "$ac_dir" && ac_dir=.
331
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
332
# Check to see if the nm accepts a BSD-compat flag.
333
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
334
# nm: unknown option "B" ignored
335
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
336
ac_cv_path_NM="$ac_dir/nm -B"
338
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
339
ac_cv_path_NM="$ac_dir/nm -p"
342
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
343
continue # so that we can try to find one that supports BSD flags
348
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
355
# AC_CHECK_LIBM - check for math library
356
AC_DEFUN([AC_CHECK_LIBM],
357
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
360
*-*-beos* | *-*-cygwin*)
361
# These system don't have libm
364
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
365
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
368
AC_CHECK_LIB(m, main, LIBM="-lm")
373
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
374
# the libltdl convenience library, adds --enable-ltdl-convenience to
375
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
376
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
377
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
378
# '${top_builddir}/' (note the single quotes!) if your package is not
379
# flat, and, if you're not using automake, define top_builddir as
380
# appropriate in the Makefiles.
381
AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
382
case "$enable_ltdl_convenience" in
383
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
384
"") enable_ltdl_convenience=yes
385
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
387
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
388
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
391
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
392
# the libltdl installable library, and adds --enable-ltdl-install to
393
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
394
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
395
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
396
# '${top_builddir}/' (note the single quotes!) if your package is not
397
# flat, and, if you're not using automake, define top_builddir as
398
# appropriate in the Makefiles.
399
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
400
AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
401
AC_CHECK_LIB(ltdl, main,
402
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
403
[if test x"$enable_ltdl_install" = xno; then
404
AC_MSG_WARN([libltdl not installed, but installation disabled])
406
enable_ltdl_install=yes
409
if test x"$enable_ltdl_install" = x"yes"; then
410
ac_configure_args="$ac_configure_args --enable-ltdl-install"
411
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
412
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
414
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
421
AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl
422
AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl
423
AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl
424
AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl
425
AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl
426
AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl
427
AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl
429
dnl This is just to silence aclocal about the macro not being used
430
ifelse([AC_DISABLE_FAST_INSTALL])dnl