13aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 23aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 33aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 43aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 2006, 2007, 2008 Free Software Foundation, Inc. 53aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Written by Gordon Matzigkeit, 1996 63aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 73aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This file is free software; the Free Software Foundation gives 83aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# unlimited permission to copy and/or distribute it, with or without 93aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# modifications, as long as this notice is preserved. 103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_COPYING], [dnl 123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 2006, 2007, 2008 Free Software Foundation, Inc. 143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Written by Gordon Matzigkeit, 1996 153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This file is part of GNU Libtool. 173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU Libtool is free software; you can redistribute it and/or 193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# modify it under the terms of the GNU General Public License as 203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# published by the Free Software Foundation; either version 2 of 213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the License, or (at your option) any later version. 223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# As a special exception to the GNU General Public License, 243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if you distribute this file as part of a program or library that 253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# is built using GNU Libtool, you may include this file under the 263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# same distribution terms that you use for the rest of that program. 273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU Libtool is distributed in the hope that it will be useful, 293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# but WITHOUT ANY WARRANTY; without even the implied warranty of 303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU General Public License for more details. 323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# You should have received a copy of the GNU General Public License 343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# along with GNU Libtool; see the file COPYING. If not, a copy 353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# can be downloaded from http://www.gnu.org/licenses/gpl.html, or 363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# obtained by writing to the Free Software Foundation, Inc., 373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# serial 56 LT_INIT 413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PREREQ(VERSION) 443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------ 453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Complain and exit if this libtool version is less that VERSION. 463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([LT_PREREQ], 473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_default([$3], 493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_fatal([Libtool version $1 or higher is required], 503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63)])], 513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$2])]) 523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_BUILDDIR 553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------ 563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Complain if the absolute build directory name contains unusual characters 573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_BUILDDIR], 583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case `pwd` in 593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ * | *\ *) 603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_INIT([OPTIONS]) 663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------ 673aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_INIT], 683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT 693aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LT_LANG])dnl 703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LT_OUTPUT])dnl 713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LTDL_INIT])dnl 723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_BUILDDIR])dnl 733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Autoconf doesn't catch unexpanded LT_ macros by default: 753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl unless we require an AC_DEFUNed macro: 793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTOPTIONS_VERSION])dnl 803aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTSUGAR_VERSION])dnl 813aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTVERSION_VERSION])dnl 823aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTOBSOLETE_VERSION])dnl 833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_PROG_LTMAIN])dnl 843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Parse OPTIONS 863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_SET_OPTIONS([$0], [$1]) 873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This can be used to rebuild libtool when needed 893aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBTOOL_DEPS="$ltmain" 903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Always use our own libtool. 923aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBTOOL='$(SHELL) $(top_builddir)/libtool' 933aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST(LIBTOOL)dnl 943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_SETUP 963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Only expand once: 983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([LT_INIT]) 993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_INIT 1003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names: 1023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 1033aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 1043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 1053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 1063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 1073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CC_BASENAME(CC) 1103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------- 1113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 1123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CC_BASENAME], 1133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[for cc_temp in $1""; do 1143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_temp in 1153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 1163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 1173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev \-*) ;; 1183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) break;; 1193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 1203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 1213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 1223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 1233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_FILEUTILS_DEFAULTS 1263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------- 1273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# It is okay to use these file commands and assume they have been set 1283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. 1293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_FILEUTILS_DEFAULTS], 1303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[: ${CP="cp -f"} 1313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev: ${MV="mv -f"} 1323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev: ${RM="rm -f"} 1333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_FILEUTILS_DEFAULTS 1343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SETUP 1373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------- 1383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SETUP], 1393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1403aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_BUILD])dnl 1413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host_alias], [0], [The host system])dnl 1423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host], [0])dnl 1433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host_os], [0])dnl 1443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl 1453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build_alias], [0], [The build system])dnl 1463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build], [0])dnl 1473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build_os], [0])dnl 1483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl 1493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_CC])dnl 1503aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_LD])dnl 1513aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl 1523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl 1533aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_LN_S])dnl 1543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LN_S" && LN_S="ln -s" 1553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 1563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl 1573aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_CMD_MAX_LEN])dnl 1583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 1593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 1603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl 1613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 1623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_SHELL_FEATURES])dnl 1633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_RELOAD])dnl 1643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_MAGIC_METHOD])dnl 1653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_OLD_ARCHIVE])dnl 1663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 1673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([ 1693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# See if we are running on zsh, and set the options which allow our 1703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# commands through without removal of \ escapes INIT. 1713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "\${ZSH_VERSION+set}" ; then 1723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev setopt NO_GLOB_SUBST 1733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 1743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 1753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "${ZSH_VERSION+set}" ; then 1763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev setopt NO_GLOB_SUBST 1773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 1783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CHECK_OBJDIR 1803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl 1823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_PROG_ECHO_BACKSLASH 1833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 1853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix3*) 1863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX sometimes has problems with the GCC collect2 program. For some 1873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # reason, if we set the COLLECT_NAMES environment variable, the problems 1883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # vanish in a puff of smoke. 1893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X${COLLECT_NAMES+set}" != Xset; then 1903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev COLLECT_NAMES= 1913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export COLLECT_NAMES 1923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 1933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 1943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 1953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 1963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution that helps us do robust quoting. It backslashifies 1973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# metacharacters that are still active within double-quoted strings. 1983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 1993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Same as above, but do not quote variable references. 2013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 2023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to delay expansion of an escaped shell variable in a 2043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# double_quote_subst'ed string. 2053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 2063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to delay expansion of an escaped single quote. 2083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 2093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to avoid accidental globbing in evaled expressions 2113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevno_glob_subst='s/\*/\\\*/g' 2123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Global variables: 2143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevofile=libtool 2153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcan_build_shared=yes 2163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# All known linkers require a `.a' archive for static linking (except MSVC, 2183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# which needs '.lib'). 2193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibext=a 2203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwith_gnu_ld="$lt_cv_prog_gnu_ld" 2223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_CC="$CC" 2243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_CFLAGS="$CFLAGS" 2253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Set sane defaults for various variables 2273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$CC" && CC=cc 2283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LTCC" && LTCC=$CC 2293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 2303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LD" && LD=ld 2313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$ac_objext" && ac_objext=o 2323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler]) 2343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Only perform the check for file, if the check method requires it 2363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$MAGIC_CMD" && MAGIC_CMD=file 2373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $deplibs_check_method in 2383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfile_magic*) 2393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$file_magic_cmd" = '$MAGIC_CMD'; then 2403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_PATH_MAGIC 2413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 2423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 2433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 2443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Use C for the default configuration in the libtool script 2463aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLT_SUPPORTED_TAG([CC]) 2473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LANG_C_CONFIG 2483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LANG_DEFAULT_CONFIG 2493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_COMMANDS 2503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SETUP 2513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_LTMAIN 2543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------- 2553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Note that this code is called both from `configure', and `config.status' 2563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 2573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `config.status' has no value for ac_aux_dir unless we are using Automake, 2583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# so we pass a copy along to make sure it has a sensible value anyway. 2593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_LTMAIN], 2603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 2613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 2623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevltmain="$ac_aux_dir/ltmain.sh" 2633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_LTMAIN 2643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------------------- ## 2673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## Accumulate code for creating libtool. ## 2683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------------------- ## 2693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# So that we can recreate a full libtool script including additional 2713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 2723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# in macros and then make a single call at the end using the `libtool' 2733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# label. 2743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 2773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------- 2783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 2793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_LIBTOOL_INIT], 2803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1], 2813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 2823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$1 2833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])])]) 2843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize. 2863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 2873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_LIBTOOL([COMMANDS]) 2903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------ 2913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 2923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_LIBTOOL], 2933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1], 2943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 2953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$1 2963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])])]) 2973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 2983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize. 2993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 3003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 3033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------------------------- 3043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_SAVE_COMMANDS], 3053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_CONFIG_LIBTOOL([$1]) 3063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([$2]) 3073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 3083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_FORMAT_COMMENT([COMMENT]) 3113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------- 3123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add leading comment marks to the start of each line, and a trailing 3133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# full-stop to the whole comment if one is not present already. 3143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_FORMAT_COMMENT], 3153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1], [ 3163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 3173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 3183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev)]) 3193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------ ## 3233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## FIXME: Eliminate VARNAME ## 3243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------ ## 3253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 3283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------------------------------------- 3293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# CONFIGNAME is the name given to the value in the libtool script. 3303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VARNAME is the (base) name used in the configure script. 3313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 3323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VARNAME. Any other value will be used directly. 3333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_DECL], 3343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 3353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 3363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_ifval([$1], [$1], [$2])]) 3373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 3383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_ifval([$4], 3393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 3403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_dict_add_subkey([lt_decl_dict], [$2], 3413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [tagged?], [m4_ifval([$5], [yes], [no])])]) 3423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 3433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 3463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------------------------------------- 3473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 3483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 3513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------------------ 3523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_tag_varnames], 3533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([tagged?], [yes], $@)]) 3543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 3573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------------------------- 3583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_filter], 3593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_case([$#], 3603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [0], [m4_fatal([$0: too few arguments: $#])], 3613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [1], [m4_fatal([$0: too few arguments: $#: $1])], 3623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 3633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 3643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_dict_filter([lt_decl_dict], $@)])[]dnl 3653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 3663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 3693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------------------------------- 3703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_quote_varnames], 3713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([value], [1], $@)]) 3723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 3753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------------------- 3763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_dquote_varnames], 3773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([value], [2], $@)]) 3783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 3813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------------------- 3823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_varnames_tagged], 3833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_assert([$# <= 2])dnl 3843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_$0(m4_quote(m4_default([$1], [[, ]])), 3853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 3863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 3873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_varnames_tagged], 3883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 3893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 3913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 3923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------------------ 3933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_all_varnames], 3943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_$0(m4_quote(m4_default([$1], [[, ]])), 3953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$2], [], 3963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_quote(lt_decl_varnames), 3973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_quote(m4_shift($@))))[]dnl 3983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 3993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_all_varnames], 4003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_join($@, lt_decl_varnames_tagged([$1], 4013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 4023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 4033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 4063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------ 4073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Quote a variable value, and forward it to `config.status' so that its 4083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# declaration there will have the same value as in `configure'. VARNAME 4093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# must have a single quote delimited value for this to work. 4103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_STATUS_DECLARE], 4113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) 4123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_STATUS_DECLARATIONS 4153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------ 4163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# We delimit libtool config variables with single quotes, so when 4173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# we write them to config.status, we have to be sure to quote all 4183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# embedded single quotes properly. In configure, this macro expands 4193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 4203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 4213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' 4223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 4233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 4243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 4253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_TAGS 4283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------- 4293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Output comment and list of tags supported by the script 4303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LIBTOOL_TAGS], 4313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 4323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevavailable_tags="_LT_TAGS"dnl 4333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 4343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 4373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------- 4383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Extract the dictionary values for VARNAME (optionally with TAG) and 4393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# expand to a commented shell variable setting: 4403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 4413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# # Some comment about what VAR is for. 4423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# visible_name=$lt_internal_name 4433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LIBTOOL_DECLARE], 4443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 4453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [description])))[]dnl 4463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pushdef([_libtool_name], 4473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 4483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 4493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [0], [_libtool_name=[$]$1], 4503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [1], [_libtool_name=$lt_[]$1], 4513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [2], [_libtool_name=$lt_[]$1], 4523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 4533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 4543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 4553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_CONFIG_VARS 4583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------- 4593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Produce commented declarations of non-tagged libtool config variables 4603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' 4613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 4623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# section) are produced by _LT_LIBTOOL_TAG_VARS. 4633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LIBTOOL_CONFIG_VARS], 4643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var], 4653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 4663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 4673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_TAG_VARS(TAG) 4703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------- 4713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LIBTOOL_TAG_VARS], 4723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 4733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 4743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAGVAR(VARNAME, [TAGNAME]) 4773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------ 4783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 4793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 4813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_COMMANDS 4823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------- 4833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 4843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# variables for single and double quote escaping we saved from calls 4853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to _LT_DECL, we can put quote escaped variables declarations 4863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# into `config.status', and then the shell code to quote escape them in 4873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# for loops in `config.status'. Finally, any additional code accumulated 4883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 4893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_COMMANDS], 4903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROVIDE_IFELSE([LT_OUTPUT], 4913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl If the libtool generation code has been placed in $CONFIG_LT, 4923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl instead of duplicating it all over again into config.status, 4933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl then we will have config.status run $CONFIG_LT later, so it 4943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl needs to know what name is stored there: 4953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CONFIG_COMMANDS([libtool], 4963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 4973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl If the libtool generation code is destined for config.status, 4983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dnl expand the accumulated commands and init code now: 4993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CONFIG_COMMANDS([libtool], 5003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 5013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#_LT_CONFIG_COMMANDS 5023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize. 5053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 5063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 5073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# The HP-UX ksh and POSIX shell print the target directory to stdout 5093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if CDPATH is set. 5103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 5113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsed_quote_subst='$sed_quote_subst' 5133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdouble_quote_subst='$double_quote_subst' 5143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_variable_subst='$delay_variable_subst' 5153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_STATUS_DECLARATIONS 5163aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCC='$LTCC' 5173aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCFLAGS='$LTCFLAGS' 5183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler='$compiler_DEFAULT' 5193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Quote evaled strings. 5213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor var in lt_decl_all_varnames([[ \ 5223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]], lt_decl_quote_varnames); do 5233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 5243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *[[\\\\\\\`\\"\\\$]]*) 5253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" 5263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 5273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 5283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 5293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 5303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 5313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 5323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Double-quote double-evaled strings. 5343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor var in lt_decl_all_varnames([[ \ 5353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]], lt_decl_dquote_varnames); do 5363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 5373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *[[\\\\\\\`\\"\\\$]]*) 5383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" 5393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 5403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 5413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 5423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 5433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 5443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 5453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Fix-up fallback echo if it was mangled by the above quoting rules. 5473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase \$lt_ECHO in 5483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*'\\\[$]0 --fallback-echo"')dnl " 5493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` 5503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 5513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 5523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_INIT 5543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 5553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_OUTPUT 5583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------- 5593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This macro allows early generation of the libtool script (before 5603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# AC_OUTPUT is called), incase it is used in configure for compilation 5613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tests. 5623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_OUTPUT], 5633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[: ${CONFIG_LT=./config.lt} 5643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_NOTICE([creating $CONFIG_LT]) 5653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >"$CONFIG_LT" <<_LTEOF 5663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#! $SHELL 5673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Generated by $as_me. 5683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Run this file to recreate a libtool stub with the current configuration. 5693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_silent=false 5713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSHELL=\${CONFIG_SHELL-$SHELL} 5723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF 5733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<\_LTEOF 5753aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAS_SHELL_SANITIZE 5763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_AS_PREPARE 5773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevexec AS_MESSAGE_FD>&1 5793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevexec AS_MESSAGE_LOG_FD>>config.log 5803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 5813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo 5823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AS_BOX([Running $as_me.]) 5833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} >&AS_MESSAGE_LOG_FD 5843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_help="\ 5863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev\`$as_me' creates a local libtool stub from the current configuration, 5873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor use in further configure time tests before the real libtool is 5883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgenerated. 5893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5903aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUsage: $[0] [[OPTIONS]] 5913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -h, --help print this help, then exit 5933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -V, --version print version number, then exit 5943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -q, --quiet do not print progress messages 5953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -d, --debug don't remove temporary files 5963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5973aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevReport bugs to <bug-libtool@gnu.org>." 5983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 5993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_version="\ 6003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 6013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 6023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevconfigured by $[0], generated by m4_PACKAGE_STRING. 6033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6043aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCopyright (C) 2008 Free Software Foundation, Inc. 6053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevThis config.lt script is free software; the Free Software Foundation 6063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgives unlimited permision to copy, distribute and modify it." 6073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwhile test $[#] != 0 6093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdo 6103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $[1] in 6113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev --version | --v* | -V ) 6123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_cl_version"; exit 0 ;; 6133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev --help | --h* | -h ) 6143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_cl_help"; exit 0 ;; 6153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev --debug | --d* | -d ) 6163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev debug=: ;; 6173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev --quiet | --q* | --silent | --s* | -q ) 6183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cl_silent=: ;; 6193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -*) AC_MSG_ERROR([unrecognized option: $[1] 6213aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevTry \`$[0] --help' for more information.]) ;; 6223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) AC_MSG_ERROR([unrecognized argument: $[1] 6243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevTry \`$[0] --help' for more information.]) ;; 6253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 6263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shift 6273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 6283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif $lt_cl_silent; then 6303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec AS_MESSAGE_FD>/dev/null 6313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 6323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF 6333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<_LTEOF 6353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 6363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF 6373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<\_LTEOF 6393aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_NOTICE([creating $ofile]) 6403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_COMMANDS 6413aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAS_EXIT(0) 6423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF 6433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevchmod +x "$CONFIG_LT" 6443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# configure is writing to config.log, but config.lt does its own redirection, 6463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# appending to config.log, which fails on DOS, as config.log is still kept 6473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# open by configure. Here we exec the FD to /dev/null, effectively closing 6483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# config.log, so it can be properly (re)opened and appended to by config.lt. 6493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$no_create" != yes; then 6503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cl_success=: 6513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$silent" = yes && 6523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_config_lt_args="$lt_config_lt_args --quiet" 6533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec AS_MESSAGE_LOG_FD>/dev/null 6543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 6553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec AS_MESSAGE_LOG_FD>>config.log 6563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $lt_cl_success || AS_EXIT(1) 6573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 6583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_OUTPUT 6593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG(TAG) 6623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------- 6633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If TAG is the built-in tag, create an initial libtool script with a 6643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# default configuration from the untagged config vars. Otherwise add code 6653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to config.status for appending the configuration named by TAG from the 6663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# matching tagged config vars. 6673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG], 6683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_SAVE_COMMANDS([ 6703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 6713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if(_LT_TAG, [C], [ 6723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # See if we are running on zsh, and set the options which allow our 6733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # commands through without removal of \ escapes. 6743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "${ZSH_VERSION+set}" ; then 6753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev setopt NO_GLOB_SUBST 6763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 6773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cfgfile="${ofile}T" 6793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev trap "$RM \"$cfgfile\"; exit 1" 1 2 15 6803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM "$cfgfile" 6813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF >> "$cfgfile" 6833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#! $SHELL 6843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 6863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION 6873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 6883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# NOTE: Changes made to this file will be lost: look at ltmain.sh. 6893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 6903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COPYING 6913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAGS 6923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### BEGIN LIBTOOL CONFIG 6943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_CONFIG_VARS 6953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAG_VARS 6963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### END LIBTOOL CONFIG 6973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 6983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 6993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 7013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 7023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<\_LT_EOF >> "$cfgfile" 7033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# AIX sometimes has problems with the GCC collect2 program. For some 7043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# reason, if we set the COLLECT_NAMES environment variable, the problems 7053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# vanish in a puff of smoke. 7063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X${COLLECT_NAMES+set}" != Xset; then 7073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev COLLECT_NAMES= 7083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export COLLECT_NAMES 7093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 7103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 7113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 7123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 7133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_PROG_LTMAIN 7153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We use sed instead of cat because bash on DJGPP gets confused if 7173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # if finds mixed CR/LF and LF-only lines. Since sed operates in 7183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # text mode, it properly converts lines to CR/LF. This bash problem 7193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # is reportedly fixed, but why not run on old versions too? 7203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ 7213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev || (rm -f "$cfgfile"; exit 1) 7223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_PROG_XSI_SHELLFNS 7243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ 7263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev || (rm -f "$cfgfile"; exit 1) 7273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mv -f "$cfgfile" "$ofile" || 7293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 7303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev chmod +x "$ofile" 7313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], 7323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[cat <<_LT_EOF >> "$ofile" 7333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 7353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl in a comment (ie after a #). 7363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### BEGIN LIBTOOL TAG CONFIG: $1 7373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAG_VARS(_LT_TAG) 7383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### END LIBTOOL TAG CONFIG: $1 7393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 7403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])dnl /m4_if 7413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], 7423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_if([$1], [], [ 7433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev PACKAGE='$PACKAGE' 7443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev VERSION='$VERSION' 7453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev TIMESTAMP='$TIMESTAMP' 7463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev RM='$RM' 7473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ofile='$ofile'], []) 7483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])dnl /_LT_CONFIG_SAVE_COMMANDS 7493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CONFIG 7503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_SUPPORTED_TAG(TAG) 7533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------- 7543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Trace this macro to discover what tags are supported by the libtool 7553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --tag option, using: 7563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# autoconf --trace 'LT_SUPPORTED_TAG:$1' 7573aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_SUPPORTED_TAG], []) 7583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# C support is built-in for now 7613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LANG_C_enabled], []) 7623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGS], []) 7633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_LANG(LANG) 7663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------- 7673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Enable libtool support for the given language if not already enabled. 7683aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_LANG], 7693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_BEFORE([$0], [LT_OUTPUT])dnl 7703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_case([$1], 7713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [C], [_LT_LANG(C)], 7723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [C++], [_LT_LANG(CXX)], 7733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Java], [_LT_LANG(GCJ)], 7743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Fortran 77], [_LT_LANG(F77)], 7753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Fortran], [_LT_LANG(FC)], 7763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Windows Resource], [_LT_LANG(RC)], 7773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_ifdef([_LT_LANG_]$1[_CONFIG], 7783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_LANG($1)], 7793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_fatal([$0: unsupported language: "$1"])])])dnl 7803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_LANG 7813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG(LANGNAME) 7843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------ 7853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG], 7863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([_LT_LANG_]$1[_enabled], [], 7873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_SUPPORTED_TAG([$1])dnl 7883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_append([_LT_TAGS], [$1 ])dnl 7893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_define([_LT_LANG_]$1[_enabled], [])dnl 7903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LANG_$1_CONFIG($1)])dnl 7913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG 7923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 7943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_DEFAULT_CONFIG 7953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------- 7963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_DEFAULT_CONFIG], 7973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROVIDE_IFELSE([AC_PROG_CXX], 7983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(CXX)], 7993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 8003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8013aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_F77], 8023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(F77)], 8033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 8043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_FC], 8063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(FC)], 8073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 8083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 8103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl pulling things in needlessly. 8113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_GCJ], 8123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(GCJ)], 8133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 8143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(GCJ)], 8153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 8163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(GCJ)], 8173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_ifdef([AC_PROG_GCJ], 8183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 8193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_ifdef([A][M_PROG_GCJ], 8203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 8213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_ifdef([LT_PROG_GCJ], 8223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 8233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([LT_PROG_RC], 8253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [LT_LANG(RC)], 8263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 8273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_DEFAULT_CONFIG 8283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Obsolete macros: 8303aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 8313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 8323aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 8333aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 8343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 8353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 8363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_F77], []) 8373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_FC], []) 8383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 8393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAG_COMPILER 8423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------- 8433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_TAG_COMPILER], 8443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl 8453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 8473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 8483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 8493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 8503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If no C compiler was specified, use CC. 8523aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCC=${LTCC-"$CC"} 8533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If no C compiler flags were specified, use CFLAGS. 8553aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 8563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments. 8583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC 8593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_TAG_COMPILER 8603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_BOILERPLATE 8633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------ 8643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for compiler boilerplate output or warnings with 8653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the simple compiler test code. 8663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_BOILERPLATE], 8673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl 8683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_outfile=conftest.$ac_objext 8693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevecho "$lt_simple_compile_test_code" >conftest.$ac_ext 8703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulisheveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 8713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_lt_compiler_boilerplate=`cat conftest.err` 8723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM conftest* 8733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_BOILERPLATE 8743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_BOILERPLATE 8773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------- 8783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for linker boilerplate output or warnings with 8793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the simple link test code. 8803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_BOILERPLATE], 8813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl 8823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_outfile=conftest.$ac_objext 8833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevecho "$lt_simple_link_test_code" >conftest.$ac_ext 8843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulisheveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 8853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_lt_linker_boilerplate=`cat conftest.err` 8863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM -r conftest* 8873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_BOILERPLATE 8883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 8893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_REQUIRED_DARWIN_CHECKS 8903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------- 8913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 8923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 8933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rhapsody* | darwin*) 8943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 8953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 8963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOL([LIPO], [lipo], [:]) 8973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOL([OTOOL], [otool], [:]) 8983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 8993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DECL([], [DSYMUTIL], [1], 9003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 9013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DECL([], [NMEDIT], [1], 9023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Tool to change global to local symbols on Mac OS X]) 9033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DECL([], [LIPO], [1], 9043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Tool to manipulate fat objects and archives on Mac OS X]) 9053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DECL([], [OTOOL], [1], 9063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 9073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DECL([], [OTOOL64], [1], 9083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 9093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 9103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 9113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_apple_cc_single_mod=no 9123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "${LT_MULTI_MODULE}"; then 9133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # By default we will add the -single_module flag. You can override 9143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # by either setting the environment variable LT_MULTI_MODULE 9153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # non-empty at configure time, or by adding -multi_module to the 9163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # link flags. 9173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf libconftest.dylib* 9183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "int foo(void){return 1;}" > conftest.c 9193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 9203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 9213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 9223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 9233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_result=$? 9243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then 9253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_apple_cc_single_mod=yes 9263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 9273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err >&AS_MESSAGE_LOG_FD 9283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 9293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf libconftest.dylib* 9303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -f conftest.* 9313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi]) 9323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CACHE_CHECK([for -exported_symbols_list linker flag], 9333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_ld_exported_symbols_list], 9343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_ld_exported_symbols_list=no 9353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LDFLAGS=$LDFLAGS 9363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "_main" > conftest.sym 9373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 9383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 9393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_ld_exported_symbols_list=yes], 9403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_ld_exported_symbols_list=no]) 9413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$save_LDFLAGS" 9423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 9433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 9443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rhapsody* | darwin1.[[012]]) 9453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 9463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin1.*) 9473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 9483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin*) # darwin 5.x on 9493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # if running on 10.5 or later, the deployment target defaults 9503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to the OS version, if on x86, and 10.4, the deployment 9513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # target defaults to 10.4. Don't you love it? 9523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 9533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 9543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 9553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10.[[012]]*) 9563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 9573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10.*) 9583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 9593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 9603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 9613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 9623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$lt_cv_apple_cc_single_mod" = "yes"; then 9633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_single_mod='$single_module' 9643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 9653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$lt_cv_ld_exported_symbols_list" = "yes"; then 9663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' 9673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 9683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 9693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 9703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$DSYMUTIL" != ":"; then 9713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dsymutil='~$DSYMUTIL $lib || :' 9723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 9733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_dsymutil= 9743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 9753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 9763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 9773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 9783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 9793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 9803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DARWIN_LINKER_FEATURES 9813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------- 9823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Checks for linker and compiler features on darwin 9833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DARWIN_LINKER_FEATURES], 9843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 9853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 9863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 9873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 9883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_automatic, $1)=yes 9893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 9903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='' 9913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 9923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 9933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 9943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ifort*) _lt_dar_can_shared=yes ;; 9953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) _lt_dar_can_shared=$GCC ;; 9963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 9973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$_lt_dar_can_shared" = "yes"; then 9983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd=echo 9993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" 10003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 10013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" 10023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" 10033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$1], [CXX], 10043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then 10053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" 10063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" 10073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 10083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev],[]) 10093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 10103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 10113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 10123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 10133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_MODULE_PATH_AIX 10153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------- 10163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Links a minimal program and checks the executable 10173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# for the system default hardcoded library path. In most cases, 10183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# this is /usr/lib:/lib, but when the MPI compilers are used 10193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the location of the communication and MPI libs are included too. 10203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't find anything, use the default library path according 10213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to the aix ld manual. 10223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_MODULE_PATH_AIX], 10233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl 10243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LINK_IFELSE(AC_LANG_PROGRAM,[ 10253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_aix_libpath_sed=' 10263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev /Import File Strings/,/^$/ { 10273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev /^0/ { 10283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev s/^0 *\(.*\)$/\1/ 10293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev p 10303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 10313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev }' 10323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 10333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for a 64-bit object if we didn't find anything. 10343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$aix_libpath"; then 10353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 10363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi],[]) 10373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 10383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_MODULE_PATH_AIX 10393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SHELL_INIT(ARG) 10423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------- 10433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_SHELL_INIT], 10443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ifdef([AC_DIVERSION_NOTICE], 10453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 10463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_DIVERT_PUSH(NOTICE)]) 10473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$1 10483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DIVERT_POP 10493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SHELL_INIT 10503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_ECHO_BACKSLASH 10533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------- 10543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add some code to the start of the generated configure script which 10553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# will find an echo command which doesn't interpret backslashes. 10563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_ECHO_BACKSLASH], 10573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_SHELL_INIT([ 10583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check that we are running under the correct shell. 10593aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSHELL=${CONFIG_SHELL-/bin/sh} 10603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase X$lt_ECHO in 10623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevX*--fallback-echo) 10633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Remove one level of quotation (which was required for Make). 10643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 10653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 10663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 10673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10683aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevECHO=${lt_ECHO-echo} 10693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X[$]1" = X--no-reexec; then 10703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Discard the --no-reexec flag, and continue. 10713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shift 10723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "X[$]1" = X--fallback-echo; then 10733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Avoid inline document here, it may be left over 10743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 10753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then 10763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Yippee, $ECHO works! 10773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 10783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 10793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Restart under the correct shell. 10803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 10813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 10823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X[$]1" = X--fallback-echo; then 10843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # used as fallback echo 10853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shift 10863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF 10873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[$]* 10883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 10893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exit 0 10903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 10913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# The HP-UX ksh and POSIX shell print the target directory to stdout 10933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if CDPATH is set. 10943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 10953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 10963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_ECHO"; then 10973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X${echo_test_string+set}" != Xset; then 10983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # find a string as large as possible, as long as the shell can cope with it 10993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 11003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 11013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if { echo_test_string=`eval $cmd`; } 2>/dev/null && 11023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null 11033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 11043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 11053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 11073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 11103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 11113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 11133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 11143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The Solaris, AIX, and Digital Unix default echo programs unquote 11153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # backslashes. This makes it impossible to quote backslashes using 11163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # echo "$something" | sed 's/\\/\\\\/g' 11173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 11183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # So, first we look for a working echo in the user's PATH. 11193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 11213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for dir in $PATH /usr/ucb; do 11223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 11233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 11243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 11253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 11263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO="$dir/echo" 11283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 11293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 11313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 11323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X$ECHO" = Xecho; then 11343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We didn't find a better echo, so look for alternatives. 11353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && 11363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && 11373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This shell has a builtin print -r that does the trick. 11393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO='print -r' 11403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && 11413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$CONFIG_SHELL" != X/bin/ksh; then 11423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If we have ksh, try running configure again with it. 11433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 11443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export ORIGINAL_CONFIG_SHELL 11453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CONFIG_SHELL=/bin/ksh 11463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export CONFIG_SHELL 11473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 11483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 11493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Try using printf. 11503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO='printf %s\n' 11513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 11523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 11533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Cool, printf works 11553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 11563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 11573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = 'X\t' && 11583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 11593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 11613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export CONFIG_SHELL 11623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev SHELL="$CONFIG_SHELL" 11633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export SHELL 11643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 11653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 11663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = 'X\t' && 11673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 11683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$echo_testing_string" = "X$echo_test_string"; then 11693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 11703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 11713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # maybe with a smaller string... 11723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev prev=: 11733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 11753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null 11763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 11773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 11783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev prev="$cmd" 11803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 11813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$prev" != 'sed 50q "[$]0"'; then 11833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo_test_string=`eval $prev` 11843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev export echo_test_string 11853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 11863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 11873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Oops. We lost completely, so just stick with echo. 11883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ECHO=echo 11893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 11943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 11953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 11963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Copy echo and quote the copy suitably for passing to libtool from 11973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the Makefile, instead of quoting the original, which is used later. 11983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ECHO=$ECHO 11993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 12003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 12013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 12023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 12033aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST(lt_ECHO) 12043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 12053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 12063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [ECHO], [1], 12073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [An echo program that does not interpret backslashes]) 12083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_ECHO_BACKSLASH 12093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 12103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 12113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_ENABLE_LOCK 12123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------- 12133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_ENABLE_LOCK], 12143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_ARG_ENABLE([libtool-lock], 12153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AS_HELP_STRING([--disable-libtool-lock], 12163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [avoid locking (might break parallel builds)])]) 12173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 12183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 12193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Some flags need to be propagated to the compiler or linker for good 12203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# libtool support. 12213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host in 12223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevia64-*-hpux*) 12233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Find out which ABI we are using. 12243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo 'int i;' > conftest.$ac_ext 12253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile); then 12263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/usr/bin/file conftest.$ac_objext` in 12273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *ELF-32*) 12283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev HPUX_IA64_MODE="32" 12293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *ELF-64*) 12313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev HPUX_IA64_MODE="64" 12323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 12343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 12353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf conftest* 12363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-irix6*) 12383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Find out which ABI we are using. 12393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo '[#]line __oline__ "configure"' > conftest.$ac_ext 12403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile); then 12413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$lt_cv_prog_gnu_ld" = yes; then 12423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/usr/bin/file conftest.$ac_objext` in 12433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *32-bit*) 12443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -melf32bsmip" 12453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *N32*) 12473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -melf32bmipn32" 12483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *64-bit*) 12503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -melf64bmip" 12513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 12533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 12543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/usr/bin/file conftest.$ac_objext` in 12553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *32-bit*) 12563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -32" 12573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *N32*) 12593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -n32" 12603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *64-bit*) 12623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -64" 12633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 12653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 12663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 12673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf conftest* 12683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 12703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ 12713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevs390*-*linux*|s390*-*tpf*|sparc*-*linux*) 12723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Find out which ABI we are using. 12733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo 'int i;' > conftest.$ac_ext 12743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile); then 12753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/usr/bin/file conftest.o` in 12763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *32-bit*) 12773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 12783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x86_64-*kfreebsd*-gnu) 12793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf_i386_fbsd" 12803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x86_64-*linux*) 12823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf_i386" 12833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ppc64-*linux*|powerpc64-*linux*) 12853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf32ppclinux" 12863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev s390x-*linux*) 12883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf_s390" 12893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sparc64-*linux*) 12913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf32_sparc" 12923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 12943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 12953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *64-bit*) 12963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 12973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x86_64-*kfreebsd*-gnu) 12983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf_x86_64_fbsd" 12993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x86_64-*linux*) 13013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf_x86_64" 13023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ppc*-*linux*|powerpc*-*linux*) 13043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf64ppc" 13053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev s390*-*linux*|s390*-*tpf*) 13073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf64_s390" 13083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sparc*-*linux*) 13103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -m elf64_sparc" 13113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 13133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 13153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 13163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf conftest* 13173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-sco3.2v5*) 13203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On SCO OpenServer 5, we need -belf to get full-featured binaries. 13213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev SAVE_CFLAGS="$CFLAGS" 13223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CFLAGS="$CFLAGS -belf" 13233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 13243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_LANG_PUSH(C) 13253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 13263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_LANG_POP]) 13273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test x"$lt_cv_cc_needs_belf" != x"yes"; then 13283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 13293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CFLAGS="$SAVE_CFLAGS" 13303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 13313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsparc*-*solaris*) 13333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Find out which ABI we are using. 13343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo 'int i;' > conftest.$ac_ext 13353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile); then 13363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/usr/bin/file conftest.o` in 13373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *64-bit*) 13383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $lt_cv_prog_gnu_ld in 13393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes*) LD="${LD-ld} -m elf64_sparc" ;; 13403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 13413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 13423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD="${LD-ld} -64" 13433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 13443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 13463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 13483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 13493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf conftest* 13503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 13523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_locks="$enable_libtool_lock" 13543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_ENABLE_LOCK 13553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_OLD_ARCHIVE 13583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------- 13593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_OLD_ARCHIVE], 13603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(AR, ar, false) 13613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$AR" && AR=ar 13623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$AR_FLAGS" && AR_FLAGS=cru 13633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [AR], [1], [The archiver]) 13643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [AR_FLAGS], [1]) 13653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13663aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CHECK_TOOL(STRIP, strip, :) 13673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$STRIP" && STRIP=: 13683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 13693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CHECK_TOOL(RANLIB, ranlib, :) 13713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$RANLIB" && RANLIB=: 13723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [RANLIB], [1], 13733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Commands used to install an old-style archive]) 13743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Determine commands to create old-style static archives. 13763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 13773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_postinstall_cmds='chmod 644 $oldlib' 13783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_postuninstall_cmds= 13793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$RANLIB"; then 13813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 13823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd*) 13833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" 13843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 13863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" 13873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 13883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 13893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 13903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 13913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_postinstall_cmds], [2]) 13923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_postuninstall_cmds], [2]) 13933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_cmds], [2], 13943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Commands used to build an old-style archive]) 13953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_OLD_ARCHIVE 13963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 13983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 13993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 14003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------------------- 14013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check whether the given compiler option works 14023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_COMPILER_OPTION], 14033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 14043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 14053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([$1], [$2], 14063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$2=no 14073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 14083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_simple_compile_test_code" > conftest.$ac_ext 14093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_compiler_flag="$3" 14103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Insert the option either (1) after the last *FLAGS variable, or 14113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # (2) before a word containing "conftest.", or (3) at the end. 14123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Note that $ac_compile itself does not contain backslashes and begins 14133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # with a dollar sign (not a hyphen), so the echo should work correctly. 14143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The option is referenced via a variable to avoid confusing sed. 14153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_compile=`echo "$ac_compile" | $SED \ 14163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 14173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 14183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's:$: $lt_compiler_flag:'` 14193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 14203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval "$lt_compile" 2>conftest.err) 14213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_status=$? 14223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err >&AS_MESSAGE_LOG_FD 14233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 14243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (exit $ac_status) && test -s "$ac_outfile"; then 14253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The compiler can only warn and ignore the option if not recognized 14263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # So say no if there are warnings other than the usual output. 14273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp 14283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 14293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 14303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $2=yes 14313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 14323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 14333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 14343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 14353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test x"[$]$2" = xyes; then 14373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$5], , :, [$5]) 14383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 14393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$6], , :, [$6]) 14403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 14413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_OPTION 14423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 14443aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 14453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 14463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 14473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 14503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# [ACTION-SUCCESS], [ACTION-FAILURE]) 14513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------- 14523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check whether the given linker option works 14533aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_LINKER_OPTION], 14543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 14553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 14563aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([$1], [$2], 14573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$2=no 14583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LDFLAGS="$LDFLAGS" 14593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$LDFLAGS $3" 14603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_simple_link_test_code" > conftest.$ac_ext 14613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 14623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The linker can only warn and ignore the option if not recognized 14633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # So say no if there are warnings 14643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -s conftest.err; then 14653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Append any errors to the config.log. 14663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err 1>&AS_MESSAGE_LOG_FD 14673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp 14683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 14693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if diff conftest.exp conftest.er2 >/dev/null; then 14703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $2=yes 14713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 14723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 14733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $2=yes 14743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 14753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 14763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM -r conftest* 14773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$save_LDFLAGS" 14783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 14793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test x"[$]$2" = xyes; then 14813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$4], , :, [$4]) 14823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 14833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$5], , :, [$5]) 14843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 14853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_OPTION 14863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 14883aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 14893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 14903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 14913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 14933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_CMD_MAX_LEN 14943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#--------------- 14953aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_CMD_MAX_LEN], 14963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl 14973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the maximum length of command line arguments 14983aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([the maximum length of command line arguments]) 14993aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 15003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev i=0 15013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev teststring="ABCD" 15023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $build_os in 15043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev msdosdjgpp*) 15053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On DJGPP, this test can blow up pretty badly due to problems in libc 15063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # (any single argument exceeding 2000 bytes causes a buffer overrun 15073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # during glob expansion). Even if it were fixed, the result of this 15083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # check would be larger than it should be. 15093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=12288; # 12K is about right 15103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev gnu*) 15133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Under GNU Hurd, this test is not required because there is 15143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # no limit to the length of command line arguments. 15153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Libtool will interpret -1 as no limit whatsoever 15163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=-1; 15173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | cegcc*) 15203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On Win9x/ME, this test blows up -- it succeeds, but takes 15213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # about 5 minutes as the teststring grows exponentially. 15223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Worse, since 9x/ME are not pre-emptively multitasking, 15233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # you end up with a "frozen" computer, even though with patience 15243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the test eventually succeeds (with a max line length of 256k). 15253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Instead, let's just punt: use the minimum linelength reported by 15263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # all of the supported platforms: 8192 (on NT/2K/XP). 15273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=8192; 15283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev amigaos*) 15313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On AmigaOS with pdksh, this test takes hours, literally. 15323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # So we just punt and use a minimum line length of 8192. 15333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=8192; 15343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 15373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This has been around since 386BSD, at least. Likely further. 15383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -x /sbin/sysctl; then 15393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 15403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev elif test -x /usr/sbin/sysctl; then 15413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 15423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 15433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 15443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 15453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # And add a safety zone 15463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 15473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 15483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix*) 15513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We know the value 262144 and hardcode it with a safety zone (like BSD) 15523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=196608 15533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 15553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf*) 15563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 15573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 15583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # nice to cause kernel panics so lets avoid the loop below. 15593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # First set a reasonable default. 15603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=16384 15613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 15623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -x /sbin/sysconfig; then 15633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 15643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *1*) lt_cv_sys_max_cmd_len=-1 ;; 15653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 15663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 15673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sco3.2v5*) 15693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=102400 15703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | sco5v6* | sysv4.2uw2*) 15723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 15733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$kargmax"; then 15743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 15753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 15763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=32768 15773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 15783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 15793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 15803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 15813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$lt_cv_sys_max_cmd_len"; then 15823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 15833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 15843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 15853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make teststring a little bigger before we do anything with it. 15863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # a 1K string should be a reasonable start. 15873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for i in 1 2 3 4 5 6 7 8 ; do 15883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev teststring=$teststring$teststring 15893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 15903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 15913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If test is not a shell built-in, we'll probably end up computing a 15923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # maximum length that is only half of the actual maximum length, but 15933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # we can't tell. 15943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ 15953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev = "XX$teststring$teststring"; } >/dev/null 2>&1 && 15963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test $i != 17 # 1/2 MB should be enough 15973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev do 15983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev i=`expr $i + 1` 15993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev teststring=$teststring$teststring 16003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 16013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Only check the string length outside the loop. 16023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 16033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev teststring= 16043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Add a significant safety factor because C++ compilers can tack on 16053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # massive amounts of additional arguments before passing them to the 16063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linker. It appears as though 1/2 is a usable value. 16073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 16083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 16093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 16103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 16113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 16123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n $lt_cv_sys_max_cmd_len ; then 16133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 16143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 16153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT(none) 16163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 16173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmax_cmd_len=$lt_cv_sys_max_cmd_len 16183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [max_cmd_len], [0], 16193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [What is the maximum length of a command?]) 16203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_CMD_MAX_LEN 16213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 16233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 16243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 16253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 16263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_HEADER_DLFCN 16293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------- 16303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_HEADER_DLFCN], 16313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 16323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_HEADER_DLFCN 16333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 16363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 16373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------------------- 16383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_TRY_DLOPEN_SELF], 16393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_HEADER_DLFCN])dnl 16403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$cross_compiling" = yes; then : 16413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$4] 16423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 16433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 16443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_status=$lt_dlunknown 16453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat > conftest.$ac_ext <<_LT_EOF 16463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[#line __oline__ "configure" 16473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include "confdefs.h" 16483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if HAVE_DLFCN_H 16503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <dlfcn.h> 16513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 16523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <stdio.h> 16543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef RTLD_GLOBAL 16563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLGLOBAL RTLD_GLOBAL 16573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else 16583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ifdef DL_GLOBAL 16593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLGLOBAL DL_GLOBAL 16603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else 16613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLGLOBAL 0 16623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif 16633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 16643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 16663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev find out it does not work in some platform. */ 16673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifndef LT_DLLAZY_OR_NOW 16683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ifdef RTLD_LAZY 16693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLLAZY_OR_NOW RTLD_LAZY 16703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else 16713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ifdef DL_LAZY 16723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLLAZY_OR_NOW DL_LAZY 16733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else 16743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ifdef RTLD_NOW 16753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLLAZY_OR_NOW RTLD_NOW 16763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else 16773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ifdef DL_NOW 16783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLLAZY_OR_NOW DL_NOW 16793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# else 16803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# define LT_DLLAZY_OR_NOW 0 16813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif 16823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif 16833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif 16843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# endif 16853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 16863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid fnord() { int i=42;} 16883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint main () 16893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 16903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 16913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev int status = $lt_dlunknown; 16923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 16933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (self) 16943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { 16953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 16963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 16973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev /* dlclose (self); */ 16983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 16993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 17003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev puts (dlerror ()); 17013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return status; 17033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}] 17043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 17053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 17063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 17073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_status=$? 17083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case x$lt_status in 17093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x$lt_dlno_uscore) $1 ;; 17103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x$lt_dlneed_uscore) $2 ;; 17113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev x$lt_dlunknown|x*) $3 ;; 17123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 17133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else : 17143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # compilation failed 17153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $3 17163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 17173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 17183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrm -fr conftest* 17193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_TRY_DLOPEN_SELF 17203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_SYS_DLOPEN_SELF 17233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------ 17243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_SYS_DLOPEN_SELF], 17253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_HEADER_DLFCN])dnl 17263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "x$enable_dlopen" != xyes; then 17273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_dlopen=unknown 17283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_dlopen_self=unknown 17293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_dlopen_self_static=unknown 17303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 17313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen=no 17323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_libs= 17333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 17353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev beos*) 17363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen="load_add_on" 17373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_libs= 17383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self=yes 17393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 17403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mingw* | pw32* | cegcc*) 17423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen="LoadLibrary" 17433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_libs= 17443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 17453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin*) 17473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen="dlopen" 17483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_libs= 17493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 17503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin*) 17523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # if libdl is installed we need to link against it 17533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_LIB([dl], [dlopen], 17543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 17553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen="dyld" 17563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_libs= 17573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self=yes 17583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 17603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 17623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_FUNC([shl_load], 17633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="shl_load"], 17643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_LIB([dld], [shl_load], 17653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], 17663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_FUNC([dlopen], 17673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="dlopen"], 17683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_LIB([dl], [dlopen], 17693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 17703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_LIB([svld], [dlopen], 17713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 17723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_LIB([dld], [dld_link], 17733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) 17743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 17793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 17803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 17813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$lt_cv_dlopen" != xno; then 17833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_dlopen=yes 17843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 17853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_dlopen=no 17863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 17873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $lt_cv_dlopen in 17893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dlopen) 17903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_CPPFLAGS="$CPPFLAGS" 17913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 17923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LDFLAGS="$LDFLAGS" 17943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 17953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LIBS="$LIBS" 17973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LIBS="$lt_cv_dlopen_libs $LIBS" 17983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 17993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CACHE_CHECK([whether a program can dlopen itself], 18003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self, [dnl 18013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TRY_DLOPEN_SELF( 18023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 18033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 18043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 18053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$lt_cv_dlopen_self" = xyes; then 18073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 18083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 18093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self_static, [dnl 18103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TRY_DLOPEN_SELF( 18113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 18123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 18133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ]) 18143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 18153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CPPFLAGS="$save_CPPFLAGS" 18173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$save_LDFLAGS" 18183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LIBS="$save_LIBS" 18193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 18203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 18213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $lt_cv_dlopen_self in 18233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 18243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) enable_dlopen_self=unknown ;; 18253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 18263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $lt_cv_dlopen_self_static in 18283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 18293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) enable_dlopen_self_static=unknown ;; 18303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 18313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 18323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_support], [enable_dlopen], [0], 18333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether dlopen is supported]) 18343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 18353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether dlopen of programs is supported]) 18363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 18373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether dlopen of statically linked programs is supported]) 18383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_SYS_DLOPEN_SELF 18393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 18413aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 18423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 18433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 18443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_C_O([TAGNAME]) 18473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------- 18483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to see if options -c and -o are simultaneously supported by compiler. 18493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This macro does not hard code the compiler like AC_PROG_CC_C_O. 18503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_C_O], 18513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl 18523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 18533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl 18543aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 18553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 18563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 18573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM -r conftest 2>/dev/null 18583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mkdir conftest 18593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cd conftest 18603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mkdir out 18613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_simple_compile_test_code" > conftest.$ac_ext 18623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 18633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_compiler_flag="-o out/conftest2.$ac_objext" 18643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Insert the option either (1) after the last *FLAGS variable, or 18653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # (2) before a word containing "conftest.", or (3) at the end. 18663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Note that $ac_compile itself does not contain backslashes and begins 18673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # with a dollar sign (not a hyphen), so the echo should work correctly. 18683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_compile=`echo "$ac_compile" | $SED \ 18693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 18703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 18713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -e 's:$: $lt_compiler_flag:'` 18723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 18733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval "$lt_compile" 2>out/conftest.err) 18743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_status=$? 18753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat out/conftest.err >&AS_MESSAGE_LOG_FD 18763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 18773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (exit $ac_status) && test -s out/conftest2.$ac_objext 18783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 18793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The compiler can only warn and ignore the option if not recognized 18803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # So say no if there are warnings 18813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp 18823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 18833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 18843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 18853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 18863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 18873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev chmod u+w . 2>&AS_MESSAGE_LOG_FD 18883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 18893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # SGI C++ compiler will create directory out/ii_files/ for 18903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # template instantiation 18913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 18923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM out/* && rmdir out 18933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cd .. 18943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM -r conftest 18953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 18963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 18973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 18983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Does compiler simultaneously support -c and -o options?]) 18993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_C_O 19003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 19033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------- 19043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to see if we can do hard links to lock some files if needed 19053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_FILE_LOCKS], 19063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_ENABLE_LOCK])dnl 19073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 19083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_C_O([$1]) 19093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhard_links="nottested" 19113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 19123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # do not overwrite the value of need_locks provided by the user 19133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([if we can lock with hard links]) 19143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hard_links=yes 19153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 19163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ln conftest.a conftest.b 2>/dev/null && hard_links=no 19173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev touch conftest.a 19183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ln conftest.a conftest.b 2>&5 || hard_links=no 19193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ln conftest.a conftest.b 2>/dev/null && hard_links=no 19203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$hard_links]) 19213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$hard_links" = no; then 19223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 19233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_locks=warn 19243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 19253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 19263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_locks=no 19273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 19283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 19293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_FILE_LOCKS 19303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_OBJDIR 19333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------- 19343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_OBJDIR], 19353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 19363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[rm -f .libs 2>/dev/null 19373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmkdir .libs 2>/dev/null 19383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -d .libs; then 19393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_objdir=.libs 19403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 19413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # MS-DOS does not allow filenames that begin with a dot. 19423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_objdir=_libs 19433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 19443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrmdir .libs 2>/dev/null]) 19453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjdir=$lt_cv_objdir 19463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [objdir], [0], 19473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [The name of the directory that contains temporary libtool files])dnl 19483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_allow([LT_OBJDIR])dnl 19493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", 19503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Define to the sub-directory in which libtool stores uninstalled libraries.]) 19513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_OBJDIR 19523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 19553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------------------- 19563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check hardcoding attributes. 19573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 19583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([how to hardcode library paths into programs]) 19593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_action, $1)= 19603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 19613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -n "$_LT_TAGVAR(runpath_var, $1)" || 19623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 19633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We can hardcode non-existent directories. 19653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && 19663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If the only mechanism to avoid hardcoding is shlibpath_var, we 19673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # have to relink, otherwise we might link with an installed library 19683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # when we should be linking with a yet-to-be-installed one 19693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && 19703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then 19713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Linking always hardcodes the temporary library directory. 19723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_action, $1)=relink 19733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 19743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We can link without hardcoding, and we can hardcode nonexisting dirs. 19753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_action, $1)=immediate 19763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 19773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 19783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We cannot hardcode anything, or else we can only hardcode existing 19793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # directories. 19803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_action, $1)=unsupported 19813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 19823aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 19833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_LT_TAGVAR(hardcode_action, $1)" = relink || 19853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then 19863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Fast installation is not supported 19873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_fast_install=no 19883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "$shlibpath_overrides_runpath" = yes || 19893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = no; then 19903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Fast installation is not necessary 19913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_fast_install=needless 19923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 19933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_action], [0], 19943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [How to hardcode a shared library path into an executable]) 19953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_HARDCODE_LIBPATH 19963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 19983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_STRIPLIB 19993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------- 20003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_STRIPLIB], 20013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP]) 20023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevstriplib= 20033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_striplib= 20043aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether stripping libraries is possible]) 20053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 20063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 20073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$striplib" && striplib="$STRIP --strip-unneeded" 20083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([yes]) 20093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 20103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# FIXME - insert some real tests, host_os isn't really good enough 20113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 20123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin*) 20133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$STRIP" ; then 20143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev striplib="$STRIP -x" 20153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev old_striplib="$STRIP -S" 20163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([yes]) 20173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 20183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([no]) 20193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 20203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 20213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 20223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([no]) 20233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 20243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 20253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 20263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 20273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [striplib], [1]) 20283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_STRIPLIB 20293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 20303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 20313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_DYNAMIC_LINKER([TAG]) 20323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------- 20333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PORTME Fill in your ld.so characteristics 20343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_DYNAMIC_LINKER], 20353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl 20363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl 20373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 20383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_OBJDUMP])dnl 20393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 20403aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([dynamic linker characteristics]) 20413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], 20423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [], [ 20433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then 20443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 20453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; 20463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) lt_awk_arg="/^libraries:/" ;; 20473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 20483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` 20493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then 20503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # if the path contains ";" then we assume it to be the separator 20513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # otherwise default to the standard path separator (i.e. ":") - it is 20523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # assumed that no part of a normal pathname contains ";" but that should 20533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # okay in the real world where ";" in dirpaths is itself problematic. 20543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` 20553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 20563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 20573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 20583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Ok, now we have the path, separated by spaces, we can step through it 20593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # and add multilib dir if necessary. 20603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_tmp_lt_search_path_spec= 20613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 20623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for lt_sys_path in $lt_search_path_spec; do 20633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d "$lt_sys_path/$lt_multi_os_dir"; then 20643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" 20653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 20663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -d "$lt_sys_path" && \ 20673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 20683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 20693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 20703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' 20713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevBEGIN {RS=" "; FS="/|\n";} { 20723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_foo=""; 20733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_count=0; 20743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for (lt_i = NF; lt_i > 0; lt_i--) { 20753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if ($lt_i != "" && $lt_i != ".") { 20763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if ($lt_i == "..") { 20773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_count++; 20783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } else { 20793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (lt_count == 0) { 20803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_foo="/" $lt_i lt_foo; 20813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } else { 20823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_count--; 20833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 20843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 20853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 20863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 20873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (lt_foo != "") { lt_freq[[lt_foo]]++; } 20883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 20893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}'` 20903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` 20913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 20923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 20933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi]) 20943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibrary_names_spec= 20953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibname_spec='lib$name' 20963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsoname_spec= 20973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshrext_cmds=".so" 20983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpostinstall_cmds= 20993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpostuninstall_cmds= 21003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfinish_cmds= 21013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfinish_eval= 21023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshlibpath_var= 21033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshlibpath_overrides_runpath=unknown 21043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevversion_type=none 21053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdynamic_linker="$host_os ld.so" 21063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsys_lib_dlsearch_path_spec="/lib /usr/lib" 21073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_lib_prefix=unknown 21083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhardcode_into_libs=no 21093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# when you set need_version to no, make sure it does not cause -set_version 21113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# flags to be left without arguments 21123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_version=unknown 21133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 21153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix3*) 21163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 21173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' 21183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LIBPATH 21193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 3 has no versioning support, so we append a major version to the name. 21213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 21223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix[[4-9]]*) 21253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 21263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 21273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 21283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 21293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 21303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 5 supports IA64 21313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' 21323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 21333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 21343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # With GCC up to 2.95.x, collect2 would create an import file 21353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # for dependence libraries. The import file would start with 21363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the line `#! .'. This would cause the generated library to 21373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # depend on `.', always an invalid library. This was fixed in 21383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # development snapshots of GCC prior to 3.0. 21393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 21403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix4 | aix4.[[01]] | aix4.[[01]].*) 21413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 21423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo ' yes ' 21433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then 21443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 21453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 21463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev can_build_shared=no 21473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 21483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 21503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 21513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # soname into executable. Probably we can add versioning support to 21523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # collect2, so additional links can be useful in future. 21533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 21543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If using run time linking (on AIX 4.2 or later) use lib<name>.so 21553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # instead of lib<name>.a to let people know that these are not 21563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # typical AIX shared libraries. 21573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 21583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 21593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We preserve .a as extension for shared libraries through AIX4.2 21603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # and later when we are not doing run time linking. 21613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}.a $libname.a' 21623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 21633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 21643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LIBPATH 21653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 21663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevamigaos*) 21693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 21703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev powerpc) 21713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Since July 2007 AmigaOS4 officially supports .so libraries. 21723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 21733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 21743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m68k) 21763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='$libname.ixlibrary $libname.a' 21773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Create ${libname}_ixlibrary.a entries in /sys/libs. 21783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 21793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 21813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbeos*) 21843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${shared_ext}' 21853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker="$host_os ld.so" 21863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LIBRARY_PATH 21873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 21883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 21893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbsdi[[45]]*) 21903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 21913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 21923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 21933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 21943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 21953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 21963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 21973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 21983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the default ld.so.conf also contains /usr/contrib/lib and 21993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 22003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # libtool to hard-code these into programs 22013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin* | mingw* | pw32* | cegcc*) 22043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=windows 22053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds=".dll" 22063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 22073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 22083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $GCC,$host_os in 22103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) 22113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='$libname.dll.a' 22123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # DLL is installed to $(libdir)/../bin by postinstall_cmds 22133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='base_file=`basename \${file}`~ 22143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ 22153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dldir=$destdir/`dirname \$dlpath`~ 22163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -d \$dldir || mkdir -p \$dldir~ 22173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $install_prog $dir/$dlname \$dldir/$dlname~ 22183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev chmod a+x \$dldir/$dlname~ 22193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 22203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 22213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi' 22223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 22233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dlpath=$dir/\$dldll~ 22243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM \$dlpath' 22253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 22263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 22283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin*) 22293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Cygwin DLLs use 'cyg' prefix rather than 'lib' 22303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 22313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" 22323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mingw* | cegcc*) 22343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # MinGW DLLs use traditional 'lib' prefix 22353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 22363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` 22373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 22383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # It is most probably a Windows format PATH printed by 22393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # mingw gcc, but we are running on Cygwin. Gcc prints its search 22403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # path with ; separators, and with drive letters. We can handle the 22413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # drive letters (cygwin fileutils understands them), so leave them, 22423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # especially as we might pass files found there to a mingw objdump, 22433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # which wouldn't understand a cygwinified path. Ahh. 22443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 22453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 22463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 22473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 22483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pw32*) 22503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # pw32 DLLs use 'pw' prefix rather than 'lib' 22513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 22523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 22543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 22573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 22583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 22603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='Win32 ld.exe' 22613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: first we should search . and the directory the executable is in 22623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=PATH 22633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdarwin* | rhapsody*) 22663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker="$host_os dyld" 22673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=darwin 22683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 22693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 22703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' 22713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${major}$shared_ext' 22723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 22733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=DYLD_LIBRARY_PATH 22743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 22753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [],[ 22763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 22773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 22783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdgux*) 22813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 22823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 22833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 22843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' 22853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 22863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 22873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd1*) 22903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker=no 22913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 22923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 22933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd* | dragonfly*) 22943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # DragonFly does not have aout. When/if they implement a new 22953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # versioning mechanism, adjust this. 22963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -x /usr/bin/objformat; then 22973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev objformat=`/usr/bin/objformat` 22983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 22993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 23003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd[[123]]*) objformat=aout ;; 23013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) objformat=elf ;; 23023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 23033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 23043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=freebsd-$objformat 23053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $version_type in 23063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd-elf*) 23073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 23083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 23093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 23103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd-*) 23123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' 23133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=yes 23143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 23163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 23173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 23183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd2*) 23193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 23203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd3.[[01]]* | freebsdelf3.[[01]]*) 23223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 23233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 23263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 23273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 23283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # from 4.6 on, and DragonFly 23313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 23323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 23353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 23373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgnu*) 23383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 23393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 23403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 23413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 23423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 23433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 23443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 23473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux9* | hpux10* | hpux11*) 23483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Give a soname corresponding to the major version so that dld.sl refuses to 23493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # link against other versions. 23503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=sunos 23513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 23523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 23533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 23543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 23553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds='.so' 23563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker="$host_os dld.so" 23583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 23593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 23603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 23613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 23623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X$HPUX_IA64_MODE" = X32; then 23633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 23643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 23653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 23663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 23673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 23683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 23703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds='.sl' 23713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 23723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker="$host_os dld.sl" 23733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 23743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 23753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 23763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 23773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 23783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 23793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 23813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds='.sl' 23823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker="$host_os dld.sl" 23833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=SHLIB_PATH 23843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 23853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 23863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 23873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 23893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # HP-UX runs *really* slowly unless shared libraries are mode 555. 23903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='chmod 555 $lib' 23913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 23923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 23933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*) 23943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 23953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 23963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 23973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 23983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 23993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 24003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 24013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 24023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 24033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix5* | irix6* | nonstopux*) 24063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 24073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev nonstopux*) version_type=nonstopux ;; 24083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 24093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$lt_cv_prog_gnu_ld" = yes; then 24103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 24113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 24123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=irix 24133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi ;; 24143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 24153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 24163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 24173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 24183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' 24193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 24203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev irix5* | nonstopux*) 24213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libsuff= shlibsuff= 24223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 24243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $LD in # libtool.m4 will add one of these switches to LD 24253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 24263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libsuff= shlibsuff= libmagic=32-bit;; 24273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 24283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libsuff=32 shlibsuff=N32 libmagic=N32;; 24293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 24303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libsuff=64 shlibsuff=64 libmagic=64-bit;; 24313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) libsuff= shlibsuff= libmagic=never-match;; 24323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 24333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 24353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 24363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 24373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 24383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 24393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 24403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No shared lib support for Linux oldld, aout, or coff. 24433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux*oldld* | linux*aout* | linux*coff*) 24443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker=no 24453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This must be Linux ELF. 24483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux* | k*bsd*-gnu) 24493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 24503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 24513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 24523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 24533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 24543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 24553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 24563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 24573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Some binutils ld are patched to set DT_RUNPATH 24583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LDFLAGS=$LDFLAGS 24593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_libdir=$libdir 24603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 24613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 24623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 24633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 24643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [shlibpath_overrides_runpath=yes])]) 24653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS=$save_LDFLAGS 24663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libdir=$save_libdir 24673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This implies no fast_install, which is unacceptable. 24693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Some rework will be needed to allow for fast_install 24703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # before this can be enabled. 24713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 24723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Add ABI-specific directories to the system library path. 24743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" 24753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Append ld.so.conf contents to the search path 24773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f /etc/ld.so.conf; then 24783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` 24793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" 24803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 24813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We used to test for /lib/ld.so.1 and disable shared libraries on 24833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # powerpc, because MkLinux only supported shared libraries with the 24843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # GNU dynamic linker. Since this was broken with cross compilers, 24853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # most powerpc-linux boxes support dynamic linking these days and 24863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # people can always --disable-shared, the test was removed, and we 24873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # assume the GNU/Linux dynamic linker is in use. 24883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='GNU/Linux ld.so' 24893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 24903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 24913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnetbsd*) 24923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=sunos 24933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 24943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 24953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 24963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 24973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 24983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='NetBSD (a.out) ld.so' 24993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 25003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 25013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 25023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='NetBSD ld.elf_so' 25033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 25043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 25073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnewsos6) 25103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 25113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 25123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*nto* | *qnx*) 25173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=qnx 25183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 25203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 25213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 25223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 25243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 25253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='ldqnx.so' 25263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopenbsd*) 25293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=sunos 25303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="/usr/lib" 25313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. 25333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 25343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd3.3 | openbsd3.3.*) need_version=yes ;; 25353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) need_version=no ;; 25363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 25373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 25383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 25393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 25413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 25423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd2.[[89]] | openbsd2.[[89]].*) 25433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 25443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 25463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 25493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 25503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 25523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevos2*) 25553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libname_spec='$name' 25563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds=".dll" 25573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='$libname${shared_ext} $libname.a' 25593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker='OS/2 ld.exe' 25603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LIBPATH 25613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf3* | osf4* | osf5*) 25643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=osf 25653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 25673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 25683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 25693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 25713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 25723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrdos*) 25753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker=no 25763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*) 25793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 25803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 25823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 25833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 25843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 25873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ldd complains unless libraries are executable 25883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='chmod +x $lib' 25893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 25903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 25913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsunos4*) 25923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=sunos 25933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 25943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 25953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 25963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 25973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = yes; then 25983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 25993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 26003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=yes 26013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4 | sysv4.3*) 26043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 26053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 26063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 26073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 26083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_vendor in 26093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sni) 26103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 26113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 26123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var=LD_RUN_PATH 26133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev siemens) 26153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 26163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev motorola) 26183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 26193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 26203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 26213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 26223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 26243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4*MP*) 26273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d /usr/nec ;then 26283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 26293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' 26303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='$libname${shared_ext}.$major' 26313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 26323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 26333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 26363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=freebsd-elf 26373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 26383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 26393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 26403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 26413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 26423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=yes 26433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 26443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = yes; then 26453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 26463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 26473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 26483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 26493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sco3.2v5*) 26503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 26513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 26533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 26543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec='/usr/lib' 26553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtpf*) 26583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 26593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 26603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_lib_prefix=no 26613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev need_version=no 26623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 26633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 26643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_overrides_runpath=no 26653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_into_libs=yes 26663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuts4*) 26693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev version_type=linux 26703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 26713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname_spec='${libname}${release}${shared_ext}$major' 26723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shlibpath_var=LD_LIBRARY_PATH 26733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) 26763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dynamic_linker=no 26773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 26783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 26793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$dynamic_linker]) 26803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "$dynamic_linker" = no && can_build_shared=no 26813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 26833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then 26843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 26853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 26863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then 26883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" 26893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 26903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then 26913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" 26923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 26933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 26943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [variables_saved_for_relink], [1], 26953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Variables whose values should be saved in libtool wrapper scripts and 26963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev restored at link time]) 26973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_lib_prefix], [0], 26983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Do we need the "lib" prefix for modules?]) 26993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 27003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [version_type], [0], [Library versioning type]) 27013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 27023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 27033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shlibpath_overrides_runpath], [0], 27043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Is shlibpath searched before the hard-coded library search path?]) 27053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 27063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [library_names_spec], [1], 27073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [[List of archive names. First name is the real one, the rest are links. 27083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev The last name is the one that the linker finds with -lNAME]]) 27093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [soname_spec], [1], 27103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [[The coded name of the library, if different from the real name]]) 27113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [postinstall_cmds], [2], 27123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Command to use after installation of a shared archive]) 27133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [postuninstall_cmds], [2], 27143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Command to use after uninstallation of a shared archive]) 27153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [finish_cmds], [2], 27163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Commands used to finish a libtool library installation in a directory]) 27173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [finish_eval], [1], 27183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [[As "finish_cmds", except a single script fragment to be evaled but 27193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev not shown]]) 27203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [hardcode_into_libs], [0], 27213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether we should hardcode library paths into libraries]) 27223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [sys_lib_search_path_spec], [2], 27233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Compile-time system search path for libraries]) 27243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], 27253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Run-time system search path for libraries]) 27263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_DYNAMIC_LINKER 27273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_TOOL_PREFIX(TOOL) 27303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------- 27313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find a file program which can recognize shared library 27323aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_PATH_TOOL_PREFIX], 27333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])dnl 27343aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([for $1]) 27353aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 27363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $MAGIC_CMD in 27373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[[\\/*] | ?:[\\/]*]) 27383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 27393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 27403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) 27413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_MAGIC_CMD="$MAGIC_CMD" 27423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 27433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl $ac_dummy forces splitting on constant user-supplied paths. 27443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl POSIX.2 word splitting is done only on the output of word expansions, 27453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl not every word. This closes a longstanding sh security hole. 27463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_dummy="m4_if([$2], , $PATH, [$2])" 27473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ac_dir in $ac_dummy; do 27483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 27493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$ac_dir" && ac_dir=. 27503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f $ac_dir/$1; then 27513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_MAGIC_CMD="$ac_dir/$1" 27523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$file_magic_test_file"; then 27533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $deplibs_check_method in 27543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev "file_magic "*) 27553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 27563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 27573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 27583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $EGREP "$file_magic_regex" > /dev/null; then 27593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 27603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 27613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF 1>&2 27623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: the command libtool uses to detect shared libraries, 27643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** $file_magic_cmd, produces output that libtool cannot recognize. 27653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** The result is that libtool may fail to recognize shared libraries 27663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** as such. This will affect the creation of libtool libraries that 27673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** depend on shared libraries, but programs linked with such libtool 27683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** libraries will work regardless of this problem. Nevertheless, you 27693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** may want to report the problem to your system manager and/or to 27703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** bug-libtool@gnu.org 27713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 27733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi ;; 27743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 27753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 27763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 27773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 27783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 27793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 27803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev MAGIC_CMD="$lt_save_MAGIC_CMD" 27813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 27823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac]) 27833aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevMAGIC_CMD="$lt_cv_path_MAGIC_CMD" 27843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$MAGIC_CMD"; then 27853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT($MAGIC_CMD) 27863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 27873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT(no) 27883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 27893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [MAGIC_CMD], [0], 27903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Used to examine libraries when file_magic_cmd begins with "file"])dnl 27913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_TOOL_PREFIX 27923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 27943aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 27953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 27963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 27973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 27993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_MAGIC 28003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------- 28013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find a file program which can recognize a shared library 28023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PATH_MAGIC], 28033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 28043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_path_MAGIC_CMD"; then 28053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$ac_tool_prefix"; then 28063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 28073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 28083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev MAGIC_CMD=: 28093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 28103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 28113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_MAGIC 28123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 28133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 28143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PATH_LD 28153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------- 28163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the pathname to the GNU or non-GNU linker 28173aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PATH_LD], 28183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl 28193aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_HOST])dnl 28203aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_BUILD])dnl 28213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 28223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl 28233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 28243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_ARG_WITH([gnu-ld], 28253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AS_HELP_STRING([--with-gnu-ld], 28263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [assume the C compiler uses GNU ld @<:@default=no@:>@])], 28273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [test "$withval" = no || with_gnu_ld=yes], 28283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [with_gnu_ld=no])dnl 28293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 28303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_prog=ld 28313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then 28323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check if gcc -print-prog-name=ld gives a path. 28333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([for ld used by $CC]) 28343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 28353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-*-mingw*) 28363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # gcc leaves a trailing carriage return which upsets mingw 28373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 28383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 28393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 28403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 28413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $ac_prog in 28423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Accept absolute paths. 28433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [[\\/]]* | ?:[[\\/]]*) 28443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev re_direlt='/[[^/]][[^/]]*/\.\./' 28453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Canonicalize the pathname of ld 28463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 28473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 28483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 28493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 28503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$LD" && LD="$ac_prog" 28513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 28523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev "") 28533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If it fails, then pretend we aren't using GCC. 28543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ac_prog=ld 28553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 28563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 28573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If it is relative, then search for the first ld in PATH. 28583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=unknown 28593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 28603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 28613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "$with_gnu_ld" = yes; then 28623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([for GNU ld]) 28633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 28643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([for non-GNU ld]) 28653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 28663aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_LD, 28673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[if test -z "$LD"; then 28683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 28693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ac_dir in $PATH; do 28703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 28713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$ac_dir" && ac_dir=. 28723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 28733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_LD="$ac_dir/$ac_prog" 28743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check to see if the program is GNU ld. I'd rather use --version, 28753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but apparently some variants of GNU ld only accept -v. 28763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Break only if it was the GNU/non-GNU ld that we prefer. 28773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 28783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *GNU* | *'with BFD'*) 28793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$with_gnu_ld" != no && break 28803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 28813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 28823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$with_gnu_ld" != yes && break 28833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 28843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 28853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 28863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 28873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 28883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 28893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_LD="$LD" # Let the user override the test with a path. 28903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi]) 28913aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLD="$lt_cv_path_LD" 28923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$LD"; then 28933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT($LD) 28943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 28953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT(no) 28963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 28973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 28983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_PATH_LD_GNU 28993aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([LD]) 29003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 29023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_PATH_LD 29033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names: 29053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 29063aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 29073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 29083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_LD], []) 29093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_LD], []) 29103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_LD_GNU 29133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#- -------------- 29143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PATH_LD_GNU], 29153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 29163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[# I'd rather use --version here, but apparently some GNU lds only accept -v. 29173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `$LD -v 2>&1 </dev/null` in 29183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*GNU* | *'with BFD'*) 29193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_gnu_ld=yes 29203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) 29223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_gnu_ld=no 29233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac]) 29253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwith_gnu_ld=$lt_cv_prog_gnu_ld 29263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_LD_GNU 29273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_RELOAD 29303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------- 29313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find reload flag for linker 29323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -- PORTME Some linkers may need a different reload flag. 29333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_RELOAD], 29343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([for $LD option to reload object files], 29353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_ld_reload_flag, 29363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_ld_reload_flag='-r']) 29373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevreload_flag=$lt_cv_ld_reload_flag 29383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $reload_flag in 29393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"" | " "*) ;; 29403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) reload_flag=" $reload_flag" ;; 29413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 29423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevreload_cmds='$LD$reload_flag -o $output$reload_objs' 29433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 29443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin*) 29453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 29463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' 29473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 29483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev reload_cmds='$LD$reload_flag -o $output$reload_objs' 29493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 29503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 29523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl 29533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [reload_cmds], [2])dnl 29543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_RELOAD 29553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_MAGIC_METHOD 29583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------- 29593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# how to check for library dependencies 29603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -- PORTME fill in with the dynamic library characteristics 29613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_MAGIC_METHOD], 29623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP]) 29633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_OBJDUMP]) 29643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([how to recognize dependent libraries], 29653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_deplibs_check_method, 29663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_cv_file_magic_cmd='$MAGIC_CMD' 29673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_file_magic_test_file= 29683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_deplibs_check_method='unknown' 29693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Need to set the preceding variable on all platforms that support 29703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# interlibrary dependencies. 29713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'none' -- dependencies not supported. 29723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `unknown' -- same as none, but documents that we really don't know. 29733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'pass_all' -- all dependencies passed with no checks. 29743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'test_compile' -- check by making test program. 29753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'file_magic [[regex]]' -- check by looking for files in library path 29763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# which responds to the $file_magic_cmd with a given extended regex. 29773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If you have `file' or equivalent on your system and you're not sure 29783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# whether `pass_all' will *always* work, you probably want this one. 29793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 29813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix[[4-9]]*) 29823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 29833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbeos*) 29863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 29873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbsdi[[45]]*) 29903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 29913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='/usr/bin/file -L' 29923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/shlib/libc.so 29933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 29943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 29953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin*) 29963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # func_win32_libid is a shell function defined in ltmain.sh 29973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 29983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='func_win32_libid' 29993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmingw* | pw32*) 30023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Base MSYS/MinGW do not provide the 'file' command needed by 30033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # func_win32_libid shell function, so use a weaker test based on 'objdump', 30043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # unless we find 'file', for example because we are cross-compiling. 30053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if ( file / ) >/dev/null 2>&1; then 30063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 30073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='func_win32_libid' 30083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 30093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 30103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='$OBJDUMP -f' 30113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 30123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcegcc) 30153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # use the weaker test based on 'objdump'. See mingw*. 30163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 30173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='$OBJDUMP -f' 30183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdarwin* | rhapsody*) 30213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd* | dragonfly*) 30253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 30263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 30273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev i*86 ) 30283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Not sure whether the presence of OpenBSD here was a mistake. 30293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Let's accept both of them until this is cleared up. 30303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 30313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd=/usr/bin/file 30323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 30333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 30353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 30363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 30383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgnu*) 30413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux10.20* | hpux11*) 30453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd=/usr/bin/file 30463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 30473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 30483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 30493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 30503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 30523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] 30533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 30543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 30563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 30573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/usr/lib/libc.sl 30583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 30603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*) 30633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 30643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 30653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix5* | irix6* | nonstopux*) 30683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $LD in 30693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-32|*"-32 ") libmagic=32-bit;; 30703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-n32|*"-n32 ") libmagic=N32;; 30713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-64|*"-64 ") libmagic=64-bit;; 30723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) libmagic=never-match;; 30733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 30743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This must be Linux ELF. 30783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux* | k*bsd*-gnu) 30793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnetbsd*) 30833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 30843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 30853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 30863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 30873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 30883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnewos6*) 30913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 30923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd=/usr/bin/file 30933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/usr/lib/libnls.so 30943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 30963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*nto* | *qnx*) 30973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 30983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 30993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopenbsd*) 31013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 31023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 31033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 31043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 31053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 31063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf3* | osf4* | osf5*) 31093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrdos*) 31133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*) 31173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 31213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4 | sysv4.3*) 31253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_vendor in 31263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev motorola) 31273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 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]]' 31283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 31293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ncr) 31313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sequent) 31343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='/bin/file' 31353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 31363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sni) 31383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_cmd='/bin/file' 31393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 31403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_file_magic_test_file=/lib/libc.so 31413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev siemens) 31433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pc) 31463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 31493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtpf*) 31523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_deplibs_check_method=pass_all 31533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 31553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 31563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfile_magic_cmd=$lt_cv_file_magic_cmd 31573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdeplibs_check_method=$lt_cv_deplibs_check_method 31583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$deplibs_check_method" && deplibs_check_method=unknown 31593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [deplibs_check_method], [1], 31613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Method to check whether dependent libraries are shared objects]) 31623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [file_magic_cmd], [1], 31633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Command to use when deplibs_check_method == "file_magic"]) 31643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_MAGIC_METHOD 31653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 31673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PATH_NM 31683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------- 31693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the pathname to a BSD- or MS-compatible name lister 31703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PATH_NM], 31713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl 31723aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 31733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[if test -n "$NM"; then 31743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Let the user override the test. 31753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_NM="$NM" 31763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 31773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_nm_to_check="${ac_tool_prefix}nm" 31783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 31793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_nm_to_check="$lt_nm_to_check nm" 31803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 31813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for lt_tmp_nm in $lt_nm_to_check; do 31823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 31833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 31843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 31853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$ac_dir" && ac_dir=. 31863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_nm="$ac_dir/$lt_tmp_nm" 31873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 31883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check to see if the nm accepts a BSD-compat flag. 31893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Adding the `sed 1q' prevents false positives on HP-UX, which says: 31903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # nm: unknown option "B" ignored 31913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Tru64's nm complains that /dev/null is an invalid object file 31923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in 31933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev */dev/null* | *'Invalid file or object type'*) 31943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_NM="$tmp_nm -B" 31953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 31963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 31973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 31983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 31993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev */dev/null*) 32003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_NM="$tmp_nm -p" 32013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 32023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 32043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 32053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev continue # so that we can try to find one that supports BSD flags 32063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 32083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 32103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 32113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 32123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS="$lt_save_ifs" 32133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 32143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : ${lt_cv_path_NM=no} 32153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi]) 32163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$lt_cv_path_NM" != "no"; then 32173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev NM="$lt_cv_path_NM" 32183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 32193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Didn't find any BSD compatible name lister, look for dumpbin. 32203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) 32213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_SUBST([DUMPBIN]) 32223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$DUMPBIN" != ":"; then 32233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev NM="$DUMPBIN" 32243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 32253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 32263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$NM" && NM=nm 32273aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([NM]) 32283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 32293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32303aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 32313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_nm_interface="BSD nm" 32323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "int some_variable = 0;" > conftest.$ac_ext 32333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 32343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval "$ac_compile" 2>conftest.err) 32353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err >&AS_MESSAGE_LOG_FD 32363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 32373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 32383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err >&AS_MESSAGE_LOG_FD 32393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) 32403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.out >&AS_MESSAGE_LOG_FD 32413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $GREP 'External.*some_variable' conftest.out > /dev/null; then 32423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_nm_interface="MS dumpbin" 32433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 32443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -f conftest*]) 32453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_PATH_NM 32463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names: 32483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 32493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 32503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 32513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_NM], []) 32523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_NM], []) 32533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_LIB_M 32563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------- 32573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# check for math library 32583aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_LIB_M], 32593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl 32603aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBM= 32613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host in 32623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) 32633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # These system don't have libm, or don't need it 32643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-ncr-sysv4.3*) 32663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 32673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 32683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) 32703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_CHECK_LIB(m, cos, LIBM="-lm") 32713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 32723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 32733aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([LIBM]) 32743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_LIB_M 32753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 32773aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 32783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 32793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_CHECK_LIBM], []) 32803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_NO_RTTI([TAGNAME]) 32833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------- 32843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_NO_RTTI], 32853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_TAG_COMPILER])dnl 32863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 32883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then 32903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 32913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 32923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 32933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_compiler_rtti_exceptions, 32943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [-fno-rtti -fno-exceptions], [], 32953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 32963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 32973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 32983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Compiler flag to turn off builtin functions]) 32993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_NO_RTTI 33003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_GLOBAL_SYMBOLS 33033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------- 33043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 33053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl 33063aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_CC])dnl 33073aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl 33083aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_LD])dnl 33093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 33103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl 33113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl 33123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for command to grab the raw symbol name followed by C symbol from nm. 33143aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 33153aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 33163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 33173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# These are sane defaults that work on at least a few old systems. 33183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# [They come from Ultrix. What could be older than Ultrix?!! ;)] 33193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Character class describing NM global symbol codes. 33213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsymcode='[[BCDEGRST]]' 33223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Regexp to match symbols that can be accessed directly from C. 33243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 33253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Define system-specific variables. 33273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 33283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix*) 33293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[BCDT]]' 33303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin* | mingw* | pw32* | cegcc*) 33323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[ABCDGISTW]]' 33333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux*) 33353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 33363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[ABCDEGRST]]' 33373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 33383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix* | nonstopux*) 33403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[BCDEGRST]]' 33413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf*) 33433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[BCDEGQRST]]' 33443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*) 33463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[BDRT]]' 33473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsco3.2v5*) 33493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[DT]]' 33503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4.2uw2*) 33523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[DT]]' 33533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco5v6* | unixware* | OpenUNIX*) 33553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[ABDT]]' 33563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4) 33583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[DFNSTU]]' 33593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 33613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we're using GNU nm, then use its standard symbol codes. 33633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `$NM -V 2>&1` in 33643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*GNU* | *'with BFD'*) 33653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symcode='[[ABCDGIRSTW]]' ;; 33663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 33673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Transform an extracted symbol line into a proper C declaration. 33693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Some systems (esp. on ia64) link data and code symbols differently, 33703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# so use this general approach. 33713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 33723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Transform an extracted symbol line into symbol name and symbol address 33743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 33753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" 33763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Handle CRLF in mingw tool chain 33783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopt_cr= 33793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $build_os in 33803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmingw*) 33813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 33823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 33833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 33843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Try without a prefix underscore, then with it. 33863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor ac_symprfx in "" "_"; do 33873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 33893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev symxfrm="\\1 $ac_symprfx\\2 \\2" 33903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 33913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Write the raw and C identifiers. 33923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$lt_cv_nm_interface" = "MS dumpbin"; then 33933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Fake it for dumpbin and say T for any non-static function 33943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # and D for any global variable. 33953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Also find C++ and __fastcall symbols from MSVC++, 33963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # which start with @ or ?. 33973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_global_symbol_pipe="$AWK ['"\ 33983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" {last_section=section; section=\$ 3};"\ 33993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 34003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" \$ 0!~/External *\|/{next};"\ 34013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 34023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" {if(hide[section]) next};"\ 34033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ 34043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ 34053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" s[1]~/^[@?]/{print s[1], s[1]; next};"\ 34063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ 34073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" ' prfx=^$ac_symprfx]" 34083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 34093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 34103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check to see that the pipe works correctly. 34133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pipe_works=no 34143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -f conftest* 34163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat > conftest.$ac_ext <<_LT_EOF 34173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus 34183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevextern "C" { 34193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 34203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevchar nm_test_var; 34213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid nm_test_func(void); 34223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid nm_test_func(void){} 34233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus 34243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 34253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 34263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint main(){nm_test_var='a';nm_test_func();return(0);} 34273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 34283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile); then 34303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Now try to grab the symbols. 34313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev nlist=conftest.nm 34323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 34333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Try sorting and uniquifying the output. 34343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if sort "$nlist" | uniq > "$nlist"T; then 34353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mv -f "$nlist"T "$nlist" 34363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 34373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -f "$nlist"T 34383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure that we snagged all the symbols we need. 34413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 34423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 34433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF > conftest.$ac_ext 34443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus 34453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevextern "C" { 34463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 34473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 34493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Now generate the symbol file. 34503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 34513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF >> conftest.$ac_ext 34533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* The mapping between symbol names and symbols. */ 34553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevconst struct { 34563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev const char *name; 34573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev void *address; 34583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 34593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt__PROGRAM__LTX_preloaded_symbols[[]] = 34603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 34613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev { "@PROGRAM@", (void *) 0 }, 34623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 34633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 34643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<\_LT_EOF >> conftest.$ac_ext 34653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev {0, (void *) 0} 34663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}; 34673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* This works around a problem in FreeBSD linker */ 34693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef FREEBSD_WORKAROUND 34703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevstatic const void *lt_preloaded_setup() { 34713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return lt__PROGRAM__LTX_preloaded_symbols; 34723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 34733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 34743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 34753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus 34763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 34773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif 34783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 34793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Now try linking the two files. 34803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mv conftest.$ac_objext conftstm.$ac_objext 34813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_LIBS="$LIBS" 34823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_CFLAGS="$CFLAGS" 34833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LIBS="conftstm.$ac_objext" 34843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 34853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 34863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pipe_works=yes 34873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LIBS="$lt_save_LIBS" 34893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CFLAGS="$lt_save_CFLAGS" 34903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 34913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 34923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 34943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 34953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 34973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 34983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 34993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 35003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 35013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.$ac_ext >&5 35023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 35033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf conftest* conftst* 35043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Do not use the global_symbol_pipe unless it works. 35063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$pipe_works" = yes; then 35073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 35083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 35093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_global_symbol_pipe= 35103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 35113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 35123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 35133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_sys_global_symbol_pipe"; then 35143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_sys_global_symbol_to_cdecl= 35153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 35163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 35173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT(failed) 35183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 35193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT(ok) 35203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 35213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 35233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Take the output of nm and produce a listing of raw symbols and C names]) 35243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 35253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Transform the output of nm in a proper C declaration]) 35263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_c_name_address], 35273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_sys_global_symbol_to_c_name_address], [1], 35283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Transform the output of nm in a C name address pair]) 35293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 35303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 35313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Transform the output of nm in a C name address pair when lib prefix is needed]) 35323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) # _LT_CMD_GLOBAL_SYMBOLS 35333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_PIC([TAGNAME]) 35363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------- 35373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_PIC], 35383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_TAG_COMPILER])dnl 35393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_wl, $1)= 35403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_pic, $1)= 35413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_static, $1)= 35423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35433aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([for $compiler option to produce PIC]) 35443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX], [ 35453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # C++ specific cases for pic, static, wl, etc. 35463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 35473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 35483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 35493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 35513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix*) 35523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # All AIX code is PIC. 35533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 35543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 5 now supports IA64 processor 35553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 35563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 35573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev amigaos*) 35603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 35613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev powerpc) 35623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # see comment about AmigaOS4 .so support 35633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 35643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m68k) 35663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: we need at least 68020 code to build shared libraries, but 35673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # adding the `-m68020' flag to GCC prevents building anything better, 35683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # like `-m68040'. 35693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 35703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 35723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 35743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 35753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default for these OSes. 35763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mingw* | cygwin* | os2* | pw32* | cegcc*) 35783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This hack is so that the source file can tell whether it is being 35793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # built for inclusion in a dll (and should export symbols for example). 35803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Although the cygwin gcc ignores -fPIC, still need this for old-style 35813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # (--disable-auto-import) libraries 35823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$1], [GCJ], [], 35833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 35843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin* | rhapsody*) 35863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default on this platform 35873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Common symbols not allowed in MH_DYLIB files 35883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 35893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *djgpp*) 35913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # DJGPP does not support shared libraries at all 35923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)= 35933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix[[3-9]]*) 35953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Interix 3.x gcc -fpic/-fPIC options generate broken code. 35963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Instead, we relocate shared libraries at runtime. 35973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 35983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*MP*) 35993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d /usr/nec; then 36003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 36013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 36023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux*) 36043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 36053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 36063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # sets the default TLS model and affects inlining. 36073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 36083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 36093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 36123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *qnx* | *nto*) 36163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # QNX uses GNU C++, but need to define -shared option too, otherwise 36173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it will coredump. 36183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 36193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 36223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 36253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 36263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 36273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # All AIX code is PIC. 36283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 36293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 5 now supports IA64 processor 36303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 36313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 36323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 36333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 36343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev chorus*) 36363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 36373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxch68*) 36383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Green Hills C++ Compiler 36393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" 36403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dgux*) 36443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 36453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ec++*) 36463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 36473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ghcx*) 36493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Green Hills C++ Compiler 36503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 36513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd* | dragonfly*) 36573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FreeBSD uses GNU C++ 36583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux9* | hpux10* | hpux11*) 36603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 36613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 36623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 36633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 36643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" != ia64; then 36653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 36663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 36673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aCC*) 36693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 36703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 36713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 36723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*|ia64*) 36733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # +Z the default 36743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 36773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix*) 36853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This is c89, which is MS Visual C++ (no shared libs) 36863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Anyone wants to do a port? 36873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev irix5* | irix6* | nonstopux*) 36893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 36903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 36913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 36923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 36933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # CC pic flag -KPIC is the default. 36943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 36963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 36983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 36993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev linux* | k*bsd*-gnu) 37003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 37013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev KCC*) 37023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # KAI C++ Compiler 37033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 37043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 37053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ecpc* ) 37073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # old Intel C++ for x86_64 which still supported -KPIC. 37083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 37093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 37103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 37113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev icpc* ) 37133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Intel C++, used to be incompatible with GCC. 37143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ICC 10 doesn't accept -KPIC any more. 37153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 37163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 37173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 37183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pgCC* | pgcpp*) 37203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Portland Group C++ compiler 37213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 37223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 37233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 37243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 37263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Compaq C++ 37273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure the PIC flag is empty. It appears that all Alpha 37283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Linux and Compaq Tru64 Unix objects are PIC. 37293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)= 37303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 37313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev xlc* | xlC*) 37333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # IBM XL 8.0 on PPC 37343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 37353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 37363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 37373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 37393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1 | sed 5q` in 37403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ C*) 37413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 5.9 37423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 37433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 37443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 37453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 37473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 37493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lynxos*) 37513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m88k*) 37533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mvs*) 37553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 37563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 37573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 37583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 37603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 37623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev netbsd*) 37643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *qnx* | *nto*) 37663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # QNX uses GNU C++, but need to define -shared option too, otherwise 37673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it will coredump. 37683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 37693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3* | osf4* | osf5*) 37713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 37723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev KCC*) 37733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 37743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev RCC*) 37763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Rational C++ 2.4.1 37773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 37783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 37803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Digital/Compaq C++ 37813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 37823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure the PIC flag is empty. It appears that all Alpha 37833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Linux and Compaq Tru64 Unix objects are PIC. 37843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)= 37853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 37863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 37883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 37903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev psos*) 37923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 37933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris*) 37943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 37953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 37963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 4.2, 5.x and Centerline C++ 37973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 37983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 37993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 38003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev gcx*) 38023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Green Hills C++ Compiler 38033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 38043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 38063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sunos4*) 38103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 38113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 38123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 4.x 38133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 38143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 38153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lcc*) 38173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Lucid 38183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 38193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 38213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 38253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 38263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 38273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 38283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 38293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 38303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tandem*) 38343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 38353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev NCC*) 38363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # NonStop-UX NCC 3.20 38373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 38383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 38403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev vxworks*) 38443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 38463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 38473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 38503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], 38513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 38523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 38533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 38543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 38553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 38573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix*) 38583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # All AIX code is PIC. 38593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 38603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 5 now supports IA64 processor 38613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 38623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 38633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev amigaos*) 38663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 38673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev powerpc) 38683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # see comment about AmigaOS4 .so support 38693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 38703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m68k) 38723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: we need at least 68020 code to build shared libraries, but 38733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # adding the `-m68020' flag to GCC prevents building anything better, 38743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # like `-m68040'. 38753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 38763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 38783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 38813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default for these OSes. 38823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mingw* | cygwin* | pw32* | os2* | cegcc*) 38853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This hack is so that the source file can tell whether it is being 38863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # built for inclusion in a dll (and should export symbols for example). 38873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Although the cygwin gcc ignores -fPIC, still need this for old-style 38883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # (--disable-auto-import) libraries 38893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$1], [GCJ], [], 38903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 38913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin* | rhapsody*) 38943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default on this platform 38953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Common symbols not allowed in MH_DYLIB files 38963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 38973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 38983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 38993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux*) 39003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 39013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 39023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # sets the default TLS model and affects inlining. 39033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 39043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 39053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # +Z the default 39063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 39083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 39093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 39113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix[[3-9]]*) 39143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Interix 3.x gcc -fpic/-fPIC options generate broken code. 39153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Instead, we relocate shared libraries at runtime. 39163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev msdosdjgpp*) 39193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Just because we use GCC doesn't mean we suddenly get shared libraries 39203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # on systems that don't support them. 39213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 39223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev enable_shared=no 39233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *nto* | *qnx*) 39263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # QNX uses GNU C++, but need to define -shared option too, otherwise 39273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it will coredump. 39283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 39293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*MP*) 39323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d /usr/nec; then 39333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 39343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 39353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 39383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 39393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 39413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 39423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PORTME Check for flag to pass linker flags through the system compiler. 39433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 39443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix*) 39453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 39463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 39473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX 5 now supports IA64 processor 39483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 39493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 39503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 39513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 39523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mingw* | cygwin* | pw32* | os2* | cegcc*) 39553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This hack is so that the source file can tell whether it is being 39563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # built for inclusion in a dll (and should export symbols for example). 39573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m4_if([$1], [GCJ], [], 39583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 39593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux9* | hpux10* | hpux11*) 39623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 39633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 39643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # not for PA HP-UX. 39653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 39663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*|ia64*) 39673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # +Z the default 39683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 39703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 39713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 39733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Is there a better lt_prog_compiler_static that works with the bundled CC? 39743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 39753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev irix5* | irix6* | nonstopux*) 39783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 39793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PIC (with -KPIC) is the default. 39803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 39813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 39833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev linux* | k*bsd*-gnu) 39843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 39853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # old Intel for x86_64 which still supported -KPIC. 39863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ecc*) 39873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 39883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 39893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 39903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # icc used to be incompatible with GCC. 39923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ICC 10 doesn't accept -KPIC any more. 39933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev icc* | ifort*) 39943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 39953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 39963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 39973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 39983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Lahey Fortran 8.1. 39993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lf95*) 40003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 40023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 40033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pgcc* | pgf77* | pgf90* | pgf95*) 40053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Portland Group compilers (*not* the Pentium gcc compiler, 40063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # which looks to be a dead project) 40073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 40093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ccc*) 40123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # All Alpha code is PIC. 40143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 40153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev xl*) 40173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # IBM XL C 8.0/Fortran 10.1 on PPC 40183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 40203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 40213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 40233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1 | sed 5q` in 40243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ C*) 40253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C 5.9 40263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ F*) 40313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun Fortran 8.3 passes all unrecognized flags to the linker 40323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 40353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 40373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 40393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev newsos6) 40423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *nto* | *qnx*) 40473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # QNX uses GNU C++, but need to define -shared option too, otherwise 40483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it will coredump. 40493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 40503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3* | osf4* | osf5*) 40533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # All OSF/1 code is PIC. 40553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 40563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rdos*) 40593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 40603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris*) 40633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 40663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev f77* | f90* | f95*) 40673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 40683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 40693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 40703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 40713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sunos4*) 40743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 40753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 40763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4 | sysv4.2uw2* | sysv4.3*) 40803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*MP*) 40863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d /usr/nec ;then 40873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 40883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 40903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 40933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 40943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 40953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 40963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 40973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 40983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev unicos*) 40993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 41003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 41013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev uts4*) 41043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 41053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 41063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 41093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 41103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 41123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 41133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 41143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in 41153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # For platforms which do not support PIC, -DPIC is meaningless: 41163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *djgpp*) 41173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)= 41183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 41203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 41213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 41233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 41243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 41253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [How to pass a linker flag through the compiler]) 41263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 41283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to make sure the PIC flag actually works. 41293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 41303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 41313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 41323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 41333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 41343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 41353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev "" | " "*) ;; 41363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 41373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac], 41383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 41393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 41403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 41413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 41423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Additional compiler flags for building library objects]) 41433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 41453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to make sure the static flag actually works. 41463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 41473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 41483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 41493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 41503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $lt_tmp_static_flag, 41513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [], 41523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 41533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 41543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Compiler flag to prevent dynamic linking]) 41553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_PIC 41563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 41583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_SHLIBS([TAGNAME]) 41593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------- 41603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# See if the linker supports building shared libraries. 41613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_SHLIBS], 41623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PATH_LD])dnl 41633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl 41643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 41653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl 41663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl 41673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 41683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl 41693aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 41703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX], [ 41713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 41723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 41733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 41743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If we're using GNU nm, then we don't want the "-C" option. 41753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -C means demangle to AIX nm, but means don't demangle with GNU nm 41763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 41773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 41783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 41793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 41803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 41813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pw32*) 41833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 41843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | cegcc*) 41863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' 41873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 41893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 41903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 41913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 41923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 41933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [ 41943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var= 41953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)= 41963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=no 41973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)= 41983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)= 41993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_needs_object, $1)=no 42003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 42013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)= 42023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 42033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_automatic, $1)=no 42043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 42053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=no 42063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 42073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 42083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)= 42093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=no 42103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 42113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(inherit_rpath, $1)=no 42123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=unknown 42133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(module_cmds, $1)= 42143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(module_expsym_cmds, $1)= 42153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_from_new_cmds, $1)= 42163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 42173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(thread_safe_flag_spec, $1)= 42183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)= 42193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # include_expsyms should be a list of space-separated symbols to be *always* 42203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # included in the symbol list 42213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(include_expsyms, $1)= 42223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # exclude_expsyms can be an extended regexp of symbols to exclude 42233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it will be wrapped by ` (' and `)$', so one must not match beginning or 42243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 42253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # as well as any symbol that contains `d'. 42263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 42273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 42283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # platforms (ab)use it in PIC code, but their linkers get confused if 42293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the symbol is explicitly referenced. Since portable code cannot 42303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # rely on this symbol name, it's probably fine to never include it in 42313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # preloaded symbol tables. 42323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Exclude shared library initialization/finalization symbols. 42333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Note also adjust exclude_expsyms for C++ above. 42343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev extract_expsyms_cmds= 42353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 42373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | pw32* | cegcc*) 42383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: the MSVC++ port hasn't been tested in a loooong time 42393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # When not using gcc, we currently assume that we are using 42403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Microsoft Visual C++. 42413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" != yes; then 42423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=no 42433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 42443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 42453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix*) 42463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # we just hope/assume this is gcc and not c89 (= MSVC++) 42473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=yes 42483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 42493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd*) 42503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=no 42513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 42523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 42533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=yes 42553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = yes; then 42563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If archive_cmds runs LD, not CC, wlarc should be empty 42573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc='${wl}' 42583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Set some defaults for GNU ld with shared library support. These 42603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # are reset later if shared libraries are not supported. Putting them 42613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # here allows them to be overridden if necessary. 42623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var=LD_RUN_PATH 42633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 42643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 42653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ancient GNU ld didn't support --whole-archive et. al. 42663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 42673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 42683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 42693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)= 42703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 42713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev supports_anon_versioning=no 42723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$LD -v 2>&1` in 42733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 42743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 42753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 42763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ 2.11.*) ;; # other 2.11 versions 42773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) supports_anon_versioning=yes ;; 42783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 42793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # See if GNU ld supports shared libraries. 42813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 42823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[3-9]]*) 42833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On AIX/PPC, the GNU linker is very broken 42843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" != ia64; then 42853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 42863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF 1>&2 42873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: the GNU linker, at least up to release 2.9.1, is reported 42893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** to be unable to reliably create shared libraries on AIX. 42903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Therefore, libtool is disabling shared libraries support. If you 42913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** really care for shared libraries, you may want to modify your PATH 42923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** so that a non-GNU linker is found, and then restart. 42933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 42953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 42963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 42973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 42983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev amigaos*) 42993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 43003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev powerpc) 43013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # see comment about AmigaOS4 .so support 43023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 43033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='' 43043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m68k) 43063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' 43073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 43083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 43093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 43113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 43133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev beos*) 43143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 43153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 43163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 43173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # support --undefined. This deserves some investigation. FIXME 43183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 43193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 43203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 43213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 43223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 43243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | pw32* | cegcc*) 43253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 43263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # as there is no search path for DLLs. 43273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 43283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 43293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=no 43303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 43313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' 43323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 43333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 43343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 43353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If the export-symbols file already is a .def file (1st line 43363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # is EXPORTS), use it as is; otherwise, prepend... 43373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 43383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cp $export_symbols $output_objdir/$soname.def; 43393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 43403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo EXPORTS > $output_objdir/$soname.def; 43413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat $export_symbols >> $output_objdir/$soname.def; 43423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi~ 43433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 43443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 43453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 43463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 43473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 43493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix[[3-9]]*) 43503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 43513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 43523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 43533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 43543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 43553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Instead, shared libraries are loaded at an image base (0x10000000 by 43563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # default) and relocated if they conflict, which is a slow very memory 43573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # consuming and fragmenting process. To avoid this, we pick a random, 43583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 43593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # time. Moving up from 0x10000000 also allows more sbrk(2) space. 43603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 43613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 43623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 43643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev gnu* | linux* | tpf* | k*bsd*-gnu) 43653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_diet=no 43663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_os" = linux-dietlibc; then 43673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 43683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 43693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 43703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 43713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 43723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev && test "$tmp_diet" = no 43733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 43743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag= 43753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_sharedflag='-shared' 43763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename,$host_cpu in 43773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pgcc*) # Portland Group C compiler 43783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 43793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag=' $pic_flag' 43803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 43813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers 43823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 43833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag=' $pic_flag -Mnomain' ;; 43843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 43853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag=' -i_dynamic' ;; 43863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 43873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag=' -i_dynamic -nofor_main' ;; 43883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ifc* | ifort*) # Intel Fortran compiler 43893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag=' -nofor_main' ;; 43903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lf95*) # Lahey Fortran 8.1 43913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)= 43923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_sharedflag='--shared' ;; 43933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 43943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_sharedflag='-qmkshrobj' 43953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_addflag= ;; 43963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 43973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1 | sed 5q` in 43983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ C*) # Sun C 5.9 43993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 44003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_needs_object, $1)=yes 44013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_sharedflag='-G' ;; 44023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ F*) # Sun Fortran 8.3 44033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_sharedflag='-G' ;; 44043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 44053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 44063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$supports_anon_versioning" = xyes; then 44083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 44093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 44103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "local: *; };" >> $output_objdir/$libname.ver~ 44113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 44123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 44153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev xlf*) 44163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 44173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 44183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 44193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' 44203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' 44213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$supports_anon_versioning" = xyes; then 44223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 44233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 44243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "local: *; };" >> $output_objdir/$libname.ver~ 44253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 44263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 44293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 44303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 44313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev netbsd*) 44353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 44363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 44373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc= 44383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 44393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 44403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 44413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris*) 44453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 44463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 44473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF 1>&2 44483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: The releases 2.8.* of the GNU linker cannot reliably 44503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** create shared libraries on Solaris systems. Therefore, libtool 44513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** is disabling shared libraries support. We urge you to upgrade GNU 44523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** binutils to release 2.9.1 or newer. Another option is to modify 44533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** your PATH or compiler configuration so that the native linker is 44543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** used, and then restart. 44553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 44573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 44583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 44593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 44603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 44613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 44623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 44663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$LD -v 2>&1` in 44673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 44683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 44693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat <<_LT_EOF 1>&2 44703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not 44723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** reliably create shared libraries on SCO systems. Therefore, libtool 44733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** is disabling shared libraries support. We urge you to upgrade GNU 44743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 44753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** your PATH or compiler configuration so that the native linker is 44763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** used, and then restart. 44773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 44793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 44813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # For security reasons, it is highly recommended that you always 44823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # use absolute paths for naming shared libraries, and exclude the 44833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # DT_RUNPATH tag from executables and libraries. But doing so 44843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # requires that you compile everything twice, which is a pain. 44853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 44863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 44873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 44883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 44893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 44903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 44913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 44923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 44943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 44953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 44963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sunos4*) 44973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 44983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc= 44993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 45003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 45013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 45023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 45043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 45053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 45063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 45073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 45083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 45093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 45113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 45123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then 45143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var= 45153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 45163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)= 45173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)= 45183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 45203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PORTME fill in a description of your system's linker (not GNU ld) 45213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 45223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 45233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 45243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=yes 45253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' 45263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Note: this linker hardcodes the directories in LIBPATH if there 45273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # are no directories specified by -L. 45283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 45293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then 45303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Neither direct hardcoding nor static linking is supported with a 45313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # broken collect2. 45323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=unsupported 45333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 45353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 45373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 45383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On IA64, the linker does run time linking by default, so we don't 45393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # have to do anything special. 45403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=no 45413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exp_sym_flag='-Bexport' 45423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev no_entry_flag="" 45433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 45443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If we're using GNU nm, then we don't want the "-C" option. 45453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -C means demangle to AIX nm, but means don't demangle with GNU nm 45463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 45473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 45483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 45493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 45503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=no 45523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Test if we are trying to use run time linking or normal 45543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX style linking. If -brtl is somewhere in LDFLAGS, we 45553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # need to do runtime linking. 45563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 45573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ld_flag in $LDFLAGS; do 45583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 45593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=yes 45603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 45613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 45633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 45643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 45653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exp_sym_flag='-bexport' 45673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev no_entry_flag='-bnoentry' 45683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 45693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # When large executables or shared objects are built, AIX ld can 45713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # have problems creating the table of contents. If linking a library 45723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # or program results in "error TOC overflow" add -mminimal-toc to 45733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 45743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 45753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='' 45773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 45783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 45793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 45803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 45813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 45823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 45833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 45843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in aix4.[[012]]|aix4.[[012]].*) 45853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We only want to do this on AIX 4.2 and lower, the check 45863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # below for broken collect2 doesn't work under 4.3+ 45873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev collect2name=`${CC} -print-prog-name=collect2` 45883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f "$collect2name" && 45893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev strings "$collect2name" | $GREP resolve_lib_name >/dev/null 45903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 45913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We have reworked collect2 45923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 45933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 45943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We have old collect2 45953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=unsupported 45963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # It fails to find uninstalled libraries when the uninstalled 45973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # path is not listed in the libpath. Setting hardcode_minus_L 45983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to unsupported forces relinking 45993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 46003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 46013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)= 46023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 46053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='-shared' 46063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 46073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag="$shared_flag "'${wl}-G' 46083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 46103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # not using gcc 46113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 46123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 46133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # chokes on -Wl,-G. The following line is correct: 46143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='-G' 46153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 46163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 46173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='${wl}-G' 46183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 46193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='${wl}-bM:SRE' 46203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 46243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 46253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # It seems that -bexpall does not export symbols beginning with 46263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # underscore (_), so it is better to generate a list of symbols to export. 46273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=yes 46283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 46293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Warning - without using the other runtime loading flags (-brtl), 46303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -berok will link without error, but may produce a broken library. 46313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 46323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Determine the default libpath from the value encoded in an 46333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # empty executable. 46343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_MODULE_PATH_AIX 46353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 46363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 46373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 46383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 46393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 46403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 46413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" 46423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 46433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Determine the default libpath from the value encoded in an 46443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # empty executable. 46453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_MODULE_PATH_AIX 46463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 46473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Warning - without using the other run time loading flags, 46483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -berok will link without error, but may produce a broken library. 46493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 46503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 46513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Exported symbols can be pulled into shared objects from archives 46523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 46533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 46543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This is similar to how AIX traditionally builds its shared libraries. 46553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 46563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 46583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 46603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev amigaos*) 46613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 46623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev powerpc) 46633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # see comment about AmigaOS4 .so support 46643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 46653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='' 46663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m68k) 46683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' 46693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 46703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 46713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 46733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 46753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev bsdi[[45]]*) 46763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 46773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 46793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | pw32* | cegcc*) 46803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # When not using gcc, we currently assume that we are using 46813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Microsoft Visual C++. 46823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # hardcode_libdir_flag_spec is actually meaningless, as there is 46833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # no search path for DLLs. 46843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 46853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 46863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Tell ltmain to make .lib files, not .a files. 46873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libext=lib 46883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Tell ltmain to make .dll files, not .so files. 46893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shrext_cmds=".dll" 46903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: Setting linknames here is a bad hack. 46913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 46923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The linker will automatically build a .lib file if we build a DLL. 46933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 46943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: Should let the user specify the lib program. 46953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 46963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' 46973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 46983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 46993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin* | rhapsody*) 47013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DARWIN_LINKER_FEATURES($1) 47023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dgux*) 47053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 47063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 47073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 47083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd1*) 47113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 47123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 47153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # support. Future versions do this automatically, but an explicit c++rt0.o 47163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # does not break anything, and helps significantly (at the cost of a little 47173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # extra space). 47183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd2.2*) 47193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 47203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 47213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 47223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 47233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Unfortunately, older versions of FreeBSD 2 do not have this feature. 47263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd2*) 47273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 47283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 47293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 47303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 47313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 47343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd* | dragonfly*) 47353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 47363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 47373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 47383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 47393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux9*) 47423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 47433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 47443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 47453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 47463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 47473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 47483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 47493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 47503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # hardcode_minus_L: Not really in the search PATH, 47523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but as the default location of the library. 47533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 47543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 47553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux10*) 47583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes -a "$with_gnu_ld" = no; then 47593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 47603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 47613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 47623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 47633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = no; then 47643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 47653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' 47663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 47673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 47683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 47693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 47703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # hardcode_minus_L: Not really in the search PATH, 47713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but as the default location of the library. 47723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 47733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 47743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 47763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux11*) 47773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes -a "$with_gnu_ld" = no; then 47783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 47793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 47803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 47813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 47833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 47843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 47863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 47873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 47893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 47903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 47913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 47923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 47933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 47953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 47963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 47973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 47983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 47993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 48013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = no; then 48033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 48043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 48053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 48073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*|ia64*) 48083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 48093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 48103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 48123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 48133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 48143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 48153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # hardcode_minus_L: Not really in the search PATH, 48173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but as the default location of the library. 48183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 48193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 48213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev irix5* | irix6* | nonstopux*) 48253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 48263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 48273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Try to use the -exported_symbol ld option, if it does not 48283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # work, assume that -exports_file does not work either and 48293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # implicitly export all symbols. 48303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev save_LDFLAGS="$LDFLAGS" 48313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 48323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_LINK_IFELSE(int foo(void) {}, 48333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' 48343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ) 48353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDFLAGS="$save_LDFLAGS" 48363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 48373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 48383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' 48393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 48413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 48423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 48433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(inherit_rpath, $1)=yes 48443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 48453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev netbsd*) 48483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 48493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 48503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 48513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 48523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 48543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 48553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 48563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev newsos6) 48593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 48603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 48613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 48623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 48633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 48643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *nto* | *qnx*) 48673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd*) 48703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f /usr/libexec/ld.so; then 48713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 48723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 48733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 48743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 48753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 48763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' 48773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 48783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 48793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 48803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 48813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 48823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 48833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 48843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 48863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 48873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 48883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 48903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 48923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 48933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 48943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 48953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 48963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev os2*) 48973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 48983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 48993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 49003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' 49013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 49023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3*) 49053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 49063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 49073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 49083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 49093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 49103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 49113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 49123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 49133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 49143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 49153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf4* | osf5*) # as osf3* with the addition of -msym flag 49183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 49193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 49203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 49213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 49223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 49233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 49243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 49253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ 49263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' 49273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Both c and cxx compiler support -rpath directly 49293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 49303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 49313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 49323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 49333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris*) 49363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 49373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 49383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc='${wl}' 49393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 49403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 49413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 49423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 49433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1` in 49443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *"Compilers 5.0"*) 49453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc='' 49463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 49473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 49483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 49493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 49513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc='${wl}' 49523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' 49533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 49543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 49553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 49573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 49583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 49593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 49603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 49613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 49623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 49633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The compiler driver will combine and reorder linker options, 49643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but understands `-z linker_flag'. GCC discards it without `$wl', 49653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but is careful enough not to reorder. 49663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Supported since Solaris 2.6 (maybe 2.5.1?) 49673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 49683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 49693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 49703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 49713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 49723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 49743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 49753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sunos4*) 49783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$host_vendor" = xsequent; then 49793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Use $CC to link under sequent, because it throws in some extra .o 49803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # files that make .init and .fini sections work. 49813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 49823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 49833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 49843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 49853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 49863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 49873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 49883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 49893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 49913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4) 49923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_vendor in 49933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sni) 49943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 49953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 49963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 49973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev siemens) 49983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## LD is ld it makes a PLAMLIB 49993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## CC just makes a GrossModule. 50003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 50013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 50023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 50033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev motorola) 50053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 50063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 50073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 50093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var='LD_RUN_PATH' 50103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4.3*) 50143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 50153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 50173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*MP*) 50203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -d /usr/nec; then 50213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 50223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var=LD_RUN_PATH 50243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hardcode_runpath_var=yes 50253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=yes 50263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 50273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 50303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 50313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 50323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var='LD_RUN_PATH' 50343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 50363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 50393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 50423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | sco3.2v5* | sco5v6*) 50453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Note: We can NOT use -z defs as we might desire, because we do not 50463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # link with -lc, and that would cause any symbols used from libc to 50473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # always be unresolved, which means just about no library would 50483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ever link correctly. If we're not using GNU ld we use -z text 50493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # though, which does catch some bad symbols but isn't as heavy-handed 50503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # as -z defs. 50513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 50523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 50533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 50543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 50563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 50573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 50583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 50593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var='LD_RUN_PATH' 50603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GCC" = yes; then 50623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 50653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 50673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 50683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev uts4*) 50713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 50723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 50733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 50743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 50773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 50783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 50803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test x$host_vendor = xsni; then 50823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 50833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 50843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' 50853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 50863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 50873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 50883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 50893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 50903aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 50913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 50923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 50943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 50953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 50963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 50973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [extract_expsyms_cmds], [2], 50983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [The commands to extract the exported symbol list from a shared archive]) 50993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 51003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 51013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Do we need to explicitly link libc? 51023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 51033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 51043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevx|xyes) 51053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Assume -lc should be added 51063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 51073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 51083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$enable_shared" = yes && test "$GCC" = yes; then 51093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $_LT_TAGVAR(archive_cmds, $1) in 51103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *'~'*) 51113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: we may have to deal with multi-command sequences. 51123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 51133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev '$CC '*) 51143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Test whether the compiler implicitly links with -lc since on some 51153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # systems, -lgcc has to come before -lc. If gcc already passes -lc 51163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to ld, don't add -lc before -lgcc. 51173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 51183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 51193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "$lt_simple_compile_test_code" > conftest.$ac_ext 51203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 51213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 51223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev soname=conftest 51233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lib=conftest 51243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libobjs=conftest.$ac_objext 51253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev deplibs= 51263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 51273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 51283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compiler_flags=-v 51293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev linker_flags=-v 51303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev verstring= 51313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_objdir=. 51323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev libname=conftest 51333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 51343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)= 51353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 51363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 51373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 51383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 51393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 51403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 51413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 51423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 51433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.err 1>&5 51443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 51453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM conftest* 51463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) 51473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 51483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 51493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 51503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 51513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 51523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 51533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 51543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether or not to add -lc for building shared libraries]) 51553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 51563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [enable_shared_with_static_runtimes], [0], 51573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether or not to disallow shared libs when runtime libs are static]) 51583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 51593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Compiler flag to allow reflexive dlopens]) 51603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [whole_archive_flag_spec], [1], 51613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Compiler flag to generate shared objects directly from archives]) 51623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_needs_object], [1], 51633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether the compiler copes with passing no objects directly]) 51643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 51653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Create an old-style archive from a shared archive]) 51663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 51673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Create a temporary old-style archive to link instead of a shared archive]) 51683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 51693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [archive_expsym_cmds], [2]) 51703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [module_cmds], [2], 51713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Commands used to build a loadable module if different from building 51723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev a shared archive.]) 51733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [module_expsym_cmds], [2]) 51743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [with_gnu_ld], [1], 51753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether we are building with GNU ld or not]) 51763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [allow_undefined_flag], [1], 51773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Flag that allows shared libraries with undefined symbols to be built]) 51783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [no_undefined_flag], [1], 51793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Flag that enforces no undefined symbols]) 51803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 51813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Flag to hardcode $libdir into a binary during linking. 51823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev This must work even if $libdir does not exist]) 51833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], 51843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [[If ld is used when linking, flag to hardcode $libdir into a binary 51853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev during linking. This must work even if $libdir does not exist]]) 51863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_separator], [1], 51873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether we need a single "-rpath" flag with a separated argument]) 51883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_direct], [0], 51893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 51903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev DIR into the resulting binary]) 51913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_direct_absolute], [0], 51923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 51933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev DIR into the resulting binary and the resulting library dependency is 51943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev "absolute", i.e impossible to change by setting ${shlibpath_var} if the 51953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev library is relocated]) 51963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_minus_L], [0], 51973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 51983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev into the resulting binary]) 51993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 52003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 52013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev into the resulting binary]) 52023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_automatic], [0], 52033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if building a shared library automatically hardcodes DIR 52043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev into the library and all subsequent libraries and executables linked 52053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev against it]) 52063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [inherit_rpath], [0], 52073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to yes if linker adds runtime paths of dependent libraries 52083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev to runtime path list]) 52093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [link_all_deplibs], [0], 52103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Whether libtool must link a program against all its dependency libraries]) 52113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [fix_srcfile_path], [1], 52123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Fix the shell variable $srcfile for the compiler]) 52133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [always_export_symbols], [0], 52143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Set to "yes" if exported symbols are required]) 52153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [export_symbols_cmds], [2], 52163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [The commands to list exported symbols]) 52173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [exclude_expsyms], [1], 52183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Symbols that should not be listed in the preloaded symbols]) 52193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [include_expsyms], [1], 52203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Symbols that must always be exported]) 52213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [prelink_cmds], [2], 52223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Commands necessary for linking programs (against libraries) with templates]) 52233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [file_list_spec], [1], 52243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Specify filename containing input files]) 52253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl FIXME: Not yet implemented 52263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 52273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl [Compiler flag to generate thread safe objects]) 52283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_SHLIBS 52293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_C_CONFIG([TAG]) 52323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------ 52333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a C compiler are suitably 52343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# defined. These variables are subsequently used by _LT_CONFIG to write 52353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the compiler configuration to `libtool'. 52363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_C_CONFIG], 52373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])dnl 52383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC" 52393aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(C) 52403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for C test sources. 52423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=c 52433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled C test sources. 52453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 52463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 52473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests 52493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code="int some_variable = 0;" 52503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests 52523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code='int main(){return(0);}' 52533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER 52553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Save the default compiler, since it gets overwritten when the other 52563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 52573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler_DEFAULT=$CC 52583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code 52603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE 52613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE 52623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## CAVEAT EMPTOR: 52643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## There is no encapsulation within the following macros, do not change 52653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## the running order or otherwise move them around unless you know exactly 52663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## what you are doing... 52673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then 52683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_NO_RTTI($1) 52693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_PIC($1) 52703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_C_O($1) 52713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_FILE_LOCKS($1) 52723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_SHLIBS($1) 52733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_DYNAMIC_LINKER($1) 52743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_HARDCODE_LIBPATH($1) 52753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LT_SYS_DLOPEN_SELF 52763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CMD_STRIPLIB 52773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Report which library types will actually be built 52793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([if libtool supports shared libraries]) 52803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$can_build_shared]) 52813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build shared libraries]) 52833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$can_build_shared" = "no" && enable_shared=no 52843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On AIX, shared libraries and static libraries use the same namespace, and 52863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # are all built from PIC. 52873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 52883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 52893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 52903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$RANLIB"; then 52913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev archive_cmds="$archive_cmds~\$RANLIB \$lib" 52923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='$RANLIB $lib' 52933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 52943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 52953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 52963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 52973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 52983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 52993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 53003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 53013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 53023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_shared]) 53033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build static libraries]) 53053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure either enable_shared or enable_static is yes. 53063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes || enable_static=yes 53073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_static]) 53083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 53103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 53113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP 53123aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC" 53133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_C_CONFIG 53143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_CXX 53173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------ 53183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ 53193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# compiler, we have our own version here. 53203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_CXX], 53213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 53223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) 53233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_CXX 53243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$CXX" && ( test "X$CXX" != "Xno" && 53253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || 53263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev (test "X$CXX" != "Xg++"))) ; then 53273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_PROG_CXXCPP 53283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 53293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_caught_CXX_error=yes 53303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 53313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR]) 53323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_CXX 53333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 53353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_CXX], []) 53363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_CXX_CONFIG([TAG]) 53393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------- 53403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a C++ compiler are suitably 53413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# defined. These variables are subsequently used by _LT_CONFIG to write 53423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the compiler configuration to `libtool'. 53433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_CXX_CONFIG], 53443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_CXX])dnl 53453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl 53463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl 53473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(C++) 53493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no 53503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)= 53513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no 53523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)= 53533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler_needs_object, $1)=no 53543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)= 53553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no 53563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no 53573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 53583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 53593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)= 53603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no 53613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 53623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no 53633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no 53643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)= 53653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)= 53663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown 53673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 53683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)= 53693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)= 53703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 53713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for C++ test sources. 53733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=cpp 53743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled C++ test sources. 53763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 53773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 53783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that 53803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the CXX compiler isn't working. Some variables (like enable_shared) 53813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform, 53823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler. 53833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_caught_CXX_error" != yes; then 53843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple compile tests 53853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_compile_test_code="int some_variable = 0;" 53863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple link tests 53883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 53893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ltmain only uses $CC for tagged configurations so make sure $CC is set. 53913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAG_COMPILER 53923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # save warnings/boilerplate of simple test code 53943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_BOILERPLATE 53953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_BOILERPLATE 53963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 53973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Allow CC to be a program name with arguments. 53983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_CC=$CC 53993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_LD=$LD 54003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_GCC=$GCC 54013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$GXX 54023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_with_gnu_ld=$with_gnu_ld 54033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_path_LD=$lt_cv_path_LD 54043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 54053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 54063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $as_unset lt_cv_prog_gnu_ld 54083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "${lt_cv_path_LDCXX+set}"; then 54103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_LD=$lt_cv_path_LDCXX 54113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $as_unset lt_cv_path_LD 54133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "${LDCXX+set}" || LD=$LDCXX 54153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC=${CXX-"c++"} 54163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compiler=$CC 54173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler, $1)=$CC 54183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CC_BASENAME([$compiler]) 54193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$compiler"; then 54213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We don't want -fno-exception when compiling C++ code, so set the 54223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # no_builtin_flag separately 54233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 54243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 54253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 54273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 54303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Set up default GNU C++ configuration 54313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LT_PATH_LD 54333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check if GNU C++ uses GNU ld as the underlying linker, since the 54353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # archiving commands below assume that GNU ld is being used. 54363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = yes; then 54373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 54383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 54393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 54413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 54423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If archive_cmds runs LD, not CC, wlarc should be empty 54443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 54453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # investigate it a little bit more. (MM) 54463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc='${wl}' 54473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ancient GNU ld didn't support --whole-archive et. al. 54493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if eval "`$CC -print-prog-name=ld` --help 2>&1" | 54503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $GREP 'no-whole-archive' > /dev/null; then 54513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 54523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)= 54543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=no 54573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc= 54583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # A generic and very simple default shared library creation 54603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # command for GNU C++ for the case where it uses the native 54613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linker, instead of GNU ld. If possible, this setting should 54623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # overridden to take advantage of the native linker features on 54633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the platform it is being used on. 54643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 54653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 54683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 54693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 54703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 54713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GXX=no 54743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=no 54753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc= 54763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 54773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # PORTME: fill in a description of your system's C++ link characteristics 54793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 54803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=yes 54813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 54823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 54833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 54843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 54853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 54863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 54873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 54883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On IA64, the linker does run time linking by default, so we don't 54893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # have to do anything special. 54903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=no 54913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exp_sym_flag='-Bexport' 54923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev no_entry_flag="" 54933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 54943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=no 54953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 54963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Test if we are trying to use run time linking or normal 54973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # AIX style linking. If -brtl is somewhere in LDFLAGS, we 54983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # need to do runtime linking. 54993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 55003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ld_flag in $LDFLAGS; do 55013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $ld_flag in 55023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *-brtl*) 55033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix_use_runtimelinking=yes 55043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 55053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 55063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 55073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 55083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 55093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 55103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev exp_sym_flag='-bexport' 55123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev no_entry_flag='-bnoentry' 55133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # When large executables or shared objects are built, AIX ld can 55163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # have problems creating the table of contents. If linking a library 55173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # or program results in "error TOC overflow" add -mminimal-toc to 55183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 55193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 55203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='' 55223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 55233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 55243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 55253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 55263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 55273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 55293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in aix4.[[012]]|aix4.[[012]].*) 55303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We only want to do this on AIX 4.2 and lower, the check 55313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # below for broken collect2 doesn't work under 4.3+ 55323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev collect2name=`${CC} -print-prog-name=collect2` 55333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f "$collect2name" && 55343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev strings "$collect2name" | $GREP resolve_lib_name >/dev/null 55353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev then 55363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We have reworked collect2 55373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 55383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # We have old collect2 55403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=unsupported 55413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # It fails to find uninstalled libraries when the uninstalled 55423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # path is not listed in the libpath. Setting hardcode_minus_L 55433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to unsupported forces relinking 55443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes 55453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 55463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)= 55473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 55493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='-shared' 55503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 55513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag="$shared_flag "'${wl}-G' 55523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # not using gcc 55553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 55563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 55573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # chokes on -Wl,-G. The following line is correct: 55583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='-G' 55593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 55613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='${wl}-G' 55623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev shared_flag='${wl}-bM:SRE' 55643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 55673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 55693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # It seems that -bexpall does not export symbols beginning with 55703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # underscore (_), so it is better to generate a list of symbols to 55713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # export. 55723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=yes 55733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$aix_use_runtimelinking" = yes; then 55743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Warning - without using the other runtime loading flags (-brtl), 55753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -berok will link without error, but may produce a broken library. 55763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 55773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Determine the default libpath from the value encoded in an empty 55783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # executable. 55793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_MODULE_PATH_AIX 55803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 55813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 55823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 55833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" = ia64; then 55853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 55863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 55873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" 55883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 55893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Determine the default libpath from the value encoded in an 55903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # empty executable. 55913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_MODULE_PATH_AIX 55923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 55933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Warning - without using the other run time loading flags, 55943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -berok will link without error, but may produce a broken library. 55953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 55963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 55973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Exported symbols can be pulled into shared objects from archives 55983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 55993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 56003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This is similar to how AIX traditionally builds its shared 56013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # libraries. 56023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' 56033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 56043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 56053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev beos*) 56083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 56093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 56103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 56113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # support --undefined. This deserves some investigation. FIXME 56123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 56133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 56143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 56163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev chorus*) 56193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 56203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 56213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 56223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 56253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cygwin* | mingw* | pw32* | cegcc*) 56283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 56293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # as there is no search path for DLLs. 56303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 56313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 56323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(always_export_symbols, $1)=no 56333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 56343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 56363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 56373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # If the export-symbols file already is a .def file (1st line 56383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # is EXPORTS), use it as is; otherwise, prepend... 56393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 56403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cp $export_symbols $output_objdir/$soname.def; 56413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 56423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo EXPORTS > $output_objdir/$soname.def; 56433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat $export_symbols >> $output_objdir/$soname.def; 56443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi~ 56453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 56463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 56473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 56493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev darwin* | rhapsody*) 56513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_DARWIN_LINKER_FEATURES($1) 56523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev dgux*) 56553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 56563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ec++*) 56573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 56583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ghcx*) 56613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Green Hills C++ Compiler 56623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 56633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 56663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 56673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 56703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd[[12]]*) 56733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # C++ shared libraries reported to be fairly broken before 56743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # switch to ELF 56753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 56763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd-elf*) 56793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 56803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev freebsd* | dragonfly*) 56833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 56843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # conventions 56853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=yes 56863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev gnu*) 56893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 56903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 56913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux9*) 56923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 56933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 56943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 56953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 56963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 56973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but as the default 56983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # location of the library. 56993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 57003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 57013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 57023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 57033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 57043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aCC*) 57063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 57073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 57083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 57093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 57103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 57113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # There doesn't appear to be a way to prevent this compiler from 57123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # explicitly linking system object files so we need to strip them 57133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # from the output so that they don't get included in the library 57143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # dependencies. 57153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 57163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 57193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' 57203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 57213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 57223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 57233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 57243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 57263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 57283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hpux10*|hpux11*) 57293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test $with_gnu_ld = no; then 57303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 57313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 57323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 57333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 57343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*|ia64*) 57353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 57383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 57403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 57413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 57423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*|ia64*) 57433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 57443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 57453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 57483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 57493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 57503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but as the default 57513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # location of the library. 57523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 57543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 57553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 57563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 57573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 57583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 57593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aCC*) 57613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 57623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 57633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 57663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 57723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 57733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 57743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 57753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 57763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # There doesn't appear to be a way to prevent this compiler from 57773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # explicitly linking system object files so we need to strip them 57783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # from the output so that they don't get included in the library 57793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # dependencies. 57803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 57813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 57843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test $with_gnu_ld = no; then 57853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 57863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev hppa*64*) 57873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) 57903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 57933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 57943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 57953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 57963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 57973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 57983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 57993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 58003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 58013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 58033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev interix[[3-9]]*) 58063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=no 58073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 58083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 58093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 58103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 58113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Instead, shared libraries are loaded at an image base (0x10000000 by 58123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # default) and relocated if they conflict, which is a slow very memory 58133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # consuming and fragmenting process. To avoid this, we pick a random, 58143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 58153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # time. Moving up from 0x10000000 also allows more sbrk(2) space. 58163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 58173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' 58183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev irix5* | irix6*) 58203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 58213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 58223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # SGI C++ 58233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 58243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Archives containing C++ object files must be created using 58263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # "CC -ar", where "CC" is the IRIX C++ compiler. This is 58273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # necessary to make sure instantiated templates are included 58283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # in the archive. 58293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 58303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 58323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes; then 58333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$with_gnu_ld" = no; then 58343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 58353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 58363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' 58373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 58383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 58393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 58403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 58423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 58433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 58443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(inherit_rpath, $1)=yes 58453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev linux* | k*bsd*-gnu) 58483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 58493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev KCC*) 58503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Kuck and Associates, Inc. (KAI) C++ Compiler 58513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # KCC will only create a shared library if the output file 58533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ends with ".so" (or ".sl" for HP-UX), so rename the library 58543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to its proper name (with version) after linking. 58553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 58563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' 58573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 58583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 58593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 58603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 58613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # There doesn't appear to be a way to prevent this compiler from 58623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # explicitly linking system object files so we need to strip them 58633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # from the output so that they don't get included in the library 58643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # dependencies. 58653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 58663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 58683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 58693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 58703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Archives containing C++ object files must be created using 58713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # "CC -Bstatic", where "CC" is the KAI C++ compiler. 58723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 58733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev icpc* | ecpc* ) 58753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Intel C++ 58763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=yes 58773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # version 8.0 and above of icpc choke on multiply defined symbols 58783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # if we add $predep_objects and $postdep_objects, however 7.1 and 58793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # earlier do not add the objects themselves. 58803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1` in 58813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *"Version 7."*) 58823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 58833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 58843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # Version 8.0 or newer 58863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tmp_idyn= 58873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_cpu in 58883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ia64*) tmp_idyn=' -i_dynamic';; 58893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 58903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 58913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' 58923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 58943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 58953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 58963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 58973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 58983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 58993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pgCC* | pgcpp*) 59003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Portland Group C++ compiler 59013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V` in 59023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) 59033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 59043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf $tpldir~ 59053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 59063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' 59073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 59083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf $tpldir~ 59093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 59103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ 59113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RANLIB $oldlib' 59123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 59133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf $tpldir~ 59143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 59153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 59163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 59173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -rf $tpldir~ 59183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 59193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 59203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # Version 6 will use weak symbols 59223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 59233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 59243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 59263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 59283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 59293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 59303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 59323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Compaq C++ 59333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 59343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' 59353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var=LD_RUN_PATH 59373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 59383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 59393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 59413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 59423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 59433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 59443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # There doesn't appear to be a way to prevent this compiler from 59453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # explicitly linking system object files so we need to strip them 59463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # from the output so that they don't get included in the library 59473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # dependencies. 59483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 59493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev xl*) 59513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # IBM XL 8.0 on PPC, with GNU ld 59523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 59533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 59543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 59553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "x$supports_anon_versioning" = xyes; then 59563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 59573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 59583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "local: *; };" >> $output_objdir/$libname.ver~ 59593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 59603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 59613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 59633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1 | sed 5q` in 59643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ C*) 59653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 5.9 59663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 59673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 59683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' 59693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 59703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 59713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_needs_object, $1)=yes 59723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Not sure whether something based on 59743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 59753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # would be better. 59763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='echo' 59773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Archives containing C++ object files must be created using 59793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # "CC -xar", where "CC" is the Sun C++ compiler. This is 59803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # necessary to make sure instantiated templates are included 59813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # in the archive. 59823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 59833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 59853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 59873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lynxos*) 59903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 59913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 59923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev m88k*) 59953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 59963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 59973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 59983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 59993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mvs*) 60003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 60013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 60023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 60033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 60043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 60063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 60073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 60083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 60103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev netbsd*) 60133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 60143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 60153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev wlarc= 60163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 60173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 60183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 60193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 60203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Workaround some broken pre-1.5 toolchains 60213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 60223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *nto* | *qnx*) 60253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=yes 60263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd2*) 60293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # C++ shared libraries are fairly broken 60303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 60313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev openbsd*) 60343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -f /usr/libexec/ld.so; then 60353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct, $1)=yes 60363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 60373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 60383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 60393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 60403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 60413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' 60423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 60433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 60443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 60453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd=echo 60463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 60473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 60483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 60493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3* | osf4* | osf5*) 60523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 60533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev KCC*) 60543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Kuck and Associates, Inc. (KAI) C++ Compiler 60553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # KCC will only create a shared library if the output file 60573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ends with ".so" (or ".sl" for HP-UX), so rename the library 60583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # to its proper name (with version) after linking. 60593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' 60603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 60623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 60633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Archives containing C++ object files must be created using 60653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the KAI C++ compiler. 60663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 60673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 60683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 60693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 60703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev RCC*) 60723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Rational C++ 2.4.1 60733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 60743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 60753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cxx*) 60773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 60783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3*) 60793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 60803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 60813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 60823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 60843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 60853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 60863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 60873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "-hidden">> $lib.exp~ 60883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ 60893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $RM $lib.exp' 60903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 60913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 60923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 60933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 60953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 60963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 60973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 60983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 60993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 61003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # There doesn't appear to be a way to prevent this compiler from 61013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # explicitly linking system object files so we need to strip them 61023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # from the output so that they don't get included in the library 61033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # dependencies. 61043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 61053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 61073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes && test "$with_gnu_ld" = no; then 61083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 61093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host in 61103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev osf3*) 61113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 61123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 61143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 61153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 61173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 61193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=: 61203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 61223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 61233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 61243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 61253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 61273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 61283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 61293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 61303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 61323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev psos*) 61353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 61363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 61373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sunos4*) 61403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 61413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 61423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 4.x 61433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 61443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 61453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lcc*) 61473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Lucid 61483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 61493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 61503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 61523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 61533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 61543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 61563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris*) 61593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 61603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 61613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 4.2, 5.x and Centerline C++ 61623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 61633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 61643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 61653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 61663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 61673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 61693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 61713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 61723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 61733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The compiler driver will combine and reorder linker options, 61743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # but understands `-z linker_flag'. 61753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Supported since Solaris 2.6 (maybe 2.5.1?) 61763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 61773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 61793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 61803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='echo' 61823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Archives containing C++ object files must be created using 61843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # "CC -xar", where "CC" is the Sun C++ compiler. This is 61853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # necessary to make sure instantiated templates are included 61863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # in the archive. 61873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 61883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev gcx*) 61903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Green Hills C++ Compiler 61913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 61923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 61933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The C++ compiler must be used to create the archive. 61943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 61953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 61963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 61973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # GNU C++ compiler with Solaris linker 61983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$GXX" = yes && test "$with_gnu_ld" = no; then 61993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 62003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $CC --version | $GREP -v '^2\.7' > /dev/null; then 62013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 62023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 62033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 62043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 62063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 62073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 62083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 62093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 62103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # g++ 2.7 appears to require `-G' NOT `-shared' on this 62113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # platform. 62123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 62133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 62143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 62153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Commands to make compiler produce verbose output that lists 62173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # what "hidden" libraries, object files and flags are used when 62183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linking a shared library. 62193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 62203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 62213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 62233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 62243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 62253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 62263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 62273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 62293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 62303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 62323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 62353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 62363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 62373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 62383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var='LD_RUN_PATH' 62393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 62413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 62423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 62463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 62503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev sysv5* | sco3.2v5* | sco5v6*) 62533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Note: We can NOT use -z defs as we might desire, because we do not 62543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # link with -lc, and that would cause any symbols used from libc to 62553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # always be unresolved, which means just about no library would 62563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ever link correctly. If we're not using GNU ld we use -z text 62573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # though, which does catch some bad symbols but isn't as heavy-handed 62583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # as -z defs. 62593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 62603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 62613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds_need_lc, $1)=no 62623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 62633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 62643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 62653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(link_all_deplibs, $1)=yes 62663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 62673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev runpath_var='LD_RUN_PATH' 62683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 62703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 62713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 62753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 62773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 62793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev tandem*) 62823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 62833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev NCC*) 62843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # NonStop-UX NCC 3.20 62853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 62863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 62873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 62893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 62903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 62913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 62933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 62953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev vxworks*) 62963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 62973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 62983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 62993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 63013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # FIXME: insert proper C++ library support 63023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(ld_shlibs, $1)=no 63033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 63043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 63053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 63073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 63083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(GCC, $1)="$GXX" 63103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(LD, $1)="$LD" 63113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## CAVEAT EMPTOR: 63133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## There is no encapsulation within the following macros, do not change 63143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## the running order or otherwise move them around unless you know exactly 63153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## what you are doing... 63163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_HIDDEN_LIBDEPS($1) 63173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_PIC($1) 63183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_C_O($1) 63193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_FILE_LOCKS($1) 63203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_SHLIBS($1) 63213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_DYNAMIC_LINKER($1) 63223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_HARDCODE_LIBPATH($1) 63233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 63253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi # test -n "$compiler" 63263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC=$lt_save_CC 63283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LDCXX=$LD 63293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev LD=$lt_save_LD 63303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$lt_save_GCC 63313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev with_gnu_ld=$lt_save_with_gnu_ld 63323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_LDCXX=$lt_cv_path_LD 63333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_LD=$lt_save_path_LD 63343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 63353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 63363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_caught_CXX_error" != yes 63373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63383aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP 63393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_CXX_CONFIG 63403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 63433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------- 63443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Figure out "hidden" library dependencies from verbose 63453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# compiler output when linking a shared library. 63463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Parse the compiler output and extract the necessary 63473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# objects, libraries and library flags. 63483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 63493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 63503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Dependencies to place before and after the object being linked: 63513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(predep_objects, $1)= 63523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(postdep_objects, $1)= 63533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(predeps, $1)= 63543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(postdeps, $1)= 63553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler_lib_search_path, $1)= 63563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 63573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl we can't use the lt_simple_compile_test_code here, 63583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl because it contains code intended for an executable, 63593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl not a library. It's possible we should let each 63603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl tag define a new lt_????_link_test_code variable, 63613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl but it's only used here... 63623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 63633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint a; 63643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid foo (void) { a = 0; } 63653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 63663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 63673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevclass Foo 63683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 63693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpublic: 63703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev Foo (void) { a = 0; } 63713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevprivate: 63723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev int a; 63733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}; 63743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 63753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 63763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev subroutine foo 63773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev implicit none 63783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev integer*4 a 63793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev a=0 63803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return 63813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 63823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 63833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 63843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev subroutine foo 63853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev implicit none 63863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev integer a 63873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev a=0 63883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return 63893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 63903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 63913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 63923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpublic class foo { 63933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev private int a; 63943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev public void bar (void) { 63953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev a = 0; 63963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev } 63973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}; 63983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 63993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 64003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Parse the compiler output and extract the necessary 64013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl objects, libraries and library flags. 64023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif AC_TRY_EVAL(ac_compile); then 64033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Parse the compiler output and extract the necessary 64043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # objects, libraries and library flags. 64053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sentinel used to keep track of whether or not we are before 64073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # the conftest object file. 64083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pre_test_object_deps_done=no 64093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for p in `eval "$output_verbose_link_cmd"`; do 64113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $p in 64123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -L* | -R* | -l*) 64143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Some compilers place space between "-{L,R}" and the path. 64153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Remove the space. 64163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test $p = "-L" || 64173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test $p = "-R"; then 64183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev prev=$p 64193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev continue 64203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev prev= 64223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$pre_test_object_deps_done" = no; then 64253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $p in 64263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev -L* | -R*) 64273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Internal compiler library paths should come after those 64283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # provided the user. The postdeps already come after the 64293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # user supplied libs so there is no need to process them. 64303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 64313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 64323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 64343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 64363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The "-l" case would never come before the object being 64373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # linked, so don't bother handling this case. 64383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 64393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "$_LT_TAGVAR(postdeps, $1)"; then 64413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdeps, $1)="${prev}${p}" 64423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 64443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 64473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *.$objext) 64493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # This assumes that the test object file only shows up 64503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # once in the compiler output. 64513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$p" = "conftest.$objext"; then 64523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev pre_test_object_deps_done=yes 64533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev continue 64543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$pre_test_object_deps_done" = no; then 64573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 64583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(predep_objects, $1)="$p" 64593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 64613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 64643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdep_objects, $1)="$p" 64653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 64663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 64673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 64693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 64703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) ;; # Ignore the rest. 64723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 64743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 64753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Clean up. 64773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev rm -f a.out a.exe 64783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 64793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo "libtool.m4: error: problem compiling $1 test program" 64803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 64813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM -f confest.$objext 64833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PORTME: override above test on systems where it is broken 64853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX], 64863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $host_os in 64873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*) 64883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Interix 3.5 installs completely hosed .la files for C++, so rather than 64893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # hack all around it, let's just trust "g++" to DTRT. 64903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(predep_objects,$1)= 64913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdep_objects,$1)= 64923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdeps,$1)= 64933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 64943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 64953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux*) 64963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case `$CC -V 2>&1 | sed 5q` in 64973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *Sun\ C*) 64983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun C++ 5.9 64993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The more standards-conforming stlport4 library is 65013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # incompatible with the Cstd library. Avoid specifying 65023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it if it's in CXXFLAGS. Ignore libCrun as 65033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -library=stlport4 depends on it. 65043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case " $CXX $CXXFLAGS " in 65053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *" -library=stlport4 "*) 65063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris_use_stlport4=yes 65073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 65093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$solaris_use_stlport4" != yes; then 65113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 65123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 65133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 65153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*) 65183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $cc_basename in 65193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC*) 65203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # The more standards-conforming stlport4 library is 65213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # incompatible with the Cstd library. Avoid specifying 65223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # it if it's in CXXFLAGS. Ignore libCrun as 65233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # -library=stlport4 depends on it. 65243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case " $CXX $CXXFLAGS " in 65253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *" -library=stlport4 "*) 65263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev solaris_use_stlport4=yes 65273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 65293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Adding this requires a known-good setup of shared libraries for 65313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Sun compiler versions before 5.6, else PIC objects from an old 65323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # archive will be linked into the output, leading to subtle bugs. 65333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$solaris_use_stlport4" != yes; then 65343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 65353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 65363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 65383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 65393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 65403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 65413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase " $_LT_TAGVAR(postdeps, $1) " in 65433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 65443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 65453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_dirs, $1)= 65463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 65473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` 65483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 65493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 65503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [The directories searched by this compiler when creating a shared library]) 65513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [predep_objects], [1], 65523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Dependencies to place before and after the objects being linked to 65533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev create a shared library]) 65543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [postdep_objects], [1]) 65553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [predeps], [1]) 65563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [postdeps], [1]) 65573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_lib_search_path], [1], 65583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [The library search path used internally by the compiler when linking 65593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev a shared library]) 65603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_HIDDEN_LIBDEPS 65613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_F77 65643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------ 65653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_F77 is broken, in that it returns the empty string 65663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if there is no fortran compiler, we have our own version here. 65673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_F77], 65683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 65693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) 65703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_F77 65713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$F77" || test "X$F77" = "Xno"; then 65723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_disable_F77=yes 65733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 65743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR]) 65753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_F77 65763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 65783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_F77], []) 65793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_F77_CONFIG([TAG]) 65823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------- 65833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a Fortran 77 compiler are 65843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitably defined. These variables are subsequently used by _LT_CONFIG 65853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'. 65863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_F77_CONFIG], 65873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_F77])dnl 65883aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(Fortran 77) 65893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 65903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no 65913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)= 65923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no 65933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)= 65943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)= 65953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no 65963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no 65973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 65983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 65993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)= 66003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no 66013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no 66023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no 66033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)= 66043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)= 66053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown 66063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 66073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)= 66083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)= 66093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 66103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for f77 test sources. 66123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=f 66133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled f77 test sources. 66153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 66163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 66173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that 66193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the F77 compiler isn't working. Some variables (like enable_shared) 66203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform, 66213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler. 66223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_disable_F77" != yes; then 66233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple compile tests 66243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_compile_test_code="\ 66253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev subroutine t 66263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return 66273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 66283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" 66293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple link tests 66313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_link_test_code="\ 66323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev program t 66333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 66343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" 66353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ltmain only uses $CC for tagged configurations so make sure $CC is set. 66373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAG_COMPILER 66383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # save warnings/boilerplate of simple test code 66403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_BOILERPLATE 66413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_BOILERPLATE 66423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Allow CC to be a program name with arguments. 66443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_CC="$CC" 66453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_GCC=$GCC 66463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC=${F77-"f77"} 66473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compiler=$CC 66483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler, $1)=$CC 66493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CC_BASENAME([$compiler]) 66503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$G77 66513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$compiler"; then 66523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([if libtool supports shared libraries]) 66533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$can_build_shared]) 66543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build shared libraries]) 66563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$can_build_shared" = "no" && enable_shared=no 66573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On AIX, shared libraries and static libraries use the same namespace, and 66593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # are all built from PIC. 66603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 66613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 66623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 66633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$RANLIB"; then 66643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev archive_cmds="$archive_cmds~\$RANLIB \$lib" 66653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='$RANLIB $lib' 66663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 66673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 66683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 66693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 66703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 66713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 66723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 66733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 66743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_shared]) 66753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build static libraries]) 66773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure either enable_shared or enable_static is yes. 66783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes || enable_static=yes 66793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_static]) 66803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(GCC, $1)="$G77" 66823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(LD, $1)="$LD" 66833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## CAVEAT EMPTOR: 66853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## There is no encapsulation within the following macros, do not change 66863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## the running order or otherwise move them around unless you know exactly 66873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## what you are doing... 66883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_PIC($1) 66893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_C_O($1) 66903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_FILE_LOCKS($1) 66913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_SHLIBS($1) 66923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_DYNAMIC_LINKER($1) 66933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_HARDCODE_LIBPATH($1) 66943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 66963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi # test -n "$compiler" 66973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 66983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$lt_save_GCC 66993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC="$lt_save_CC" 67003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_disable_F77" != yes 67013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP 67033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_F77_CONFIG 67043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_FC 67073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------- 67083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_FC is broken, in that it returns the empty string 67093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if there is no fortran compiler, we have our own version here. 67103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_FC], 67113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ 67123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) 67133aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_FC 67143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$FC" || test "X$FC" = "Xno"; then 67153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _lt_disable_FC=yes 67163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 67173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR]) 67183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_FC 67193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 67213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_FC], []) 67223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_FC_CONFIG([TAG]) 67253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------- 67263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a Fortran compiler are 67273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitably defined. These variables are subsequently used by _LT_CONFIG 67283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'. 67293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_FC_CONFIG], 67303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_FC])dnl 67313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(Fortran) 67323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no 67343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)= 67353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no 67363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)= 67373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)= 67383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no 67393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no 67403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 67413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 67423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)= 67433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no 67443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no 67453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no 67463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)= 67473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)= 67483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown 67493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 67503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)= 67513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)= 67523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 67533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for fc test sources. 67553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=${ac_fc_srcext-f} 67563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled fc test sources. 67583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 67593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 67603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that 67623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the FC compiler isn't working. Some variables (like enable_shared) 67633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform, 67643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler. 67653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_disable_FC" != yes; then 67663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple compile tests 67673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_compile_test_code="\ 67683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev subroutine t 67693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev return 67703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 67713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" 67723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Code to be used in simple link tests 67743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_simple_link_test_code="\ 67753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev program t 67763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev end 67773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev" 67783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # ltmain only uses $CC for tagged configurations so make sure $CC is set. 67803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAG_COMPILER 67813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # save warnings/boilerplate of simple test code 67833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_BOILERPLATE 67843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_BOILERPLATE 67853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Allow CC to be a program name with arguments. 67873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_CC="$CC" 67883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_save_GCC=$GCC 67893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC=${FC-"f95"} 67903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev compiler=$CC 67913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$ac_cv_fc_compiler_gnu 67923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler, $1)=$CC 67943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CC_BASENAME([$compiler]) 67953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 67963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$compiler"; then 67973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([if libtool supports shared libraries]) 67983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$can_build_shared]) 67993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build shared libraries]) 68013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$can_build_shared" = "no" && enable_shared=no 68023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # On AIX, shared libraries and static libraries use the same namespace, and 68043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # are all built from PIC. 68053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case $host_os in 68063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix3*) 68073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 68083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test -n "$RANLIB"; then 68093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev archive_cmds="$archive_cmds~\$RANLIB \$lib" 68103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev postinstall_cmds='$RANLIB $lib' 68113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 68123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 68133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev aix[[4-9]]*) 68143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 68153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes && enable_static=no 68163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 68173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 68183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 68193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_shared]) 68203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_CHECKING([whether to build static libraries]) 68223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Make sure either enable_shared or enable_static is yes. 68233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "$enable_shared" = yes || enable_static=yes 68243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_MSG_RESULT([$enable_static]) 68253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" 68273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(LD, $1)="$LD" 68283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## CAVEAT EMPTOR: 68303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## There is no encapsulation within the following macros, do not change 68313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## the running order or otherwise move them around unless you know exactly 68323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ## what you are doing... 68333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_HIDDEN_LIBDEPS($1) 68343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_PIC($1) 68353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_C_O($1) 68363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_FILE_LOCKS($1) 68373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_SHLIBS($1) 68383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_SYS_DYNAMIC_LINKER($1) 68393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_HARDCODE_LIBPATH($1) 68403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 68423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi # test -n "$compiler" 68433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev GCC=$lt_save_GCC 68453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev CC="$lt_save_CC" 68463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_disable_FC" != yes 68473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP 68493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_FC_CONFIG 68503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_GCJ_CONFIG([TAG]) 68533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------- 68543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for the GNU Java Compiler compiler 68553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are suitably defined. These variables are subsequently used by _LT_CONFIG 68563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'. 68573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_GCJ_CONFIG], 68583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PROG_GCJ])dnl 68593aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_SAVE 68603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for Java test sources. 68623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=java 68633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled Java test sources. 68653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 68663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 68673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests 68693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code="class foo {}" 68703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests 68723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 68733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ltmain only uses $CC for tagged configurations so make sure $CC is set. 68753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER 68763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code 68783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE 68793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE 68803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments. 68823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC" 68833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_GCC=$GCC 68843aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=yes 68853aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC=${GCJ-"gcj"} 68863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC 68873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler, $1)=$CC 68883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(LD, $1)="$LD" 68893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler]) 68903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GCJ did not exist at the time GCC didn't implicitly link libc in. 68923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no 68933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 68953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 68963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## CAVEAT EMPTOR: 68973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## There is no encapsulation within the following macros, do not change 68983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## the running order or otherwise move them around unless you know exactly 68993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## what you are doing... 69003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then 69013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_NO_RTTI($1) 69023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_PIC($1) 69033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_C_O($1) 69043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_COMPILER_FILE_LOCKS($1) 69053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_SHLIBS($1) 69063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_LINKER_HARDCODE_LIBPATH($1) 69073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 69093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 69103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_RESTORE 69123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69133aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=$lt_save_GCC 69143aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC" 69153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_GCJ_CONFIG 69163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_RC_CONFIG([TAG]) 69193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------- 69203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for the Windows resource compiler 69213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are suitably defined. These variables are subsequently used by _LT_CONFIG 69223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'. 69233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_RC_CONFIG], 69243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PROG_RC])dnl 69253aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_SAVE 69263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for RC test sources. 69283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=rc 69293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled RC test sources. 69313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o 69323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext 69333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests 69353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 69363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests 69383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code="$lt_simple_compile_test_code" 69393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ltmain only uses $CC for tagged configurations so make sure $CC is set. 69413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER 69423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code 69443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE 69453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE 69463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments. 69483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC" 69493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_GCC=$GCC 69503aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC= 69513aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC=${RC-"windres"} 69523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC 69533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler, $1)=$CC 69543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler]) 69553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 69563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then 69583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev : 69593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_CONFIG($1) 69603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 69613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=$lt_save_GCC 69633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_RESTORE 69643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC" 69653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_RC_CONFIG 69663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PROG_GCJ 69693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------- 69703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PROG_GCJ], 69713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 69723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 69733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [AC_CHECK_TOOL(GCJ, gcj,) 69743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 69753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev AC_SUBST(GCJFLAGS)])])[]dnl 69763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 69773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 69793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 69803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 69813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 69823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PROG_RC 69853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------- 69863aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PROG_RC], 69873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(RC, windres,) 69883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 69893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 69913aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 69923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 69933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_RC], []) 69943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 69963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_EGREP 69973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------- 69983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't have a new enough Autoconf to choose the best grep 69993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# available, choose the one first in the user's PATH. 70003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_EGREP], 70013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_EGREP])dnl 70023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_FGREP])dnl 70033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$GREP" && GREP=grep 70043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 70053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [EGREP], [1], [An ERE matcher]) 70063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [FGREP], [1], [A literal string matcher]) 70073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 70083aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([GREP]) 70093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 70103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_OBJDUMP 70133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------- 70143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't have a new enough Autoconf to choose the best objdump 70153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# available, choose the one first in the user's PATH. 70163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_OBJDUMP], 70173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(OBJDUMP, objdump, false) 70183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$OBJDUMP" && OBJDUMP=objdump 70193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 70203aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([OBJDUMP]) 70213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 70223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_SED 70253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------ 70263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for a fully-functional sed program, that truncates 70273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# as few characters as possible. Prefer GNU sed if found. 70283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_SED], 70293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROG_SED 70303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$SED" && SED=sed 70313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevXsed="$SED -e 1s/^X//" 70323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 70333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 70343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 70353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_DECL_SED 70363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifndef([AC_PROG_SED], [ 70383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev############################################################ 70393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# NOTE: This macro has been submitted for inclusion into # 70403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU Autoconf as AC_PROG_SED. When it is available in # 70413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# a released version of Autoconf we should remove this # 70423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# macro and use it instead. # 70433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev############################################################ 70443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 70453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([AC_PROG_SED], 70463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([for a sed that does not truncate output]) 70473aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_SED, 70483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[# Loop through the user's path and test for sed and gsed. 70493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Then use that list of sed's as ones to test for truncation. 70503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 70513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor as_dir in $PATH 70523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdo 70533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev IFS=$as_save_IFS 70543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test -z "$as_dir" && as_dir=. 70553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for lt_ac_prog in sed gsed; do 70563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev for ac_exec_ext in '' $ac_executable_extensions; do 70573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 70583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 70593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 70603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 70613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 70623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 70633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevIFS=$as_save_IFS 70643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ac_max=0 70653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ac_count=0 70663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add /usr/xpg4/bin/sed as it is typically found on Solaris 70673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# along with /bin/sed that truncates output. 70683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 70693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test ! -f $lt_ac_sed && continue 70703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat /dev/null > conftest.in 70713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ac_count=0 70723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo $ECHO_N "0123456789$ECHO_C" >conftest.in 70733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Check for GNU sed and select it if it is found. 70743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 70753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_SED=$lt_ac_sed 70763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev break 70773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 70783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev while true; do 70793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat conftest.in conftest.in >conftest.tmp 70803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev mv conftest.tmp conftest.in 70813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cp conftest.in conftest.nl 70823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev echo >>conftest.nl 70833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 70843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cmp -s conftest.out conftest.nl || break 70853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # 10000 chars as input seems more than enough 70863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test $lt_ac_count -gt 10 && break 70873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ac_count=`expr $lt_ac_count + 1` 70883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test $lt_ac_count -gt $lt_ac_max; then 70893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_ac_max=$lt_ac_count 70903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_cv_path_SED=$lt_ac_sed 70913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 70923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev done 70933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone 70943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 70953aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSED=$lt_cv_path_SED 70963aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([SED]) 70973aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$SED]) 70983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#AC_PROG_SED 70993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#m4_ifndef 71003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name: 71023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 71033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility: 71043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_SED], []) 71053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_SHELL_FEATURES 71083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------ 71093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Find out whether the shell is Bourne or XSI compatible, 71103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# or has some other useful features. 71113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_SHELL_FEATURES], 71123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) 71133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Try some XSI features 71143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevxsi_shell=no 71153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev( _lt_dummy="a/b/c" 71163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ 71173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev = c,a/b,, \ 71183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev && eval 'test $(( 1 + 1 )) -eq 2 \ 71193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 71203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev && xsi_shell=yes 71213aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$xsi_shell]) 71223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) 71233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether the shell understands "+="]) 71253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_shell_append=no 71263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ 71273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev >/dev/null 2>&1 \ 71283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev && lt_shell_append=yes 71293aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$lt_shell_append]) 71303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) 71313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 71333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_unset=unset 71343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse 71353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_unset=false 71363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi 71373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 71383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# test EBCDIC or ASCII 71403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `echo X|tr X '\101'` in 71413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev A) # ASCII based system 71423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 71433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_SP2NL='tr \040 \012' 71443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_NL2SP='tr \015\012 \040\040' 71453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 71463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # EBCDIC based system 71473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_SP2NL='tr \100 \n' 71483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev lt_NL2SP='tr \r\n \100\100' 71493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 71503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 71513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 71523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 71533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_SHELL_FEATURES 71543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_XSI_SHELLFNS 71573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------- 71583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Bourne and XSI compatible variants of some useful shell functions. 71593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_XSI_SHELLFNS], 71603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $xsi_shell in 71613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes) 71623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat << \_LT_EOF >> "$cfgfile" 71633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname file append nondir_replacement 71653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Compute the dirname of FILE. If nonempty, add APPEND to the result, 71663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# otherwise set result to NONDIR_REPLACEMENT. 71673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname () 71683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 71693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case ${1} in 71703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev */*) func_dirname_result="${1%/*}${2}" ;; 71713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev * ) func_dirname_result="${3}" ;; 71723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 71733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 71743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_basename file 71763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_basename () 71773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 71783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_basename_result="${1##*/}" 71793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 71803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 71813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname_and_basename file append nondir_replacement 71823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# perform func_basename and func_dirname in a single function 71833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# call: 71843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# dirname: Compute the dirname of FILE. If nonempty, 71853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# add APPEND to the result, otherwise set result 71863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to NONDIR_REPLACEMENT. 71873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# value returned in "$func_dirname_result" 71883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# basename: Compute filename of FILE. 71893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# value retuned in "$func_basename_result" 71903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Implementation must be kept synchronized with func_dirname 71913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and func_basename. For efficiency, we do not delegate to 71923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# those functions but instead duplicate the functionality here. 71933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname_and_basename () 71943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 71953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case ${1} in 71963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev */*) func_dirname_result="${1%/*}${2}" ;; 71973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev * ) func_dirname_result="${3}" ;; 71983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 71993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_basename_result="${1##*/}" 72003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_stripname prefix suffix name 72033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# strip PREFIX and SUFFIX off of NAME. 72043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PREFIX and SUFFIX must not contain globbing or regex special 72053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# characters, hashes, percent signs, but SUFFIX may contain a leading 72063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# dot (in which case that matches only a dot). 72073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_stripname () 72083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are 72103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # positional parameters, so assign one to ordinary parameter first. 72113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_stripname_result=${3} 72123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_stripname_result=${func_stripname_result#"${1}"} 72133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_stripname_result=${func_stripname_result%"${2}"} 72143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_opt_split 72173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_opt_split () 72183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_opt_split_opt=${1%%=*} 72203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_opt_split_arg=${1#*=} 72213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_lo2o object 72243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_lo2o () 72253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case ${1} in 72273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *.lo) func_lo2o_result=${1%.lo}.${objext} ;; 72283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) func_lo2o_result=${1} ;; 72293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 72303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_xform libobj-or-source 72333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_xform () 72343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_xform_result=${1%.*}.lo 72363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_arith arithmetic-term... 72393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_arith () 72403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_arith_result=$(( $[*] )) 72423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_len string 72453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# STRING may not start with a hyphen. 72463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_len () 72473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_len_result=${#1} 72493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 72523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 72533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # Bourne compatible functions. 72543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat << \_LT_EOF >> "$cfgfile" 72553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname file append nondir_replacement 72573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Compute the dirname of FILE. If nonempty, add APPEND to the result, 72583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# otherwise set result to NONDIR_REPLACEMENT. 72593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname () 72603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev # Extract subdirectory from the argument. 72623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 72633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev if test "X$func_dirname_result" = "X${1}"; then 72643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_dirname_result="${3}" 72653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev else 72663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_dirname_result="$func_dirname_result${2}" 72673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev fi 72683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_basename file 72713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_basename () 72723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 72743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl func_dirname_and_basename 72773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl A portable version of this function is already defined in general.m4sh 72783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl so there is no need for it here. 72793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_stripname prefix suffix name 72813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# strip PREFIX and SUFFIX off of NAME. 72823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PREFIX and SUFFIX must not contain globbing or regex special 72833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# characters, hashes, percent signs, but SUFFIX may contain a leading 72843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# dot (in which case that matches only a dot). 72853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_strip_suffix prefix name 72863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_stripname () 72873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 72883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev case ${2} in 72893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev .*) func_stripname_result=`$ECHO "X${3}" \ 72903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; 72913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) func_stripname_result=`$ECHO "X${3}" \ 72923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; 72933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 72943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 72953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 72963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# sed scripts: 72973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' 72983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmy_sed_long_arg='1s/^-[[^=]]*=//' 72993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_opt_split 73013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_opt_split () 73023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` 73043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` 73053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_lo2o object 73083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_lo2o () 73093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` 73113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_xform libobj-or-source 73143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_xform () 73153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` 73173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_arith arithmetic-term... 73203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_arith () 73213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_arith_result=`expr "$[@]"` 73233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_len string 73263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# STRING may not start with a hyphen. 73273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_len () 73283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` 73303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 73333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac 73343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $lt_shell_append in 73363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev yes) 73373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat << \_LT_EOF >> "$cfgfile" 73383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_append var value 73403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Append VALUE to the end of shell variable VAR. 73413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_append () 73423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "$[1]+=\$[2]" 73443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 73463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 73473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) 73483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev cat << \_LT_EOF >> "$cfgfile" 73493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_append var value 73513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Append VALUE to the end of shell variable VAR. 73523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_append () 73533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{ 73543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev eval "$[1]=\$$[1]\$[2]" 73553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} 73563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev 73573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF 73583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev ;; 73593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev esac 73603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) 7361