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 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 40 AC_PROG_LIBTOOL 25AC_DEFUN([AC_PROG_LIBTOOL], 26[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl 27 28# Save cache, so that ltconfig can load it 29AC_CACHE_SAVE 30 31# Actually configure libtool. ac_aux_dir is where install-sh is found. 32CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ 33LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ 34LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ 35DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ 36${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ 37$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \ 38|| AC_MSG_ERROR([libtool configure failed]) 39 40# Reload cache, that may have been modified by ltconfig 41AC_CACHE_LOAD 42 43# This can be used to rebuild libtool when needed 44LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" 45 46# Always use our own libtool. 47LIBTOOL='$(SHELL) $(top_builddir)/libtool' 48AC_SUBST(LIBTOOL)dnl 49 50# Redirect the config.log output again, so that the ltconfig log is not 51# clobbered by the next message. 52exec 5>>./config.log 53]) 54 55AC_DEFUN([AC_LIBTOOL_SETUP], 56[AC_PREREQ(2.13)dnl 57AC_REQUIRE([AC_ENABLE_SHARED])dnl 58AC_REQUIRE([AC_ENABLE_STATIC])dnl 59AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl 60AC_REQUIRE([AC_CANONICAL_HOST])dnl 61AC_REQUIRE([AC_CANONICAL_BUILD])dnl 62AC_REQUIRE([AC_PROG_RANLIB])dnl 63AC_REQUIRE([AC_PROG_CC])dnl 64AC_REQUIRE([AC_PROG_LD])dnl 65AC_REQUIRE([AC_PROG_NM])dnl 66AC_REQUIRE([AC_PROG_LN_S])dnl 67dnl 68 69case "$target" in 70NONE) lt_target="$host" ;; 71*) lt_target="$target" ;; 72esac 73 74# Check for any special flags to pass to ltconfig. 75libtool_flags="--cache-file=$cache_file" 76test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" 77test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" 78test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" 79test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" 80test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" 81ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], 82[libtool_flags="$libtool_flags --enable-dlopen"]) 83ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 84[libtool_flags="$libtool_flags --enable-win32-dll"]) 85AC_ARG_ENABLE(libtool-lock, 86 [ --disable-libtool-lock avoid locking (might break parallel builds)]) 87test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" 88test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" 89 90# Some flags need to be propagated to the compiler or linker for good 91# libtool support. 92case "$lt_target" in 93*-*-irix6*) 94 # Find out which ABI we are using. 95 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 96 if AC_TRY_EVAL(ac_compile); then 97 case "`/usr/bin/file conftest.o`" in 98 *32-bit*) 99 LD="${LD-ld} -32" 100 ;; 101 *N32*) 102 LD="${LD-ld} -n32" 103 ;; 104 *64-bit*) 105 LD="${LD-ld} -64" 106 ;; 107 esac 108 fi 109 rm -rf conftest* 110 ;; 111 112*-*-sco3.2v5*) 113 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 114 SAVE_CFLAGS="$CFLAGS" 115 CFLAGS="$CFLAGS -belf" 116 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 117 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) 118 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 119 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 120 CFLAGS="$SAVE_CFLAGS" 121 fi 122 ;; 123 124ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], 125[*-*-cygwin* | *-*-mingw*) 126 AC_CHECK_TOOL(DLLTOOL, dlltool, false) 127 AC_CHECK_TOOL(AS, as, false) 128 AC_CHECK_TOOL(OBJDUMP, objdump, false) 129 ;; 130]) 131esac 132]) 133 134# AC_LIBTOOL_DLOPEN - enable checks for dlopen support 135AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) 136 137# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's 138AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) 139 140# AC_ENABLE_SHARED - implement the --enable-shared flag 141# Usage: AC_ENABLE_SHARED[(DEFAULT)] 142# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 143# `yes'. 144AC_DEFUN([AC_ENABLE_SHARED], [dnl 145define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl 146AC_ARG_ENABLE(shared, 147changequote(<<, >>)dnl 148<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], 149changequote([, ])dnl 150[p=${PACKAGE-default} 151case "$enableval" in 152yes) enable_shared=yes ;; 153no) enable_shared=no ;; 154*) 155 enable_shared=no 156 # Look at the argument we got. We use all the common list separators. 157 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 158 for pkg in $enableval; do 159 if test "X$pkg" = "X$p"; then 160 enable_shared=yes 161 fi 162 done 163 IFS="$ac_save_ifs" 164 ;; 165esac], 166enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl 167]) 168 169# AC_DISABLE_SHARED - set the default shared flag to --disable-shared 170AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 171AC_ENABLE_SHARED(no)]) 172 173# AC_ENABLE_STATIC - implement the --enable-static flag 174# Usage: AC_ENABLE_STATIC[(DEFAULT)] 175# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 176# `yes'. 177AC_DEFUN([AC_ENABLE_STATIC], [dnl 178define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl 179AC_ARG_ENABLE(static, 180changequote(<<, >>)dnl 181<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], 182changequote([, ])dnl 183[p=${PACKAGE-default} 184case "$enableval" in 185yes) enable_static=yes ;; 186no) enable_static=no ;; 187*) 188 enable_static=no 189 # Look at the argument we got. We use all the common list separators. 190 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 191 for pkg in $enableval; do 192 if test "X$pkg" = "X$p"; then 193 enable_static=yes 194 fi 195 done 196 IFS="$ac_save_ifs" 197 ;; 198esac], 199enable_static=AC_ENABLE_STATIC_DEFAULT)dnl 200]) 201 202# AC_DISABLE_STATIC - set the default static flag to --disable-static 203AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 204AC_ENABLE_STATIC(no)]) 205 206 207# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag 208# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] 209# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to 210# `yes'. 211AC_DEFUN([AC_ENABLE_FAST_INSTALL], [dnl 212define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl 213AC_ARG_ENABLE(fast-install, 214changequote(<<, >>)dnl 215<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], 216changequote([, ])dnl 217[p=${PACKAGE-default} 218case "$enableval" in 219yes) enable_fast_install=yes ;; 220no) enable_fast_install=no ;; 221*) 222 enable_fast_install=no 223 # Look at the argument we got. We use all the common list separators. 224 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," 225 for pkg in $enableval; do 226 if test "X$pkg" = "X$p"; then 227 enable_fast_install=yes 228 fi 229 done 230 IFS="$ac_save_ifs" 231 ;; 232esac], 233enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl 234]) 235 236# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install 237AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl 238AC_ENABLE_FAST_INSTALL(no)]) 239 240# AC_PROG_LD - find the path to the GNU or non-GNU linker 241AC_DEFUN([AC_PROG_LD], 242[AC_ARG_WITH(gnu-ld, 243[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], 244test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) 245AC_REQUIRE([AC_PROG_CC])dnl 246AC_REQUIRE([AC_CANONICAL_HOST])dnl 247AC_REQUIRE([AC_CANONICAL_BUILD])dnl 248ac_prog=ld 249if test "$ac_cv_prog_gcc" = yes; then 250 # Check if gcc -print-prog-name=ld gives a path. 251 AC_MSG_CHECKING([for ld used by GCC]) 252 ac_prog=`($CC -print-prog-name=ld) 2>&5` 253 case "$ac_prog" in 254 # Accept absolute paths. 255changequote(,)dnl 256 [\\/]* | [A-Za-z]:[\\/]*) 257 re_direlt='/[^/][^/]*/\.\./' 258changequote([,])dnl 259 # Canonicalize the path of ld 260 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` 261 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do 262 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` 263 done 264 test -z "$LD" && LD="$ac_prog" 265 ;; 266 "") 267 # If it fails, then pretend we aren't using GCC. 268 ac_prog=ld 269 ;; 270 *) 271 # If it is relative, then search for the first ld in PATH. 272 with_gnu_ld=unknown 273 ;; 274 esac 275elif test "$with_gnu_ld" = yes; then 276 AC_MSG_CHECKING([for GNU ld]) 277else 278 AC_MSG_CHECKING([for non-GNU ld]) 279fi 280AC_CACHE_VAL(ac_cv_path_LD, 281[if test -z "$LD"; then 282 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 283 for ac_dir in $PATH; do 284 test -z "$ac_dir" && ac_dir=. 285 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 286 ac_cv_path_LD="$ac_dir/$ac_prog" 287 # Check to see if the program is GNU ld. I'd rather use --version, 288 # but apparently some GNU ld's only accept -v. 289 # Break only if it was the GNU/non-GNU ld that we prefer. 290 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then 291 test "$with_gnu_ld" != no && break 292 else 293 test "$with_gnu_ld" != yes && break 294 fi 295 fi 296 done 297 IFS="$ac_save_ifs" 298else 299 ac_cv_path_LD="$LD" # Let the user override the test with a path. 300fi]) 301LD="$ac_cv_path_LD" 302if test -n "$LD"; then 303 AC_MSG_RESULT($LD) 304else 305 AC_MSG_RESULT(no) 306fi 307test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 308AC_PROG_LD_GNU 309]) 310 311AC_DEFUN([AC_PROG_LD_GNU], 312[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, 313[# I'd rather use --version here, but apparently some GNU ld's only accept -v. 314if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then 315 ac_cv_prog_gnu_ld=yes 316else 317 ac_cv_prog_gnu_ld=no 318fi]) 319]) 320 321# AC_PROG_NM - find the path to a BSD-compatible name lister 322AC_DEFUN([AC_PROG_NM], 323[AC_MSG_CHECKING([for BSD-compatible nm]) 324AC_CACHE_VAL(ac_cv_path_NM, 325[if test -n "$NM"; then 326 # Let the user override the test. 327 ac_cv_path_NM="$NM" 328else 329 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" 330 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do 331 test -z "$ac_dir" && ac_dir=. 332 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then 333 # Check to see if the nm accepts a BSD-compat flag. 334 # Adding the `sed 1q' prevents false positives on HP-UX, which says: 335 # nm: unknown option "B" ignored 336 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 337 ac_cv_path_NM="$ac_dir/nm -B" 338 break 339 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 340 ac_cv_path_NM="$ac_dir/nm -p" 341 break 342 else 343 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but 344 continue # so that we can try to find one that supports BSD flags 345 fi 346 fi 347 done 348 IFS="$ac_save_ifs" 349 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm 350fi]) 351NM="$ac_cv_path_NM" 352AC_MSG_RESULT([$NM]) 353]) 354 355# AC_CHECK_LIBM - check for math library 356AC_DEFUN([AC_CHECK_LIBM], 357[AC_REQUIRE([AC_CANONICAL_HOST])dnl 358LIBM= 359case "$lt_target" in 360*-*-beos* | *-*-cygwin*) 361 # These system don't have libm 362 ;; 363*-ncr-sysv4.3*) 364 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 365 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") 366 ;; 367*) 368 AC_CHECK_LIB(m, main, LIBM="-lm") 369 ;; 370esac 371]) 372 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. 381AC_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" ;; 386 esac 387 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la 388 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) 389]) 390 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. 400AC_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]) 405 else 406 enable_ltdl_install=yes 407 fi 408 ]) 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']) 413 else 414 ac_configure_args="$ac_configure_args --enable-ltdl-install=no" 415 LIBLTDL="-lltdl" 416 INCLTDL= 417 fi 418]) 419 420dnl old names 421AC_DEFUN([AM_PROG_LIBTOOL], [indir([AC_PROG_LIBTOOL])])dnl 422AC_DEFUN([AM_ENABLE_SHARED], [indir([AC_ENABLE_SHARED], $@)])dnl 423AC_DEFUN([AM_ENABLE_STATIC], [indir([AC_ENABLE_STATIC], $@)])dnl 424AC_DEFUN([AM_DISABLE_SHARED], [indir([AC_DISABLE_SHARED], $@)])dnl 425AC_DEFUN([AM_DISABLE_STATIC], [indir([AC_DISABLE_STATIC], $@)])dnl 426AC_DEFUN([AM_PROG_LD], [indir([AC_PROG_LD])])dnl 427AC_DEFUN([AM_PROG_NM], [indir([AC_PROG_NM])])dnl 428 429dnl This is just to silence aclocal about the macro not being used 430ifelse([AC_DISABLE_FAST_INSTALL])dnl 431