1*46d2f618SCy Schubert# generated automatically by aclocal 1.16.2 -*- Autoconf -*- 2b7579f77SDag-Erling Smørgrav 3*46d2f618SCy Schubert# Copyright (C) 1996-2020 Free Software Foundation, Inc. 48ed2b524SDag-Erling Smørgrav 5b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation 6b7579f77SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it, 7b7579f77SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved. 8b7579f77SDag-Erling Smørgrav 9b7579f77SDag-Erling Smørgrav# This program is distributed in the hope that it will be useful, 10b7579f77SDag-Erling Smørgrav# but WITHOUT ANY WARRANTY, to the extent permitted by law; without 11b7579f77SDag-Erling Smørgrav# even the implied warranty of MERCHANTABILITY or FITNESS FOR A 12b7579f77SDag-Erling Smørgrav# PARTICULAR PURPOSE. 13b7579f77SDag-Erling Smørgrav 14ff825849SDag-Erling Smørgravm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) 15b7579f77SDag-Erling Smørgrav# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 16b7579f77SDag-Erling Smørgrav# 17*46d2f618SCy Schubert# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. 18b7579f77SDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996 19b7579f77SDag-Erling Smørgrav# 20b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 21b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 22b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 23b7579f77SDag-Erling Smørgrav 24b7579f77SDag-Erling Smørgravm4_define([_LT_COPYING], [dnl 25f61ef7f6SDag-Erling Smørgrav# Copyright (C) 2014 Free Software Foundation, Inc. 26f61ef7f6SDag-Erling Smørgrav# This is free software; see the source for copying conditions. There is NO 27f61ef7f6SDag-Erling Smørgrav# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 28f61ef7f6SDag-Erling Smørgrav 29f61ef7f6SDag-Erling Smørgrav# GNU Libtool is free software; you can redistribute it and/or modify 30f61ef7f6SDag-Erling Smørgrav# it under the terms of the GNU General Public License as published by 31f61ef7f6SDag-Erling Smørgrav# the Free Software Foundation; either version 2 of of the License, or 32f61ef7f6SDag-Erling Smørgrav# (at your option) any later version. 33b7579f77SDag-Erling Smørgrav# 34f61ef7f6SDag-Erling Smørgrav# As a special exception to the GNU General Public License, if you 35f61ef7f6SDag-Erling Smørgrav# distribute this file as part of a program or library that is built 36f61ef7f6SDag-Erling Smørgrav# using GNU Libtool, you may include this file under the same 37f61ef7f6SDag-Erling Smørgrav# distribution terms that you use for the rest of that program. 38b7579f77SDag-Erling Smørgrav# 39f61ef7f6SDag-Erling Smørgrav# GNU Libtool is distributed in the hope that it will be useful, but 40f61ef7f6SDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of 41b7579f77SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 42b7579f77SDag-Erling Smørgrav# GNU General Public License for more details. 43b7579f77SDag-Erling Smørgrav# 44b7579f77SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License 45f61ef7f6SDag-Erling Smørgrav# along with this program. If not, see <http://www.gnu.org/licenses/>. 46b7579f77SDag-Erling Smørgrav]) 47b7579f77SDag-Erling Smørgrav 48*46d2f618SCy Schubert# serial 58 LT_INIT 49b7579f77SDag-Erling Smørgrav 50b7579f77SDag-Erling Smørgrav 51b7579f77SDag-Erling Smørgrav# LT_PREREQ(VERSION) 52b7579f77SDag-Erling Smørgrav# ------------------ 53b7579f77SDag-Erling Smørgrav# Complain and exit if this libtool version is less that VERSION. 54b7579f77SDag-Erling Smørgravm4_defun([LT_PREREQ], 55b7579f77SDag-Erling Smørgrav[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 56b7579f77SDag-Erling Smørgrav [m4_default([$3], 57b7579f77SDag-Erling Smørgrav [m4_fatal([Libtool version $1 or higher is required], 58b7579f77SDag-Erling Smørgrav 63)])], 59b7579f77SDag-Erling Smørgrav [$2])]) 60b7579f77SDag-Erling Smørgrav 61b7579f77SDag-Erling Smørgrav 62b7579f77SDag-Erling Smørgrav# _LT_CHECK_BUILDDIR 63b7579f77SDag-Erling Smørgrav# ------------------ 64b7579f77SDag-Erling Smørgrav# Complain if the absolute build directory name contains unusual characters 65b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_BUILDDIR], 66b7579f77SDag-Erling Smørgrav[case `pwd` in 67b7579f77SDag-Erling Smørgrav *\ * | *\ *) 68b7579f77SDag-Erling Smørgrav AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 69b7579f77SDag-Erling Smørgravesac 70b7579f77SDag-Erling Smørgrav]) 71b7579f77SDag-Erling Smørgrav 72b7579f77SDag-Erling Smørgrav 73b7579f77SDag-Erling Smørgrav# LT_INIT([OPTIONS]) 74b7579f77SDag-Erling Smørgrav# ------------------ 75b7579f77SDag-Erling SmørgravAC_DEFUN([LT_INIT], 76f61ef7f6SDag-Erling Smørgrav[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK 77b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 78b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LT_LANG])dnl 79b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LT_OUTPUT])dnl 80b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LTDL_INIT])dnl 81b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_BUILDDIR])dnl 82b7579f77SDag-Erling Smørgrav 83b7579f77SDag-Erling Smørgravdnl Autoconf doesn't catch unexpanded LT_ macros by default: 84b7579f77SDag-Erling Smørgravm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 85b7579f77SDag-Erling Smørgravm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 86b7579f77SDag-Erling Smørgravdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 87b7579f77SDag-Erling Smørgravdnl unless we require an AC_DEFUNed macro: 88b7579f77SDag-Erling SmørgravAC_REQUIRE([LTOPTIONS_VERSION])dnl 89b7579f77SDag-Erling SmørgravAC_REQUIRE([LTSUGAR_VERSION])dnl 90b7579f77SDag-Erling SmørgravAC_REQUIRE([LTVERSION_VERSION])dnl 91b7579f77SDag-Erling SmørgravAC_REQUIRE([LTOBSOLETE_VERSION])dnl 92b7579f77SDag-Erling Smørgravm4_require([_LT_PROG_LTMAIN])dnl 93b7579f77SDag-Erling Smørgrav 94b7579f77SDag-Erling Smørgrav_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 95b7579f77SDag-Erling Smørgrav 96b7579f77SDag-Erling Smørgravdnl Parse OPTIONS 97b7579f77SDag-Erling Smørgrav_LT_SET_OPTIONS([$0], [$1]) 98b7579f77SDag-Erling Smørgrav 99b7579f77SDag-Erling Smørgrav# This can be used to rebuild libtool when needed 100f61ef7f6SDag-Erling SmørgravLIBTOOL_DEPS=$ltmain 101b7579f77SDag-Erling Smørgrav 102b7579f77SDag-Erling Smørgrav# Always use our own libtool. 103b7579f77SDag-Erling SmørgravLIBTOOL='$(SHELL) $(top_builddir)/libtool' 104b7579f77SDag-Erling SmørgravAC_SUBST(LIBTOOL)dnl 105b7579f77SDag-Erling Smørgrav 106b7579f77SDag-Erling Smørgrav_LT_SETUP 107b7579f77SDag-Erling Smørgrav 108b7579f77SDag-Erling Smørgrav# Only expand once: 109b7579f77SDag-Erling Smørgravm4_define([LT_INIT]) 110b7579f77SDag-Erling Smørgrav])# LT_INIT 111b7579f77SDag-Erling Smørgrav 112b7579f77SDag-Erling Smørgrav# Old names: 113b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 114b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 115b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 116b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 117b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 118b7579f77SDag-Erling Smørgrav 119b7579f77SDag-Erling Smørgrav 120f61ef7f6SDag-Erling Smørgrav# _LT_PREPARE_CC_BASENAME 121f61ef7f6SDag-Erling Smørgrav# ----------------------- 122f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PREPARE_CC_BASENAME], [ 123b7579f77SDag-Erling Smørgrav# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 124f61ef7f6SDag-Erling Smørgravfunc_cc_basename () 125f61ef7f6SDag-Erling Smørgrav{ 126f61ef7f6SDag-Erling Smørgrav for cc_temp in @S|@*""; do 127b7579f77SDag-Erling Smørgrav case $cc_temp in 128b7579f77SDag-Erling Smørgrav compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 129b7579f77SDag-Erling Smørgrav distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 130b7579f77SDag-Erling Smørgrav \-*) ;; 131b7579f77SDag-Erling Smørgrav *) break;; 132b7579f77SDag-Erling Smørgrav esac 133b7579f77SDag-Erling Smørgrav done 134f61ef7f6SDag-Erling Smørgrav func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 135f61ef7f6SDag-Erling Smørgrav} 136f61ef7f6SDag-Erling Smørgrav])# _LT_PREPARE_CC_BASENAME 137f61ef7f6SDag-Erling Smørgrav 138f61ef7f6SDag-Erling Smørgrav 139f61ef7f6SDag-Erling Smørgrav# _LT_CC_BASENAME(CC) 140f61ef7f6SDag-Erling Smørgrav# ------------------- 141f61ef7f6SDag-Erling Smørgrav# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, 142f61ef7f6SDag-Erling Smørgrav# but that macro is also expanded into generated libtool script, which 143f61ef7f6SDag-Erling Smørgrav# arranges for $SED and $ECHO to be set by different means. 144f61ef7f6SDag-Erling Smørgravm4_defun([_LT_CC_BASENAME], 145f61ef7f6SDag-Erling Smørgrav[m4_require([_LT_PREPARE_CC_BASENAME])dnl 146f61ef7f6SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])dnl 147f61ef7f6SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 148f61ef7f6SDag-Erling Smørgravfunc_cc_basename $1 149f61ef7f6SDag-Erling Smørgravcc_basename=$func_cc_basename_result 150b7579f77SDag-Erling Smørgrav]) 151b7579f77SDag-Erling Smørgrav 152b7579f77SDag-Erling Smørgrav 153b7579f77SDag-Erling Smørgrav# _LT_FILEUTILS_DEFAULTS 154b7579f77SDag-Erling Smørgrav# ---------------------- 155b7579f77SDag-Erling Smørgrav# It is okay to use these file commands and assume they have been set 156f61ef7f6SDag-Erling Smørgrav# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. 157b7579f77SDag-Erling Smørgravm4_defun([_LT_FILEUTILS_DEFAULTS], 158b7579f77SDag-Erling Smørgrav[: ${CP="cp -f"} 159b7579f77SDag-Erling Smørgrav: ${MV="mv -f"} 160b7579f77SDag-Erling Smørgrav: ${RM="rm -f"} 161b7579f77SDag-Erling Smørgrav])# _LT_FILEUTILS_DEFAULTS 162b7579f77SDag-Erling Smørgrav 163b7579f77SDag-Erling Smørgrav 164b7579f77SDag-Erling Smørgrav# _LT_SETUP 165b7579f77SDag-Erling Smørgrav# --------- 166b7579f77SDag-Erling Smørgravm4_defun([_LT_SETUP], 167b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 168b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 169b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 170b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 171b7579f77SDag-Erling Smørgrav 1728ed2b524SDag-Erling Smørgrav_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 1738ed2b524SDag-Erling Smørgravdnl 174b7579f77SDag-Erling Smørgrav_LT_DECL([], [host_alias], [0], [The host system])dnl 175b7579f77SDag-Erling Smørgrav_LT_DECL([], [host], [0])dnl 176b7579f77SDag-Erling Smørgrav_LT_DECL([], [host_os], [0])dnl 177b7579f77SDag-Erling Smørgravdnl 178b7579f77SDag-Erling Smørgrav_LT_DECL([], [build_alias], [0], [The build system])dnl 179b7579f77SDag-Erling Smørgrav_LT_DECL([], [build], [0])dnl 180b7579f77SDag-Erling Smørgrav_LT_DECL([], [build_os], [0])dnl 181b7579f77SDag-Erling Smørgravdnl 182b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl 183b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl 184b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 185b7579f77SDag-Erling Smørgravdnl 186b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_LN_S])dnl 187b7579f77SDag-Erling Smørgravtest -z "$LN_S" && LN_S="ln -s" 188b7579f77SDag-Erling Smørgrav_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 189b7579f77SDag-Erling Smørgravdnl 190b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_CMD_MAX_LEN])dnl 191b7579f77SDag-Erling Smørgrav_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 192b7579f77SDag-Erling Smørgrav_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 193b7579f77SDag-Erling Smørgravdnl 194b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 195b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl 196b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 197b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_RELOAD])dnl 198b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_MAGIC_METHOD])dnl 199b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 200b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_OLD_ARCHIVE])dnl 201b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 202b7579f77SDag-Erling Smørgravm4_require([_LT_WITH_SYSROOT])dnl 203f61ef7f6SDag-Erling Smørgravm4_require([_LT_CMD_TRUNCATE])dnl 204b7579f77SDag-Erling Smørgrav 205b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ 206f61ef7f6SDag-Erling Smørgrav# See if we are running on zsh, and set the options that allow our 207b7579f77SDag-Erling Smørgrav# commands through without removal of \ escapes INIT. 208b7579f77SDag-Erling Smørgravif test -n "\${ZSH_VERSION+set}"; then 209b7579f77SDag-Erling Smørgrav setopt NO_GLOB_SUBST 210b7579f77SDag-Erling Smørgravfi 211b7579f77SDag-Erling Smørgrav]) 212b7579f77SDag-Erling Smørgravif test -n "${ZSH_VERSION+set}"; then 213b7579f77SDag-Erling Smørgrav setopt NO_GLOB_SUBST 214b7579f77SDag-Erling Smørgravfi 215b7579f77SDag-Erling Smørgrav 216b7579f77SDag-Erling Smørgrav_LT_CHECK_OBJDIR 217b7579f77SDag-Erling Smørgrav 218b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 219b7579f77SDag-Erling Smørgrav 220b7579f77SDag-Erling Smørgravcase $host_os in 221b7579f77SDag-Erling Smørgravaix3*) 222b7579f77SDag-Erling Smørgrav # AIX sometimes has problems with the GCC collect2 program. For some 223b7579f77SDag-Erling Smørgrav # reason, if we set the COLLECT_NAMES environment variable, the problems 224b7579f77SDag-Erling Smørgrav # vanish in a puff of smoke. 225f61ef7f6SDag-Erling Smørgrav if test set != "${COLLECT_NAMES+set}"; then 226b7579f77SDag-Erling Smørgrav COLLECT_NAMES= 227b7579f77SDag-Erling Smørgrav export COLLECT_NAMES 228b7579f77SDag-Erling Smørgrav fi 229b7579f77SDag-Erling Smørgrav ;; 230b7579f77SDag-Erling Smørgravesac 231b7579f77SDag-Erling Smørgrav 232b7579f77SDag-Erling Smørgrav# Global variables: 233b7579f77SDag-Erling Smørgravofile=libtool 234b7579f77SDag-Erling Smørgravcan_build_shared=yes 235b7579f77SDag-Erling Smørgrav 236*46d2f618SCy Schubert# All known linkers require a '.a' archive for static linking (except MSVC, 237*46d2f618SCy Schubert# which needs '.lib'). 238b7579f77SDag-Erling Smørgravlibext=a 239b7579f77SDag-Erling Smørgrav 240f61ef7f6SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld 241b7579f77SDag-Erling Smørgrav 242f61ef7f6SDag-Erling Smørgravold_CC=$CC 243f61ef7f6SDag-Erling Smørgravold_CFLAGS=$CFLAGS 244b7579f77SDag-Erling Smørgrav 245b7579f77SDag-Erling Smørgrav# Set sane defaults for various variables 246b7579f77SDag-Erling Smørgravtest -z "$CC" && CC=cc 247b7579f77SDag-Erling Smørgravtest -z "$LTCC" && LTCC=$CC 248b7579f77SDag-Erling Smørgravtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 249b7579f77SDag-Erling Smørgravtest -z "$LD" && LD=ld 250b7579f77SDag-Erling Smørgravtest -z "$ac_objext" && ac_objext=o 251b7579f77SDag-Erling Smørgrav 252b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 253b7579f77SDag-Erling Smørgrav 254b7579f77SDag-Erling Smørgrav# Only perform the check for file, if the check method requires it 255b7579f77SDag-Erling Smørgravtest -z "$MAGIC_CMD" && MAGIC_CMD=file 256b7579f77SDag-Erling Smørgravcase $deplibs_check_method in 257b7579f77SDag-Erling Smørgravfile_magic*) 258b7579f77SDag-Erling Smørgrav if test "$file_magic_cmd" = '$MAGIC_CMD'; then 259b7579f77SDag-Erling Smørgrav _LT_PATH_MAGIC 260b7579f77SDag-Erling Smørgrav fi 261b7579f77SDag-Erling Smørgrav ;; 262b7579f77SDag-Erling Smørgravesac 263b7579f77SDag-Erling Smørgrav 264b7579f77SDag-Erling Smørgrav# Use C for the default configuration in the libtool script 265b7579f77SDag-Erling SmørgravLT_SUPPORTED_TAG([CC]) 266b7579f77SDag-Erling Smørgrav_LT_LANG_C_CONFIG 267b7579f77SDag-Erling Smørgrav_LT_LANG_DEFAULT_CONFIG 268b7579f77SDag-Erling Smørgrav_LT_CONFIG_COMMANDS 269b7579f77SDag-Erling Smørgrav])# _LT_SETUP 270b7579f77SDag-Erling Smørgrav 271b7579f77SDag-Erling Smørgrav 272b7579f77SDag-Erling Smørgrav# _LT_PREPARE_SED_QUOTE_VARS 273b7579f77SDag-Erling Smørgrav# -------------------------- 274b7579f77SDag-Erling Smørgrav# Define a few sed substitution that help us do robust quoting. 275b7579f77SDag-Erling Smørgravm4_defun([_LT_PREPARE_SED_QUOTE_VARS], 276b7579f77SDag-Erling Smørgrav[# Backslashify metacharacters that are still active within 277b7579f77SDag-Erling Smørgrav# double-quoted strings. 278b7579f77SDag-Erling Smørgravsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 279b7579f77SDag-Erling Smørgrav 280b7579f77SDag-Erling Smørgrav# Same as above, but do not quote variable references. 281b7579f77SDag-Erling Smørgravdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 282b7579f77SDag-Erling Smørgrav 283b7579f77SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped shell variable in a 284b7579f77SDag-Erling Smørgrav# double_quote_subst'ed string. 285b7579f77SDag-Erling Smørgravdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 286b7579f77SDag-Erling Smørgrav 287b7579f77SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped single quote. 288b7579f77SDag-Erling Smørgravdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 289b7579f77SDag-Erling Smørgrav 290b7579f77SDag-Erling Smørgrav# Sed substitution to avoid accidental globbing in evaled expressions 291b7579f77SDag-Erling Smørgravno_glob_subst='s/\*/\\\*/g' 292b7579f77SDag-Erling Smørgrav]) 293b7579f77SDag-Erling Smørgrav 294b7579f77SDag-Erling Smørgrav# _LT_PROG_LTMAIN 295b7579f77SDag-Erling Smørgrav# --------------- 296f61ef7f6SDag-Erling Smørgrav# Note that this code is called both from 'configure', and 'config.status' 297b7579f77SDag-Erling Smørgrav# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 298f61ef7f6SDag-Erling Smørgrav# 'config.status' has no value for ac_aux_dir unless we are using Automake, 299b7579f77SDag-Erling Smørgrav# so we pass a copy along to make sure it has a sensible value anyway. 300b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_LTMAIN], 301b7579f77SDag-Erling Smørgrav[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 302b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 303f61ef7f6SDag-Erling Smørgravltmain=$ac_aux_dir/ltmain.sh 304b7579f77SDag-Erling Smørgrav])# _LT_PROG_LTMAIN 305b7579f77SDag-Erling Smørgrav 306b7579f77SDag-Erling Smørgrav 307b7579f77SDag-Erling Smørgrav 308b7579f77SDag-Erling Smørgrav# So that we can recreate a full libtool script including additional 309b7579f77SDag-Erling Smørgrav# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 310f61ef7f6SDag-Erling Smørgrav# in macros and then make a single call at the end using the 'libtool' 311b7579f77SDag-Erling Smørgrav# label. 312b7579f77SDag-Erling Smørgrav 313b7579f77SDag-Erling Smørgrav 314b7579f77SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 315b7579f77SDag-Erling Smørgrav# ---------------------------------------- 316b7579f77SDag-Erling Smørgrav# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 317b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL_INIT], 318b7579f77SDag-Erling Smørgrav[m4_ifval([$1], 319b7579f77SDag-Erling Smørgrav [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 320b7579f77SDag-Erling Smørgrav [$1 321b7579f77SDag-Erling Smørgrav])])]) 322b7579f77SDag-Erling Smørgrav 323b7579f77SDag-Erling Smørgrav# Initialize. 324b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 325b7579f77SDag-Erling Smørgrav 326b7579f77SDag-Erling Smørgrav 327b7579f77SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL([COMMANDS]) 328b7579f77SDag-Erling Smørgrav# ------------------------------ 329b7579f77SDag-Erling Smørgrav# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 330b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL], 331b7579f77SDag-Erling Smørgrav[m4_ifval([$1], 332b7579f77SDag-Erling Smørgrav [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 333b7579f77SDag-Erling Smørgrav [$1 334b7579f77SDag-Erling Smørgrav])])]) 335b7579f77SDag-Erling Smørgrav 336b7579f77SDag-Erling Smørgrav# Initialize. 337b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 338b7579f77SDag-Erling Smørgrav 339b7579f77SDag-Erling Smørgrav 340b7579f77SDag-Erling Smørgrav# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 341b7579f77SDag-Erling Smørgrav# ----------------------------------------------------- 342b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_SAVE_COMMANDS], 343b7579f77SDag-Erling Smørgrav[_LT_CONFIG_LIBTOOL([$1]) 344b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([$2]) 345b7579f77SDag-Erling Smørgrav]) 346b7579f77SDag-Erling Smørgrav 347b7579f77SDag-Erling Smørgrav 348b7579f77SDag-Erling Smørgrav# _LT_FORMAT_COMMENT([COMMENT]) 349b7579f77SDag-Erling Smørgrav# ----------------------------- 350b7579f77SDag-Erling Smørgrav# Add leading comment marks to the start of each line, and a trailing 351b7579f77SDag-Erling Smørgrav# full-stop to the whole comment if one is not present already. 352b7579f77SDag-Erling Smørgravm4_define([_LT_FORMAT_COMMENT], 353b7579f77SDag-Erling Smørgrav[m4_ifval([$1], [ 354b7579f77SDag-Erling Smørgravm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 355b7579f77SDag-Erling Smørgrav [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 356b7579f77SDag-Erling Smørgrav)]) 357b7579f77SDag-Erling Smørgrav 358b7579f77SDag-Erling Smørgrav 359b7579f77SDag-Erling Smørgrav 360b7579f77SDag-Erling Smørgrav 361b7579f77SDag-Erling Smørgrav 362b7579f77SDag-Erling Smørgrav# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 363b7579f77SDag-Erling Smørgrav# ------------------------------------------------------------------- 364b7579f77SDag-Erling Smørgrav# CONFIGNAME is the name given to the value in the libtool script. 365b7579f77SDag-Erling Smørgrav# VARNAME is the (base) name used in the configure script. 366b7579f77SDag-Erling Smørgrav# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 367b7579f77SDag-Erling Smørgrav# VARNAME. Any other value will be used directly. 368b7579f77SDag-Erling Smørgravm4_define([_LT_DECL], 369b7579f77SDag-Erling Smørgrav[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 370b7579f77SDag-Erling Smørgrav [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 371b7579f77SDag-Erling Smørgrav [m4_ifval([$1], [$1], [$2])]) 372b7579f77SDag-Erling Smørgrav lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 373b7579f77SDag-Erling Smørgrav m4_ifval([$4], 374b7579f77SDag-Erling Smørgrav [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 375b7579f77SDag-Erling Smørgrav lt_dict_add_subkey([lt_decl_dict], [$2], 376b7579f77SDag-Erling Smørgrav [tagged?], [m4_ifval([$5], [yes], [no])])]) 377b7579f77SDag-Erling Smørgrav]) 378b7579f77SDag-Erling Smørgrav 379b7579f77SDag-Erling Smørgrav 380b7579f77SDag-Erling Smørgrav# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 381b7579f77SDag-Erling Smørgrav# -------------------------------------------------------- 382b7579f77SDag-Erling Smørgravm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 383b7579f77SDag-Erling Smørgrav 384b7579f77SDag-Erling Smørgrav 385b7579f77SDag-Erling Smørgrav# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 386b7579f77SDag-Erling Smørgrav# ------------------------------------------------ 387b7579f77SDag-Erling Smørgravm4_define([lt_decl_tag_varnames], 388b7579f77SDag-Erling Smørgrav[_lt_decl_filter([tagged?], [yes], $@)]) 389b7579f77SDag-Erling Smørgrav 390b7579f77SDag-Erling Smørgrav 391b7579f77SDag-Erling Smørgrav# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 392b7579f77SDag-Erling Smørgrav# --------------------------------------------------------- 393b7579f77SDag-Erling Smørgravm4_define([_lt_decl_filter], 394b7579f77SDag-Erling Smørgrav[m4_case([$#], 395b7579f77SDag-Erling Smørgrav [0], [m4_fatal([$0: too few arguments: $#])], 396b7579f77SDag-Erling Smørgrav [1], [m4_fatal([$0: too few arguments: $#: $1])], 397b7579f77SDag-Erling Smørgrav [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 398b7579f77SDag-Erling Smørgrav [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 399b7579f77SDag-Erling Smørgrav [lt_dict_filter([lt_decl_dict], $@)])[]dnl 400b7579f77SDag-Erling Smørgrav]) 401b7579f77SDag-Erling Smørgrav 402b7579f77SDag-Erling Smørgrav 403b7579f77SDag-Erling Smørgrav# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 404b7579f77SDag-Erling Smørgrav# -------------------------------------------------- 405b7579f77SDag-Erling Smørgravm4_define([lt_decl_quote_varnames], 406b7579f77SDag-Erling Smørgrav[_lt_decl_filter([value], [1], $@)]) 407b7579f77SDag-Erling Smørgrav 408b7579f77SDag-Erling Smørgrav 409b7579f77SDag-Erling Smørgrav# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 410b7579f77SDag-Erling Smørgrav# --------------------------------------------------- 411b7579f77SDag-Erling Smørgravm4_define([lt_decl_dquote_varnames], 412b7579f77SDag-Erling Smørgrav[_lt_decl_filter([value], [2], $@)]) 413b7579f77SDag-Erling Smørgrav 414b7579f77SDag-Erling Smørgrav 415b7579f77SDag-Erling Smørgrav# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 416b7579f77SDag-Erling Smørgrav# --------------------------------------------------- 417b7579f77SDag-Erling Smørgravm4_define([lt_decl_varnames_tagged], 418b7579f77SDag-Erling Smørgrav[m4_assert([$# <= 2])dnl 419b7579f77SDag-Erling Smørgrav_$0(m4_quote(m4_default([$1], [[, ]])), 420b7579f77SDag-Erling Smørgrav m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 421b7579f77SDag-Erling Smørgrav m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 422b7579f77SDag-Erling Smørgravm4_define([_lt_decl_varnames_tagged], 423b7579f77SDag-Erling Smørgrav[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 424b7579f77SDag-Erling Smørgrav 425b7579f77SDag-Erling Smørgrav 426b7579f77SDag-Erling Smørgrav# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 427b7579f77SDag-Erling Smørgrav# ------------------------------------------------ 428b7579f77SDag-Erling Smørgravm4_define([lt_decl_all_varnames], 429b7579f77SDag-Erling Smørgrav[_$0(m4_quote(m4_default([$1], [[, ]])), 430b7579f77SDag-Erling Smørgrav m4_if([$2], [], 431b7579f77SDag-Erling Smørgrav m4_quote(lt_decl_varnames), 432b7579f77SDag-Erling Smørgrav m4_quote(m4_shift($@))))[]dnl 433b7579f77SDag-Erling Smørgrav]) 434b7579f77SDag-Erling Smørgravm4_define([_lt_decl_all_varnames], 435b7579f77SDag-Erling Smørgrav[lt_join($@, lt_decl_varnames_tagged([$1], 436b7579f77SDag-Erling Smørgrav lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 437b7579f77SDag-Erling Smørgrav]) 438b7579f77SDag-Erling Smørgrav 439b7579f77SDag-Erling Smørgrav 440b7579f77SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 441b7579f77SDag-Erling Smørgrav# ------------------------------------ 442f61ef7f6SDag-Erling Smørgrav# Quote a variable value, and forward it to 'config.status' so that its 443f61ef7f6SDag-Erling Smørgrav# declaration there will have the same value as in 'configure'. VARNAME 444b7579f77SDag-Erling Smørgrav# must have a single quote delimited value for this to work. 445b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_STATUS_DECLARE], 446b7579f77SDag-Erling Smørgrav[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 447b7579f77SDag-Erling Smørgrav 448b7579f77SDag-Erling Smørgrav 449b7579f77SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARATIONS 450b7579f77SDag-Erling Smørgrav# ------------------------------ 451b7579f77SDag-Erling Smørgrav# We delimit libtool config variables with single quotes, so when 452b7579f77SDag-Erling Smørgrav# we write them to config.status, we have to be sure to quote all 453b7579f77SDag-Erling Smørgrav# embedded single quotes properly. In configure, this macro expands 454b7579f77SDag-Erling Smørgrav# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 455b7579f77SDag-Erling Smørgrav# 456b7579f77SDag-Erling Smørgrav# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 457b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 458b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 459b7579f77SDag-Erling Smørgrav [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 460b7579f77SDag-Erling Smørgrav 461b7579f77SDag-Erling Smørgrav 462b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_TAGS 463b7579f77SDag-Erling Smørgrav# ---------------- 464b7579f77SDag-Erling Smørgrav# Output comment and list of tags supported by the script 465b7579f77SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_TAGS], 466b7579f77SDag-Erling Smørgrav[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 467f61ef7f6SDag-Erling Smørgravavailable_tags='_LT_TAGS'dnl 468b7579f77SDag-Erling Smørgrav]) 469b7579f77SDag-Erling Smørgrav 470b7579f77SDag-Erling Smørgrav 471b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 472b7579f77SDag-Erling Smørgrav# ----------------------------------- 473b7579f77SDag-Erling Smørgrav# Extract the dictionary values for VARNAME (optionally with TAG) and 474b7579f77SDag-Erling Smørgrav# expand to a commented shell variable setting: 475b7579f77SDag-Erling Smørgrav# 476b7579f77SDag-Erling Smørgrav# # Some comment about what VAR is for. 477b7579f77SDag-Erling Smørgrav# visible_name=$lt_internal_name 478b7579f77SDag-Erling Smørgravm4_define([_LT_LIBTOOL_DECLARE], 479b7579f77SDag-Erling Smørgrav[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 480b7579f77SDag-Erling Smørgrav [description])))[]dnl 481b7579f77SDag-Erling Smørgravm4_pushdef([_libtool_name], 482b7579f77SDag-Erling Smørgrav m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 483b7579f77SDag-Erling Smørgravm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 484b7579f77SDag-Erling Smørgrav [0], [_libtool_name=[$]$1], 485b7579f77SDag-Erling Smørgrav [1], [_libtool_name=$lt_[]$1], 486b7579f77SDag-Erling Smørgrav [2], [_libtool_name=$lt_[]$1], 487b7579f77SDag-Erling Smørgrav [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 488b7579f77SDag-Erling Smørgravm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 489b7579f77SDag-Erling Smørgrav]) 490b7579f77SDag-Erling Smørgrav 491b7579f77SDag-Erling Smørgrav 492b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_CONFIG_VARS 493b7579f77SDag-Erling Smørgrav# ----------------------- 494b7579f77SDag-Erling Smørgrav# Produce commented declarations of non-tagged libtool config variables 495f61ef7f6SDag-Erling Smørgrav# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' 496b7579f77SDag-Erling Smørgrav# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 497b7579f77SDag-Erling Smørgrav# section) are produced by _LT_LIBTOOL_TAG_VARS. 498b7579f77SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_CONFIG_VARS], 499b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var], 500b7579f77SDag-Erling Smørgrav m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 501b7579f77SDag-Erling Smørgrav [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 502b7579f77SDag-Erling Smørgrav 503b7579f77SDag-Erling Smørgrav 504b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_TAG_VARS(TAG) 505b7579f77SDag-Erling Smørgrav# ------------------------- 506b7579f77SDag-Erling Smørgravm4_define([_LT_LIBTOOL_TAG_VARS], 507b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 508b7579f77SDag-Erling Smørgrav [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 509b7579f77SDag-Erling Smørgrav 510b7579f77SDag-Erling Smørgrav 511b7579f77SDag-Erling Smørgrav# _LT_TAGVAR(VARNAME, [TAGNAME]) 512b7579f77SDag-Erling Smørgrav# ------------------------------ 513b7579f77SDag-Erling Smørgravm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 514b7579f77SDag-Erling Smørgrav 515b7579f77SDag-Erling Smørgrav 516b7579f77SDag-Erling Smørgrav# _LT_CONFIG_COMMANDS 517b7579f77SDag-Erling Smørgrav# ------------------- 518b7579f77SDag-Erling Smørgrav# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 519b7579f77SDag-Erling Smørgrav# variables for single and double quote escaping we saved from calls 520b7579f77SDag-Erling Smørgrav# to _LT_DECL, we can put quote escaped variables declarations 521f61ef7f6SDag-Erling Smørgrav# into 'config.status', and then the shell code to quote escape them in 522f61ef7f6SDag-Erling Smørgrav# for loops in 'config.status'. Finally, any additional code accumulated 523b7579f77SDag-Erling Smørgrav# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 524b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_COMMANDS], 525b7579f77SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([LT_OUTPUT], 526b7579f77SDag-Erling Smørgrav dnl If the libtool generation code has been placed in $CONFIG_LT, 527b7579f77SDag-Erling Smørgrav dnl instead of duplicating it all over again into config.status, 528b7579f77SDag-Erling Smørgrav dnl then we will have config.status run $CONFIG_LT later, so it 529b7579f77SDag-Erling Smørgrav dnl needs to know what name is stored there: 530b7579f77SDag-Erling Smørgrav [AC_CONFIG_COMMANDS([libtool], 531b7579f77SDag-Erling Smørgrav [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 532b7579f77SDag-Erling Smørgrav dnl If the libtool generation code is destined for config.status, 533b7579f77SDag-Erling Smørgrav dnl expand the accumulated commands and init code now: 534b7579f77SDag-Erling Smørgrav [AC_CONFIG_COMMANDS([libtool], 535b7579f77SDag-Erling Smørgrav [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 536b7579f77SDag-Erling Smørgrav])#_LT_CONFIG_COMMANDS 537b7579f77SDag-Erling Smørgrav 538b7579f77SDag-Erling Smørgrav 539b7579f77SDag-Erling Smørgrav# Initialize. 540b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 541b7579f77SDag-Erling Smørgrav[ 542b7579f77SDag-Erling Smørgrav 543b7579f77SDag-Erling Smørgrav# The HP-UX ksh and POSIX shell print the target directory to stdout 544b7579f77SDag-Erling Smørgrav# if CDPATH is set. 545b7579f77SDag-Erling Smørgrav(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 546b7579f77SDag-Erling Smørgrav 547b7579f77SDag-Erling Smørgravsed_quote_subst='$sed_quote_subst' 548b7579f77SDag-Erling Smørgravdouble_quote_subst='$double_quote_subst' 549b7579f77SDag-Erling Smørgravdelay_variable_subst='$delay_variable_subst' 550b7579f77SDag-Erling Smørgrav_LT_CONFIG_STATUS_DECLARATIONS 551b7579f77SDag-Erling SmørgravLTCC='$LTCC' 552b7579f77SDag-Erling SmørgravLTCFLAGS='$LTCFLAGS' 553b7579f77SDag-Erling Smørgravcompiler='$compiler_DEFAULT' 554b7579f77SDag-Erling Smørgrav 555b7579f77SDag-Erling Smørgrav# A function that is used when there is no print builtin or printf. 556b7579f77SDag-Erling Smørgravfunc_fallback_echo () 557b7579f77SDag-Erling Smørgrav{ 558b7579f77SDag-Erling Smørgrav eval 'cat <<_LTECHO_EOF 559b7579f77SDag-Erling Smørgrav\$[]1 560b7579f77SDag-Erling Smørgrav_LTECHO_EOF' 561b7579f77SDag-Erling Smørgrav} 562b7579f77SDag-Erling Smørgrav 563b7579f77SDag-Erling Smørgrav# Quote evaled strings. 564b7579f77SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \ 565b7579f77SDag-Erling Smørgrav]], lt_decl_quote_varnames); do 566b7579f77SDag-Erling Smørgrav case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 567b7579f77SDag-Erling Smørgrav *[[\\\\\\\`\\"\\\$]]*) 568f61ef7f6SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 569b7579f77SDag-Erling Smørgrav ;; 570b7579f77SDag-Erling Smørgrav *) 571b7579f77SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 572b7579f77SDag-Erling Smørgrav ;; 573b7579f77SDag-Erling Smørgrav esac 574b7579f77SDag-Erling Smørgravdone 575b7579f77SDag-Erling Smørgrav 576b7579f77SDag-Erling Smørgrav# Double-quote double-evaled strings. 577b7579f77SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \ 578b7579f77SDag-Erling Smørgrav]], lt_decl_dquote_varnames); do 579b7579f77SDag-Erling Smørgrav case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 580b7579f77SDag-Erling Smørgrav *[[\\\\\\\`\\"\\\$]]*) 581f61ef7f6SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 582b7579f77SDag-Erling Smørgrav ;; 583b7579f77SDag-Erling Smørgrav *) 584b7579f77SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 585b7579f77SDag-Erling Smørgrav ;; 586b7579f77SDag-Erling Smørgrav esac 587b7579f77SDag-Erling Smørgravdone 588b7579f77SDag-Erling Smørgrav 589b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_INIT 590b7579f77SDag-Erling Smørgrav]) 591b7579f77SDag-Erling Smørgrav 592b7579f77SDag-Erling Smørgrav# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 593b7579f77SDag-Erling Smørgrav# ------------------------------------ 594b7579f77SDag-Erling Smørgrav# Generate a child script FILE with all initialization necessary to 595b7579f77SDag-Erling Smørgrav# reuse the environment learned by the parent script, and make the 596b7579f77SDag-Erling Smørgrav# file executable. If COMMENT is supplied, it is inserted after the 597f61ef7f6SDag-Erling Smørgrav# '#!' sequence but before initialization text begins. After this 598b7579f77SDag-Erling Smørgrav# macro, additional text can be appended to FILE to form the body of 599b7579f77SDag-Erling Smørgrav# the child script. The macro ends with non-zero status if the 600b7579f77SDag-Erling Smørgrav# file could not be fully written (such as if the disk is full). 601b7579f77SDag-Erling Smørgravm4_ifdef([AS_INIT_GENERATED], 602b7579f77SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 603b7579f77SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT], 604b7579f77SDag-Erling Smørgrav[m4_require([AS_PREPARE])]dnl 605b7579f77SDag-Erling Smørgrav[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 606b7579f77SDag-Erling Smørgrav[lt_write_fail=0 607b7579f77SDag-Erling Smørgravcat >$1 <<_ASEOF || lt_write_fail=1 608b7579f77SDag-Erling Smørgrav#! $SHELL 609b7579f77SDag-Erling Smørgrav# Generated by $as_me. 610b7579f77SDag-Erling Smørgrav$2 611b7579f77SDag-Erling SmørgravSHELL=\${CONFIG_SHELL-$SHELL} 612b7579f77SDag-Erling Smørgravexport SHELL 613b7579f77SDag-Erling Smørgrav_ASEOF 614b7579f77SDag-Erling Smørgravcat >>$1 <<\_ASEOF || lt_write_fail=1 615b7579f77SDag-Erling SmørgravAS_SHELL_SANITIZE 616b7579f77SDag-Erling Smørgrav_AS_PREPARE 617b7579f77SDag-Erling Smørgravexec AS_MESSAGE_FD>&1 618b7579f77SDag-Erling Smørgrav_ASEOF 619f61ef7f6SDag-Erling Smørgravtest 0 = "$lt_write_fail" && chmod +x $1[]dnl 620b7579f77SDag-Erling Smørgravm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 621b7579f77SDag-Erling Smørgrav 622b7579f77SDag-Erling Smørgrav# LT_OUTPUT 623b7579f77SDag-Erling Smørgrav# --------- 624b7579f77SDag-Erling Smørgrav# This macro allows early generation of the libtool script (before 625b7579f77SDag-Erling Smørgrav# AC_OUTPUT is called), incase it is used in configure for compilation 626b7579f77SDag-Erling Smørgrav# tests. 627b7579f77SDag-Erling SmørgravAC_DEFUN([LT_OUTPUT], 628b7579f77SDag-Erling Smørgrav[: ${CONFIG_LT=./config.lt} 629b7579f77SDag-Erling SmørgravAC_MSG_NOTICE([creating $CONFIG_LT]) 630b7579f77SDag-Erling Smørgrav_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 631b7579f77SDag-Erling Smørgrav[# Run this file to recreate a libtool stub with the current configuration.]) 632b7579f77SDag-Erling Smørgrav 633b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF 634b7579f77SDag-Erling Smørgravlt_cl_silent=false 635b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log 636b7579f77SDag-Erling Smørgrav{ 637b7579f77SDag-Erling Smørgrav echo 638b7579f77SDag-Erling Smørgrav AS_BOX([Running $as_me.]) 639b7579f77SDag-Erling Smørgrav} >&AS_MESSAGE_LOG_FD 640b7579f77SDag-Erling Smørgrav 641b7579f77SDag-Erling Smørgravlt_cl_help="\ 642f61ef7f6SDag-Erling Smørgrav'$as_me' creates a local libtool stub from the current configuration, 643b7579f77SDag-Erling Smørgravfor use in further configure time tests before the real libtool is 644b7579f77SDag-Erling Smørgravgenerated. 645b7579f77SDag-Erling Smørgrav 646b7579f77SDag-Erling SmørgravUsage: $[0] [[OPTIONS]] 647b7579f77SDag-Erling Smørgrav 648b7579f77SDag-Erling Smørgrav -h, --help print this help, then exit 649b7579f77SDag-Erling Smørgrav -V, --version print version number, then exit 650b7579f77SDag-Erling Smørgrav -q, --quiet do not print progress messages 651b7579f77SDag-Erling Smørgrav -d, --debug don't remove temporary files 652b7579f77SDag-Erling Smørgrav 653b7579f77SDag-Erling SmørgravReport bugs to <bug-libtool@gnu.org>." 654b7579f77SDag-Erling Smørgrav 655b7579f77SDag-Erling Smørgravlt_cl_version="\ 656b7579f77SDag-Erling Smørgravm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 657b7579f77SDag-Erling Smørgravm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 658b7579f77SDag-Erling Smørgravconfigured by $[0], generated by m4_PACKAGE_STRING. 659b7579f77SDag-Erling Smørgrav 6608ed2b524SDag-Erling SmørgravCopyright (C) 2011 Free Software Foundation, Inc. 661b7579f77SDag-Erling SmørgravThis config.lt script is free software; the Free Software Foundation 662b7579f77SDag-Erling Smørgravgives unlimited permision to copy, distribute and modify it." 663b7579f77SDag-Erling Smørgrav 664f61ef7f6SDag-Erling Smørgravwhile test 0 != $[#] 665b7579f77SDag-Erling Smørgravdo 666b7579f77SDag-Erling Smørgrav case $[1] in 667b7579f77SDag-Erling Smørgrav --version | --v* | -V ) 668b7579f77SDag-Erling Smørgrav echo "$lt_cl_version"; exit 0 ;; 669b7579f77SDag-Erling Smørgrav --help | --h* | -h ) 670b7579f77SDag-Erling Smørgrav echo "$lt_cl_help"; exit 0 ;; 671b7579f77SDag-Erling Smørgrav --debug | --d* | -d ) 672b7579f77SDag-Erling Smørgrav debug=: ;; 673b7579f77SDag-Erling Smørgrav --quiet | --q* | --silent | --s* | -q ) 674b7579f77SDag-Erling Smørgrav lt_cl_silent=: ;; 675b7579f77SDag-Erling Smørgrav 676b7579f77SDag-Erling Smørgrav -*) AC_MSG_ERROR([unrecognized option: $[1] 677f61ef7f6SDag-Erling SmørgravTry '$[0] --help' for more information.]) ;; 678b7579f77SDag-Erling Smørgrav 679b7579f77SDag-Erling Smørgrav *) AC_MSG_ERROR([unrecognized argument: $[1] 680f61ef7f6SDag-Erling SmørgravTry '$[0] --help' for more information.]) ;; 681b7579f77SDag-Erling Smørgrav esac 682b7579f77SDag-Erling Smørgrav shift 683b7579f77SDag-Erling Smørgravdone 684b7579f77SDag-Erling Smørgrav 685b7579f77SDag-Erling Smørgravif $lt_cl_silent; then 686b7579f77SDag-Erling Smørgrav exec AS_MESSAGE_FD>/dev/null 687b7579f77SDag-Erling Smørgravfi 688b7579f77SDag-Erling Smørgrav_LTEOF 689b7579f77SDag-Erling Smørgrav 690b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<_LTEOF 691b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 692b7579f77SDag-Erling Smørgrav_LTEOF 693b7579f77SDag-Erling Smørgrav 694b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF 695b7579f77SDag-Erling SmørgravAC_MSG_NOTICE([creating $ofile]) 696b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS 697b7579f77SDag-Erling SmørgravAS_EXIT(0) 698b7579f77SDag-Erling Smørgrav_LTEOF 699b7579f77SDag-Erling Smørgravchmod +x "$CONFIG_LT" 700b7579f77SDag-Erling Smørgrav 701b7579f77SDag-Erling Smørgrav# configure is writing to config.log, but config.lt does its own redirection, 702b7579f77SDag-Erling Smørgrav# appending to config.log, which fails on DOS, as config.log is still kept 703b7579f77SDag-Erling Smørgrav# open by configure. Here we exec the FD to /dev/null, effectively closing 704b7579f77SDag-Erling Smørgrav# config.log, so it can be properly (re)opened and appended to by config.lt. 705b7579f77SDag-Erling Smørgravlt_cl_success=: 706f61ef7f6SDag-Erling Smørgravtest yes = "$silent" && 707b7579f77SDag-Erling Smørgrav lt_config_lt_args="$lt_config_lt_args --quiet" 708b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>/dev/null 709b7579f77SDag-Erling Smørgrav$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 710b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log 711b7579f77SDag-Erling Smørgrav$lt_cl_success || AS_EXIT(1) 712b7579f77SDag-Erling Smørgrav])# LT_OUTPUT 713b7579f77SDag-Erling Smørgrav 714b7579f77SDag-Erling Smørgrav 715b7579f77SDag-Erling Smørgrav# _LT_CONFIG(TAG) 716b7579f77SDag-Erling Smørgrav# --------------- 717b7579f77SDag-Erling Smørgrav# If TAG is the built-in tag, create an initial libtool script with a 718b7579f77SDag-Erling Smørgrav# default configuration from the untagged config vars. Otherwise add code 719b7579f77SDag-Erling Smørgrav# to config.status for appending the configuration named by TAG from the 720b7579f77SDag-Erling Smørgrav# matching tagged config vars. 721b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG], 722b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 723b7579f77SDag-Erling Smørgrav_LT_CONFIG_SAVE_COMMANDS([ 724b7579f77SDag-Erling Smørgrav m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 725b7579f77SDag-Erling Smørgrav m4_if(_LT_TAG, [C], [ 726f61ef7f6SDag-Erling Smørgrav # See if we are running on zsh, and set the options that allow our 727b7579f77SDag-Erling Smørgrav # commands through without removal of \ escapes. 728b7579f77SDag-Erling Smørgrav if test -n "${ZSH_VERSION+set}"; then 729b7579f77SDag-Erling Smørgrav setopt NO_GLOB_SUBST 730b7579f77SDag-Erling Smørgrav fi 731b7579f77SDag-Erling Smørgrav 732f61ef7f6SDag-Erling Smørgrav cfgfile=${ofile}T 733b7579f77SDag-Erling Smørgrav trap "$RM \"$cfgfile\"; exit 1" 1 2 15 734b7579f77SDag-Erling Smørgrav $RM "$cfgfile" 735b7579f77SDag-Erling Smørgrav 736b7579f77SDag-Erling Smørgrav cat <<_LT_EOF >> "$cfgfile" 737b7579f77SDag-Erling Smørgrav#! $SHELL 738f61ef7f6SDag-Erling Smørgrav# Generated automatically by $as_me ($PACKAGE) $VERSION 739091e9e46SCy Schubert# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 740b7579f77SDag-Erling Smørgrav# NOTE: Changes made to this file will be lost: look at ltmain.sh. 741f61ef7f6SDag-Erling Smørgrav 742f61ef7f6SDag-Erling Smørgrav# Provide generalized library-building support services. 743f61ef7f6SDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996 744f61ef7f6SDag-Erling Smørgrav 745b7579f77SDag-Erling Smørgrav_LT_COPYING 746b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAGS 747b7579f77SDag-Erling Smørgrav 748f61ef7f6SDag-Erling Smørgrav# Configured defaults for sys_lib_dlsearch_path munging. 749f61ef7f6SDag-Erling Smørgrav: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} 750f61ef7f6SDag-Erling Smørgrav 751b7579f77SDag-Erling Smørgrav# ### BEGIN LIBTOOL CONFIG 752b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_CONFIG_VARS 753b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS 754b7579f77SDag-Erling Smørgrav# ### END LIBTOOL CONFIG 755b7579f77SDag-Erling Smørgrav 756b7579f77SDag-Erling Smørgrav_LT_EOF 757b7579f77SDag-Erling Smørgrav 758f61ef7f6SDag-Erling Smørgrav cat <<'_LT_EOF' >> "$cfgfile" 759f61ef7f6SDag-Erling Smørgrav 760f61ef7f6SDag-Erling Smørgrav# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 761f61ef7f6SDag-Erling Smørgrav 762f61ef7f6SDag-Erling Smørgrav_LT_PREPARE_MUNGE_PATH_LIST 763f61ef7f6SDag-Erling Smørgrav_LT_PREPARE_CC_BASENAME 764f61ef7f6SDag-Erling Smørgrav 765f61ef7f6SDag-Erling Smørgrav# ### END FUNCTIONS SHARED WITH CONFIGURE 766f61ef7f6SDag-Erling Smørgrav 767f61ef7f6SDag-Erling Smørgrav_LT_EOF 768f61ef7f6SDag-Erling Smørgrav 769b7579f77SDag-Erling Smørgrav case $host_os in 770b7579f77SDag-Erling Smørgrav aix3*) 771b7579f77SDag-Erling Smørgrav cat <<\_LT_EOF >> "$cfgfile" 772b7579f77SDag-Erling Smørgrav# AIX sometimes has problems with the GCC collect2 program. For some 773b7579f77SDag-Erling Smørgrav# reason, if we set the COLLECT_NAMES environment variable, the problems 774b7579f77SDag-Erling Smørgrav# vanish in a puff of smoke. 775f61ef7f6SDag-Erling Smørgravif test set != "${COLLECT_NAMES+set}"; then 776b7579f77SDag-Erling Smørgrav COLLECT_NAMES= 777b7579f77SDag-Erling Smørgrav export COLLECT_NAMES 778b7579f77SDag-Erling Smørgravfi 779b7579f77SDag-Erling Smørgrav_LT_EOF 780b7579f77SDag-Erling Smørgrav ;; 781b7579f77SDag-Erling Smørgrav esac 782b7579f77SDag-Erling Smørgrav 783b7579f77SDag-Erling Smørgrav _LT_PROG_LTMAIN 784b7579f77SDag-Erling Smørgrav 785b7579f77SDag-Erling Smørgrav # We use sed instead of cat because bash on DJGPP gets confused if 786b7579f77SDag-Erling Smørgrav # if finds mixed CR/LF and LF-only lines. Since sed operates in 787b7579f77SDag-Erling Smørgrav # text mode, it properly converts lines to CR/LF. This bash problem 788b7579f77SDag-Erling Smørgrav # is reportedly fixed, but why not run on old versions too? 789*46d2f618SCy Schubert sed '$q' "$ltmain" >> "$cfgfile" \ 790b7579f77SDag-Erling Smørgrav || (rm -f "$cfgfile"; exit 1) 791b7579f77SDag-Erling Smørgrav 792b7579f77SDag-Erling Smørgrav mv -f "$cfgfile" "$ofile" || 793b7579f77SDag-Erling Smørgrav (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 794b7579f77SDag-Erling Smørgrav chmod +x "$ofile" 795b7579f77SDag-Erling Smørgrav], 796b7579f77SDag-Erling Smørgrav[cat <<_LT_EOF >> "$ofile" 797b7579f77SDag-Erling Smørgrav 798b7579f77SDag-Erling Smørgravdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 799b7579f77SDag-Erling Smørgravdnl in a comment (ie after a #). 800b7579f77SDag-Erling Smørgrav# ### BEGIN LIBTOOL TAG CONFIG: $1 801b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS(_LT_TAG) 802b7579f77SDag-Erling Smørgrav# ### END LIBTOOL TAG CONFIG: $1 803b7579f77SDag-Erling Smørgrav_LT_EOF 804b7579f77SDag-Erling Smørgrav])dnl /m4_if 805b7579f77SDag-Erling Smørgrav], 806b7579f77SDag-Erling Smørgrav[m4_if([$1], [], [ 807b7579f77SDag-Erling Smørgrav PACKAGE='$PACKAGE' 808b7579f77SDag-Erling Smørgrav VERSION='$VERSION' 809b7579f77SDag-Erling Smørgrav RM='$RM' 810b7579f77SDag-Erling Smørgrav ofile='$ofile'], []) 811b7579f77SDag-Erling Smørgrav])dnl /_LT_CONFIG_SAVE_COMMANDS 812b7579f77SDag-Erling Smørgrav])# _LT_CONFIG 813b7579f77SDag-Erling Smørgrav 814b7579f77SDag-Erling Smørgrav 815b7579f77SDag-Erling Smørgrav# LT_SUPPORTED_TAG(TAG) 816b7579f77SDag-Erling Smørgrav# --------------------- 817b7579f77SDag-Erling Smørgrav# Trace this macro to discover what tags are supported by the libtool 818b7579f77SDag-Erling Smørgrav# --tag option, using: 819b7579f77SDag-Erling Smørgrav# autoconf --trace 'LT_SUPPORTED_TAG:$1' 820b7579f77SDag-Erling SmørgravAC_DEFUN([LT_SUPPORTED_TAG], []) 821b7579f77SDag-Erling Smørgrav 822b7579f77SDag-Erling Smørgrav 823b7579f77SDag-Erling Smørgrav# C support is built-in for now 824b7579f77SDag-Erling Smørgravm4_define([_LT_LANG_C_enabled], []) 825b7579f77SDag-Erling Smørgravm4_define([_LT_TAGS], []) 826b7579f77SDag-Erling Smørgrav 827b7579f77SDag-Erling Smørgrav 828b7579f77SDag-Erling Smørgrav# LT_LANG(LANG) 829b7579f77SDag-Erling Smørgrav# ------------- 830b7579f77SDag-Erling Smørgrav# Enable libtool support for the given language if not already enabled. 831b7579f77SDag-Erling SmørgravAC_DEFUN([LT_LANG], 832b7579f77SDag-Erling Smørgrav[AC_BEFORE([$0], [LT_OUTPUT])dnl 833b7579f77SDag-Erling Smørgravm4_case([$1], 834b7579f77SDag-Erling Smørgrav [C], [_LT_LANG(C)], 835b7579f77SDag-Erling Smørgrav [C++], [_LT_LANG(CXX)], 8368ed2b524SDag-Erling Smørgrav [Go], [_LT_LANG(GO)], 837b7579f77SDag-Erling Smørgrav [Java], [_LT_LANG(GCJ)], 838b7579f77SDag-Erling Smørgrav [Fortran 77], [_LT_LANG(F77)], 839b7579f77SDag-Erling Smørgrav [Fortran], [_LT_LANG(FC)], 840b7579f77SDag-Erling Smørgrav [Windows Resource], [_LT_LANG(RC)], 841b7579f77SDag-Erling Smørgrav [m4_ifdef([_LT_LANG_]$1[_CONFIG], 842b7579f77SDag-Erling Smørgrav [_LT_LANG($1)], 843b7579f77SDag-Erling Smørgrav [m4_fatal([$0: unsupported language: "$1"])])])dnl 844b7579f77SDag-Erling Smørgrav])# LT_LANG 845b7579f77SDag-Erling Smørgrav 846b7579f77SDag-Erling Smørgrav 847b7579f77SDag-Erling Smørgrav# _LT_LANG(LANGNAME) 848b7579f77SDag-Erling Smørgrav# ------------------ 849b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG], 850b7579f77SDag-Erling Smørgrav[m4_ifdef([_LT_LANG_]$1[_enabled], [], 851b7579f77SDag-Erling Smørgrav [LT_SUPPORTED_TAG([$1])dnl 852b7579f77SDag-Erling Smørgrav m4_append([_LT_TAGS], [$1 ])dnl 853b7579f77SDag-Erling Smørgrav m4_define([_LT_LANG_]$1[_enabled], [])dnl 854b7579f77SDag-Erling Smørgrav _LT_LANG_$1_CONFIG($1)])dnl 855b7579f77SDag-Erling Smørgrav])# _LT_LANG 856b7579f77SDag-Erling Smørgrav 857b7579f77SDag-Erling Smørgrav 8588ed2b524SDag-Erling Smørgravm4_ifndef([AC_PROG_GO], [ 8598ed2b524SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into # 8608ed2b524SDag-Erling Smørgrav# GNU Autoconf as AC_PROG_GO. When it is available in # 8618ed2b524SDag-Erling Smørgrav# a released version of Autoconf we should remove this # 8628ed2b524SDag-Erling Smørgrav# macro and use it instead. # 8638ed2b524SDag-Erling Smørgravm4_defun([AC_PROG_GO], 8648ed2b524SDag-Erling Smørgrav[AC_LANG_PUSH(Go)dnl 8658ed2b524SDag-Erling SmørgravAC_ARG_VAR([GOC], [Go compiler command])dnl 8668ed2b524SDag-Erling SmørgravAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 8678ed2b524SDag-Erling Smørgrav_AC_ARG_VAR_LDFLAGS()dnl 8688ed2b524SDag-Erling SmørgravAC_CHECK_TOOL(GOC, gccgo) 8698ed2b524SDag-Erling Smørgravif test -z "$GOC"; then 8708ed2b524SDag-Erling Smørgrav if test -n "$ac_tool_prefix"; then 8718ed2b524SDag-Erling Smørgrav AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 8728ed2b524SDag-Erling Smørgrav fi 8738ed2b524SDag-Erling Smørgravfi 8748ed2b524SDag-Erling Smørgravif test -z "$GOC"; then 8758ed2b524SDag-Erling Smørgrav AC_CHECK_PROG(GOC, gccgo, gccgo, false) 8768ed2b524SDag-Erling Smørgravfi 8778ed2b524SDag-Erling Smørgrav])#m4_defun 8788ed2b524SDag-Erling Smørgrav])#m4_ifndef 8798ed2b524SDag-Erling Smørgrav 8808ed2b524SDag-Erling Smørgrav 881b7579f77SDag-Erling Smørgrav# _LT_LANG_DEFAULT_CONFIG 882b7579f77SDag-Erling Smørgrav# ----------------------- 883b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_DEFAULT_CONFIG], 884b7579f77SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([AC_PROG_CXX], 885b7579f77SDag-Erling Smørgrav [LT_LANG(CXX)], 886b7579f77SDag-Erling Smørgrav [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 887b7579f77SDag-Erling Smørgrav 888b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_F77], 889b7579f77SDag-Erling Smørgrav [LT_LANG(F77)], 890b7579f77SDag-Erling Smørgrav [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 891b7579f77SDag-Erling Smørgrav 892b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_FC], 893b7579f77SDag-Erling Smørgrav [LT_LANG(FC)], 894b7579f77SDag-Erling Smørgrav [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 895b7579f77SDag-Erling Smørgrav 896b7579f77SDag-Erling Smørgravdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 897b7579f77SDag-Erling Smørgravdnl pulling things in needlessly. 898b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GCJ], 899b7579f77SDag-Erling Smørgrav [LT_LANG(GCJ)], 900b7579f77SDag-Erling Smørgrav [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 901b7579f77SDag-Erling Smørgrav [LT_LANG(GCJ)], 902b7579f77SDag-Erling Smørgrav [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 903b7579f77SDag-Erling Smørgrav [LT_LANG(GCJ)], 904b7579f77SDag-Erling Smørgrav [m4_ifdef([AC_PROG_GCJ], 905b7579f77SDag-Erling Smørgrav [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 906b7579f77SDag-Erling Smørgrav m4_ifdef([A][M_PROG_GCJ], 907b7579f77SDag-Erling Smørgrav [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 908b7579f77SDag-Erling Smørgrav m4_ifdef([LT_PROG_GCJ], 909b7579f77SDag-Erling Smørgrav [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 910b7579f77SDag-Erling Smørgrav 9118ed2b524SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GO], 9128ed2b524SDag-Erling Smørgrav [LT_LANG(GO)], 9138ed2b524SDag-Erling Smørgrav [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 9148ed2b524SDag-Erling Smørgrav 915b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([LT_PROG_RC], 916b7579f77SDag-Erling Smørgrav [LT_LANG(RC)], 917b7579f77SDag-Erling Smørgrav [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 918b7579f77SDag-Erling Smørgrav])# _LT_LANG_DEFAULT_CONFIG 919b7579f77SDag-Erling Smørgrav 920b7579f77SDag-Erling Smørgrav# Obsolete macros: 921b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 922b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 923b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 924b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 925b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 926b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 927b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 928b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_F77], []) 929b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_FC], []) 930b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 931b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_RC], []) 932b7579f77SDag-Erling Smørgrav 933b7579f77SDag-Erling Smørgrav 934b7579f77SDag-Erling Smørgrav# _LT_TAG_COMPILER 935b7579f77SDag-Erling Smørgrav# ---------------- 936b7579f77SDag-Erling Smørgravm4_defun([_LT_TAG_COMPILER], 937b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 938b7579f77SDag-Erling Smørgrav 939b7579f77SDag-Erling Smørgrav_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 940b7579f77SDag-Erling Smørgrav_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 941b7579f77SDag-Erling Smørgrav_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 942b7579f77SDag-Erling Smørgrav_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 943b7579f77SDag-Erling Smørgrav 944b7579f77SDag-Erling Smørgrav# If no C compiler was specified, use CC. 945b7579f77SDag-Erling SmørgravLTCC=${LTCC-"$CC"} 946b7579f77SDag-Erling Smørgrav 947b7579f77SDag-Erling Smørgrav# If no C compiler flags were specified, use CFLAGS. 948b7579f77SDag-Erling SmørgravLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 949b7579f77SDag-Erling Smørgrav 950b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 951b7579f77SDag-Erling Smørgravcompiler=$CC 952b7579f77SDag-Erling Smørgrav])# _LT_TAG_COMPILER 953b7579f77SDag-Erling Smørgrav 954b7579f77SDag-Erling Smørgrav 955b7579f77SDag-Erling Smørgrav# _LT_COMPILER_BOILERPLATE 956b7579f77SDag-Erling Smørgrav# ------------------------ 957b7579f77SDag-Erling Smørgrav# Check for compiler boilerplate output or warnings with 958b7579f77SDag-Erling Smørgrav# the simple compiler test code. 959b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_BOILERPLATE], 960b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 961b7579f77SDag-Erling Smørgravac_outfile=conftest.$ac_objext 962b7579f77SDag-Erling Smørgravecho "$lt_simple_compile_test_code" >conftest.$ac_ext 963b7579f77SDag-Erling Smørgraveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 964b7579f77SDag-Erling Smørgrav_lt_compiler_boilerplate=`cat conftest.err` 965b7579f77SDag-Erling Smørgrav$RM conftest* 966b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_BOILERPLATE 967b7579f77SDag-Erling Smørgrav 968b7579f77SDag-Erling Smørgrav 969b7579f77SDag-Erling Smørgrav# _LT_LINKER_BOILERPLATE 970b7579f77SDag-Erling Smørgrav# ---------------------- 971b7579f77SDag-Erling Smørgrav# Check for linker boilerplate output or warnings with 972b7579f77SDag-Erling Smørgrav# the simple link test code. 973b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_BOILERPLATE], 974b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 975b7579f77SDag-Erling Smørgravac_outfile=conftest.$ac_objext 976b7579f77SDag-Erling Smørgravecho "$lt_simple_link_test_code" >conftest.$ac_ext 977b7579f77SDag-Erling Smørgraveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 978b7579f77SDag-Erling Smørgrav_lt_linker_boilerplate=`cat conftest.err` 979b7579f77SDag-Erling Smørgrav$RM -r conftest* 980b7579f77SDag-Erling Smørgrav])# _LT_LINKER_BOILERPLATE 981b7579f77SDag-Erling Smørgrav 982b7579f77SDag-Erling Smørgrav# _LT_REQUIRED_DARWIN_CHECKS 983b7579f77SDag-Erling Smørgrav# ------------------------- 984b7579f77SDag-Erling Smørgravm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 985b7579f77SDag-Erling Smørgrav case $host_os in 986b7579f77SDag-Erling Smørgrav rhapsody* | darwin*) 987b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 988b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 989b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL([LIPO], [lipo], [:]) 990b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL([OTOOL], [otool], [:]) 991b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 992b7579f77SDag-Erling Smørgrav _LT_DECL([], [DSYMUTIL], [1], 993b7579f77SDag-Erling Smørgrav [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 994b7579f77SDag-Erling Smørgrav _LT_DECL([], [NMEDIT], [1], 995b7579f77SDag-Erling Smørgrav [Tool to change global to local symbols on Mac OS X]) 996b7579f77SDag-Erling Smørgrav _LT_DECL([], [LIPO], [1], 997b7579f77SDag-Erling Smørgrav [Tool to manipulate fat objects and archives on Mac OS X]) 998b7579f77SDag-Erling Smørgrav _LT_DECL([], [OTOOL], [1], 999b7579f77SDag-Erling Smørgrav [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 1000b7579f77SDag-Erling Smørgrav _LT_DECL([], [OTOOL64], [1], 1001b7579f77SDag-Erling Smørgrav [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 1002b7579f77SDag-Erling Smørgrav 1003b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 1004b7579f77SDag-Erling Smørgrav [lt_cv_apple_cc_single_mod=no 1005f61ef7f6SDag-Erling Smørgrav if test -z "$LT_MULTI_MODULE"; then 1006b7579f77SDag-Erling Smørgrav # By default we will add the -single_module flag. You can override 1007b7579f77SDag-Erling Smørgrav # by either setting the environment variable LT_MULTI_MODULE 1008b7579f77SDag-Erling Smørgrav # non-empty at configure time, or by adding -multi_module to the 1009b7579f77SDag-Erling Smørgrav # link flags. 1010b7579f77SDag-Erling Smørgrav rm -rf libconftest.dylib* 1011b7579f77SDag-Erling Smørgrav echo "int foo(void){return 1;}" > conftest.c 1012b7579f77SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 1013b7579f77SDag-Erling Smørgrav-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 1014b7579f77SDag-Erling Smørgrav $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 1015b7579f77SDag-Erling Smørgrav -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 1016b7579f77SDag-Erling Smørgrav _lt_result=$? 10178ed2b524SDag-Erling Smørgrav # If there is a non-empty error log, and "single_module" 10188ed2b524SDag-Erling Smørgrav # appears in it, assume the flag caused a linker warning 10198ed2b524SDag-Erling Smørgrav if test -s conftest.err && $GREP single_module conftest.err; then 10208ed2b524SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 10218ed2b524SDag-Erling Smørgrav # Otherwise, if the output was created with a 0 exit code from 10228ed2b524SDag-Erling Smørgrav # the compiler, it worked. 1023f61ef7f6SDag-Erling Smørgrav elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 1024b7579f77SDag-Erling Smørgrav lt_cv_apple_cc_single_mod=yes 1025b7579f77SDag-Erling Smørgrav else 1026b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 1027b7579f77SDag-Erling Smørgrav fi 1028b7579f77SDag-Erling Smørgrav rm -rf libconftest.dylib* 1029b7579f77SDag-Erling Smørgrav rm -f conftest.* 1030b7579f77SDag-Erling Smørgrav fi]) 10318ed2b524SDag-Erling Smørgrav 1032b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([for -exported_symbols_list linker flag], 1033b7579f77SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list], 1034b7579f77SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=no 1035b7579f77SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 1036b7579f77SDag-Erling Smørgrav echo "_main" > conftest.sym 1037b7579f77SDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 1038b7579f77SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 1039b7579f77SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=yes], 1040b7579f77SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=no]) 1041f61ef7f6SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 1042b7579f77SDag-Erling Smørgrav ]) 10438ed2b524SDag-Erling Smørgrav 1044b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 1045b7579f77SDag-Erling Smørgrav [lt_cv_ld_force_load=no 1046b7579f77SDag-Erling Smørgrav cat > conftest.c << _LT_EOF 1047b7579f77SDag-Erling Smørgravint forced_loaded() { return 2;} 1048b7579f77SDag-Erling Smørgrav_LT_EOF 1049b7579f77SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 1050b7579f77SDag-Erling Smørgrav $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 1051*46d2f618SCy Schubert echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 1052*46d2f618SCy Schubert $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 1053b7579f77SDag-Erling Smørgrav echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 1054b7579f77SDag-Erling Smørgrav $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 1055b7579f77SDag-Erling Smørgrav cat > conftest.c << _LT_EOF 1056b7579f77SDag-Erling Smørgravint main() { return 0;} 1057b7579f77SDag-Erling Smørgrav_LT_EOF 1058b7579f77SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 1059b7579f77SDag-Erling Smørgrav $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 1060b7579f77SDag-Erling Smørgrav _lt_result=$? 10618ed2b524SDag-Erling Smørgrav if test -s conftest.err && $GREP force_load conftest.err; then 10628ed2b524SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 1063f61ef7f6SDag-Erling Smørgrav elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 1064b7579f77SDag-Erling Smørgrav lt_cv_ld_force_load=yes 1065b7579f77SDag-Erling Smørgrav else 1066b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 1067b7579f77SDag-Erling Smørgrav fi 1068b7579f77SDag-Erling Smørgrav rm -f conftest.err libconftest.a conftest conftest.c 1069b7579f77SDag-Erling Smørgrav rm -rf conftest.dSYM 1070b7579f77SDag-Erling Smørgrav ]) 1071b7579f77SDag-Erling Smørgrav case $host_os in 1072b7579f77SDag-Erling Smørgrav rhapsody* | darwin1.[[012]]) 1073f61ef7f6SDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; 1074b7579f77SDag-Erling Smørgrav darwin1.*) 1075f61ef7f6SDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 1076*46d2f618SCy Schubert darwin*) # darwin 5.x on 1077*46d2f618SCy Schubert # if running on 10.5 or later, the deployment target defaults 1078*46d2f618SCy Schubert # to the OS version, if on x86, and 10.4, the deployment 1079*46d2f618SCy Schubert # target defaults to 10.4. Don't you love it? 1080*46d2f618SCy Schubert case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 1081*46d2f618SCy Schubert 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 1082*46d2f618SCy Schubert _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 1083*46d2f618SCy Schubert 10.[[012]][[,.]]*) 1084f61ef7f6SDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 1085*46d2f618SCy Schubert 10.*) 1086f61ef7f6SDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 1087b7579f77SDag-Erling Smørgrav esac 1088b7579f77SDag-Erling Smørgrav ;; 1089b7579f77SDag-Erling Smørgrav esac 1090f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_apple_cc_single_mod"; then 1091b7579f77SDag-Erling Smørgrav _lt_dar_single_mod='$single_module' 1092b7579f77SDag-Erling Smørgrav fi 1093f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_ld_exported_symbols_list"; then 1094f61ef7f6SDag-Erling Smørgrav _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 1095b7579f77SDag-Erling Smørgrav else 1096f61ef7f6SDag-Erling Smørgrav _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 1097b7579f77SDag-Erling Smørgrav fi 1098f61ef7f6SDag-Erling Smørgrav if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 1099b7579f77SDag-Erling Smørgrav _lt_dsymutil='~$DSYMUTIL $lib || :' 1100b7579f77SDag-Erling Smørgrav else 1101b7579f77SDag-Erling Smørgrav _lt_dsymutil= 1102b7579f77SDag-Erling Smørgrav fi 1103b7579f77SDag-Erling Smørgrav ;; 1104b7579f77SDag-Erling Smørgrav esac 1105b7579f77SDag-Erling Smørgrav]) 1106b7579f77SDag-Erling Smørgrav 1107b7579f77SDag-Erling Smørgrav 11088ed2b524SDag-Erling Smørgrav# _LT_DARWIN_LINKER_FEATURES([TAG]) 11098ed2b524SDag-Erling Smørgrav# --------------------------------- 1110b7579f77SDag-Erling Smørgrav# Checks for linker and compiler features on darwin 1111b7579f77SDag-Erling Smørgravm4_defun([_LT_DARWIN_LINKER_FEATURES], 1112b7579f77SDag-Erling Smørgrav[ 1113b7579f77SDag-Erling Smørgrav m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 1114b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 1115b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 1116b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_automatic, $1)=yes 1117b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 1118f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_ld_force_load"; then 1119f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' 11208ed2b524SDag-Erling Smørgrav m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 11218ed2b524SDag-Erling Smørgrav [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 1122b7579f77SDag-Erling Smørgrav else 1123b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='' 1124b7579f77SDag-Erling Smørgrav fi 1125b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 1126f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined 1127b7579f77SDag-Erling Smørgrav case $cc_basename in 1128f61ef7f6SDag-Erling Smørgrav ifort*|nagfor*) _lt_dar_can_shared=yes ;; 1129b7579f77SDag-Erling Smørgrav *) _lt_dar_can_shared=$GCC ;; 1130b7579f77SDag-Erling Smørgrav esac 1131f61ef7f6SDag-Erling Smørgrav if test yes = "$_lt_dar_can_shared"; then 1132b7579f77SDag-Erling Smørgrav output_verbose_link_cmd=func_echo_all 1133f61ef7f6SDag-Erling Smørgrav _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" 1134f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" 1135*46d2f618SCy Schubert _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" 1136*46d2f618SCy Schubert _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" 1137b7579f77SDag-Erling Smørgrav m4_if([$1], [CXX], 1138f61ef7f6SDag-Erling Smørgrav[ if test yes != "$lt_cv_apple_cc_single_mod"; then 1139f61ef7f6SDag-Erling Smørgrav _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" 1140*46d2f618SCy Schubert _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" 1141b7579f77SDag-Erling Smørgrav fi 1142b7579f77SDag-Erling Smørgrav],[]) 1143b7579f77SDag-Erling Smørgrav else 1144b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 1145b7579f77SDag-Erling Smørgrav fi 1146b7579f77SDag-Erling Smørgrav]) 1147b7579f77SDag-Erling Smørgrav 1148b7579f77SDag-Erling Smørgrav# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 1149b7579f77SDag-Erling Smørgrav# ---------------------------------- 1150b7579f77SDag-Erling Smørgrav# Links a minimal program and checks the executable 1151b7579f77SDag-Erling Smørgrav# for the system default hardcoded library path. In most cases, 1152b7579f77SDag-Erling Smørgrav# this is /usr/lib:/lib, but when the MPI compilers are used 1153b7579f77SDag-Erling Smørgrav# the location of the communication and MPI libs are included too. 1154b7579f77SDag-Erling Smørgrav# If we don't find anything, use the default library path according 1155b7579f77SDag-Erling Smørgrav# to the aix ld manual. 1156b7579f77SDag-Erling Smørgrav# Store the results from the different compilers for each TAGNAME. 1157b7579f77SDag-Erling Smørgrav# Allow to override them for all tags through lt_cv_aix_libpath. 1158b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_MODULE_PATH_AIX], 1159b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 1160f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_aix_libpath+set}"; then 1161b7579f77SDag-Erling Smørgrav aix_libpath=$lt_cv_aix_libpath 1162b7579f77SDag-Erling Smørgravelse 1163b7579f77SDag-Erling Smørgrav AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 1164b7579f77SDag-Erling Smørgrav [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 1165b7579f77SDag-Erling Smørgrav lt_aix_libpath_sed='[ 1166b7579f77SDag-Erling Smørgrav /Import File Strings/,/^$/ { 1167b7579f77SDag-Erling Smørgrav /^0/ { 1168b7579f77SDag-Erling Smørgrav s/^0 *\([^ ]*\) *$/\1/ 1169b7579f77SDag-Erling Smørgrav p 1170b7579f77SDag-Erling Smørgrav } 1171b7579f77SDag-Erling Smørgrav }]' 1172b7579f77SDag-Erling Smørgrav _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1173b7579f77SDag-Erling Smørgrav # Check for a 64-bit object if we didn't find anything. 1174b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1175b7579f77SDag-Erling Smørgrav _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1176b7579f77SDag-Erling Smørgrav fi],[]) 1177b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1178f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib 1179b7579f77SDag-Erling Smørgrav fi 1180b7579f77SDag-Erling Smørgrav ]) 1181b7579f77SDag-Erling Smørgrav aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 1182b7579f77SDag-Erling Smørgravfi 1183b7579f77SDag-Erling Smørgrav])# _LT_SYS_MODULE_PATH_AIX 1184b7579f77SDag-Erling Smørgrav 1185b7579f77SDag-Erling Smørgrav 1186b7579f77SDag-Erling Smørgrav# _LT_SHELL_INIT(ARG) 1187b7579f77SDag-Erling Smørgrav# ------------------- 1188b7579f77SDag-Erling Smørgravm4_define([_LT_SHELL_INIT], 1189b7579f77SDag-Erling Smørgrav[m4_divert_text([M4SH-INIT], [$1 1190b7579f77SDag-Erling Smørgrav])])# _LT_SHELL_INIT 1191b7579f77SDag-Erling Smørgrav 1192b7579f77SDag-Erling Smørgrav 1193b7579f77SDag-Erling Smørgrav 1194b7579f77SDag-Erling Smørgrav# _LT_PROG_ECHO_BACKSLASH 1195b7579f77SDag-Erling Smørgrav# ----------------------- 1196b7579f77SDag-Erling Smørgrav# Find how we can fake an echo command that does not interpret backslash. 1197b7579f77SDag-Erling Smørgrav# In particular, with Autoconf 2.60 or later we add some code to the start 1198f61ef7f6SDag-Erling Smørgrav# of the generated configure script that will find a shell with a builtin 1199f61ef7f6SDag-Erling Smørgrav# printf (that we can use as an echo command). 1200b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_ECHO_BACKSLASH], 1201b7579f77SDag-Erling Smørgrav[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1202b7579f77SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1203b7579f77SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1204b7579f77SDag-Erling Smørgrav 1205b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to print strings]) 1206b7579f77SDag-Erling Smørgrav# Test print first, because it will be a builtin if present. 1207b7579f77SDag-Erling Smørgravif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 1208b7579f77SDag-Erling Smørgrav test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 1209b7579f77SDag-Erling Smørgrav ECHO='print -r --' 1210b7579f77SDag-Erling Smørgravelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 1211b7579f77SDag-Erling Smørgrav ECHO='printf %s\n' 1212b7579f77SDag-Erling Smørgravelse 1213b7579f77SDag-Erling Smørgrav # Use this function as a fallback that always works. 1214b7579f77SDag-Erling Smørgrav func_fallback_echo () 1215b7579f77SDag-Erling Smørgrav { 1216b7579f77SDag-Erling Smørgrav eval 'cat <<_LTECHO_EOF 1217b7579f77SDag-Erling Smørgrav$[]1 1218b7579f77SDag-Erling Smørgrav_LTECHO_EOF' 1219b7579f77SDag-Erling Smørgrav } 1220b7579f77SDag-Erling Smørgrav ECHO='func_fallback_echo' 1221b7579f77SDag-Erling Smørgravfi 1222b7579f77SDag-Erling Smørgrav 1223b7579f77SDag-Erling Smørgrav# func_echo_all arg... 1224b7579f77SDag-Erling Smørgrav# Invoke $ECHO with all args, space-separated. 1225b7579f77SDag-Erling Smørgravfunc_echo_all () 1226b7579f77SDag-Erling Smørgrav{ 1227b7579f77SDag-Erling Smørgrav $ECHO "$*" 1228b7579f77SDag-Erling Smørgrav} 1229b7579f77SDag-Erling Smørgrav 1230f61ef7f6SDag-Erling Smørgravcase $ECHO in 1231b7579f77SDag-Erling Smørgrav printf*) AC_MSG_RESULT([printf]) ;; 1232b7579f77SDag-Erling Smørgrav print*) AC_MSG_RESULT([print -r]) ;; 1233b7579f77SDag-Erling Smørgrav *) AC_MSG_RESULT([cat]) ;; 1234b7579f77SDag-Erling Smørgravesac 1235b7579f77SDag-Erling Smørgrav 1236b7579f77SDag-Erling Smørgravm4_ifdef([_AS_DETECT_SUGGESTED], 1237b7579f77SDag-Erling Smørgrav[_AS_DETECT_SUGGESTED([ 1238b7579f77SDag-Erling Smørgrav test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 1239b7579f77SDag-Erling Smørgrav ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1240b7579f77SDag-Erling Smørgrav ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1241b7579f77SDag-Erling Smørgrav ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1242b7579f77SDag-Erling Smørgrav PATH=/empty FPATH=/empty; export PATH FPATH 1243b7579f77SDag-Erling Smørgrav test "X`printf %s $ECHO`" = "X$ECHO" \ 1244b7579f77SDag-Erling Smørgrav || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 1245b7579f77SDag-Erling Smørgrav 1246b7579f77SDag-Erling Smørgrav_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1247b7579f77SDag-Erling Smørgrav_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 1248b7579f77SDag-Erling Smørgrav])# _LT_PROG_ECHO_BACKSLASH 1249b7579f77SDag-Erling Smørgrav 1250b7579f77SDag-Erling Smørgrav 1251b7579f77SDag-Erling Smørgrav# _LT_WITH_SYSROOT 1252b7579f77SDag-Erling Smørgrav# ---------------- 1253b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_WITH_SYSROOT], 1254*46d2f618SCy Schubert[AC_MSG_CHECKING([for sysroot]) 1255b7579f77SDag-Erling SmørgravAC_ARG_WITH([sysroot], 1256f61ef7f6SDag-Erling Smørgrav[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], 1257f61ef7f6SDag-Erling Smørgrav [Search for dependent libraries within DIR (or the compiler's sysroot 1258f61ef7f6SDag-Erling Smørgrav if not specified).])], 1259b7579f77SDag-Erling Smørgrav[], [with_sysroot=no]) 1260b7579f77SDag-Erling Smørgrav 1261b7579f77SDag-Erling Smørgravdnl lt_sysroot will always be passed unquoted. We quote it here 1262b7579f77SDag-Erling Smørgravdnl in case the user passed a directory name. 1263b7579f77SDag-Erling Smørgravlt_sysroot= 1264f61ef7f6SDag-Erling Smørgravcase $with_sysroot in #( 1265b7579f77SDag-Erling Smørgrav yes) 1266f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 1267b7579f77SDag-Erling Smørgrav lt_sysroot=`$CC --print-sysroot 2>/dev/null` 1268b7579f77SDag-Erling Smørgrav fi 1269b7579f77SDag-Erling Smørgrav ;; #( 1270b7579f77SDag-Erling Smørgrav /*) 1271*46d2f618SCy Schubert lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` 1272b7579f77SDag-Erling Smørgrav ;; #( 1273b7579f77SDag-Erling Smørgrav no|'') 1274b7579f77SDag-Erling Smørgrav ;; #( 1275b7579f77SDag-Erling Smørgrav *) 1276f61ef7f6SDag-Erling Smørgrav AC_MSG_RESULT([$with_sysroot]) 1277b7579f77SDag-Erling Smørgrav AC_MSG_ERROR([The sysroot must be an absolute path.]) 1278b7579f77SDag-Erling Smørgrav ;; 1279b7579f77SDag-Erling Smørgravesac 1280b7579f77SDag-Erling Smørgrav 1281b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([${lt_sysroot:-no}]) 1282b7579f77SDag-Erling Smørgrav_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 1283f61ef7f6SDag-Erling Smørgrav[dependent libraries, and where our libraries should be installed.])]) 1284b7579f77SDag-Erling Smørgrav 1285b7579f77SDag-Erling Smørgrav# _LT_ENABLE_LOCK 1286b7579f77SDag-Erling Smørgrav# --------------- 1287b7579f77SDag-Erling Smørgravm4_defun([_LT_ENABLE_LOCK], 1288b7579f77SDag-Erling Smørgrav[AC_ARG_ENABLE([libtool-lock], 1289b7579f77SDag-Erling Smørgrav [AS_HELP_STRING([--disable-libtool-lock], 1290b7579f77SDag-Erling Smørgrav [avoid locking (might break parallel builds)])]) 1291f61ef7f6SDag-Erling Smørgravtest no = "$enable_libtool_lock" || enable_libtool_lock=yes 1292b7579f77SDag-Erling Smørgrav 1293b7579f77SDag-Erling Smørgrav# Some flags need to be propagated to the compiler or linker for good 1294b7579f77SDag-Erling Smørgrav# libtool support. 1295b7579f77SDag-Erling Smørgravcase $host in 1296b7579f77SDag-Erling Smørgravia64-*-hpux*) 1297f61ef7f6SDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set mode 1298f61ef7f6SDag-Erling Smørgrav # options accordingly. 1299b7579f77SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 1300b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1301*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1302b7579f77SDag-Erling Smørgrav *ELF-32*) 1303f61ef7f6SDag-Erling Smørgrav HPUX_IA64_MODE=32 1304b7579f77SDag-Erling Smørgrav ;; 1305b7579f77SDag-Erling Smørgrav *ELF-64*) 1306f61ef7f6SDag-Erling Smørgrav HPUX_IA64_MODE=64 1307b7579f77SDag-Erling Smørgrav ;; 1308b7579f77SDag-Erling Smørgrav esac 1309b7579f77SDag-Erling Smørgrav fi 1310b7579f77SDag-Erling Smørgrav rm -rf conftest* 1311b7579f77SDag-Erling Smørgrav ;; 1312b7579f77SDag-Erling Smørgrav*-*-irix6*) 1313f61ef7f6SDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1314f61ef7f6SDag-Erling Smørgrav # options accordingly. 1315b7579f77SDag-Erling Smørgrav echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1316b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1317f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_prog_gnu_ld"; then 1318*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1319b7579f77SDag-Erling Smørgrav *32-bit*) 1320b7579f77SDag-Erling Smørgrav LD="${LD-ld} -melf32bsmip" 1321b7579f77SDag-Erling Smørgrav ;; 1322b7579f77SDag-Erling Smørgrav *N32*) 1323b7579f77SDag-Erling Smørgrav LD="${LD-ld} -melf32bmipn32" 1324b7579f77SDag-Erling Smørgrav ;; 1325b7579f77SDag-Erling Smørgrav *64-bit*) 1326b7579f77SDag-Erling Smørgrav LD="${LD-ld} -melf64bmip" 1327b7579f77SDag-Erling Smørgrav ;; 1328b7579f77SDag-Erling Smørgrav esac 1329b7579f77SDag-Erling Smørgrav else 1330*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1331b7579f77SDag-Erling Smørgrav *32-bit*) 1332b7579f77SDag-Erling Smørgrav LD="${LD-ld} -32" 1333b7579f77SDag-Erling Smørgrav ;; 1334b7579f77SDag-Erling Smørgrav *N32*) 1335b7579f77SDag-Erling Smørgrav LD="${LD-ld} -n32" 1336b7579f77SDag-Erling Smørgrav ;; 1337b7579f77SDag-Erling Smørgrav *64-bit*) 1338b7579f77SDag-Erling Smørgrav LD="${LD-ld} -64" 1339b7579f77SDag-Erling Smørgrav ;; 1340b7579f77SDag-Erling Smørgrav esac 1341b7579f77SDag-Erling Smørgrav fi 1342b7579f77SDag-Erling Smørgrav fi 1343b7579f77SDag-Erling Smørgrav rm -rf conftest* 1344b7579f77SDag-Erling Smørgrav ;; 1345b7579f77SDag-Erling Smørgrav 1346f61ef7f6SDag-Erling Smørgravmips64*-*linux*) 1347f61ef7f6SDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1348f61ef7f6SDag-Erling Smørgrav # options accordingly. 1349f61ef7f6SDag-Erling Smørgrav echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1350f61ef7f6SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1351f61ef7f6SDag-Erling Smørgrav emul=elf 1352*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1353f61ef7f6SDag-Erling Smørgrav *32-bit*) 1354f61ef7f6SDag-Erling Smørgrav emul="${emul}32" 1355f61ef7f6SDag-Erling Smørgrav ;; 1356f61ef7f6SDag-Erling Smørgrav *64-bit*) 1357f61ef7f6SDag-Erling Smørgrav emul="${emul}64" 1358f61ef7f6SDag-Erling Smørgrav ;; 1359f61ef7f6SDag-Erling Smørgrav esac 1360*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1361f61ef7f6SDag-Erling Smørgrav *MSB*) 1362f61ef7f6SDag-Erling Smørgrav emul="${emul}btsmip" 1363f61ef7f6SDag-Erling Smørgrav ;; 1364f61ef7f6SDag-Erling Smørgrav *LSB*) 1365f61ef7f6SDag-Erling Smørgrav emul="${emul}ltsmip" 1366f61ef7f6SDag-Erling Smørgrav ;; 1367f61ef7f6SDag-Erling Smørgrav esac 1368*46d2f618SCy Schubert case `/usr/bin/file conftest.$ac_objext` in 1369f61ef7f6SDag-Erling Smørgrav *N32*) 1370f61ef7f6SDag-Erling Smørgrav emul="${emul}n32" 1371f61ef7f6SDag-Erling Smørgrav ;; 1372f61ef7f6SDag-Erling Smørgrav esac 1373f61ef7f6SDag-Erling Smørgrav LD="${LD-ld} -m $emul" 1374f61ef7f6SDag-Erling Smørgrav fi 1375f61ef7f6SDag-Erling Smørgrav rm -rf conftest* 1376f61ef7f6SDag-Erling Smørgrav ;; 1377f61ef7f6SDag-Erling Smørgrav 1378ff825849SDag-Erling Smørgravx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 1379b7579f77SDag-Erling Smørgravs390*-*linux*|s390*-*tpf*|sparc*-*linux*) 1380f61ef7f6SDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1381f61ef7f6SDag-Erling Smørgrav # options accordingly. Note that the listed cases only cover the 1382f61ef7f6SDag-Erling Smørgrav # situations where additional linker options are needed (such as when 1383f61ef7f6SDag-Erling Smørgrav # doing 32-bit compilation for a host where ld defaults to 64-bit, or 1384f61ef7f6SDag-Erling Smørgrav # vice versa); the common cases where no linker options are needed do 1385f61ef7f6SDag-Erling Smørgrav # not appear in the list. 1386b7579f77SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 1387b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1388*46d2f618SCy Schubert case `/usr/bin/file conftest.o` in 1389b7579f77SDag-Erling Smørgrav *32-bit*) 1390b7579f77SDag-Erling Smørgrav case $host in 1391b7579f77SDag-Erling Smørgrav x86_64-*kfreebsd*-gnu) 1392b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf_i386_fbsd" 1393b7579f77SDag-Erling Smørgrav ;; 1394b7579f77SDag-Erling Smørgrav x86_64-*linux*) 1395*46d2f618SCy Schubert case `/usr/bin/file conftest.o` in 1396f61ef7f6SDag-Erling Smørgrav *x86-64*) 1397f61ef7f6SDag-Erling Smørgrav LD="${LD-ld} -m elf32_x86_64" 1398f61ef7f6SDag-Erling Smørgrav ;; 1399f61ef7f6SDag-Erling Smørgrav *) 1400b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf_i386" 1401b7579f77SDag-Erling Smørgrav ;; 1402f61ef7f6SDag-Erling Smørgrav esac 1403f61ef7f6SDag-Erling Smørgrav ;; 1404ff825849SDag-Erling Smørgrav powerpc64le-*linux*) 1405ff825849SDag-Erling Smørgrav LD="${LD-ld} -m elf32lppclinux" 1406ff825849SDag-Erling Smørgrav ;; 1407ff825849SDag-Erling Smørgrav powerpc64-*linux*) 1408b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf32ppclinux" 1409b7579f77SDag-Erling Smørgrav ;; 1410b7579f77SDag-Erling Smørgrav s390x-*linux*) 1411b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf_s390" 1412b7579f77SDag-Erling Smørgrav ;; 1413b7579f77SDag-Erling Smørgrav sparc64-*linux*) 1414b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf32_sparc" 1415b7579f77SDag-Erling Smørgrav ;; 1416b7579f77SDag-Erling Smørgrav esac 1417b7579f77SDag-Erling Smørgrav ;; 1418b7579f77SDag-Erling Smørgrav *64-bit*) 1419b7579f77SDag-Erling Smørgrav case $host in 1420b7579f77SDag-Erling Smørgrav x86_64-*kfreebsd*-gnu) 1421b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64_fbsd" 1422b7579f77SDag-Erling Smørgrav ;; 1423b7579f77SDag-Erling Smørgrav x86_64-*linux*) 1424b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64" 1425b7579f77SDag-Erling Smørgrav ;; 1426ff825849SDag-Erling Smørgrav powerpcle-*linux*) 1427ff825849SDag-Erling Smørgrav LD="${LD-ld} -m elf64lppc" 1428ff825849SDag-Erling Smørgrav ;; 1429ff825849SDag-Erling Smørgrav powerpc-*linux*) 1430b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf64ppc" 1431b7579f77SDag-Erling Smørgrav ;; 1432b7579f77SDag-Erling Smørgrav s390*-*linux*|s390*-*tpf*) 1433b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf64_s390" 1434b7579f77SDag-Erling Smørgrav ;; 1435b7579f77SDag-Erling Smørgrav sparc*-*linux*) 1436b7579f77SDag-Erling Smørgrav LD="${LD-ld} -m elf64_sparc" 1437b7579f77SDag-Erling Smørgrav ;; 1438b7579f77SDag-Erling Smørgrav esac 1439b7579f77SDag-Erling Smørgrav ;; 1440b7579f77SDag-Erling Smørgrav esac 1441b7579f77SDag-Erling Smørgrav fi 1442b7579f77SDag-Erling Smørgrav rm -rf conftest* 1443b7579f77SDag-Erling Smørgrav ;; 1444b7579f77SDag-Erling Smørgrav 1445b7579f77SDag-Erling Smørgrav*-*-sco3.2v5*) 1446b7579f77SDag-Erling Smørgrav # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1447f61ef7f6SDag-Erling Smørgrav SAVE_CFLAGS=$CFLAGS 1448b7579f77SDag-Erling Smørgrav CFLAGS="$CFLAGS -belf" 1449b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 1450b7579f77SDag-Erling Smørgrav [AC_LANG_PUSH(C) 1451b7579f77SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 1452b7579f77SDag-Erling Smørgrav AC_LANG_POP]) 1453f61ef7f6SDag-Erling Smørgrav if test yes != "$lt_cv_cc_needs_belf"; then 1454b7579f77SDag-Erling Smørgrav # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1455f61ef7f6SDag-Erling Smørgrav CFLAGS=$SAVE_CFLAGS 1456b7579f77SDag-Erling Smørgrav fi 1457b7579f77SDag-Erling Smørgrav ;; 14588ed2b524SDag-Erling Smørgrav*-*solaris*) 1459f61ef7f6SDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1460f61ef7f6SDag-Erling Smørgrav # options accordingly. 1461b7579f77SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 1462b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1463*46d2f618SCy Schubert case `/usr/bin/file conftest.o` in 1464b7579f77SDag-Erling Smørgrav *64-bit*) 1465b7579f77SDag-Erling Smørgrav case $lt_cv_prog_gnu_ld in 14668ed2b524SDag-Erling Smørgrav yes*) 14678ed2b524SDag-Erling Smørgrav case $host in 1468f61ef7f6SDag-Erling Smørgrav i?86-*-solaris*|x86_64-*-solaris*) 14698ed2b524SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64" 14708ed2b524SDag-Erling Smørgrav ;; 14718ed2b524SDag-Erling Smørgrav sparc*-*-solaris*) 14728ed2b524SDag-Erling Smørgrav LD="${LD-ld} -m elf64_sparc" 14738ed2b524SDag-Erling Smørgrav ;; 14748ed2b524SDag-Erling Smørgrav esac 14758ed2b524SDag-Erling Smørgrav # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 14768ed2b524SDag-Erling Smørgrav if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 1477f61ef7f6SDag-Erling Smørgrav LD=${LD-ld}_sol2 14788ed2b524SDag-Erling Smørgrav fi 14798ed2b524SDag-Erling Smørgrav ;; 1480b7579f77SDag-Erling Smørgrav *) 1481b7579f77SDag-Erling Smørgrav if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 1482b7579f77SDag-Erling Smørgrav LD="${LD-ld} -64" 1483b7579f77SDag-Erling Smørgrav fi 1484b7579f77SDag-Erling Smørgrav ;; 1485b7579f77SDag-Erling Smørgrav esac 1486b7579f77SDag-Erling Smørgrav ;; 1487b7579f77SDag-Erling Smørgrav esac 1488b7579f77SDag-Erling Smørgrav fi 1489b7579f77SDag-Erling Smørgrav rm -rf conftest* 1490b7579f77SDag-Erling Smørgrav ;; 1491b7579f77SDag-Erling Smørgravesac 1492b7579f77SDag-Erling Smørgrav 1493f61ef7f6SDag-Erling Smørgravneed_locks=$enable_libtool_lock 1494b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_LOCK 1495b7579f77SDag-Erling Smørgrav 1496b7579f77SDag-Erling Smørgrav 1497b7579f77SDag-Erling Smørgrav# _LT_PROG_AR 1498b7579f77SDag-Erling Smørgrav# ----------- 1499b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_AR], 1500b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOLS(AR, [ar], false) 1501b7579f77SDag-Erling Smørgrav: ${AR=ar} 1502*46d2f618SCy Schubert: ${AR_FLAGS=cru} 1503b7579f77SDag-Erling Smørgrav_LT_DECL([], [AR], [1], [The archiver]) 1504*46d2f618SCy Schubert_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) 1505b7579f77SDag-Erling Smørgrav 1506b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 1507b7579f77SDag-Erling Smørgrav [lt_cv_ar_at_file=no 1508b7579f77SDag-Erling Smørgrav AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 1509b7579f77SDag-Erling Smørgrav [echo conftest.$ac_objext > conftest.lst 1510b7579f77SDag-Erling Smørgrav lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 1511b7579f77SDag-Erling Smørgrav AC_TRY_EVAL([lt_ar_try]) 1512f61ef7f6SDag-Erling Smørgrav if test 0 -eq "$ac_status"; then 1513b7579f77SDag-Erling Smørgrav # Ensure the archiver fails upon bogus file names. 1514b7579f77SDag-Erling Smørgrav rm -f conftest.$ac_objext libconftest.a 1515b7579f77SDag-Erling Smørgrav AC_TRY_EVAL([lt_ar_try]) 1516f61ef7f6SDag-Erling Smørgrav if test 0 -ne "$ac_status"; then 1517b7579f77SDag-Erling Smørgrav lt_cv_ar_at_file=@ 1518b7579f77SDag-Erling Smørgrav fi 1519b7579f77SDag-Erling Smørgrav fi 1520b7579f77SDag-Erling Smørgrav rm -f conftest.* libconftest.a 1521b7579f77SDag-Erling Smørgrav ]) 1522b7579f77SDag-Erling Smørgrav ]) 1523b7579f77SDag-Erling Smørgrav 1524f61ef7f6SDag-Erling Smørgravif test no = "$lt_cv_ar_at_file"; then 1525b7579f77SDag-Erling Smørgrav archiver_list_spec= 1526b7579f77SDag-Erling Smørgravelse 1527b7579f77SDag-Erling Smørgrav archiver_list_spec=$lt_cv_ar_at_file 1528b7579f77SDag-Erling Smørgravfi 1529b7579f77SDag-Erling Smørgrav_LT_DECL([], [archiver_list_spec], [1], 1530b7579f77SDag-Erling Smørgrav [How to feed a file listing to the archiver]) 1531b7579f77SDag-Erling Smørgrav])# _LT_PROG_AR 1532b7579f77SDag-Erling Smørgrav 1533b7579f77SDag-Erling Smørgrav 1534b7579f77SDag-Erling Smørgrav# _LT_CMD_OLD_ARCHIVE 1535b7579f77SDag-Erling Smørgrav# ------------------- 1536b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_OLD_ARCHIVE], 1537b7579f77SDag-Erling Smørgrav[_LT_PROG_AR 1538b7579f77SDag-Erling Smørgrav 1539b7579f77SDag-Erling SmørgravAC_CHECK_TOOL(STRIP, strip, :) 1540b7579f77SDag-Erling Smørgravtest -z "$STRIP" && STRIP=: 1541b7579f77SDag-Erling Smørgrav_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 1542b7579f77SDag-Erling Smørgrav 1543b7579f77SDag-Erling SmørgravAC_CHECK_TOOL(RANLIB, ranlib, :) 1544b7579f77SDag-Erling Smørgravtest -z "$RANLIB" && RANLIB=: 1545b7579f77SDag-Erling Smørgrav_LT_DECL([], [RANLIB], [1], 1546b7579f77SDag-Erling Smørgrav [Commands used to install an old-style archive]) 1547b7579f77SDag-Erling Smørgrav 1548b7579f77SDag-Erling Smørgrav# Determine commands to create old-style static archives. 1549b7579f77SDag-Erling Smørgravold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 1550b7579f77SDag-Erling Smørgravold_postinstall_cmds='chmod 644 $oldlib' 1551b7579f77SDag-Erling Smørgravold_postuninstall_cmds= 1552b7579f77SDag-Erling Smørgrav 1553b7579f77SDag-Erling Smørgravif test -n "$RANLIB"; then 1554b7579f77SDag-Erling Smørgrav case $host_os in 1555f61ef7f6SDag-Erling Smørgrav bitrig* | openbsd*) 15568ed2b524SDag-Erling Smørgrav old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" 1557b7579f77SDag-Erling Smørgrav ;; 1558b7579f77SDag-Erling Smørgrav *) 15598ed2b524SDag-Erling Smørgrav old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 1560b7579f77SDag-Erling Smørgrav ;; 1561b7579f77SDag-Erling Smørgrav esac 15628ed2b524SDag-Erling Smørgrav old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 1563b7579f77SDag-Erling Smørgravfi 1564b7579f77SDag-Erling Smørgrav 1565b7579f77SDag-Erling Smørgravcase $host_os in 1566b7579f77SDag-Erling Smørgrav darwin*) 1567b7579f77SDag-Erling Smørgrav lock_old_archive_extraction=yes ;; 1568b7579f77SDag-Erling Smørgrav *) 1569b7579f77SDag-Erling Smørgrav lock_old_archive_extraction=no ;; 1570b7579f77SDag-Erling Smørgravesac 1571b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_postinstall_cmds], [2]) 1572b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_postuninstall_cmds], [2]) 1573b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_cmds], [2], 1574b7579f77SDag-Erling Smørgrav [Commands used to build an old-style archive]) 1575b7579f77SDag-Erling Smørgrav_LT_DECL([], [lock_old_archive_extraction], [0], 1576b7579f77SDag-Erling Smørgrav [Whether to use a lock for old archive extraction]) 1577b7579f77SDag-Erling Smørgrav])# _LT_CMD_OLD_ARCHIVE 1578b7579f77SDag-Erling Smørgrav 1579b7579f77SDag-Erling Smørgrav 1580b7579f77SDag-Erling Smørgrav# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1581b7579f77SDag-Erling Smørgrav# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 1582b7579f77SDag-Erling Smørgrav# ---------------------------------------------------------------- 1583b7579f77SDag-Erling Smørgrav# Check whether the given compiler option works 1584b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_COMPILER_OPTION], 1585b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1586b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 1587b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2], 1588b7579f77SDag-Erling Smørgrav [$2=no 1589b7579f77SDag-Erling Smørgrav m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 1590b7579f77SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1591f61ef7f6SDag-Erling Smørgrav lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment 1592b7579f77SDag-Erling Smørgrav # Insert the option either (1) after the last *FLAGS variable, or 1593b7579f77SDag-Erling Smørgrav # (2) before a word containing "conftest.", or (3) at the end. 1594b7579f77SDag-Erling Smørgrav # Note that $ac_compile itself does not contain backslashes and begins 1595b7579f77SDag-Erling Smørgrav # with a dollar sign (not a hyphen), so the echo should work correctly. 1596b7579f77SDag-Erling Smørgrav # The option is referenced via a variable to avoid confusing sed. 1597b7579f77SDag-Erling Smørgrav lt_compile=`echo "$ac_compile" | $SED \ 1598b7579f77SDag-Erling Smørgrav -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1599b7579f77SDag-Erling Smørgrav -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1600b7579f77SDag-Erling Smørgrav -e 's:$: $lt_compiler_flag:'` 1601b7579f77SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1602b7579f77SDag-Erling Smørgrav (eval "$lt_compile" 2>conftest.err) 1603b7579f77SDag-Erling Smørgrav ac_status=$? 1604b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 1605b7579f77SDag-Erling Smørgrav echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1606b7579f77SDag-Erling Smørgrav if (exit $ac_status) && test -s "$ac_outfile"; then 1607b7579f77SDag-Erling Smørgrav # The compiler can only warn and ignore the option if not recognized 1608b7579f77SDag-Erling Smørgrav # So say no if there are warnings other than the usual output. 1609b7579f77SDag-Erling Smørgrav $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 1610b7579f77SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1611b7579f77SDag-Erling Smørgrav if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1612b7579f77SDag-Erling Smørgrav $2=yes 1613b7579f77SDag-Erling Smørgrav fi 1614b7579f77SDag-Erling Smørgrav fi 1615b7579f77SDag-Erling Smørgrav $RM conftest* 1616b7579f77SDag-Erling Smørgrav]) 1617b7579f77SDag-Erling Smørgrav 1618f61ef7f6SDag-Erling Smørgravif test yes = "[$]$2"; then 1619b7579f77SDag-Erling Smørgrav m4_if([$5], , :, [$5]) 1620b7579f77SDag-Erling Smørgravelse 1621b7579f77SDag-Erling Smørgrav m4_if([$6], , :, [$6]) 1622b7579f77SDag-Erling Smørgravfi 1623b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_OPTION 1624b7579f77SDag-Erling Smørgrav 1625b7579f77SDag-Erling Smørgrav# Old name: 1626b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 1627b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 1628b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 1629b7579f77SDag-Erling Smørgrav 1630b7579f77SDag-Erling Smørgrav 1631b7579f77SDag-Erling Smørgrav# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1632b7579f77SDag-Erling Smørgrav# [ACTION-SUCCESS], [ACTION-FAILURE]) 1633b7579f77SDag-Erling Smørgrav# ---------------------------------------------------- 1634b7579f77SDag-Erling Smørgrav# Check whether the given linker option works 1635b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_LINKER_OPTION], 1636b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1637b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 1638b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2], 1639b7579f77SDag-Erling Smørgrav [$2=no 1640f61ef7f6SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 1641b7579f77SDag-Erling Smørgrav LDFLAGS="$LDFLAGS $3" 1642b7579f77SDag-Erling Smørgrav echo "$lt_simple_link_test_code" > conftest.$ac_ext 1643b7579f77SDag-Erling Smørgrav if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 1644b7579f77SDag-Erling Smørgrav # The linker can only warn and ignore the option if not recognized 1645b7579f77SDag-Erling Smørgrav # So say no if there are warnings 1646b7579f77SDag-Erling Smørgrav if test -s conftest.err; then 1647b7579f77SDag-Erling Smørgrav # Append any errors to the config.log. 1648b7579f77SDag-Erling Smørgrav cat conftest.err 1>&AS_MESSAGE_LOG_FD 1649b7579f77SDag-Erling Smørgrav $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 1650b7579f77SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1651b7579f77SDag-Erling Smørgrav if diff conftest.exp conftest.er2 >/dev/null; then 1652b7579f77SDag-Erling Smørgrav $2=yes 1653b7579f77SDag-Erling Smørgrav fi 1654b7579f77SDag-Erling Smørgrav else 1655b7579f77SDag-Erling Smørgrav $2=yes 1656b7579f77SDag-Erling Smørgrav fi 1657b7579f77SDag-Erling Smørgrav fi 1658b7579f77SDag-Erling Smørgrav $RM -r conftest* 1659f61ef7f6SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 1660b7579f77SDag-Erling Smørgrav]) 1661b7579f77SDag-Erling Smørgrav 1662f61ef7f6SDag-Erling Smørgravif test yes = "[$]$2"; then 1663b7579f77SDag-Erling Smørgrav m4_if([$4], , :, [$4]) 1664b7579f77SDag-Erling Smørgravelse 1665b7579f77SDag-Erling Smørgrav m4_if([$5], , :, [$5]) 1666b7579f77SDag-Erling Smørgravfi 1667b7579f77SDag-Erling Smørgrav])# _LT_LINKER_OPTION 1668b7579f77SDag-Erling Smørgrav 1669b7579f77SDag-Erling Smørgrav# Old name: 1670b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 1671b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 1672b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 1673b7579f77SDag-Erling Smørgrav 1674b7579f77SDag-Erling Smørgrav 1675b7579f77SDag-Erling Smørgrav# LT_CMD_MAX_LEN 1676b7579f77SDag-Erling Smørgrav#--------------- 1677b7579f77SDag-Erling SmørgravAC_DEFUN([LT_CMD_MAX_LEN], 1678b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1679b7579f77SDag-Erling Smørgrav# find the maximum length of command line arguments 1680b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([the maximum length of command line arguments]) 1681b7579f77SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 1682b7579f77SDag-Erling Smørgrav i=0 1683f61ef7f6SDag-Erling Smørgrav teststring=ABCD 1684b7579f77SDag-Erling Smørgrav 1685b7579f77SDag-Erling Smørgrav case $build_os in 1686b7579f77SDag-Erling Smørgrav msdosdjgpp*) 1687b7579f77SDag-Erling Smørgrav # On DJGPP, this test can blow up pretty badly due to problems in libc 1688b7579f77SDag-Erling Smørgrav # (any single argument exceeding 2000 bytes causes a buffer overrun 1689b7579f77SDag-Erling Smørgrav # during glob expansion). Even if it were fixed, the result of this 1690b7579f77SDag-Erling Smørgrav # check would be larger than it should be. 1691b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=12288; # 12K is about right 1692b7579f77SDag-Erling Smørgrav ;; 1693b7579f77SDag-Erling Smørgrav 1694b7579f77SDag-Erling Smørgrav gnu*) 1695b7579f77SDag-Erling Smørgrav # Under GNU Hurd, this test is not required because there is 1696b7579f77SDag-Erling Smørgrav # no limit to the length of command line arguments. 1697b7579f77SDag-Erling Smørgrav # Libtool will interpret -1 as no limit whatsoever 1698b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=-1; 1699b7579f77SDag-Erling Smørgrav ;; 1700b7579f77SDag-Erling Smørgrav 1701b7579f77SDag-Erling Smørgrav cygwin* | mingw* | cegcc*) 1702b7579f77SDag-Erling Smørgrav # On Win9x/ME, this test blows up -- it succeeds, but takes 1703b7579f77SDag-Erling Smørgrav # about 5 minutes as the teststring grows exponentially. 1704b7579f77SDag-Erling Smørgrav # Worse, since 9x/ME are not pre-emptively multitasking, 1705b7579f77SDag-Erling Smørgrav # you end up with a "frozen" computer, even though with patience 1706b7579f77SDag-Erling Smørgrav # the test eventually succeeds (with a max line length of 256k). 1707b7579f77SDag-Erling Smørgrav # Instead, let's just punt: use the minimum linelength reported by 1708b7579f77SDag-Erling Smørgrav # all of the supported platforms: 8192 (on NT/2K/XP). 1709b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 1710b7579f77SDag-Erling Smørgrav ;; 1711b7579f77SDag-Erling Smørgrav 1712b7579f77SDag-Erling Smørgrav mint*) 1713b7579f77SDag-Erling Smørgrav # On MiNT this can take a long time and run out of memory. 1714b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 1715b7579f77SDag-Erling Smørgrav ;; 1716b7579f77SDag-Erling Smørgrav 1717b7579f77SDag-Erling Smørgrav amigaos*) 1718b7579f77SDag-Erling Smørgrav # On AmigaOS with pdksh, this test takes hours, literally. 1719b7579f77SDag-Erling Smørgrav # So we just punt and use a minimum line length of 8192. 1720b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 1721b7579f77SDag-Erling Smørgrav ;; 1722b7579f77SDag-Erling Smørgrav 1723*46d2f618SCy Schubert bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) 1724b7579f77SDag-Erling Smørgrav # This has been around since 386BSD, at least. Likely further. 1725b7579f77SDag-Erling Smørgrav if test -x /sbin/sysctl; then 1726b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 1727b7579f77SDag-Erling Smørgrav elif test -x /usr/sbin/sysctl; then 1728b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 1729b7579f77SDag-Erling Smørgrav else 1730b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 1731b7579f77SDag-Erling Smørgrav fi 1732b7579f77SDag-Erling Smørgrav # And add a safety zone 1733b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1734b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1735b7579f77SDag-Erling Smørgrav ;; 1736b7579f77SDag-Erling Smørgrav 1737b7579f77SDag-Erling Smørgrav interix*) 1738b7579f77SDag-Erling Smørgrav # We know the value 262144 and hardcode it with a safety zone (like BSD) 1739b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=196608 1740b7579f77SDag-Erling Smørgrav ;; 1741b7579f77SDag-Erling Smørgrav 17428ed2b524SDag-Erling Smørgrav os2*) 17438ed2b524SDag-Erling Smørgrav # The test takes a long time on OS/2. 17448ed2b524SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192 17458ed2b524SDag-Erling Smørgrav ;; 17468ed2b524SDag-Erling Smørgrav 1747b7579f77SDag-Erling Smørgrav osf*) 1748b7579f77SDag-Erling Smørgrav # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 1749b7579f77SDag-Erling Smørgrav # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 1750b7579f77SDag-Erling Smørgrav # nice to cause kernel panics so lets avoid the loop below. 1751b7579f77SDag-Erling Smørgrav # First set a reasonable default. 1752b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=16384 1753b7579f77SDag-Erling Smørgrav # 1754b7579f77SDag-Erling Smørgrav if test -x /sbin/sysconfig; then 1755b7579f77SDag-Erling Smørgrav case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 1756b7579f77SDag-Erling Smørgrav *1*) lt_cv_sys_max_cmd_len=-1 ;; 1757b7579f77SDag-Erling Smørgrav esac 1758b7579f77SDag-Erling Smørgrav fi 1759b7579f77SDag-Erling Smørgrav ;; 1760b7579f77SDag-Erling Smørgrav sco3.2v5*) 1761b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=102400 1762b7579f77SDag-Erling Smørgrav ;; 1763b7579f77SDag-Erling Smørgrav sysv5* | sco5v6* | sysv4.2uw2*) 1764b7579f77SDag-Erling Smørgrav kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 1765b7579f77SDag-Erling Smørgrav if test -n "$kargmax"; then 1766*46d2f618SCy Schubert lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 1767b7579f77SDag-Erling Smørgrav else 1768b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=32768 1769b7579f77SDag-Erling Smørgrav fi 1770b7579f77SDag-Erling Smørgrav ;; 1771b7579f77SDag-Erling Smørgrav *) 1772b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1773f61ef7f6SDag-Erling Smørgrav if test -n "$lt_cv_sys_max_cmd_len" && \ 1774f61ef7f6SDag-Erling Smørgrav test undefined != "$lt_cv_sys_max_cmd_len"; then 1775b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1776b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1777b7579f77SDag-Erling Smørgrav else 1778b7579f77SDag-Erling Smørgrav # Make teststring a little bigger before we do anything with it. 1779b7579f77SDag-Erling Smørgrav # a 1K string should be a reasonable start. 1780b7579f77SDag-Erling Smørgrav for i in 1 2 3 4 5 6 7 8; do 1781b7579f77SDag-Erling Smørgrav teststring=$teststring$teststring 1782b7579f77SDag-Erling Smørgrav done 1783b7579f77SDag-Erling Smørgrav SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 1784b7579f77SDag-Erling Smørgrav # If test is not a shell built-in, we'll probably end up computing a 1785b7579f77SDag-Erling Smørgrav # maximum length that is only half of the actual maximum length, but 1786b7579f77SDag-Erling Smørgrav # we can't tell. 1787f61ef7f6SDag-Erling Smørgrav while { test X`env echo "$teststring$teststring" 2>/dev/null` \ 1788b7579f77SDag-Erling Smørgrav = "X$teststring$teststring"; } >/dev/null 2>&1 && 1789f61ef7f6SDag-Erling Smørgrav test 17 != "$i" # 1/2 MB should be enough 1790b7579f77SDag-Erling Smørgrav do 1791b7579f77SDag-Erling Smørgrav i=`expr $i + 1` 1792b7579f77SDag-Erling Smørgrav teststring=$teststring$teststring 1793b7579f77SDag-Erling Smørgrav done 1794b7579f77SDag-Erling Smørgrav # Only check the string length outside the loop. 1795b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 1796b7579f77SDag-Erling Smørgrav teststring= 1797b7579f77SDag-Erling Smørgrav # Add a significant safety factor because C++ compilers can tack on 1798b7579f77SDag-Erling Smørgrav # massive amounts of additional arguments before passing them to the 1799b7579f77SDag-Erling Smørgrav # linker. It appears as though 1/2 is a usable value. 1800b7579f77SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 1801b7579f77SDag-Erling Smørgrav fi 1802b7579f77SDag-Erling Smørgrav ;; 1803b7579f77SDag-Erling Smørgrav esac 1804b7579f77SDag-Erling Smørgrav]) 1805f61ef7f6SDag-Erling Smørgravif test -n "$lt_cv_sys_max_cmd_len"; then 1806b7579f77SDag-Erling Smørgrav AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 1807b7579f77SDag-Erling Smørgravelse 1808b7579f77SDag-Erling Smørgrav AC_MSG_RESULT(none) 1809b7579f77SDag-Erling Smørgravfi 1810b7579f77SDag-Erling Smørgravmax_cmd_len=$lt_cv_sys_max_cmd_len 1811b7579f77SDag-Erling Smørgrav_LT_DECL([], [max_cmd_len], [0], 1812b7579f77SDag-Erling Smørgrav [What is the maximum length of a command?]) 1813b7579f77SDag-Erling Smørgrav])# LT_CMD_MAX_LEN 1814b7579f77SDag-Erling Smørgrav 1815b7579f77SDag-Erling Smørgrav# Old name: 1816b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 1817b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 1818b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 1819b7579f77SDag-Erling Smørgrav 1820b7579f77SDag-Erling Smørgrav 1821b7579f77SDag-Erling Smørgrav# _LT_HEADER_DLFCN 1822b7579f77SDag-Erling Smørgrav# ---------------- 1823b7579f77SDag-Erling Smørgravm4_defun([_LT_HEADER_DLFCN], 1824b7579f77SDag-Erling Smørgrav[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 1825b7579f77SDag-Erling Smørgrav])# _LT_HEADER_DLFCN 1826b7579f77SDag-Erling Smørgrav 1827b7579f77SDag-Erling Smørgrav 1828b7579f77SDag-Erling Smørgrav# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 1829b7579f77SDag-Erling Smørgrav# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 1830b7579f77SDag-Erling Smørgrav# ---------------------------------------------------------------- 1831b7579f77SDag-Erling Smørgravm4_defun([_LT_TRY_DLOPEN_SELF], 1832b7579f77SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl 1833f61ef7f6SDag-Erling Smørgravif test yes = "$cross_compiling"; then : 1834b7579f77SDag-Erling Smørgrav [$4] 1835b7579f77SDag-Erling Smørgravelse 1836b7579f77SDag-Erling Smørgrav lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1837b7579f77SDag-Erling Smørgrav lt_status=$lt_dlunknown 1838b7579f77SDag-Erling Smørgrav cat > conftest.$ac_ext <<_LT_EOF 1839b7579f77SDag-Erling Smørgrav[#line $LINENO "configure" 1840b7579f77SDag-Erling Smørgrav#include "confdefs.h" 1841b7579f77SDag-Erling Smørgrav 1842b7579f77SDag-Erling Smørgrav#if HAVE_DLFCN_H 1843b7579f77SDag-Erling Smørgrav#include <dlfcn.h> 1844b7579f77SDag-Erling Smørgrav#endif 1845b7579f77SDag-Erling Smørgrav 1846b7579f77SDag-Erling Smørgrav#include <stdio.h> 1847b7579f77SDag-Erling Smørgrav 1848b7579f77SDag-Erling Smørgrav#ifdef RTLD_GLOBAL 1849b7579f77SDag-Erling Smørgrav# define LT_DLGLOBAL RTLD_GLOBAL 1850b7579f77SDag-Erling Smørgrav#else 1851b7579f77SDag-Erling Smørgrav# ifdef DL_GLOBAL 1852b7579f77SDag-Erling Smørgrav# define LT_DLGLOBAL DL_GLOBAL 1853b7579f77SDag-Erling Smørgrav# else 1854b7579f77SDag-Erling Smørgrav# define LT_DLGLOBAL 0 1855b7579f77SDag-Erling Smørgrav# endif 1856b7579f77SDag-Erling Smørgrav#endif 1857b7579f77SDag-Erling Smørgrav 1858b7579f77SDag-Erling Smørgrav/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 1859b7579f77SDag-Erling Smørgrav find out it does not work in some platform. */ 1860b7579f77SDag-Erling Smørgrav#ifndef LT_DLLAZY_OR_NOW 1861b7579f77SDag-Erling Smørgrav# ifdef RTLD_LAZY 1862b7579f77SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW RTLD_LAZY 1863b7579f77SDag-Erling Smørgrav# else 1864b7579f77SDag-Erling Smørgrav# ifdef DL_LAZY 1865b7579f77SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW DL_LAZY 1866b7579f77SDag-Erling Smørgrav# else 1867b7579f77SDag-Erling Smørgrav# ifdef RTLD_NOW 1868b7579f77SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW RTLD_NOW 1869b7579f77SDag-Erling Smørgrav# else 1870b7579f77SDag-Erling Smørgrav# ifdef DL_NOW 1871b7579f77SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW DL_NOW 1872b7579f77SDag-Erling Smørgrav# else 1873b7579f77SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW 0 1874b7579f77SDag-Erling Smørgrav# endif 1875b7579f77SDag-Erling Smørgrav# endif 1876b7579f77SDag-Erling Smørgrav# endif 1877b7579f77SDag-Erling Smørgrav# endif 1878b7579f77SDag-Erling Smørgrav#endif 1879b7579f77SDag-Erling Smørgrav 1880f61ef7f6SDag-Erling Smørgrav/* When -fvisibility=hidden is used, assume the code has been annotated 1881b7579f77SDag-Erling Smørgrav correspondingly for the symbols needed. */ 1882f61ef7f6SDag-Erling Smørgrav#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 1883b7579f77SDag-Erling Smørgravint fnord () __attribute__((visibility("default"))); 1884b7579f77SDag-Erling Smørgrav#endif 1885b7579f77SDag-Erling Smørgrav 1886b7579f77SDag-Erling Smørgravint fnord () { return 42; } 1887b7579f77SDag-Erling Smørgravint main () 1888b7579f77SDag-Erling Smørgrav{ 1889b7579f77SDag-Erling Smørgrav void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1890b7579f77SDag-Erling Smørgrav int status = $lt_dlunknown; 1891b7579f77SDag-Erling Smørgrav 1892b7579f77SDag-Erling Smørgrav if (self) 1893b7579f77SDag-Erling Smørgrav { 1894b7579f77SDag-Erling Smørgrav if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1895b7579f77SDag-Erling Smørgrav else 1896b7579f77SDag-Erling Smørgrav { 1897b7579f77SDag-Erling Smørgrav if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1898b7579f77SDag-Erling Smørgrav else puts (dlerror ()); 1899b7579f77SDag-Erling Smørgrav } 1900b7579f77SDag-Erling Smørgrav /* dlclose (self); */ 1901b7579f77SDag-Erling Smørgrav } 1902b7579f77SDag-Erling Smørgrav else 1903b7579f77SDag-Erling Smørgrav puts (dlerror ()); 1904b7579f77SDag-Erling Smørgrav 1905b7579f77SDag-Erling Smørgrav return status; 1906b7579f77SDag-Erling Smørgrav}] 1907b7579f77SDag-Erling Smørgrav_LT_EOF 1908f61ef7f6SDag-Erling Smørgrav if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then 1909b7579f77SDag-Erling Smørgrav (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 1910b7579f77SDag-Erling Smørgrav lt_status=$? 1911b7579f77SDag-Erling Smørgrav case x$lt_status in 1912b7579f77SDag-Erling Smørgrav x$lt_dlno_uscore) $1 ;; 1913b7579f77SDag-Erling Smørgrav x$lt_dlneed_uscore) $2 ;; 1914b7579f77SDag-Erling Smørgrav x$lt_dlunknown|x*) $3 ;; 1915b7579f77SDag-Erling Smørgrav esac 1916b7579f77SDag-Erling Smørgrav else : 1917b7579f77SDag-Erling Smørgrav # compilation failed 1918b7579f77SDag-Erling Smørgrav $3 1919b7579f77SDag-Erling Smørgrav fi 1920b7579f77SDag-Erling Smørgravfi 1921b7579f77SDag-Erling Smørgravrm -fr conftest* 1922b7579f77SDag-Erling Smørgrav])# _LT_TRY_DLOPEN_SELF 1923b7579f77SDag-Erling Smørgrav 1924b7579f77SDag-Erling Smørgrav 1925b7579f77SDag-Erling Smørgrav# LT_SYS_DLOPEN_SELF 1926b7579f77SDag-Erling Smørgrav# ------------------ 1927b7579f77SDag-Erling SmørgravAC_DEFUN([LT_SYS_DLOPEN_SELF], 1928b7579f77SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl 1929f61ef7f6SDag-Erling Smørgravif test yes != "$enable_dlopen"; then 1930b7579f77SDag-Erling Smørgrav enable_dlopen=unknown 1931b7579f77SDag-Erling Smørgrav enable_dlopen_self=unknown 1932b7579f77SDag-Erling Smørgrav enable_dlopen_self_static=unknown 1933b7579f77SDag-Erling Smørgravelse 1934b7579f77SDag-Erling Smørgrav lt_cv_dlopen=no 1935b7579f77SDag-Erling Smørgrav lt_cv_dlopen_libs= 1936b7579f77SDag-Erling Smørgrav 1937b7579f77SDag-Erling Smørgrav case $host_os in 1938b7579f77SDag-Erling Smørgrav beos*) 1939f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen=load_add_on 1940b7579f77SDag-Erling Smørgrav lt_cv_dlopen_libs= 1941b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self=yes 1942b7579f77SDag-Erling Smørgrav ;; 1943b7579f77SDag-Erling Smørgrav 1944b7579f77SDag-Erling Smørgrav mingw* | pw32* | cegcc*) 1945f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen=LoadLibrary 1946b7579f77SDag-Erling Smørgrav lt_cv_dlopen_libs= 1947b7579f77SDag-Erling Smørgrav ;; 1948b7579f77SDag-Erling Smørgrav 1949b7579f77SDag-Erling Smørgrav cygwin*) 1950f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen=dlopen 1951b7579f77SDag-Erling Smørgrav lt_cv_dlopen_libs= 1952b7579f77SDag-Erling Smørgrav ;; 1953b7579f77SDag-Erling Smørgrav 1954b7579f77SDag-Erling Smørgrav darwin*) 1955b7579f77SDag-Erling Smørgrav # if libdl is installed we need to link against it 1956b7579f77SDag-Erling Smørgrav AC_CHECK_LIB([dl], [dlopen], 1957f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ 1958f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen=dyld 1959b7579f77SDag-Erling Smørgrav lt_cv_dlopen_libs= 1960b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self=yes 1961b7579f77SDag-Erling Smørgrav ]) 1962b7579f77SDag-Erling Smørgrav ;; 1963b7579f77SDag-Erling Smørgrav 1964f61ef7f6SDag-Erling Smørgrav tpf*) 1965f61ef7f6SDag-Erling Smørgrav # Don't try to run any link tests for TPF. We know it's impossible 1966f61ef7f6SDag-Erling Smørgrav # because TPF is a cross-compiler, and we know how we open DSOs. 1967f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen=dlopen 1968f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen_libs= 1969f61ef7f6SDag-Erling Smørgrav lt_cv_dlopen_self=no 1970f61ef7f6SDag-Erling Smørgrav ;; 1971f61ef7f6SDag-Erling Smørgrav 1972b7579f77SDag-Erling Smørgrav *) 1973b7579f77SDag-Erling Smørgrav AC_CHECK_FUNC([shl_load], 1974f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=shl_load], 1975b7579f77SDag-Erling Smørgrav [AC_CHECK_LIB([dld], [shl_load], 1976f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], 1977b7579f77SDag-Erling Smørgrav [AC_CHECK_FUNC([dlopen], 1978f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=dlopen], 1979b7579f77SDag-Erling Smørgrav [AC_CHECK_LIB([dl], [dlopen], 1980f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], 1981b7579f77SDag-Erling Smørgrav [AC_CHECK_LIB([svld], [dlopen], 1982f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], 1983b7579f77SDag-Erling Smørgrav [AC_CHECK_LIB([dld], [dld_link], 1984f61ef7f6SDag-Erling Smørgrav [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) 1985b7579f77SDag-Erling Smørgrav ]) 1986b7579f77SDag-Erling Smørgrav ]) 1987b7579f77SDag-Erling Smørgrav ]) 1988b7579f77SDag-Erling Smørgrav ]) 1989b7579f77SDag-Erling Smørgrav ]) 1990b7579f77SDag-Erling Smørgrav ;; 1991b7579f77SDag-Erling Smørgrav esac 1992b7579f77SDag-Erling Smørgrav 1993f61ef7f6SDag-Erling Smørgrav if test no = "$lt_cv_dlopen"; then 1994b7579f77SDag-Erling Smørgrav enable_dlopen=no 1995f61ef7f6SDag-Erling Smørgrav else 1996f61ef7f6SDag-Erling Smørgrav enable_dlopen=yes 1997b7579f77SDag-Erling Smørgrav fi 1998b7579f77SDag-Erling Smørgrav 1999b7579f77SDag-Erling Smørgrav case $lt_cv_dlopen in 2000b7579f77SDag-Erling Smørgrav dlopen) 2001f61ef7f6SDag-Erling Smørgrav save_CPPFLAGS=$CPPFLAGS 2002f61ef7f6SDag-Erling Smørgrav test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 2003b7579f77SDag-Erling Smørgrav 2004f61ef7f6SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 2005b7579f77SDag-Erling Smørgrav wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 2006b7579f77SDag-Erling Smørgrav 2007f61ef7f6SDag-Erling Smørgrav save_LIBS=$LIBS 2008b7579f77SDag-Erling Smørgrav LIBS="$lt_cv_dlopen_libs $LIBS" 2009b7579f77SDag-Erling Smørgrav 2010b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([whether a program can dlopen itself], 2011b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self, [dnl 2012b7579f77SDag-Erling Smørgrav _LT_TRY_DLOPEN_SELF( 2013b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 2014b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 2015b7579f77SDag-Erling Smørgrav ]) 2016b7579f77SDag-Erling Smørgrav 2017f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_dlopen_self"; then 2018b7579f77SDag-Erling Smørgrav wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 2019b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 2020b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self_static, [dnl 2021b7579f77SDag-Erling Smørgrav _LT_TRY_DLOPEN_SELF( 2022b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 2023b7579f77SDag-Erling Smørgrav lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 2024b7579f77SDag-Erling Smørgrav ]) 2025b7579f77SDag-Erling Smørgrav fi 2026b7579f77SDag-Erling Smørgrav 2027f61ef7f6SDag-Erling Smørgrav CPPFLAGS=$save_CPPFLAGS 2028f61ef7f6SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 2029f61ef7f6SDag-Erling Smørgrav LIBS=$save_LIBS 2030b7579f77SDag-Erling Smørgrav ;; 2031b7579f77SDag-Erling Smørgrav esac 2032b7579f77SDag-Erling Smørgrav 2033b7579f77SDag-Erling Smørgrav case $lt_cv_dlopen_self in 2034b7579f77SDag-Erling Smørgrav yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 2035b7579f77SDag-Erling Smørgrav *) enable_dlopen_self=unknown ;; 2036b7579f77SDag-Erling Smørgrav esac 2037b7579f77SDag-Erling Smørgrav 2038b7579f77SDag-Erling Smørgrav case $lt_cv_dlopen_self_static in 2039b7579f77SDag-Erling Smørgrav yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 2040b7579f77SDag-Erling Smørgrav *) enable_dlopen_self_static=unknown ;; 2041b7579f77SDag-Erling Smørgrav esac 2042b7579f77SDag-Erling Smørgravfi 2043b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_support], [enable_dlopen], [0], 2044b7579f77SDag-Erling Smørgrav [Whether dlopen is supported]) 2045b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 2046b7579f77SDag-Erling Smørgrav [Whether dlopen of programs is supported]) 2047b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 2048b7579f77SDag-Erling Smørgrav [Whether dlopen of statically linked programs is supported]) 2049b7579f77SDag-Erling Smørgrav])# LT_SYS_DLOPEN_SELF 2050b7579f77SDag-Erling Smørgrav 2051b7579f77SDag-Erling Smørgrav# Old name: 2052b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 2053b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 2054b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 2055b7579f77SDag-Erling Smørgrav 2056b7579f77SDag-Erling Smørgrav 2057b7579f77SDag-Erling Smørgrav# _LT_COMPILER_C_O([TAGNAME]) 2058b7579f77SDag-Erling Smørgrav# --------------------------- 2059b7579f77SDag-Erling Smørgrav# Check to see if options -c and -o are simultaneously supported by compiler. 2060b7579f77SDag-Erling Smørgrav# This macro does not hard code the compiler like AC_PROG_CC_C_O. 2061b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_C_O], 2062b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 2063b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 2064b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 2065b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 2066b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 2067b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 2068b7579f77SDag-Erling Smørgrav $RM -r conftest 2>/dev/null 2069b7579f77SDag-Erling Smørgrav mkdir conftest 2070b7579f77SDag-Erling Smørgrav cd conftest 2071b7579f77SDag-Erling Smørgrav mkdir out 2072b7579f77SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 2073b7579f77SDag-Erling Smørgrav 2074b7579f77SDag-Erling Smørgrav lt_compiler_flag="-o out/conftest2.$ac_objext" 2075b7579f77SDag-Erling Smørgrav # Insert the option either (1) after the last *FLAGS variable, or 2076b7579f77SDag-Erling Smørgrav # (2) before a word containing "conftest.", or (3) at the end. 2077b7579f77SDag-Erling Smørgrav # Note that $ac_compile itself does not contain backslashes and begins 2078b7579f77SDag-Erling Smørgrav # with a dollar sign (not a hyphen), so the echo should work correctly. 2079b7579f77SDag-Erling Smørgrav lt_compile=`echo "$ac_compile" | $SED \ 2080b7579f77SDag-Erling Smørgrav -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 2081b7579f77SDag-Erling Smørgrav -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 2082b7579f77SDag-Erling Smørgrav -e 's:$: $lt_compiler_flag:'` 2083b7579f77SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 2084b7579f77SDag-Erling Smørgrav (eval "$lt_compile" 2>out/conftest.err) 2085b7579f77SDag-Erling Smørgrav ac_status=$? 2086b7579f77SDag-Erling Smørgrav cat out/conftest.err >&AS_MESSAGE_LOG_FD 2087b7579f77SDag-Erling Smørgrav echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 2088b7579f77SDag-Erling Smørgrav if (exit $ac_status) && test -s out/conftest2.$ac_objext 2089b7579f77SDag-Erling Smørgrav then 2090b7579f77SDag-Erling Smørgrav # The compiler can only warn and ignore the option if not recognized 2091b7579f77SDag-Erling Smørgrav # So say no if there are warnings 2092b7579f77SDag-Erling Smørgrav $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 2093b7579f77SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 2094b7579f77SDag-Erling Smørgrav if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 2095b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 2096b7579f77SDag-Erling Smørgrav fi 2097b7579f77SDag-Erling Smørgrav fi 2098b7579f77SDag-Erling Smørgrav chmod u+w . 2>&AS_MESSAGE_LOG_FD 2099b7579f77SDag-Erling Smørgrav $RM conftest* 2100b7579f77SDag-Erling Smørgrav # SGI C++ compiler will create directory out/ii_files/ for 2101b7579f77SDag-Erling Smørgrav # template instantiation 2102b7579f77SDag-Erling Smørgrav test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 2103b7579f77SDag-Erling Smørgrav $RM out/* && rmdir out 2104b7579f77SDag-Erling Smørgrav cd .. 2105b7579f77SDag-Erling Smørgrav $RM -r conftest 2106b7579f77SDag-Erling Smørgrav $RM conftest* 2107b7579f77SDag-Erling Smørgrav]) 2108b7579f77SDag-Erling Smørgrav_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 2109b7579f77SDag-Erling Smørgrav [Does compiler simultaneously support -c and -o options?]) 2110b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_C_O 2111b7579f77SDag-Erling Smørgrav 2112b7579f77SDag-Erling Smørgrav 2113b7579f77SDag-Erling Smørgrav# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 2114b7579f77SDag-Erling Smørgrav# ---------------------------------- 2115b7579f77SDag-Erling Smørgrav# Check to see if we can do hard links to lock some files if needed 2116b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_FILE_LOCKS], 2117b7579f77SDag-Erling Smørgrav[m4_require([_LT_ENABLE_LOCK])dnl 2118b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 2119b7579f77SDag-Erling Smørgrav_LT_COMPILER_C_O([$1]) 2120b7579f77SDag-Erling Smørgrav 2121f61ef7f6SDag-Erling Smørgravhard_links=nottested 2122f61ef7f6SDag-Erling Smørgravif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then 2123b7579f77SDag-Erling Smørgrav # do not overwrite the value of need_locks provided by the user 2124b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([if we can lock with hard links]) 2125b7579f77SDag-Erling Smørgrav hard_links=yes 2126b7579f77SDag-Erling Smørgrav $RM conftest* 2127b7579f77SDag-Erling Smørgrav ln conftest.a conftest.b 2>/dev/null && hard_links=no 2128b7579f77SDag-Erling Smørgrav touch conftest.a 2129b7579f77SDag-Erling Smørgrav ln conftest.a conftest.b 2>&5 || hard_links=no 2130b7579f77SDag-Erling Smørgrav ln conftest.a conftest.b 2>/dev/null && hard_links=no 2131b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$hard_links]) 2132f61ef7f6SDag-Erling Smørgrav if test no = "$hard_links"; then 2133f61ef7f6SDag-Erling Smørgrav AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) 2134b7579f77SDag-Erling Smørgrav need_locks=warn 2135b7579f77SDag-Erling Smørgrav fi 2136b7579f77SDag-Erling Smørgravelse 2137b7579f77SDag-Erling Smørgrav need_locks=no 2138b7579f77SDag-Erling Smørgravfi 2139b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 2140b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_FILE_LOCKS 2141b7579f77SDag-Erling Smørgrav 2142b7579f77SDag-Erling Smørgrav 2143b7579f77SDag-Erling Smørgrav# _LT_CHECK_OBJDIR 2144b7579f77SDag-Erling Smørgrav# ---------------- 2145b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_OBJDIR], 2146b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 2147b7579f77SDag-Erling Smørgrav[rm -f .libs 2>/dev/null 2148b7579f77SDag-Erling Smørgravmkdir .libs 2>/dev/null 2149b7579f77SDag-Erling Smørgravif test -d .libs; then 2150b7579f77SDag-Erling Smørgrav lt_cv_objdir=.libs 2151b7579f77SDag-Erling Smørgravelse 2152b7579f77SDag-Erling Smørgrav # MS-DOS does not allow filenames that begin with a dot. 2153b7579f77SDag-Erling Smørgrav lt_cv_objdir=_libs 2154b7579f77SDag-Erling Smørgravfi 2155b7579f77SDag-Erling Smørgravrmdir .libs 2>/dev/null]) 2156b7579f77SDag-Erling Smørgravobjdir=$lt_cv_objdir 2157b7579f77SDag-Erling Smørgrav_LT_DECL([], [objdir], [0], 2158b7579f77SDag-Erling Smørgrav [The name of the directory that contains temporary libtool files])dnl 2159b7579f77SDag-Erling Smørgravm4_pattern_allow([LT_OBJDIR])dnl 2160f61ef7f6SDag-Erling SmørgravAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", 2161f61ef7f6SDag-Erling Smørgrav [Define to the sub-directory where libtool stores uninstalled libraries.]) 2162b7579f77SDag-Erling Smørgrav])# _LT_CHECK_OBJDIR 2163b7579f77SDag-Erling Smørgrav 2164b7579f77SDag-Erling Smørgrav 2165b7579f77SDag-Erling Smørgrav# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 2166b7579f77SDag-Erling Smørgrav# -------------------------------------- 2167b7579f77SDag-Erling Smørgrav# Check hardcoding attributes. 2168b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 2169b7579f77SDag-Erling Smørgrav[AC_MSG_CHECKING([how to hardcode library paths into programs]) 2170b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_action, $1)= 2171b7579f77SDag-Erling Smørgravif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 2172b7579f77SDag-Erling Smørgrav test -n "$_LT_TAGVAR(runpath_var, $1)" || 2173f61ef7f6SDag-Erling Smørgrav test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then 2174b7579f77SDag-Erling Smørgrav 2175b7579f77SDag-Erling Smørgrav # We can hardcode non-existent directories. 2176f61ef7f6SDag-Erling Smørgrav if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && 2177b7579f77SDag-Erling Smørgrav # If the only mechanism to avoid hardcoding is shlibpath_var, we 2178b7579f77SDag-Erling Smørgrav # have to relink, otherwise we might link with an installed library 2179b7579f77SDag-Erling Smørgrav # when we should be linking with a yet-to-be-installed one 2180f61ef7f6SDag-Erling Smørgrav ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && 2181f61ef7f6SDag-Erling Smørgrav test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then 2182b7579f77SDag-Erling Smørgrav # Linking always hardcodes the temporary library directory. 2183b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=relink 2184b7579f77SDag-Erling Smørgrav else 2185b7579f77SDag-Erling Smørgrav # We can link without hardcoding, and we can hardcode nonexisting dirs. 2186b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=immediate 2187b7579f77SDag-Erling Smørgrav fi 2188b7579f77SDag-Erling Smørgravelse 2189b7579f77SDag-Erling Smørgrav # We cannot hardcode anything, or else we can only hardcode existing 2190b7579f77SDag-Erling Smørgrav # directories. 2191b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=unsupported 2192b7579f77SDag-Erling Smørgravfi 2193b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 2194b7579f77SDag-Erling Smørgrav 2195f61ef7f6SDag-Erling Smørgravif test relink = "$_LT_TAGVAR(hardcode_action, $1)" || 2196f61ef7f6SDag-Erling Smørgrav test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then 2197b7579f77SDag-Erling Smørgrav # Fast installation is not supported 2198b7579f77SDag-Erling Smørgrav enable_fast_install=no 2199f61ef7f6SDag-Erling Smørgravelif test yes = "$shlibpath_overrides_runpath" || 2200f61ef7f6SDag-Erling Smørgrav test no = "$enable_shared"; then 2201b7579f77SDag-Erling Smørgrav # Fast installation is not necessary 2202b7579f77SDag-Erling Smørgrav enable_fast_install=needless 2203b7579f77SDag-Erling Smørgravfi 2204b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_action], [0], 2205b7579f77SDag-Erling Smørgrav [How to hardcode a shared library path into an executable]) 2206b7579f77SDag-Erling Smørgrav])# _LT_LINKER_HARDCODE_LIBPATH 2207b7579f77SDag-Erling Smørgrav 2208b7579f77SDag-Erling Smørgrav 2209b7579f77SDag-Erling Smørgrav# _LT_CMD_STRIPLIB 2210b7579f77SDag-Erling Smørgrav# ---------------- 2211b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_STRIPLIB], 2212b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 2213b7579f77SDag-Erling Smørgravstriplib= 2214b7579f77SDag-Erling Smørgravold_striplib= 2215b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([whether stripping libraries is possible]) 2216*46d2f618SCy Schubertif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 2217*46d2f618SCy Schubert test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 2218*46d2f618SCy Schubert test -z "$striplib" && striplib="$STRIP --strip-unneeded" 2219b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 2220b7579f77SDag-Erling Smørgravelse 2221*46d2f618SCy Schubert# FIXME - insert some real tests, host_os isn't really good enough 2222b7579f77SDag-Erling Smørgrav case $host_os in 2223b7579f77SDag-Erling Smørgrav darwin*) 2224*46d2f618SCy Schubert if test -n "$STRIP"; then 2225b7579f77SDag-Erling Smørgrav striplib="$STRIP -x" 2226b7579f77SDag-Erling Smørgrav old_striplib="$STRIP -S" 2227b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 2228b7579f77SDag-Erling Smørgrav else 2229b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([no]) 2230b7579f77SDag-Erling Smørgrav fi 2231b7579f77SDag-Erling Smørgrav ;; 2232b7579f77SDag-Erling Smørgrav *) 2233b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([no]) 2234b7579f77SDag-Erling Smørgrav ;; 2235b7579f77SDag-Erling Smørgrav esac 2236b7579f77SDag-Erling Smørgravfi 2237b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 2238b7579f77SDag-Erling Smørgrav_LT_DECL([], [striplib], [1]) 2239b7579f77SDag-Erling Smørgrav])# _LT_CMD_STRIPLIB 2240b7579f77SDag-Erling Smørgrav 2241b7579f77SDag-Erling Smørgrav 2242f61ef7f6SDag-Erling Smørgrav# _LT_PREPARE_MUNGE_PATH_LIST 2243f61ef7f6SDag-Erling Smørgrav# --------------------------- 2244f61ef7f6SDag-Erling Smørgrav# Make sure func_munge_path_list() is defined correctly. 2245f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PREPARE_MUNGE_PATH_LIST], 2246f61ef7f6SDag-Erling Smørgrav[[# func_munge_path_list VARIABLE PATH 2247f61ef7f6SDag-Erling Smørgrav# ----------------------------------- 2248f61ef7f6SDag-Erling Smørgrav# VARIABLE is name of variable containing _space_ separated list of 2249f61ef7f6SDag-Erling Smørgrav# directories to be munged by the contents of PATH, which is string 2250f61ef7f6SDag-Erling Smørgrav# having a format: 2251f61ef7f6SDag-Erling Smørgrav# "DIR[:DIR]:" 2252f61ef7f6SDag-Erling Smørgrav# string "DIR[ DIR]" will be prepended to VARIABLE 2253f61ef7f6SDag-Erling Smørgrav# ":DIR[:DIR]" 2254f61ef7f6SDag-Erling Smørgrav# string "DIR[ DIR]" will be appended to VARIABLE 2255f61ef7f6SDag-Erling Smørgrav# "DIRP[:DIRP]::[DIRA:]DIRA" 2256f61ef7f6SDag-Erling Smørgrav# string "DIRP[ DIRP]" will be prepended to VARIABLE and string 2257f61ef7f6SDag-Erling Smørgrav# "DIRA[ DIRA]" will be appended to VARIABLE 2258f61ef7f6SDag-Erling Smørgrav# "DIR[:DIR]" 2259f61ef7f6SDag-Erling Smørgrav# VARIABLE will be replaced by "DIR[ DIR]" 2260f61ef7f6SDag-Erling Smørgravfunc_munge_path_list () 2261f61ef7f6SDag-Erling Smørgrav{ 2262f61ef7f6SDag-Erling Smørgrav case x@S|@2 in 2263f61ef7f6SDag-Erling Smørgrav x) 2264f61ef7f6SDag-Erling Smørgrav ;; 2265f61ef7f6SDag-Erling Smørgrav *:) 2266f61ef7f6SDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" 2267f61ef7f6SDag-Erling Smørgrav ;; 2268f61ef7f6SDag-Erling Smørgrav x:*) 2269f61ef7f6SDag-Erling Smørgrav eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" 2270f61ef7f6SDag-Erling Smørgrav ;; 2271f61ef7f6SDag-Erling Smørgrav *::*) 2272f61ef7f6SDag-Erling Smørgrav eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" 2273f61ef7f6SDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" 2274f61ef7f6SDag-Erling Smørgrav ;; 2275f61ef7f6SDag-Erling Smørgrav *) 2276f61ef7f6SDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" 2277f61ef7f6SDag-Erling Smørgrav ;; 2278f61ef7f6SDag-Erling Smørgrav esac 2279f61ef7f6SDag-Erling Smørgrav} 2280f61ef7f6SDag-Erling Smørgrav]])# _LT_PREPARE_PATH_LIST 2281f61ef7f6SDag-Erling Smørgrav 2282f61ef7f6SDag-Erling Smørgrav 2283b7579f77SDag-Erling Smørgrav# _LT_SYS_DYNAMIC_LINKER([TAG]) 2284b7579f77SDag-Erling Smørgrav# ----------------------------- 2285b7579f77SDag-Erling Smørgrav# PORTME Fill in your ld.so characteristics 2286b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_DYNAMIC_LINKER], 2287b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 2288b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 2289b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 2290b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])dnl 2291b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 2292b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl 2293f61ef7f6SDag-Erling Smørgravm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl 2294b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([dynamic linker characteristics]) 2295b7579f77SDag-Erling Smørgravm4_if([$1], 2296b7579f77SDag-Erling Smørgrav [], [ 2297f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then 2298b7579f77SDag-Erling Smørgrav case $host_os in 2299f61ef7f6SDag-Erling Smørgrav darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 2300f61ef7f6SDag-Erling Smørgrav *) lt_awk_arg='/^libraries:/' ;; 2301b7579f77SDag-Erling Smørgrav esac 2302b7579f77SDag-Erling Smørgrav case $host_os in 2303f61ef7f6SDag-Erling Smørgrav mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; 2304f61ef7f6SDag-Erling Smørgrav *) lt_sed_strip_eq='s|=/|/|g' ;; 2305b7579f77SDag-Erling Smørgrav esac 2306b7579f77SDag-Erling Smørgrav lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 2307b7579f77SDag-Erling Smørgrav case $lt_search_path_spec in 2308b7579f77SDag-Erling Smørgrav *\;*) 2309b7579f77SDag-Erling Smørgrav # if the path contains ";" then we assume it to be the separator 2310b7579f77SDag-Erling Smørgrav # otherwise default to the standard path separator (i.e. ":") - it is 2311b7579f77SDag-Erling Smørgrav # assumed that no part of a normal pathname contains ";" but that should 2312b7579f77SDag-Erling Smørgrav # okay in the real world where ";" in dirpaths is itself problematic. 2313b7579f77SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 2314b7579f77SDag-Erling Smørgrav ;; 2315b7579f77SDag-Erling Smørgrav *) 2316b7579f77SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 2317b7579f77SDag-Erling Smørgrav ;; 2318b7579f77SDag-Erling Smørgrav esac 2319b7579f77SDag-Erling Smørgrav # Ok, now we have the path, separated by spaces, we can step through it 2320f61ef7f6SDag-Erling Smørgrav # and add multilib dir if necessary... 2321b7579f77SDag-Erling Smørgrav lt_tmp_lt_search_path_spec= 2322f61ef7f6SDag-Erling Smørgrav lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 2323f61ef7f6SDag-Erling Smørgrav # ...but if some path component already ends with the multilib dir we assume 2324f61ef7f6SDag-Erling Smørgrav # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). 2325f61ef7f6SDag-Erling Smørgrav case "$lt_multi_os_dir; $lt_search_path_spec " in 2326f61ef7f6SDag-Erling Smørgrav "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 2327f61ef7f6SDag-Erling Smørgrav lt_multi_os_dir= 2328f61ef7f6SDag-Erling Smørgrav ;; 2329f61ef7f6SDag-Erling Smørgrav esac 2330b7579f77SDag-Erling Smørgrav for lt_sys_path in $lt_search_path_spec; do 2331f61ef7f6SDag-Erling Smørgrav if test -d "$lt_sys_path$lt_multi_os_dir"; then 2332f61ef7f6SDag-Erling Smørgrav lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" 2333f61ef7f6SDag-Erling Smørgrav elif test -n "$lt_multi_os_dir"; then 2334b7579f77SDag-Erling Smørgrav test -d "$lt_sys_path" && \ 2335b7579f77SDag-Erling Smørgrav lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 2336b7579f77SDag-Erling Smørgrav fi 2337b7579f77SDag-Erling Smørgrav done 2338b7579f77SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 2339b7579f77SDag-Erling SmørgravBEGIN {RS = " "; FS = "/|\n";} { 2340b7579f77SDag-Erling Smørgrav lt_foo = ""; 2341b7579f77SDag-Erling Smørgrav lt_count = 0; 2342b7579f77SDag-Erling Smørgrav for (lt_i = NF; lt_i > 0; lt_i--) { 2343b7579f77SDag-Erling Smørgrav if ($lt_i != "" && $lt_i != ".") { 2344b7579f77SDag-Erling Smørgrav if ($lt_i == "..") { 2345b7579f77SDag-Erling Smørgrav lt_count++; 2346b7579f77SDag-Erling Smørgrav } else { 2347b7579f77SDag-Erling Smørgrav if (lt_count == 0) { 2348b7579f77SDag-Erling Smørgrav lt_foo = "/" $lt_i lt_foo; 2349b7579f77SDag-Erling Smørgrav } else { 2350b7579f77SDag-Erling Smørgrav lt_count--; 2351b7579f77SDag-Erling Smørgrav } 2352b7579f77SDag-Erling Smørgrav } 2353b7579f77SDag-Erling Smørgrav } 2354b7579f77SDag-Erling Smørgrav } 2355b7579f77SDag-Erling Smørgrav if (lt_foo != "") { lt_freq[[lt_foo]]++; } 2356b7579f77SDag-Erling Smørgrav if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 2357b7579f77SDag-Erling Smørgrav}'` 2358b7579f77SDag-Erling Smørgrav # AWK program above erroneously prepends '/' to C:/dos/paths 2359b7579f77SDag-Erling Smørgrav # for these hosts. 2360b7579f77SDag-Erling Smørgrav case $host_os in 2361b7579f77SDag-Erling Smørgrav mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 2362f61ef7f6SDag-Erling Smørgrav $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; 2363b7579f77SDag-Erling Smørgrav esac 2364b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 2365b7579f77SDag-Erling Smørgravelse 2366b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2367b7579f77SDag-Erling Smørgravfi]) 2368b7579f77SDag-Erling Smørgravlibrary_names_spec= 2369b7579f77SDag-Erling Smørgravlibname_spec='lib$name' 2370b7579f77SDag-Erling Smørgravsoname_spec= 2371f61ef7f6SDag-Erling Smørgravshrext_cmds=.so 2372b7579f77SDag-Erling Smørgravpostinstall_cmds= 2373b7579f77SDag-Erling Smørgravpostuninstall_cmds= 2374b7579f77SDag-Erling Smørgravfinish_cmds= 2375b7579f77SDag-Erling Smørgravfinish_eval= 2376b7579f77SDag-Erling Smørgravshlibpath_var= 2377b7579f77SDag-Erling Smørgravshlibpath_overrides_runpath=unknown 2378b7579f77SDag-Erling Smørgravversion_type=none 2379b7579f77SDag-Erling Smørgravdynamic_linker="$host_os ld.so" 2380b7579f77SDag-Erling Smørgravsys_lib_dlsearch_path_spec="/lib /usr/lib" 2381b7579f77SDag-Erling Smørgravneed_lib_prefix=unknown 2382b7579f77SDag-Erling Smørgravhardcode_into_libs=no 2383b7579f77SDag-Erling Smørgrav 2384b7579f77SDag-Erling Smørgrav# when you set need_version to no, make sure it does not cause -set_version 2385b7579f77SDag-Erling Smørgrav# flags to be left without arguments 2386b7579f77SDag-Erling Smørgravneed_version=unknown 2387b7579f77SDag-Erling Smørgrav 2388f61ef7f6SDag-Erling SmørgravAC_ARG_VAR([LT_SYS_LIBRARY_PATH], 2389f61ef7f6SDag-Erling Smørgrav[User-defined run-time library search path.]) 2390f61ef7f6SDag-Erling Smørgrav 2391b7579f77SDag-Erling Smørgravcase $host_os in 2392b7579f77SDag-Erling Smørgravaix3*) 23938ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2394f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 2395b7579f77SDag-Erling Smørgrav shlibpath_var=LIBPATH 2396b7579f77SDag-Erling Smørgrav 2397b7579f77SDag-Erling Smørgrav # AIX 3 has no versioning support, so we append a major version to the name. 2398f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2399b7579f77SDag-Erling Smørgrav ;; 2400b7579f77SDag-Erling Smørgrav 2401b7579f77SDag-Erling Smørgravaix[[4-9]]*) 24028ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2403b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2404b7579f77SDag-Erling Smørgrav need_version=no 2405b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2406f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 2407b7579f77SDag-Erling Smørgrav # AIX 5 supports IA64 2408f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 2409b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2410b7579f77SDag-Erling Smørgrav else 2411b7579f77SDag-Erling Smørgrav # With GCC up to 2.95.x, collect2 would create an import file 2412b7579f77SDag-Erling Smørgrav # for dependence libraries. The import file would start with 2413f61ef7f6SDag-Erling Smørgrav # the line '#! .'. This would cause the generated library to 2414f61ef7f6SDag-Erling Smørgrav # depend on '.', always an invalid library. This was fixed in 2415b7579f77SDag-Erling Smørgrav # development snapshots of GCC prior to 3.0. 2416b7579f77SDag-Erling Smørgrav case $host_os in 2417b7579f77SDag-Erling Smørgrav aix4 | aix4.[[01]] | aix4.[[01]].*) 2418b7579f77SDag-Erling Smørgrav if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 2419b7579f77SDag-Erling Smørgrav echo ' yes ' 2420f61ef7f6SDag-Erling Smørgrav echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then 2421b7579f77SDag-Erling Smørgrav : 2422b7579f77SDag-Erling Smørgrav else 2423b7579f77SDag-Erling Smørgrav can_build_shared=no 2424b7579f77SDag-Erling Smørgrav fi 2425b7579f77SDag-Erling Smørgrav ;; 2426b7579f77SDag-Erling Smørgrav esac 2427f61ef7f6SDag-Erling Smørgrav # Using Import Files as archive members, it is possible to support 2428f61ef7f6SDag-Erling Smørgrav # filename-based versioning of shared library archives on AIX. While 2429f61ef7f6SDag-Erling Smørgrav # this would work for both with and without runtime linking, it will 2430f61ef7f6SDag-Erling Smørgrav # prevent static linking of such archives. So we do filename-based 2431f61ef7f6SDag-Erling Smørgrav # shared library versioning with .so extension only, which is used 2432f61ef7f6SDag-Erling Smørgrav # when both runtime linking and shared linking is enabled. 2433f61ef7f6SDag-Erling Smørgrav # Unfortunately, runtime linking may impact performance, so we do 2434f61ef7f6SDag-Erling Smørgrav # not want this to be the default eventually. Also, we use the 2435f61ef7f6SDag-Erling Smørgrav # versioned .so libs for executables only if there is the -brtl 2436f61ef7f6SDag-Erling Smørgrav # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 2437f61ef7f6SDag-Erling Smørgrav # To allow for filename-based versioning support, we need to create 2438f61ef7f6SDag-Erling Smørgrav # libNAME.so.V as an archive file, containing: 2439f61ef7f6SDag-Erling Smørgrav # *) an Import File, referring to the versioned filename of the 2440f61ef7f6SDag-Erling Smørgrav # archive as well as the shared archive member, telling the 2441f61ef7f6SDag-Erling Smørgrav # bitwidth (32 or 64) of that shared object, and providing the 2442f61ef7f6SDag-Erling Smørgrav # list of exported symbols of that shared object, eventually 2443f61ef7f6SDag-Erling Smørgrav # decorated with the 'weak' keyword 2444f61ef7f6SDag-Erling Smørgrav # *) the shared object with the F_LOADONLY flag set, to really avoid 2445f61ef7f6SDag-Erling Smørgrav # it being seen by the linker. 2446f61ef7f6SDag-Erling Smørgrav # At run time we better use the real file rather than another symlink, 2447f61ef7f6SDag-Erling Smørgrav # but for link time we create the symlink libNAME.so -> libNAME.so.V 2448f61ef7f6SDag-Erling Smørgrav 2449f61ef7f6SDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 2450b7579f77SDag-Erling Smørgrav # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 2451b7579f77SDag-Erling Smørgrav # soname into executable. Probably we can add versioning support to 2452b7579f77SDag-Erling Smørgrav # collect2, so additional links can be useful in future. 2453f61ef7f6SDag-Erling Smørgrav aix,yes) # traditional libtool 2454f61ef7f6SDag-Erling Smørgrav dynamic_linker='AIX unversionable lib.so' 2455b7579f77SDag-Erling Smørgrav # If using run time linking (on AIX 4.2 or later) use lib<name>.so 2456b7579f77SDag-Erling Smørgrav # instead of lib<name>.a to let people know that these are not 2457b7579f77SDag-Erling Smørgrav # typical AIX shared libraries. 2458f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2459f61ef7f6SDag-Erling Smørgrav ;; 2460f61ef7f6SDag-Erling Smørgrav aix,no) # traditional AIX only 2461f61ef7f6SDag-Erling Smørgrav dynamic_linker='AIX lib.a[(]lib.so.V[)]' 2462b7579f77SDag-Erling Smørgrav # We preserve .a as extension for shared libraries through AIX4.2 2463b7579f77SDag-Erling Smørgrav # and later when we are not doing run time linking. 2464f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release.a $libname.a' 2465f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2466f61ef7f6SDag-Erling Smørgrav ;; 2467f61ef7f6SDag-Erling Smørgrav svr4,*) # full svr4 only 2468f61ef7f6SDag-Erling Smørgrav dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" 2469f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2470f61ef7f6SDag-Erling Smørgrav # We do not specify a path in Import Files, so LIBPATH fires. 2471f61ef7f6SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2472f61ef7f6SDag-Erling Smørgrav ;; 2473f61ef7f6SDag-Erling Smørgrav *,yes) # both, prefer svr4 2474f61ef7f6SDag-Erling Smørgrav dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" 2475f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2476f61ef7f6SDag-Erling Smørgrav # unpreferred sharedlib libNAME.a needs extra handling 2477f61ef7f6SDag-Erling Smørgrav postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' 2478f61ef7f6SDag-Erling Smørgrav postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' 2479f61ef7f6SDag-Erling Smørgrav # We do not specify a path in Import Files, so LIBPATH fires. 2480f61ef7f6SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2481f61ef7f6SDag-Erling Smørgrav ;; 2482f61ef7f6SDag-Erling Smørgrav *,no) # both, prefer aix 2483f61ef7f6SDag-Erling Smørgrav dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" 2484f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release.a $libname.a' 2485f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2486f61ef7f6SDag-Erling Smørgrav # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling 2487f61ef7f6SDag-Erling Smørgrav postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' 2488f61ef7f6SDag-Erling Smørgrav postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' 2489f61ef7f6SDag-Erling Smørgrav ;; 2490f61ef7f6SDag-Erling Smørgrav esac 2491b7579f77SDag-Erling Smørgrav shlibpath_var=LIBPATH 2492b7579f77SDag-Erling Smørgrav fi 2493b7579f77SDag-Erling Smørgrav ;; 2494b7579f77SDag-Erling Smørgrav 2495b7579f77SDag-Erling Smørgravamigaos*) 2496b7579f77SDag-Erling Smørgrav case $host_cpu in 2497b7579f77SDag-Erling Smørgrav powerpc) 2498b7579f77SDag-Erling Smørgrav # Since July 2007 AmigaOS4 officially supports .so libraries. 2499b7579f77SDag-Erling Smørgrav # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 2500f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2501b7579f77SDag-Erling Smørgrav ;; 2502b7579f77SDag-Erling Smørgrav m68k) 2503b7579f77SDag-Erling Smørgrav library_names_spec='$libname.ixlibrary $libname.a' 2504b7579f77SDag-Erling Smørgrav # Create ${libname}_ixlibrary.a entries in /sys/libs. 2505f61ef7f6SDag-Erling Smørgrav finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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' 2506b7579f77SDag-Erling Smørgrav ;; 2507b7579f77SDag-Erling Smørgrav esac 2508b7579f77SDag-Erling Smørgrav ;; 2509b7579f77SDag-Erling Smørgrav 2510b7579f77SDag-Erling Smørgravbeos*) 2511f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$shared_ext' 2512b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os ld.so" 2513b7579f77SDag-Erling Smørgrav shlibpath_var=LIBRARY_PATH 2514b7579f77SDag-Erling Smørgrav ;; 2515b7579f77SDag-Erling Smørgrav 2516b7579f77SDag-Erling Smørgravbsdi[[45]]*) 25178ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2518b7579f77SDag-Erling Smørgrav need_version=no 2519f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2520f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2521b7579f77SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 2522b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2523b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 2524b7579f77SDag-Erling Smørgrav sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 2525b7579f77SDag-Erling Smørgrav # the default ld.so.conf also contains /usr/contrib/lib and 2526b7579f77SDag-Erling Smørgrav # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 2527b7579f77SDag-Erling Smørgrav # libtool to hard-code these into programs 2528b7579f77SDag-Erling Smørgrav ;; 2529b7579f77SDag-Erling Smørgrav 2530b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 2531b7579f77SDag-Erling Smørgrav version_type=windows 2532f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 2533b7579f77SDag-Erling Smørgrav need_version=no 2534b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2535b7579f77SDag-Erling Smørgrav 2536b7579f77SDag-Erling Smørgrav case $GCC,$cc_basename in 2537b7579f77SDag-Erling Smørgrav yes,*) 2538b7579f77SDag-Erling Smørgrav # gcc 2539b7579f77SDag-Erling Smørgrav library_names_spec='$libname.dll.a' 2540b7579f77SDag-Erling Smørgrav # DLL is installed to $(libdir)/../bin by postinstall_cmds 2541f61ef7f6SDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2542f61ef7f6SDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 2543b7579f77SDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 2544b7579f77SDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 2545b7579f77SDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname~ 2546b7579f77SDag-Erling Smørgrav chmod a+x \$dldir/$dlname~ 2547b7579f77SDag-Erling Smørgrav if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2548b7579f77SDag-Erling Smørgrav eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2549b7579f77SDag-Erling Smørgrav fi' 2550b7579f77SDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2551b7579f77SDag-Erling Smørgrav dlpath=$dir/\$dldll~ 2552b7579f77SDag-Erling Smørgrav $RM \$dlpath' 2553b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2554b7579f77SDag-Erling Smørgrav 2555b7579f77SDag-Erling Smørgrav case $host_os in 2556b7579f77SDag-Erling Smørgrav cygwin*) 2557b7579f77SDag-Erling Smørgrav # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2558*46d2f618SCy Schubert soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2559b7579f77SDag-Erling Smørgravm4_if([$1], [],[ 2560b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 2561b7579f77SDag-Erling Smørgrav ;; 2562b7579f77SDag-Erling Smørgrav mingw* | cegcc*) 2563b7579f77SDag-Erling Smørgrav # MinGW DLLs use traditional 'lib' prefix 2564f61ef7f6SDag-Erling Smørgrav soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2565b7579f77SDag-Erling Smørgrav ;; 2566b7579f77SDag-Erling Smørgrav pw32*) 2567b7579f77SDag-Erling Smørgrav # pw32 DLLs use 'pw' prefix rather than 'lib' 2568*46d2f618SCy Schubert library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2569b7579f77SDag-Erling Smørgrav ;; 2570b7579f77SDag-Erling Smørgrav esac 2571b7579f77SDag-Erling Smørgrav dynamic_linker='Win32 ld.exe' 2572b7579f77SDag-Erling Smørgrav ;; 2573b7579f77SDag-Erling Smørgrav 2574*46d2f618SCy Schubert *,cl*) 2575*46d2f618SCy Schubert # Native MSVC 2576b7579f77SDag-Erling Smørgrav libname_spec='$name' 2577f61ef7f6SDag-Erling Smørgrav soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2578f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname.dll.lib' 2579b7579f77SDag-Erling Smørgrav 2580b7579f77SDag-Erling Smørgrav case $build_os in 2581b7579f77SDag-Erling Smørgrav mingw*) 2582b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec= 2583b7579f77SDag-Erling Smørgrav lt_save_ifs=$IFS 2584b7579f77SDag-Erling Smørgrav IFS=';' 2585b7579f77SDag-Erling Smørgrav for lt_path in $LIB 2586b7579f77SDag-Erling Smørgrav do 2587b7579f77SDag-Erling Smørgrav IFS=$lt_save_ifs 2588b7579f77SDag-Erling Smørgrav # Let DOS variable expansion print the short 8.3 style file name. 2589b7579f77SDag-Erling Smørgrav lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 2590b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 2591b7579f77SDag-Erling Smørgrav done 2592b7579f77SDag-Erling Smørgrav IFS=$lt_save_ifs 2593b7579f77SDag-Erling Smørgrav # Convert to MSYS style. 2594*46d2f618SCy Schubert sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 2595b7579f77SDag-Erling Smørgrav ;; 2596b7579f77SDag-Erling Smørgrav cygwin*) 2597b7579f77SDag-Erling Smørgrav # Convert to unix form, then to dos form, then back to unix form 2598b7579f77SDag-Erling Smørgrav # but this time dos style (no spaces!) so that the unix form looks 2599b7579f77SDag-Erling Smørgrav # like /cygdrive/c/PROGRA~1:/cygdr... 2600b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 2601b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 2602b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2603b7579f77SDag-Erling Smørgrav ;; 2604b7579f77SDag-Erling Smørgrav *) 2605f61ef7f6SDag-Erling Smørgrav sys_lib_search_path_spec=$LIB 2606b7579f77SDag-Erling Smørgrav if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 2607b7579f77SDag-Erling Smørgrav # It is most probably a Windows format PATH. 2608b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 2609b7579f77SDag-Erling Smørgrav else 2610b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2611b7579f77SDag-Erling Smørgrav fi 2612b7579f77SDag-Erling Smørgrav # FIXME: find the short name or the path components, as spaces are 2613b7579f77SDag-Erling Smørgrav # common. (e.g. "Program Files" -> "PROGRA~1") 2614b7579f77SDag-Erling Smørgrav ;; 2615b7579f77SDag-Erling Smørgrav esac 2616b7579f77SDag-Erling Smørgrav 2617b7579f77SDag-Erling Smørgrav # DLL is installed to $(libdir)/../bin by postinstall_cmds 2618f61ef7f6SDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2619f61ef7f6SDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 2620b7579f77SDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 2621b7579f77SDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 2622b7579f77SDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname' 2623b7579f77SDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2624b7579f77SDag-Erling Smørgrav dlpath=$dir/\$dldll~ 2625b7579f77SDag-Erling Smørgrav $RM \$dlpath' 2626b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2627b7579f77SDag-Erling Smørgrav dynamic_linker='Win32 link.exe' 2628b7579f77SDag-Erling Smørgrav ;; 2629b7579f77SDag-Erling Smørgrav 2630b7579f77SDag-Erling Smørgrav *) 2631*46d2f618SCy Schubert # Assume MSVC wrapper 2632f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' 2633b7579f77SDag-Erling Smørgrav dynamic_linker='Win32 ld.exe' 2634b7579f77SDag-Erling Smørgrav ;; 2635b7579f77SDag-Erling Smørgrav esac 2636b7579f77SDag-Erling Smørgrav # FIXME: first we should search . and the directory the executable is in 2637b7579f77SDag-Erling Smørgrav shlibpath_var=PATH 2638b7579f77SDag-Erling Smørgrav ;; 2639b7579f77SDag-Erling Smørgrav 2640b7579f77SDag-Erling Smørgravdarwin* | rhapsody*) 2641b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os dyld" 2642b7579f77SDag-Erling Smørgrav version_type=darwin 2643b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2644b7579f77SDag-Erling Smørgrav need_version=no 2645f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 2646f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$major$shared_ext' 2647b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2648b7579f77SDag-Erling Smørgrav shlibpath_var=DYLD_LIBRARY_PATH 2649b7579f77SDag-Erling Smørgrav shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 2650b7579f77SDag-Erling Smørgravm4_if([$1], [],[ 2651b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 2652b7579f77SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 2653b7579f77SDag-Erling Smørgrav ;; 2654b7579f77SDag-Erling Smørgrav 2655b7579f77SDag-Erling Smørgravdgux*) 26568ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2657b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2658b7579f77SDag-Erling Smørgrav need_version=no 2659f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2660f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2661b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2662b7579f77SDag-Erling Smørgrav ;; 2663b7579f77SDag-Erling Smørgrav 2664*46d2f618SCy Schubertfreebsd* | dragonfly*) 2665b7579f77SDag-Erling Smørgrav # DragonFly does not have aout. When/if they implement a new 2666b7579f77SDag-Erling Smørgrav # versioning mechanism, adjust this. 2667b7579f77SDag-Erling Smørgrav if test -x /usr/bin/objformat; then 2668b7579f77SDag-Erling Smørgrav objformat=`/usr/bin/objformat` 2669b7579f77SDag-Erling Smørgrav else 2670b7579f77SDag-Erling Smørgrav case $host_os in 26718ed2b524SDag-Erling Smørgrav freebsd[[23]].*) objformat=aout ;; 2672b7579f77SDag-Erling Smørgrav *) objformat=elf ;; 2673b7579f77SDag-Erling Smørgrav esac 2674b7579f77SDag-Erling Smørgrav fi 2675b7579f77SDag-Erling Smørgrav version_type=freebsd-$objformat 2676b7579f77SDag-Erling Smørgrav case $version_type in 2677b7579f77SDag-Erling Smørgrav freebsd-elf*) 2678f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2679f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2680b7579f77SDag-Erling Smørgrav need_version=no 2681b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2682b7579f77SDag-Erling Smørgrav ;; 2683b7579f77SDag-Erling Smørgrav freebsd-*) 2684f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 2685b7579f77SDag-Erling Smørgrav need_version=yes 2686b7579f77SDag-Erling Smørgrav ;; 2687b7579f77SDag-Erling Smørgrav esac 2688b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2689b7579f77SDag-Erling Smørgrav case $host_os in 26908ed2b524SDag-Erling Smørgrav freebsd2.*) 2691b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2692b7579f77SDag-Erling Smørgrav ;; 2693b7579f77SDag-Erling Smørgrav freebsd3.[[01]]* | freebsdelf3.[[01]]*) 2694b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2695b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2696b7579f77SDag-Erling Smørgrav ;; 2697b7579f77SDag-Erling Smørgrav freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 2698b7579f77SDag-Erling Smørgrav freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 2699b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2700b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2701b7579f77SDag-Erling Smørgrav ;; 2702b7579f77SDag-Erling Smørgrav *) # from 4.6 on, and DragonFly 2703b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2704b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2705b7579f77SDag-Erling Smørgrav ;; 2706b7579f77SDag-Erling Smørgrav esac 2707b7579f77SDag-Erling Smørgrav ;; 2708b7579f77SDag-Erling Smørgrav 2709b7579f77SDag-Erling Smørgravhaiku*) 27108ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2711b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2712b7579f77SDag-Erling Smørgrav need_version=no 2713b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os runtime_loader" 2714f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2715f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2716b7579f77SDag-Erling Smørgrav shlibpath_var=LIBRARY_PATH 2717f61ef7f6SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2718b7579f77SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 2719b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2720b7579f77SDag-Erling Smørgrav ;; 2721b7579f77SDag-Erling Smørgrav 2722b7579f77SDag-Erling Smørgravhpux9* | hpux10* | hpux11*) 2723b7579f77SDag-Erling Smørgrav # Give a soname corresponding to the major version so that dld.sl refuses to 2724b7579f77SDag-Erling Smørgrav # link against other versions. 2725b7579f77SDag-Erling Smørgrav version_type=sunos 2726b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2727b7579f77SDag-Erling Smørgrav need_version=no 2728b7579f77SDag-Erling Smørgrav case $host_cpu in 2729b7579f77SDag-Erling Smørgrav ia64*) 2730b7579f77SDag-Erling Smørgrav shrext_cmds='.so' 2731b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2732b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os dld.so" 2733b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2734b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2735f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2736f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2737f61ef7f6SDag-Erling Smørgrav if test 32 = "$HPUX_IA64_MODE"; then 2738b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 2739f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib/hpux32 2740b7579f77SDag-Erling Smørgrav else 2741b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 2742f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib/hpux64 2743b7579f77SDag-Erling Smørgrav fi 2744b7579f77SDag-Erling Smørgrav ;; 2745b7579f77SDag-Erling Smørgrav hppa*64*) 2746b7579f77SDag-Erling Smørgrav shrext_cmds='.sl' 2747b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2748b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os dld.sl" 2749b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 2750b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2751f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2752f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2753b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 2754b7579f77SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2755b7579f77SDag-Erling Smørgrav ;; 2756b7579f77SDag-Erling Smørgrav *) 2757b7579f77SDag-Erling Smørgrav shrext_cmds='.sl' 2758b7579f77SDag-Erling Smørgrav dynamic_linker="$host_os dld.sl" 2759b7579f77SDag-Erling Smørgrav shlibpath_var=SHLIB_PATH 2760b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2761f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2762f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2763b7579f77SDag-Erling Smørgrav ;; 2764b7579f77SDag-Erling Smørgrav esac 2765b7579f77SDag-Erling Smørgrav # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 2766b7579f77SDag-Erling Smørgrav postinstall_cmds='chmod 555 $lib' 2767b7579f77SDag-Erling Smørgrav # or fails outright, so override atomically: 2768b7579f77SDag-Erling Smørgrav install_override_mode=555 2769b7579f77SDag-Erling Smørgrav ;; 2770b7579f77SDag-Erling Smørgrav 2771b7579f77SDag-Erling Smørgravinterix[[3-9]]*) 27728ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2773b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2774b7579f77SDag-Erling Smørgrav need_version=no 2775f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2776f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2777b7579f77SDag-Erling Smørgrav dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 2778b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2779b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2780b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2781b7579f77SDag-Erling Smørgrav ;; 2782b7579f77SDag-Erling Smørgrav 2783b7579f77SDag-Erling Smørgravirix5* | irix6* | nonstopux*) 2784b7579f77SDag-Erling Smørgrav case $host_os in 2785b7579f77SDag-Erling Smørgrav nonstopux*) version_type=nonstopux ;; 2786b7579f77SDag-Erling Smørgrav *) 2787f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_prog_gnu_ld"; then 27888ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2789b7579f77SDag-Erling Smørgrav else 2790b7579f77SDag-Erling Smørgrav version_type=irix 2791b7579f77SDag-Erling Smørgrav fi ;; 2792b7579f77SDag-Erling Smørgrav esac 2793b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2794b7579f77SDag-Erling Smørgrav need_version=no 2795f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2796f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' 2797b7579f77SDag-Erling Smørgrav case $host_os in 2798b7579f77SDag-Erling Smørgrav irix5* | nonstopux*) 2799b7579f77SDag-Erling Smørgrav libsuff= shlibsuff= 2800b7579f77SDag-Erling Smørgrav ;; 2801b7579f77SDag-Erling Smørgrav *) 2802b7579f77SDag-Erling Smørgrav case $LD in # libtool.m4 will add one of these switches to LD 2803b7579f77SDag-Erling Smørgrav *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 2804b7579f77SDag-Erling Smørgrav libsuff= shlibsuff= libmagic=32-bit;; 2805b7579f77SDag-Erling Smørgrav *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 2806b7579f77SDag-Erling Smørgrav libsuff=32 shlibsuff=N32 libmagic=N32;; 2807b7579f77SDag-Erling Smørgrav *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 2808b7579f77SDag-Erling Smørgrav libsuff=64 shlibsuff=64 libmagic=64-bit;; 2809b7579f77SDag-Erling Smørgrav *) libsuff= shlibsuff= libmagic=never-match;; 2810b7579f77SDag-Erling Smørgrav esac 2811b7579f77SDag-Erling Smørgrav ;; 2812b7579f77SDag-Erling Smørgrav esac 2813b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 2814b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2815f61ef7f6SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" 2816f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" 2817b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2818b7579f77SDag-Erling Smørgrav ;; 2819b7579f77SDag-Erling Smørgrav 2820b7579f77SDag-Erling Smørgrav# No shared lib support for Linux oldld, aout, or coff. 2821b7579f77SDag-Erling Smørgravlinux*oldld* | linux*aout* | linux*coff*) 2822b7579f77SDag-Erling Smørgrav dynamic_linker=no 2823b7579f77SDag-Erling Smørgrav ;; 2824b7579f77SDag-Erling Smørgrav 2825f61ef7f6SDag-Erling Smørgravlinux*android*) 2826f61ef7f6SDag-Erling Smørgrav version_type=none # Android doesn't support versioned libraries. 2827f61ef7f6SDag-Erling Smørgrav need_lib_prefix=no 2828f61ef7f6SDag-Erling Smørgrav need_version=no 2829f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext' 2830f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext' 2831f61ef7f6SDag-Erling Smørgrav finish_cmds= 2832f61ef7f6SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2833f61ef7f6SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2834f61ef7f6SDag-Erling Smørgrav 2835f61ef7f6SDag-Erling Smørgrav # This implies no fast_install, which is unacceptable. 2836f61ef7f6SDag-Erling Smørgrav # Some rework will be needed to allow for fast_install 2837f61ef7f6SDag-Erling Smørgrav # before this can be enabled. 2838f61ef7f6SDag-Erling Smørgrav hardcode_into_libs=yes 2839f61ef7f6SDag-Erling Smørgrav 2840f61ef7f6SDag-Erling Smørgrav dynamic_linker='Android linker' 2841f61ef7f6SDag-Erling Smørgrav # Don't embed -rpath directories since the linker doesn't support them. 2842f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 2843f61ef7f6SDag-Erling Smørgrav ;; 2844f61ef7f6SDag-Erling Smørgrav 28458ed2b524SDag-Erling Smørgrav# This must be glibc/ELF. 2846f61ef7f6SDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 28478ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2848b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2849b7579f77SDag-Erling Smørgrav need_version=no 2850f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2851f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2852b7579f77SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2853b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2854b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2855b7579f77SDag-Erling Smørgrav 2856b7579f77SDag-Erling Smørgrav # Some binutils ld are patched to set DT_RUNPATH 2857b7579f77SDag-Erling Smørgrav AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 2858b7579f77SDag-Erling Smørgrav [lt_cv_shlibpath_overrides_runpath=no 2859b7579f77SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 2860b7579f77SDag-Erling Smørgrav save_libdir=$libdir 2861b7579f77SDag-Erling Smørgrav eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 2862b7579f77SDag-Erling Smørgrav LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 2863b7579f77SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 2864b7579f77SDag-Erling Smørgrav [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 2865b7579f77SDag-Erling Smørgrav [lt_cv_shlibpath_overrides_runpath=yes])]) 2866b7579f77SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 2867b7579f77SDag-Erling Smørgrav libdir=$save_libdir 2868b7579f77SDag-Erling Smørgrav ]) 2869b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 2870b7579f77SDag-Erling Smørgrav 2871b7579f77SDag-Erling Smørgrav # This implies no fast_install, which is unacceptable. 2872b7579f77SDag-Erling Smørgrav # Some rework will be needed to allow for fast_install 2873b7579f77SDag-Erling Smørgrav # before this can be enabled. 2874b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2875b7579f77SDag-Erling Smørgrav 2876091e9e46SCy Schubert # Add ABI-specific directories to the system library path. 2877091e9e46SCy Schubert sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" 2878091e9e46SCy Schubert 2879f61ef7f6SDag-Erling Smørgrav # Ideally, we could use ldconfig to report *all* directores which are 2880f61ef7f6SDag-Erling Smørgrav # searched for libraries, however this is still not possible. Aside from not 2881f61ef7f6SDag-Erling Smørgrav # being certain /sbin/ldconfig is available, command 2882f61ef7f6SDag-Erling Smørgrav # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, 2883f61ef7f6SDag-Erling Smørgrav # even though it is searched at run-time. Try to do the best guess by 2884f61ef7f6SDag-Erling Smørgrav # appending ld.so.conf contents (and includes) to the search path. 2885b7579f77SDag-Erling Smørgrav if test -f /etc/ld.so.conf; then 2886b7579f77SDag-Erling Smørgrav 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;s/"//g;/^$/d' | tr '\n' ' '` 2887091e9e46SCy Schubert sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" 2888b7579f77SDag-Erling Smørgrav fi 2889b7579f77SDag-Erling Smørgrav 2890b7579f77SDag-Erling Smørgrav # We used to test for /lib/ld.so.1 and disable shared libraries on 2891b7579f77SDag-Erling Smørgrav # powerpc, because MkLinux only supported shared libraries with the 2892b7579f77SDag-Erling Smørgrav # GNU dynamic linker. Since this was broken with cross compilers, 2893b7579f77SDag-Erling Smørgrav # most powerpc-linux boxes support dynamic linking these days and 2894b7579f77SDag-Erling Smørgrav # people can always --disable-shared, the test was removed, and we 2895b7579f77SDag-Erling Smørgrav # assume the GNU/Linux dynamic linker is in use. 2896b7579f77SDag-Erling Smørgrav dynamic_linker='GNU/Linux ld.so' 2897b7579f77SDag-Erling Smørgrav ;; 2898b7579f77SDag-Erling Smørgrav 2899b7579f77SDag-Erling Smørgravnetbsd*) 2900b7579f77SDag-Erling Smørgrav version_type=sunos 2901b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2902b7579f77SDag-Erling Smørgrav need_version=no 2903b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 2904f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 2905b7579f77SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2906b7579f77SDag-Erling Smørgrav dynamic_linker='NetBSD (a.out) ld.so' 2907b7579f77SDag-Erling Smørgrav else 2908f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2909f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2910b7579f77SDag-Erling Smørgrav dynamic_linker='NetBSD ld.elf_so' 2911b7579f77SDag-Erling Smørgrav fi 2912b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2913b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2914b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2915b7579f77SDag-Erling Smørgrav ;; 2916b7579f77SDag-Erling Smørgrav 2917b7579f77SDag-Erling Smørgravnewsos6) 29188ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2919f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2920b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2921b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2922b7579f77SDag-Erling Smørgrav ;; 2923b7579f77SDag-Erling Smørgrav 2924b7579f77SDag-Erling Smørgrav*nto* | *qnx*) 2925b7579f77SDag-Erling Smørgrav version_type=qnx 2926b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2927b7579f77SDag-Erling Smørgrav need_version=no 2928f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2929f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2930b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2931b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2932b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 2933b7579f77SDag-Erling Smørgrav dynamic_linker='ldqnx.so' 2934b7579f77SDag-Erling Smørgrav ;; 2935b7579f77SDag-Erling Smørgrav 2936f61ef7f6SDag-Erling Smørgravopenbsd* | bitrig*) 2937b7579f77SDag-Erling Smørgrav version_type=sunos 2938f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib 2939b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2940f61ef7f6SDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 2941f61ef7f6SDag-Erling Smørgrav need_version=no 2942f61ef7f6SDag-Erling Smørgrav else 2943f61ef7f6SDag-Erling Smørgrav need_version=yes 2944f61ef7f6SDag-Erling Smørgrav fi 2945f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 2946b7579f77SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2947b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2948b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2949b7579f77SDag-Erling Smørgrav ;; 2950b7579f77SDag-Erling Smørgrav 2951b7579f77SDag-Erling Smørgravos2*) 2952b7579f77SDag-Erling Smørgrav libname_spec='$name' 2953f61ef7f6SDag-Erling Smørgrav version_type=windows 2954f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 2955f61ef7f6SDag-Erling Smørgrav need_version=no 2956b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2957f61ef7f6SDag-Erling Smørgrav # OS/2 can only load a DLL with a base name of 8 characters or less. 2958f61ef7f6SDag-Erling Smørgrav soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; 2959f61ef7f6SDag-Erling Smørgrav v=$($ECHO $release$versuffix | tr -d .-); 2960f61ef7f6SDag-Erling Smørgrav n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); 2961f61ef7f6SDag-Erling Smørgrav $ECHO $n$v`$shared_ext' 2962f61ef7f6SDag-Erling Smørgrav library_names_spec='${libname}_dll.$libext' 2963b7579f77SDag-Erling Smørgrav dynamic_linker='OS/2 ld.exe' 2964f61ef7f6SDag-Erling Smørgrav shlibpath_var=BEGINLIBPATH 2965f61ef7f6SDag-Erling Smørgrav sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2966f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2967f61ef7f6SDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2968f61ef7f6SDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ 2969f61ef7f6SDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 2970f61ef7f6SDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 2971f61ef7f6SDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname~ 2972f61ef7f6SDag-Erling Smørgrav chmod a+x \$dldir/$dlname~ 2973f61ef7f6SDag-Erling Smørgrav if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2974f61ef7f6SDag-Erling Smørgrav eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2975f61ef7f6SDag-Erling Smørgrav fi' 2976f61ef7f6SDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ 2977f61ef7f6SDag-Erling Smørgrav dlpath=$dir/\$dldll~ 2978f61ef7f6SDag-Erling Smørgrav $RM \$dlpath' 2979b7579f77SDag-Erling Smørgrav ;; 2980b7579f77SDag-Erling Smørgrav 2981b7579f77SDag-Erling Smørgravosf3* | osf4* | osf5*) 2982b7579f77SDag-Erling Smørgrav version_type=osf 2983b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2984b7579f77SDag-Erling Smørgrav need_version=no 2985f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2986f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2987b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2988b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 2989f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2990b7579f77SDag-Erling Smørgrav ;; 2991b7579f77SDag-Erling Smørgrav 2992b7579f77SDag-Erling Smørgravrdos*) 2993b7579f77SDag-Erling Smørgrav dynamic_linker=no 2994b7579f77SDag-Erling Smørgrav ;; 2995b7579f77SDag-Erling Smørgrav 2996b7579f77SDag-Erling Smørgravsolaris*) 29978ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2998b7579f77SDag-Erling Smørgrav need_lib_prefix=no 2999b7579f77SDag-Erling Smørgrav need_version=no 3000f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3001f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 3002b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3003b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 3004b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 3005b7579f77SDag-Erling Smørgrav # ldd complains unless libraries are executable 3006b7579f77SDag-Erling Smørgrav postinstall_cmds='chmod +x $lib' 3007b7579f77SDag-Erling Smørgrav ;; 3008b7579f77SDag-Erling Smørgrav 3009b7579f77SDag-Erling Smørgravsunos4*) 3010b7579f77SDag-Erling Smørgrav version_type=sunos 3011f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 3012b7579f77SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 3013b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3014b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 3015f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 3016b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3017b7579f77SDag-Erling Smørgrav fi 3018b7579f77SDag-Erling Smørgrav need_version=yes 3019b7579f77SDag-Erling Smørgrav ;; 3020b7579f77SDag-Erling Smørgrav 3021b7579f77SDag-Erling Smørgravsysv4 | sysv4.3*) 30228ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3023f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3024f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 3025b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3026b7579f77SDag-Erling Smørgrav case $host_vendor in 3027b7579f77SDag-Erling Smørgrav sni) 3028b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 3029b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3030b7579f77SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 3031b7579f77SDag-Erling Smørgrav ;; 3032b7579f77SDag-Erling Smørgrav siemens) 3033b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3034b7579f77SDag-Erling Smørgrav ;; 3035b7579f77SDag-Erling Smørgrav motorola) 3036b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3037b7579f77SDag-Erling Smørgrav need_version=no 3038b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 3039b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 3040b7579f77SDag-Erling Smørgrav ;; 3041b7579f77SDag-Erling Smørgrav esac 3042b7579f77SDag-Erling Smørgrav ;; 3043b7579f77SDag-Erling Smørgrav 3044b7579f77SDag-Erling Smørgravsysv4*MP*) 3045b7579f77SDag-Erling Smørgrav if test -d /usr/nec; then 30468ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3047f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' 3048f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$shared_ext.$major' 3049b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3050b7579f77SDag-Erling Smørgrav fi 3051b7579f77SDag-Erling Smørgrav ;; 3052b7579f77SDag-Erling Smørgrav 3053b7579f77SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3054f61ef7f6SDag-Erling Smørgrav version_type=sco 3055b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3056b7579f77SDag-Erling Smørgrav need_version=no 3057f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' 3058f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 3059b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3060b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 3061b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 3062f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 3063b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 3064b7579f77SDag-Erling Smørgrav else 3065b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 3066b7579f77SDag-Erling Smørgrav case $host_os in 3067b7579f77SDag-Erling Smørgrav sco3.2v5*) 3068b7579f77SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 3069b7579f77SDag-Erling Smørgrav ;; 3070b7579f77SDag-Erling Smørgrav esac 3071b7579f77SDag-Erling Smørgrav fi 3072b7579f77SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/usr/lib' 3073b7579f77SDag-Erling Smørgrav ;; 3074b7579f77SDag-Erling Smørgrav 3075b7579f77SDag-Erling Smørgravtpf*) 3076b7579f77SDag-Erling Smørgrav # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 30778ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3078b7579f77SDag-Erling Smørgrav need_lib_prefix=no 3079b7579f77SDag-Erling Smørgrav need_version=no 3080f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3081b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3082b7579f77SDag-Erling Smørgrav shlibpath_overrides_runpath=no 3083b7579f77SDag-Erling Smørgrav hardcode_into_libs=yes 3084b7579f77SDag-Erling Smørgrav ;; 3085b7579f77SDag-Erling Smørgrav 3086b7579f77SDag-Erling Smørgravuts4*) 30878ed2b524SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3088f61ef7f6SDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3089f61ef7f6SDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 3090b7579f77SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 3091b7579f77SDag-Erling Smørgrav ;; 3092b7579f77SDag-Erling Smørgrav 3093b7579f77SDag-Erling Smørgrav*) 3094b7579f77SDag-Erling Smørgrav dynamic_linker=no 3095b7579f77SDag-Erling Smørgrav ;; 3096b7579f77SDag-Erling Smørgravesac 3097b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$dynamic_linker]) 3098f61ef7f6SDag-Erling Smørgravtest no = "$dynamic_linker" && can_build_shared=no 3099b7579f77SDag-Erling Smørgrav 3100b7579f77SDag-Erling Smørgravvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 3101f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then 3102b7579f77SDag-Erling Smørgrav variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 3103b7579f77SDag-Erling Smørgravfi 3104b7579f77SDag-Erling Smørgrav 3105f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 3106f61ef7f6SDag-Erling Smørgrav sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 3107b7579f77SDag-Erling Smørgravfi 3108f61ef7f6SDag-Erling Smørgrav 3109f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 3110f61ef7f6SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 3111b7579f77SDag-Erling Smørgravfi 3112b7579f77SDag-Erling Smørgrav 3113f61ef7f6SDag-Erling Smørgrav# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 3114f61ef7f6SDag-Erling Smørgravconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 3115f61ef7f6SDag-Erling Smørgrav 3116f61ef7f6SDag-Erling Smørgrav# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 3117f61ef7f6SDag-Erling Smørgravfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" 3118f61ef7f6SDag-Erling Smørgrav 3119f61ef7f6SDag-Erling Smørgrav# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool 3120f61ef7f6SDag-Erling Smørgravconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 3121f61ef7f6SDag-Erling Smørgrav 3122b7579f77SDag-Erling Smørgrav_LT_DECL([], [variables_saved_for_relink], [1], 3123b7579f77SDag-Erling Smørgrav [Variables whose values should be saved in libtool wrapper scripts and 3124b7579f77SDag-Erling Smørgrav restored at link time]) 3125b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_lib_prefix], [0], 3126b7579f77SDag-Erling Smørgrav [Do we need the "lib" prefix for modules?]) 3127b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 3128b7579f77SDag-Erling Smørgrav_LT_DECL([], [version_type], [0], [Library versioning type]) 3129b7579f77SDag-Erling Smørgrav_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 3130b7579f77SDag-Erling Smørgrav_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 3131b7579f77SDag-Erling Smørgrav_LT_DECL([], [shlibpath_overrides_runpath], [0], 3132b7579f77SDag-Erling Smørgrav [Is shlibpath searched before the hard-coded library search path?]) 3133b7579f77SDag-Erling Smørgrav_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 3134b7579f77SDag-Erling Smørgrav_LT_DECL([], [library_names_spec], [1], 3135b7579f77SDag-Erling Smørgrav [[List of archive names. First name is the real one, the rest are links. 3136b7579f77SDag-Erling Smørgrav The last name is the one that the linker finds with -lNAME]]) 3137b7579f77SDag-Erling Smørgrav_LT_DECL([], [soname_spec], [1], 3138b7579f77SDag-Erling Smørgrav [[The coded name of the library, if different from the real name]]) 3139b7579f77SDag-Erling Smørgrav_LT_DECL([], [install_override_mode], [1], 3140b7579f77SDag-Erling Smørgrav [Permission mode override for installation of shared libraries]) 3141b7579f77SDag-Erling Smørgrav_LT_DECL([], [postinstall_cmds], [2], 3142b7579f77SDag-Erling Smørgrav [Command to use after installation of a shared archive]) 3143b7579f77SDag-Erling Smørgrav_LT_DECL([], [postuninstall_cmds], [2], 3144b7579f77SDag-Erling Smørgrav [Command to use after uninstallation of a shared archive]) 3145b7579f77SDag-Erling Smørgrav_LT_DECL([], [finish_cmds], [2], 3146b7579f77SDag-Erling Smørgrav [Commands used to finish a libtool library installation in a directory]) 3147b7579f77SDag-Erling Smørgrav_LT_DECL([], [finish_eval], [1], 3148b7579f77SDag-Erling Smørgrav [[As "finish_cmds", except a single script fragment to be evaled but 3149b7579f77SDag-Erling Smørgrav not shown]]) 3150b7579f77SDag-Erling Smørgrav_LT_DECL([], [hardcode_into_libs], [0], 3151b7579f77SDag-Erling Smørgrav [Whether we should hardcode library paths into libraries]) 3152b7579f77SDag-Erling Smørgrav_LT_DECL([], [sys_lib_search_path_spec], [2], 3153b7579f77SDag-Erling Smørgrav [Compile-time system search path for libraries]) 3154f61ef7f6SDag-Erling Smørgrav_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], 3155f61ef7f6SDag-Erling Smørgrav [Detected run-time system search path for libraries]) 3156f61ef7f6SDag-Erling Smørgrav_LT_DECL([], [configure_time_lt_sys_library_path], [2], 3157f61ef7f6SDag-Erling Smørgrav [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) 3158b7579f77SDag-Erling Smørgrav])# _LT_SYS_DYNAMIC_LINKER 3159b7579f77SDag-Erling Smørgrav 3160b7579f77SDag-Erling Smørgrav 3161b7579f77SDag-Erling Smørgrav# _LT_PATH_TOOL_PREFIX(TOOL) 3162b7579f77SDag-Erling Smørgrav# -------------------------- 3163f61ef7f6SDag-Erling Smørgrav# find a file program that can recognize shared library 3164b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_PATH_TOOL_PREFIX], 3165b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl 3166b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([for $1]) 3167b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 3168b7579f77SDag-Erling Smørgrav[case $MAGIC_CMD in 3169b7579f77SDag-Erling Smørgrav[[\\/*] | ?:[\\/]*]) 3170f61ef7f6SDag-Erling Smørgrav lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. 3171b7579f77SDag-Erling Smørgrav ;; 3172b7579f77SDag-Erling Smørgrav*) 3173f61ef7f6SDag-Erling Smørgrav lt_save_MAGIC_CMD=$MAGIC_CMD 3174f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3175b7579f77SDag-Erling Smørgravdnl $ac_dummy forces splitting on constant user-supplied paths. 3176b7579f77SDag-Erling Smørgravdnl POSIX.2 word splitting is done only on the output of word expansions, 3177b7579f77SDag-Erling Smørgravdnl not every word. This closes a longstanding sh security hole. 3178b7579f77SDag-Erling Smørgrav ac_dummy="m4_if([$2], , $PATH, [$2])" 3179b7579f77SDag-Erling Smørgrav for ac_dir in $ac_dummy; do 3180f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3181b7579f77SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 3182f61ef7f6SDag-Erling Smørgrav if test -f "$ac_dir/$1"; then 3183f61ef7f6SDag-Erling Smørgrav lt_cv_path_MAGIC_CMD=$ac_dir/"$1" 3184b7579f77SDag-Erling Smørgrav if test -n "$file_magic_test_file"; then 3185b7579f77SDag-Erling Smørgrav case $deplibs_check_method in 3186b7579f77SDag-Erling Smørgrav "file_magic "*) 3187b7579f77SDag-Erling Smørgrav file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 3188f61ef7f6SDag-Erling Smørgrav MAGIC_CMD=$lt_cv_path_MAGIC_CMD 3189b7579f77SDag-Erling Smørgrav if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 3190b7579f77SDag-Erling Smørgrav $EGREP "$file_magic_regex" > /dev/null; then 3191b7579f77SDag-Erling Smørgrav : 3192b7579f77SDag-Erling Smørgrav else 3193b7579f77SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 3194b7579f77SDag-Erling Smørgrav 3195b7579f77SDag-Erling Smørgrav*** Warning: the command libtool uses to detect shared libraries, 3196b7579f77SDag-Erling Smørgrav*** $file_magic_cmd, produces output that libtool cannot recognize. 3197b7579f77SDag-Erling Smørgrav*** The result is that libtool may fail to recognize shared libraries 3198b7579f77SDag-Erling Smørgrav*** as such. This will affect the creation of libtool libraries that 3199b7579f77SDag-Erling Smørgrav*** depend on shared libraries, but programs linked with such libtool 3200b7579f77SDag-Erling Smørgrav*** libraries will work regardless of this problem. Nevertheless, you 3201b7579f77SDag-Erling Smørgrav*** may want to report the problem to your system manager and/or to 3202b7579f77SDag-Erling Smørgrav*** bug-libtool@gnu.org 3203b7579f77SDag-Erling Smørgrav 3204b7579f77SDag-Erling Smørgrav_LT_EOF 3205b7579f77SDag-Erling Smørgrav fi ;; 3206b7579f77SDag-Erling Smørgrav esac 3207b7579f77SDag-Erling Smørgrav fi 3208b7579f77SDag-Erling Smørgrav break 3209b7579f77SDag-Erling Smørgrav fi 3210b7579f77SDag-Erling Smørgrav done 3211f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3212f61ef7f6SDag-Erling Smørgrav MAGIC_CMD=$lt_save_MAGIC_CMD 3213b7579f77SDag-Erling Smørgrav ;; 3214b7579f77SDag-Erling Smørgravesac]) 3215f61ef7f6SDag-Erling SmørgravMAGIC_CMD=$lt_cv_path_MAGIC_CMD 3216b7579f77SDag-Erling Smørgravif test -n "$MAGIC_CMD"; then 3217b7579f77SDag-Erling Smørgrav AC_MSG_RESULT($MAGIC_CMD) 3218b7579f77SDag-Erling Smørgravelse 3219b7579f77SDag-Erling Smørgrav AC_MSG_RESULT(no) 3220b7579f77SDag-Erling Smørgravfi 3221b7579f77SDag-Erling Smørgrav_LT_DECL([], [MAGIC_CMD], [0], 3222b7579f77SDag-Erling Smørgrav [Used to examine libraries when file_magic_cmd begins with "file"])dnl 3223b7579f77SDag-Erling Smørgrav])# _LT_PATH_TOOL_PREFIX 3224b7579f77SDag-Erling Smørgrav 3225b7579f77SDag-Erling Smørgrav# Old name: 3226b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 3227b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 3228b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 3229b7579f77SDag-Erling Smørgrav 3230b7579f77SDag-Erling Smørgrav 3231b7579f77SDag-Erling Smørgrav# _LT_PATH_MAGIC 3232b7579f77SDag-Erling Smørgrav# -------------- 3233f61ef7f6SDag-Erling Smørgrav# find a file program that can recognize a shared library 3234b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_MAGIC], 3235b7579f77SDag-Erling Smørgrav[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 3236b7579f77SDag-Erling Smørgravif test -z "$lt_cv_path_MAGIC_CMD"; then 3237b7579f77SDag-Erling Smørgrav if test -n "$ac_tool_prefix"; then 3238b7579f77SDag-Erling Smørgrav _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 3239b7579f77SDag-Erling Smørgrav else 3240b7579f77SDag-Erling Smørgrav MAGIC_CMD=: 3241b7579f77SDag-Erling Smørgrav fi 3242b7579f77SDag-Erling Smørgravfi 3243b7579f77SDag-Erling Smørgrav])# _LT_PATH_MAGIC 3244b7579f77SDag-Erling Smørgrav 3245b7579f77SDag-Erling Smørgrav 3246b7579f77SDag-Erling Smørgrav# LT_PATH_LD 3247b7579f77SDag-Erling Smørgrav# ---------- 3248b7579f77SDag-Erling Smørgrav# find the pathname to the GNU or non-GNU linker 3249b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PATH_LD], 3250b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 3251b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_HOST])dnl 3252b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 3253b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 3254b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 3255b7579f77SDag-Erling Smørgravm4_require([_LT_PROG_ECHO_BACKSLASH])dnl 3256b7579f77SDag-Erling Smørgrav 3257b7579f77SDag-Erling SmørgravAC_ARG_WITH([gnu-ld], 3258b7579f77SDag-Erling Smørgrav [AS_HELP_STRING([--with-gnu-ld], 3259b7579f77SDag-Erling Smørgrav [assume the C compiler uses GNU ld @<:@default=no@:>@])], 3260f61ef7f6SDag-Erling Smørgrav [test no = "$withval" || with_gnu_ld=yes], 3261b7579f77SDag-Erling Smørgrav [with_gnu_ld=no])dnl 3262b7579f77SDag-Erling Smørgrav 3263b7579f77SDag-Erling Smørgravac_prog=ld 3264f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then 3265b7579f77SDag-Erling Smørgrav # Check if gcc -print-prog-name=ld gives a path. 3266b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([for ld used by $CC]) 3267b7579f77SDag-Erling Smørgrav case $host in 3268b7579f77SDag-Erling Smørgrav *-*-mingw*) 3269f61ef7f6SDag-Erling Smørgrav # gcc leaves a trailing carriage return, which upsets mingw 3270b7579f77SDag-Erling Smørgrav ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 3271b7579f77SDag-Erling Smørgrav *) 3272b7579f77SDag-Erling Smørgrav ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 3273b7579f77SDag-Erling Smørgrav esac 3274b7579f77SDag-Erling Smørgrav case $ac_prog in 3275b7579f77SDag-Erling Smørgrav # Accept absolute paths. 3276b7579f77SDag-Erling Smørgrav [[\\/]]* | ?:[[\\/]]*) 3277b7579f77SDag-Erling Smørgrav re_direlt='/[[^/]][[^/]]*/\.\./' 3278b7579f77SDag-Erling Smørgrav # Canonicalize the pathname of ld 3279b7579f77SDag-Erling Smørgrav ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 3280b7579f77SDag-Erling Smørgrav while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 3281b7579f77SDag-Erling Smørgrav ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 3282b7579f77SDag-Erling Smørgrav done 3283f61ef7f6SDag-Erling Smørgrav test -z "$LD" && LD=$ac_prog 3284b7579f77SDag-Erling Smørgrav ;; 3285b7579f77SDag-Erling Smørgrav "") 3286b7579f77SDag-Erling Smørgrav # If it fails, then pretend we aren't using GCC. 3287b7579f77SDag-Erling Smørgrav ac_prog=ld 3288b7579f77SDag-Erling Smørgrav ;; 3289b7579f77SDag-Erling Smørgrav *) 3290b7579f77SDag-Erling Smørgrav # If it is relative, then search for the first ld in PATH. 3291b7579f77SDag-Erling Smørgrav with_gnu_ld=unknown 3292b7579f77SDag-Erling Smørgrav ;; 3293b7579f77SDag-Erling Smørgrav esac 3294f61ef7f6SDag-Erling Smørgravelif test yes = "$with_gnu_ld"; then 3295b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([for GNU ld]) 3296b7579f77SDag-Erling Smørgravelse 3297b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([for non-GNU ld]) 3298b7579f77SDag-Erling Smørgravfi 3299b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_LD, 3300b7579f77SDag-Erling Smørgrav[if test -z "$LD"; then 3301f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3302b7579f77SDag-Erling Smørgrav for ac_dir in $PATH; do 3303f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3304b7579f77SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 3305b7579f77SDag-Erling Smørgrav if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 3306f61ef7f6SDag-Erling Smørgrav lt_cv_path_LD=$ac_dir/$ac_prog 3307b7579f77SDag-Erling Smørgrav # Check to see if the program is GNU ld. I'd rather use --version, 3308b7579f77SDag-Erling Smørgrav # but apparently some variants of GNU ld only accept -v. 3309b7579f77SDag-Erling Smørgrav # Break only if it was the GNU/non-GNU ld that we prefer. 3310b7579f77SDag-Erling Smørgrav case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 3311b7579f77SDag-Erling Smørgrav *GNU* | *'with BFD'*) 3312f61ef7f6SDag-Erling Smørgrav test no != "$with_gnu_ld" && break 3313b7579f77SDag-Erling Smørgrav ;; 3314b7579f77SDag-Erling Smørgrav *) 3315f61ef7f6SDag-Erling Smørgrav test yes != "$with_gnu_ld" && break 3316b7579f77SDag-Erling Smørgrav ;; 3317b7579f77SDag-Erling Smørgrav esac 3318b7579f77SDag-Erling Smørgrav fi 3319b7579f77SDag-Erling Smørgrav done 3320f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3321b7579f77SDag-Erling Smørgravelse 3322f61ef7f6SDag-Erling Smørgrav lt_cv_path_LD=$LD # Let the user override the test with a path. 3323b7579f77SDag-Erling Smørgravfi]) 3324f61ef7f6SDag-Erling SmørgravLD=$lt_cv_path_LD 3325b7579f77SDag-Erling Smørgravif test -n "$LD"; then 3326b7579f77SDag-Erling Smørgrav AC_MSG_RESULT($LD) 3327b7579f77SDag-Erling Smørgravelse 3328b7579f77SDag-Erling Smørgrav AC_MSG_RESULT(no) 3329b7579f77SDag-Erling Smørgravfi 3330b7579f77SDag-Erling Smørgravtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 3331b7579f77SDag-Erling Smørgrav_LT_PATH_LD_GNU 3332b7579f77SDag-Erling SmørgravAC_SUBST([LD]) 3333b7579f77SDag-Erling Smørgrav 3334b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 3335b7579f77SDag-Erling Smørgrav])# LT_PATH_LD 3336b7579f77SDag-Erling Smørgrav 3337b7579f77SDag-Erling Smørgrav# Old names: 3338b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 3339b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 3340b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 3341b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LD], []) 3342b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LD], []) 3343b7579f77SDag-Erling Smørgrav 3344b7579f77SDag-Erling Smørgrav 3345b7579f77SDag-Erling Smørgrav# _LT_PATH_LD_GNU 3346b7579f77SDag-Erling Smørgrav#- -------------- 3347b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_LD_GNU], 3348b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 3349b7579f77SDag-Erling Smørgrav[# I'd rather use --version here, but apparently some GNU lds only accept -v. 3350b7579f77SDag-Erling Smørgravcase `$LD -v 2>&1 </dev/null` in 3351b7579f77SDag-Erling Smørgrav*GNU* | *'with BFD'*) 3352b7579f77SDag-Erling Smørgrav lt_cv_prog_gnu_ld=yes 3353b7579f77SDag-Erling Smørgrav ;; 3354b7579f77SDag-Erling Smørgrav*) 3355b7579f77SDag-Erling Smørgrav lt_cv_prog_gnu_ld=no 3356b7579f77SDag-Erling Smørgrav ;; 3357b7579f77SDag-Erling Smørgravesac]) 3358b7579f77SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld 3359b7579f77SDag-Erling Smørgrav])# _LT_PATH_LD_GNU 3360b7579f77SDag-Erling Smørgrav 3361b7579f77SDag-Erling Smørgrav 3362b7579f77SDag-Erling Smørgrav# _LT_CMD_RELOAD 3363b7579f77SDag-Erling Smørgrav# -------------- 3364b7579f77SDag-Erling Smørgrav# find reload flag for linker 3365b7579f77SDag-Erling Smørgrav# -- PORTME Some linkers may need a different reload flag. 3366b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_RELOAD], 3367b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([for $LD option to reload object files], 3368b7579f77SDag-Erling Smørgrav lt_cv_ld_reload_flag, 3369b7579f77SDag-Erling Smørgrav [lt_cv_ld_reload_flag='-r']) 3370b7579f77SDag-Erling Smørgravreload_flag=$lt_cv_ld_reload_flag 3371b7579f77SDag-Erling Smørgravcase $reload_flag in 3372b7579f77SDag-Erling Smørgrav"" | " "*) ;; 3373b7579f77SDag-Erling Smørgrav*) reload_flag=" $reload_flag" ;; 3374b7579f77SDag-Erling Smørgravesac 3375b7579f77SDag-Erling Smørgravreload_cmds='$LD$reload_flag -o $output$reload_objs' 3376b7579f77SDag-Erling Smørgravcase $host_os in 3377b7579f77SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 3378f61ef7f6SDag-Erling Smørgrav if test yes != "$GCC"; then 3379b7579f77SDag-Erling Smørgrav reload_cmds=false 3380b7579f77SDag-Erling Smørgrav fi 3381b7579f77SDag-Erling Smørgrav ;; 3382b7579f77SDag-Erling Smørgrav darwin*) 3383f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 3384f61ef7f6SDag-Erling Smørgrav reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 3385b7579f77SDag-Erling Smørgrav else 3386b7579f77SDag-Erling Smørgrav reload_cmds='$LD$reload_flag -o $output$reload_objs' 3387b7579f77SDag-Erling Smørgrav fi 3388b7579f77SDag-Erling Smørgrav ;; 3389b7579f77SDag-Erling Smørgravesac 3390b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 3391b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [reload_cmds], [2])dnl 3392b7579f77SDag-Erling Smørgrav])# _LT_CMD_RELOAD 3393b7579f77SDag-Erling Smørgrav 3394b7579f77SDag-Erling Smørgrav 3395f61ef7f6SDag-Erling Smørgrav# _LT_PATH_DD 3396f61ef7f6SDag-Erling Smørgrav# ----------- 3397f61ef7f6SDag-Erling Smørgrav# find a working dd 3398f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PATH_DD], 3399f61ef7f6SDag-Erling Smørgrav[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], 3400f61ef7f6SDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i 3401f61ef7f6SDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i 3402f61ef7f6SDag-Erling Smørgrav: ${lt_DD:=$DD} 3403f61ef7f6SDag-Erling SmørgravAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], 3404f61ef7f6SDag-Erling Smørgrav[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3405f61ef7f6SDag-Erling Smørgrav cmp -s conftest.i conftest.out \ 3406f61ef7f6SDag-Erling Smørgrav && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 3407f61ef7f6SDag-Erling Smørgravfi]) 3408f61ef7f6SDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out]) 3409f61ef7f6SDag-Erling Smørgrav])# _LT_PATH_DD 3410f61ef7f6SDag-Erling Smørgrav 3411f61ef7f6SDag-Erling Smørgrav 3412f61ef7f6SDag-Erling Smørgrav# _LT_CMD_TRUNCATE 3413f61ef7f6SDag-Erling Smørgrav# ---------------- 3414f61ef7f6SDag-Erling Smørgrav# find command to truncate a binary pipe 3415f61ef7f6SDag-Erling Smørgravm4_defun([_LT_CMD_TRUNCATE], 3416f61ef7f6SDag-Erling Smørgrav[m4_require([_LT_PATH_DD]) 3417f61ef7f6SDag-Erling SmørgravAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], 3418f61ef7f6SDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i 3419f61ef7f6SDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i 3420f61ef7f6SDag-Erling Smørgravlt_cv_truncate_bin= 3421f61ef7f6SDag-Erling Smørgravif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3422f61ef7f6SDag-Erling Smørgrav cmp -s conftest.i conftest.out \ 3423f61ef7f6SDag-Erling Smørgrav && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 3424f61ef7f6SDag-Erling Smørgravfi 3425f61ef7f6SDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out 3426f61ef7f6SDag-Erling Smørgravtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) 3427f61ef7f6SDag-Erling Smørgrav_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], 3428f61ef7f6SDag-Erling Smørgrav [Command to truncate a binary pipe]) 3429f61ef7f6SDag-Erling Smørgrav])# _LT_CMD_TRUNCATE 3430f61ef7f6SDag-Erling Smørgrav 3431f61ef7f6SDag-Erling Smørgrav 3432b7579f77SDag-Erling Smørgrav# _LT_CHECK_MAGIC_METHOD 3433b7579f77SDag-Erling Smørgrav# ---------------------- 3434b7579f77SDag-Erling Smørgrav# how to check for library dependencies 3435b7579f77SDag-Erling Smørgrav# -- PORTME fill in with the dynamic library characteristics 3436b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_MAGIC_METHOD], 3437b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 3438b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP]) 3439b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([how to recognize dependent libraries], 3440b7579f77SDag-Erling Smørgravlt_cv_deplibs_check_method, 3441b7579f77SDag-Erling Smørgrav[lt_cv_file_magic_cmd='$MAGIC_CMD' 3442b7579f77SDag-Erling Smørgravlt_cv_file_magic_test_file= 3443b7579f77SDag-Erling Smørgravlt_cv_deplibs_check_method='unknown' 3444b7579f77SDag-Erling Smørgrav# Need to set the preceding variable on all platforms that support 3445b7579f77SDag-Erling Smørgrav# interlibrary dependencies. 3446b7579f77SDag-Erling Smørgrav# 'none' -- dependencies not supported. 3447f61ef7f6SDag-Erling Smørgrav# 'unknown' -- same as none, but documents that we really don't know. 3448b7579f77SDag-Erling Smørgrav# 'pass_all' -- all dependencies passed with no checks. 3449b7579f77SDag-Erling Smørgrav# 'test_compile' -- check by making test program. 3450b7579f77SDag-Erling Smørgrav# 'file_magic [[regex]]' -- check by looking for files in library path 3451f61ef7f6SDag-Erling Smørgrav# that responds to the $file_magic_cmd with a given extended regex. 3452f61ef7f6SDag-Erling Smørgrav# If you have 'file' or equivalent on your system and you're not sure 3453f61ef7f6SDag-Erling Smørgrav# whether 'pass_all' will *always* work, you probably want this one. 3454b7579f77SDag-Erling Smørgrav 3455b7579f77SDag-Erling Smørgravcase $host_os in 3456b7579f77SDag-Erling Smørgravaix[[4-9]]*) 3457b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3458b7579f77SDag-Erling Smørgrav ;; 3459b7579f77SDag-Erling Smørgrav 3460b7579f77SDag-Erling Smørgravbeos*) 3461b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3462b7579f77SDag-Erling Smørgrav ;; 3463b7579f77SDag-Erling Smørgrav 3464b7579f77SDag-Erling Smørgravbsdi[[45]]*) 3465b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 3466*46d2f618SCy Schubert lt_cv_file_magic_cmd='/usr/bin/file -L' 3467b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/shlib/libc.so 3468b7579f77SDag-Erling Smørgrav ;; 3469b7579f77SDag-Erling Smørgrav 3470b7579f77SDag-Erling Smørgravcygwin*) 3471b7579f77SDag-Erling Smørgrav # func_win32_libid is a shell function defined in ltmain.sh 3472b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3473b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='func_win32_libid' 3474b7579f77SDag-Erling Smørgrav ;; 3475b7579f77SDag-Erling Smørgrav 3476b7579f77SDag-Erling Smørgravmingw* | pw32*) 3477b7579f77SDag-Erling Smørgrav # Base MSYS/MinGW do not provide the 'file' command needed by 3478b7579f77SDag-Erling Smørgrav # func_win32_libid shell function, so use a weaker test based on 'objdump', 3479b7579f77SDag-Erling Smørgrav # unless we find 'file', for example because we are cross-compiling. 3480f61ef7f6SDag-Erling Smørgrav if ( file / ) >/dev/null 2>&1; then 3481b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3482b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='func_win32_libid' 3483b7579f77SDag-Erling Smørgrav else 3484b7579f77SDag-Erling Smørgrav # Keep this pattern in sync with the one in func_win32_libid. 3485b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' 3486b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='$OBJDUMP -f' 3487b7579f77SDag-Erling Smørgrav fi 3488b7579f77SDag-Erling Smørgrav ;; 3489b7579f77SDag-Erling Smørgrav 3490b7579f77SDag-Erling Smørgravcegcc*) 3491b7579f77SDag-Erling Smørgrav # use the weaker test based on 'objdump'. See mingw*. 3492b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3493b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='$OBJDUMP -f' 3494b7579f77SDag-Erling Smørgrav ;; 3495b7579f77SDag-Erling Smørgrav 3496b7579f77SDag-Erling Smørgravdarwin* | rhapsody*) 3497b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3498b7579f77SDag-Erling Smørgrav ;; 3499b7579f77SDag-Erling Smørgrav 3500*46d2f618SCy Schubertfreebsd* | dragonfly*) 3501b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3502b7579f77SDag-Erling Smørgrav case $host_cpu in 3503b7579f77SDag-Erling Smørgrav i*86 ) 3504b7579f77SDag-Erling Smørgrav # Not sure whether the presence of OpenBSD here was a mistake. 3505b7579f77SDag-Erling Smørgrav # Let's accept both of them until this is cleared up. 3506b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 3507*46d2f618SCy Schubert lt_cv_file_magic_cmd=/usr/bin/file 3508b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3509b7579f77SDag-Erling Smørgrav ;; 3510b7579f77SDag-Erling Smørgrav esac 3511b7579f77SDag-Erling Smørgrav else 3512b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3513b7579f77SDag-Erling Smørgrav fi 3514b7579f77SDag-Erling Smørgrav ;; 3515b7579f77SDag-Erling Smørgrav 3516b7579f77SDag-Erling Smørgravhaiku*) 3517b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3518b7579f77SDag-Erling Smørgrav ;; 3519b7579f77SDag-Erling Smørgrav 3520b7579f77SDag-Erling Smørgravhpux10.20* | hpux11*) 3521*46d2f618SCy Schubert lt_cv_file_magic_cmd=/usr/bin/file 3522b7579f77SDag-Erling Smørgrav case $host_cpu in 3523b7579f77SDag-Erling Smørgrav ia64*) 3524b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 3525b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3526b7579f77SDag-Erling Smørgrav ;; 3527b7579f77SDag-Erling Smørgrav hppa*64*) 3528b7579f77SDag-Erling Smørgrav [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] 3529b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3530b7579f77SDag-Erling Smørgrav ;; 3531b7579f77SDag-Erling Smørgrav *) 3532b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 3533b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/libc.sl 3534b7579f77SDag-Erling Smørgrav ;; 3535b7579f77SDag-Erling Smørgrav esac 3536b7579f77SDag-Erling Smørgrav ;; 3537b7579f77SDag-Erling Smørgrav 3538b7579f77SDag-Erling Smørgravinterix[[3-9]]*) 3539b7579f77SDag-Erling Smørgrav # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 3540b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 3541b7579f77SDag-Erling Smørgrav ;; 3542b7579f77SDag-Erling Smørgrav 3543b7579f77SDag-Erling Smørgravirix5* | irix6* | nonstopux*) 3544b7579f77SDag-Erling Smørgrav case $LD in 3545b7579f77SDag-Erling Smørgrav *-32|*"-32 ") libmagic=32-bit;; 3546b7579f77SDag-Erling Smørgrav *-n32|*"-n32 ") libmagic=N32;; 3547b7579f77SDag-Erling Smørgrav *-64|*"-64 ") libmagic=64-bit;; 3548b7579f77SDag-Erling Smørgrav *) libmagic=never-match;; 3549b7579f77SDag-Erling Smørgrav esac 3550b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3551b7579f77SDag-Erling Smørgrav ;; 3552b7579f77SDag-Erling Smørgrav 35538ed2b524SDag-Erling Smørgrav# This must be glibc/ELF. 3554f61ef7f6SDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 3555b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3556b7579f77SDag-Erling Smørgrav ;; 3557b7579f77SDag-Erling Smørgrav 3558091e9e46SCy Schubertnetbsd*) 3559b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3560b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3561b7579f77SDag-Erling Smørgrav else 3562b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 3563b7579f77SDag-Erling Smørgrav fi 3564b7579f77SDag-Erling Smørgrav ;; 3565b7579f77SDag-Erling Smørgrav 3566b7579f77SDag-Erling Smørgravnewos6*) 3567b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3568*46d2f618SCy Schubert lt_cv_file_magic_cmd=/usr/bin/file 3569b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/libnls.so 3570b7579f77SDag-Erling Smørgrav ;; 3571b7579f77SDag-Erling Smørgrav 3572b7579f77SDag-Erling Smørgrav*nto* | *qnx*) 3573b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3574b7579f77SDag-Erling Smørgrav ;; 3575b7579f77SDag-Erling Smørgrav 3576f61ef7f6SDag-Erling Smørgravopenbsd* | bitrig*) 3577f61ef7f6SDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 3578b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 3579b7579f77SDag-Erling Smørgrav else 3580b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3581b7579f77SDag-Erling Smørgrav fi 3582b7579f77SDag-Erling Smørgrav ;; 3583b7579f77SDag-Erling Smørgrav 3584b7579f77SDag-Erling Smørgravosf3* | osf4* | osf5*) 3585b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3586b7579f77SDag-Erling Smørgrav ;; 3587b7579f77SDag-Erling Smørgrav 3588b7579f77SDag-Erling Smørgravrdos*) 3589b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3590b7579f77SDag-Erling Smørgrav ;; 3591b7579f77SDag-Erling Smørgrav 3592b7579f77SDag-Erling Smørgravsolaris*) 3593b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3594b7579f77SDag-Erling Smørgrav ;; 3595b7579f77SDag-Erling Smørgrav 3596b7579f77SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3597b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3598b7579f77SDag-Erling Smørgrav ;; 3599b7579f77SDag-Erling Smørgrav 3600b7579f77SDag-Erling Smørgravsysv4 | sysv4.3*) 3601b7579f77SDag-Erling Smørgrav case $host_vendor in 3602b7579f77SDag-Erling Smørgrav motorola) 3603b7579f77SDag-Erling Smørgrav 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]]' 3604b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3605b7579f77SDag-Erling Smørgrav ;; 3606b7579f77SDag-Erling Smørgrav ncr) 3607b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3608b7579f77SDag-Erling Smørgrav ;; 3609b7579f77SDag-Erling Smørgrav sequent) 3610b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='/bin/file' 3611b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3612b7579f77SDag-Erling Smørgrav ;; 3613b7579f77SDag-Erling Smørgrav sni) 3614b7579f77SDag-Erling Smørgrav lt_cv_file_magic_cmd='/bin/file' 3615b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3616b7579f77SDag-Erling Smørgrav lt_cv_file_magic_test_file=/lib/libc.so 3617b7579f77SDag-Erling Smørgrav ;; 3618b7579f77SDag-Erling Smørgrav siemens) 3619b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3620b7579f77SDag-Erling Smørgrav ;; 3621b7579f77SDag-Erling Smørgrav pc) 3622b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3623b7579f77SDag-Erling Smørgrav ;; 3624b7579f77SDag-Erling Smørgrav esac 3625b7579f77SDag-Erling Smørgrav ;; 3626b7579f77SDag-Erling Smørgrav 3627b7579f77SDag-Erling Smørgravtpf*) 3628b7579f77SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3629b7579f77SDag-Erling Smørgrav ;; 3630f61ef7f6SDag-Erling Smørgravos2*) 3631f61ef7f6SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3632f61ef7f6SDag-Erling Smørgrav ;; 3633b7579f77SDag-Erling Smørgravesac 3634b7579f77SDag-Erling Smørgrav]) 3635b7579f77SDag-Erling Smørgrav 3636b7579f77SDag-Erling Smørgravfile_magic_glob= 3637b7579f77SDag-Erling Smørgravwant_nocaseglob=no 3638b7579f77SDag-Erling Smørgravif test "$build" = "$host"; then 3639b7579f77SDag-Erling Smørgrav case $host_os in 3640b7579f77SDag-Erling Smørgrav mingw* | pw32*) 3641b7579f77SDag-Erling Smørgrav if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 3642b7579f77SDag-Erling Smørgrav want_nocaseglob=yes 3643b7579f77SDag-Erling Smørgrav else 3644b7579f77SDag-Erling Smørgrav file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 3645b7579f77SDag-Erling Smørgrav fi 3646b7579f77SDag-Erling Smørgrav ;; 3647b7579f77SDag-Erling Smørgrav esac 3648b7579f77SDag-Erling Smørgravfi 3649b7579f77SDag-Erling Smørgrav 3650b7579f77SDag-Erling Smørgravfile_magic_cmd=$lt_cv_file_magic_cmd 3651b7579f77SDag-Erling Smørgravdeplibs_check_method=$lt_cv_deplibs_check_method 3652b7579f77SDag-Erling Smørgravtest -z "$deplibs_check_method" && deplibs_check_method=unknown 3653b7579f77SDag-Erling Smørgrav 3654b7579f77SDag-Erling Smørgrav_LT_DECL([], [deplibs_check_method], [1], 3655b7579f77SDag-Erling Smørgrav [Method to check whether dependent libraries are shared objects]) 3656b7579f77SDag-Erling Smørgrav_LT_DECL([], [file_magic_cmd], [1], 3657b7579f77SDag-Erling Smørgrav [Command to use when deplibs_check_method = "file_magic"]) 3658b7579f77SDag-Erling Smørgrav_LT_DECL([], [file_magic_glob], [1], 3659b7579f77SDag-Erling Smørgrav [How to find potential files when deplibs_check_method = "file_magic"]) 3660b7579f77SDag-Erling Smørgrav_LT_DECL([], [want_nocaseglob], [1], 3661b7579f77SDag-Erling Smørgrav [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 3662b7579f77SDag-Erling Smørgrav])# _LT_CHECK_MAGIC_METHOD 3663b7579f77SDag-Erling Smørgrav 3664b7579f77SDag-Erling Smørgrav 3665b7579f77SDag-Erling Smørgrav# LT_PATH_NM 3666b7579f77SDag-Erling Smørgrav# ---------- 3667b7579f77SDag-Erling Smørgrav# find the pathname to a BSD- or MS-compatible name lister 3668b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PATH_NM], 3669b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 3670b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 3671b7579f77SDag-Erling Smørgrav[if test -n "$NM"; then 3672b7579f77SDag-Erling Smørgrav # Let the user override the test. 3673f61ef7f6SDag-Erling Smørgrav lt_cv_path_NM=$NM 3674b7579f77SDag-Erling Smørgravelse 3675f61ef7f6SDag-Erling Smørgrav lt_nm_to_check=${ac_tool_prefix}nm 3676b7579f77SDag-Erling Smørgrav if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 3677b7579f77SDag-Erling Smørgrav lt_nm_to_check="$lt_nm_to_check nm" 3678b7579f77SDag-Erling Smørgrav fi 3679b7579f77SDag-Erling Smørgrav for lt_tmp_nm in $lt_nm_to_check; do 3680f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3681b7579f77SDag-Erling Smørgrav for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3682f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3683b7579f77SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 3684f61ef7f6SDag-Erling Smørgrav tmp_nm=$ac_dir/$lt_tmp_nm 3685b7579f77SDag-Erling Smørgrav if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 3686b7579f77SDag-Erling Smørgrav # Check to see if the nm accepts a BSD-compat flag. 3687f61ef7f6SDag-Erling Smørgrav # Adding the 'sed 1q' prevents false positives on HP-UX, which says: 3688b7579f77SDag-Erling Smørgrav # nm: unknown option "B" ignored 3689b7579f77SDag-Erling Smørgrav # Tru64's nm complains that /dev/null is an invalid object file 3690f61ef7f6SDag-Erling Smørgrav # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 3691f61ef7f6SDag-Erling Smørgrav case $build_os in 3692f61ef7f6SDag-Erling Smørgrav mingw*) lt_bad_file=conftest.nm/nofile ;; 3693f61ef7f6SDag-Erling Smørgrav *) lt_bad_file=/dev/null ;; 3694f61ef7f6SDag-Erling Smørgrav esac 3695*46d2f618SCy Schubert case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in 3696f61ef7f6SDag-Erling Smørgrav *$lt_bad_file* | *'Invalid file or object type'*) 3697b7579f77SDag-Erling Smørgrav lt_cv_path_NM="$tmp_nm -B" 3698f61ef7f6SDag-Erling Smørgrav break 2 3699b7579f77SDag-Erling Smørgrav ;; 3700b7579f77SDag-Erling Smørgrav *) 3701*46d2f618SCy Schubert case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 3702b7579f77SDag-Erling Smørgrav */dev/null*) 3703b7579f77SDag-Erling Smørgrav lt_cv_path_NM="$tmp_nm -p" 3704f61ef7f6SDag-Erling Smørgrav break 2 3705b7579f77SDag-Erling Smørgrav ;; 3706b7579f77SDag-Erling Smørgrav *) 3707b7579f77SDag-Erling Smørgrav lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3708b7579f77SDag-Erling Smørgrav continue # so that we can try to find one that supports BSD flags 3709b7579f77SDag-Erling Smørgrav ;; 3710b7579f77SDag-Erling Smørgrav esac 3711b7579f77SDag-Erling Smørgrav ;; 3712b7579f77SDag-Erling Smørgrav esac 3713b7579f77SDag-Erling Smørgrav fi 3714b7579f77SDag-Erling Smørgrav done 3715f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 3716b7579f77SDag-Erling Smørgrav done 3717b7579f77SDag-Erling Smørgrav : ${lt_cv_path_NM=no} 3718b7579f77SDag-Erling Smørgravfi]) 3719f61ef7f6SDag-Erling Smørgravif test no != "$lt_cv_path_NM"; then 3720f61ef7f6SDag-Erling Smørgrav NM=$lt_cv_path_NM 3721b7579f77SDag-Erling Smørgravelse 3722b7579f77SDag-Erling Smørgrav # Didn't find any BSD compatible name lister, look for dumpbin. 3723b7579f77SDag-Erling Smørgrav if test -n "$DUMPBIN"; then : 3724b7579f77SDag-Erling Smørgrav # Let the user override the test. 3725b7579f77SDag-Erling Smørgrav else 3726b7579f77SDag-Erling Smørgrav AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 3727*46d2f618SCy Schubert case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in 3728b7579f77SDag-Erling Smørgrav *COFF*) 3729f61ef7f6SDag-Erling Smørgrav DUMPBIN="$DUMPBIN -symbols -headers" 3730b7579f77SDag-Erling Smørgrav ;; 3731b7579f77SDag-Erling Smørgrav *) 3732b7579f77SDag-Erling Smørgrav DUMPBIN=: 3733b7579f77SDag-Erling Smørgrav ;; 3734b7579f77SDag-Erling Smørgrav esac 3735b7579f77SDag-Erling Smørgrav fi 3736b7579f77SDag-Erling Smørgrav AC_SUBST([DUMPBIN]) 3737f61ef7f6SDag-Erling Smørgrav if test : != "$DUMPBIN"; then 3738f61ef7f6SDag-Erling Smørgrav NM=$DUMPBIN 3739b7579f77SDag-Erling Smørgrav fi 3740b7579f77SDag-Erling Smørgravfi 3741b7579f77SDag-Erling Smørgravtest -z "$NM" && NM=nm 3742b7579f77SDag-Erling SmørgravAC_SUBST([NM]) 3743b7579f77SDag-Erling Smørgrav_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 3744b7579f77SDag-Erling Smørgrav 3745b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3746b7579f77SDag-Erling Smørgrav [lt_cv_nm_interface="BSD nm" 3747b7579f77SDag-Erling Smørgrav echo "int some_variable = 0;" > conftest.$ac_ext 3748b7579f77SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3749b7579f77SDag-Erling Smørgrav (eval "$ac_compile" 2>conftest.err) 3750b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 3751b7579f77SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3752b7579f77SDag-Erling Smørgrav (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3753b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 3754b7579f77SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 3755b7579f77SDag-Erling Smørgrav cat conftest.out >&AS_MESSAGE_LOG_FD 3756b7579f77SDag-Erling Smørgrav if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3757b7579f77SDag-Erling Smørgrav lt_cv_nm_interface="MS dumpbin" 3758b7579f77SDag-Erling Smørgrav fi 3759b7579f77SDag-Erling Smørgrav rm -f conftest*]) 3760b7579f77SDag-Erling Smørgrav])# LT_PATH_NM 3761b7579f77SDag-Erling Smørgrav 3762b7579f77SDag-Erling Smørgrav# Old names: 3763b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 3764b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 3765b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 3766b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_NM], []) 3767b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_NM], []) 3768b7579f77SDag-Erling Smørgrav 3769b7579f77SDag-Erling Smørgrav# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3770b7579f77SDag-Erling Smørgrav# -------------------------------- 3771b7579f77SDag-Erling Smørgrav# how to determine the name of the shared library 3772b7579f77SDag-Erling Smørgrav# associated with a specific link library. 3773b7579f77SDag-Erling Smørgrav# -- PORTME fill in with the dynamic library characteristics 3774b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 3775b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 3776b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP]) 3777b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_DLLTOOL]) 3778b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([how to associate runtime and link libraries], 3779b7579f77SDag-Erling Smørgravlt_cv_sharedlib_from_linklib_cmd, 3780b7579f77SDag-Erling Smørgrav[lt_cv_sharedlib_from_linklib_cmd='unknown' 3781b7579f77SDag-Erling Smørgrav 3782b7579f77SDag-Erling Smørgravcase $host_os in 3783b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 3784f61ef7f6SDag-Erling Smørgrav # two different shell functions defined in ltmain.sh; 3785f61ef7f6SDag-Erling Smørgrav # decide which one to use based on capabilities of $DLLTOOL 3786b7579f77SDag-Erling Smørgrav case `$DLLTOOL --help 2>&1` in 3787b7579f77SDag-Erling Smørgrav *--identify-strict*) 3788b7579f77SDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 3789b7579f77SDag-Erling Smørgrav ;; 3790b7579f77SDag-Erling Smørgrav *) 3791b7579f77SDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 3792b7579f77SDag-Erling Smørgrav ;; 3793b7579f77SDag-Erling Smørgrav esac 3794b7579f77SDag-Erling Smørgrav ;; 3795b7579f77SDag-Erling Smørgrav*) 3796b7579f77SDag-Erling Smørgrav # fallback: assume linklib IS sharedlib 3797f61ef7f6SDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=$ECHO 3798b7579f77SDag-Erling Smørgrav ;; 3799b7579f77SDag-Erling Smørgravesac 3800b7579f77SDag-Erling Smørgrav]) 3801b7579f77SDag-Erling Smørgravsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 3802b7579f77SDag-Erling Smørgravtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 3803b7579f77SDag-Erling Smørgrav 3804b7579f77SDag-Erling Smørgrav_LT_DECL([], [sharedlib_from_linklib_cmd], [1], 3805b7579f77SDag-Erling Smørgrav [Command to associate shared and link libraries]) 3806b7579f77SDag-Erling Smørgrav])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3807b7579f77SDag-Erling Smørgrav 3808b7579f77SDag-Erling Smørgrav 3809b7579f77SDag-Erling Smørgrav# _LT_PATH_MANIFEST_TOOL 3810b7579f77SDag-Erling Smørgrav# ---------------------- 3811b7579f77SDag-Erling Smørgrav# locate the manifest tool 3812b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_MANIFEST_TOOL], 3813b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 3814b7579f77SDag-Erling Smørgravtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 3815b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], 3816b7579f77SDag-Erling Smørgrav [lt_cv_path_mainfest_tool=no 3817b7579f77SDag-Erling Smørgrav echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 3818b7579f77SDag-Erling Smørgrav $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 3819b7579f77SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 3820b7579f77SDag-Erling Smørgrav if $GREP 'Manifest Tool' conftest.out > /dev/null; then 3821b7579f77SDag-Erling Smørgrav lt_cv_path_mainfest_tool=yes 3822b7579f77SDag-Erling Smørgrav fi 3823b7579f77SDag-Erling Smørgrav rm -f conftest*]) 3824f61ef7f6SDag-Erling Smørgravif test yes != "$lt_cv_path_mainfest_tool"; then 3825b7579f77SDag-Erling Smørgrav MANIFEST_TOOL=: 3826b7579f77SDag-Erling Smørgravfi 3827b7579f77SDag-Erling Smørgrav_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 3828b7579f77SDag-Erling Smørgrav])# _LT_PATH_MANIFEST_TOOL 3829b7579f77SDag-Erling Smørgrav 3830b7579f77SDag-Erling Smørgrav 3831f61ef7f6SDag-Erling Smørgrav# _LT_DLL_DEF_P([FILE]) 3832f61ef7f6SDag-Erling Smørgrav# --------------------- 3833f61ef7f6SDag-Erling Smørgrav# True iff FILE is a Windows DLL '.def' file. 3834f61ef7f6SDag-Erling Smørgrav# Keep in sync with func_dll_def_p in the libtool script 3835f61ef7f6SDag-Erling SmørgravAC_DEFUN([_LT_DLL_DEF_P], 3836f61ef7f6SDag-Erling Smørgrav[dnl 3837f61ef7f6SDag-Erling Smørgrav test DEF = "`$SED -n dnl 3838f61ef7f6SDag-Erling Smørgrav -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace 3839f61ef7f6SDag-Erling Smørgrav -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments 3840f61ef7f6SDag-Erling Smørgrav -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl 3841f61ef7f6SDag-Erling Smørgrav -e q dnl Only consider the first "real" line 3842f61ef7f6SDag-Erling Smørgrav $1`" dnl 3843f61ef7f6SDag-Erling Smørgrav])# _LT_DLL_DEF_P 3844f61ef7f6SDag-Erling Smørgrav 3845f61ef7f6SDag-Erling Smørgrav 3846b7579f77SDag-Erling Smørgrav# LT_LIB_M 3847b7579f77SDag-Erling Smørgrav# -------- 3848b7579f77SDag-Erling Smørgrav# check for math library 3849b7579f77SDag-Erling SmørgravAC_DEFUN([LT_LIB_M], 3850b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3851b7579f77SDag-Erling SmørgravLIBM= 3852b7579f77SDag-Erling Smørgravcase $host in 3853b7579f77SDag-Erling Smørgrav*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) 3854b7579f77SDag-Erling Smørgrav # These system don't have libm, or don't need it 3855b7579f77SDag-Erling Smørgrav ;; 3856b7579f77SDag-Erling Smørgrav*-ncr-sysv4.3*) 3857f61ef7f6SDag-Erling Smørgrav AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) 3858b7579f77SDag-Erling Smørgrav AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 3859b7579f77SDag-Erling Smørgrav ;; 3860b7579f77SDag-Erling Smørgrav*) 3861f61ef7f6SDag-Erling Smørgrav AC_CHECK_LIB(m, cos, LIBM=-lm) 3862b7579f77SDag-Erling Smørgrav ;; 3863b7579f77SDag-Erling Smørgravesac 3864b7579f77SDag-Erling SmørgravAC_SUBST([LIBM]) 3865b7579f77SDag-Erling Smørgrav])# LT_LIB_M 3866b7579f77SDag-Erling Smørgrav 3867b7579f77SDag-Erling Smørgrav# Old name: 3868b7579f77SDag-Erling SmørgravAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 3869b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 3870b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_CHECK_LIBM], []) 3871b7579f77SDag-Erling Smørgrav 3872b7579f77SDag-Erling Smørgrav 3873b7579f77SDag-Erling Smørgrav# _LT_COMPILER_NO_RTTI([TAGNAME]) 3874b7579f77SDag-Erling Smørgrav# ------------------------------- 3875b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_NO_RTTI], 3876b7579f77SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl 3877b7579f77SDag-Erling Smørgrav 3878b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3879b7579f77SDag-Erling Smørgrav 3880f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then 3881b7579f77SDag-Erling Smørgrav case $cc_basename in 3882b7579f77SDag-Erling Smørgrav nvcc*) 3883b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 3884b7579f77SDag-Erling Smørgrav *) 3885b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 3886b7579f77SDag-Erling Smørgrav esac 3887b7579f77SDag-Erling Smørgrav 3888b7579f77SDag-Erling Smørgrav _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3889b7579f77SDag-Erling Smørgrav lt_cv_prog_compiler_rtti_exceptions, 3890b7579f77SDag-Erling Smørgrav [-fno-rtti -fno-exceptions], [], 3891b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 3892b7579f77SDag-Erling Smørgravfi 3893b7579f77SDag-Erling Smørgrav_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 3894b7579f77SDag-Erling Smørgrav [Compiler flag to turn off builtin functions]) 3895b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_NO_RTTI 3896b7579f77SDag-Erling Smørgrav 3897b7579f77SDag-Erling Smørgrav 3898b7579f77SDag-Erling Smørgrav# _LT_CMD_GLOBAL_SYMBOLS 3899b7579f77SDag-Erling Smørgrav# ---------------------- 3900b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 3901b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3902b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl 3903b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_AWK])dnl 3904b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 3905b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl 3906b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 3907b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 3908b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 3909b7579f77SDag-Erling Smørgrav 3910b7579f77SDag-Erling Smørgrav# Check for command to grab the raw symbol name followed by C symbol from nm. 3911b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 3912b7579f77SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 3913b7579f77SDag-Erling Smørgrav[ 3914b7579f77SDag-Erling Smørgrav# These are sane defaults that work on at least a few old systems. 3915b7579f77SDag-Erling Smørgrav# [They come from Ultrix. What could be older than Ultrix?!! ;)] 3916b7579f77SDag-Erling Smørgrav 3917b7579f77SDag-Erling Smørgrav# Character class describing NM global symbol codes. 3918b7579f77SDag-Erling Smørgravsymcode='[[BCDEGRST]]' 3919b7579f77SDag-Erling Smørgrav 3920b7579f77SDag-Erling Smørgrav# Regexp to match symbols that can be accessed directly from C. 3921b7579f77SDag-Erling Smørgravsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 3922b7579f77SDag-Erling Smørgrav 3923b7579f77SDag-Erling Smørgrav# Define system-specific variables. 3924b7579f77SDag-Erling Smørgravcase $host_os in 3925b7579f77SDag-Erling Smørgravaix*) 3926b7579f77SDag-Erling Smørgrav symcode='[[BCDT]]' 3927b7579f77SDag-Erling Smørgrav ;; 3928b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 3929b7579f77SDag-Erling Smørgrav symcode='[[ABCDGISTW]]' 3930b7579f77SDag-Erling Smørgrav ;; 3931b7579f77SDag-Erling Smørgravhpux*) 3932f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 3933b7579f77SDag-Erling Smørgrav symcode='[[ABCDEGRST]]' 3934b7579f77SDag-Erling Smørgrav fi 3935b7579f77SDag-Erling Smørgrav ;; 3936b7579f77SDag-Erling Smørgravirix* | nonstopux*) 3937b7579f77SDag-Erling Smørgrav symcode='[[BCDEGRST]]' 3938b7579f77SDag-Erling Smørgrav ;; 3939b7579f77SDag-Erling Smørgravosf*) 3940b7579f77SDag-Erling Smørgrav symcode='[[BCDEGQRST]]' 3941b7579f77SDag-Erling Smørgrav ;; 3942b7579f77SDag-Erling Smørgravsolaris*) 3943b7579f77SDag-Erling Smørgrav symcode='[[BDRT]]' 3944b7579f77SDag-Erling Smørgrav ;; 3945b7579f77SDag-Erling Smørgravsco3.2v5*) 3946b7579f77SDag-Erling Smørgrav symcode='[[DT]]' 3947b7579f77SDag-Erling Smørgrav ;; 3948b7579f77SDag-Erling Smørgravsysv4.2uw2*) 3949b7579f77SDag-Erling Smørgrav symcode='[[DT]]' 3950b7579f77SDag-Erling Smørgrav ;; 3951b7579f77SDag-Erling Smørgravsysv5* | sco5v6* | unixware* | OpenUNIX*) 3952b7579f77SDag-Erling Smørgrav symcode='[[ABDT]]' 3953b7579f77SDag-Erling Smørgrav ;; 3954b7579f77SDag-Erling Smørgravsysv4) 3955b7579f77SDag-Erling Smørgrav symcode='[[DFNSTU]]' 3956b7579f77SDag-Erling Smørgrav ;; 3957b7579f77SDag-Erling Smørgravesac 3958b7579f77SDag-Erling Smørgrav 3959b7579f77SDag-Erling Smørgrav# If we're using GNU nm, then use its standard symbol codes. 3960b7579f77SDag-Erling Smørgravcase `$NM -V 2>&1` in 3961b7579f77SDag-Erling Smørgrav*GNU* | *'with BFD'*) 3962b7579f77SDag-Erling Smørgrav symcode='[[ABCDGIRSTW]]' ;; 3963b7579f77SDag-Erling Smørgravesac 3964b7579f77SDag-Erling Smørgrav 3965f61ef7f6SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then 3966f61ef7f6SDag-Erling Smørgrav # Gets list of data symbols to import. 3967*46d2f618SCy Schubert lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" 3968f61ef7f6SDag-Erling Smørgrav # Adjust the below global symbol transforms to fixup imported variables. 3969f61ef7f6SDag-Erling Smørgrav lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" 3970f61ef7f6SDag-Erling Smørgrav lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" 3971f61ef7f6SDag-Erling Smørgrav lt_c_name_lib_hook="\ 3972f61ef7f6SDag-Erling Smørgrav -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ 3973f61ef7f6SDag-Erling Smørgrav -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" 3974f61ef7f6SDag-Erling Smørgravelse 3975f61ef7f6SDag-Erling Smørgrav # Disable hooks by default. 3976f61ef7f6SDag-Erling Smørgrav lt_cv_sys_global_symbol_to_import= 3977f61ef7f6SDag-Erling Smørgrav lt_cdecl_hook= 3978f61ef7f6SDag-Erling Smørgrav lt_c_name_hook= 3979f61ef7f6SDag-Erling Smørgrav lt_c_name_lib_hook= 3980f61ef7f6SDag-Erling Smørgravfi 3981f61ef7f6SDag-Erling Smørgrav 3982b7579f77SDag-Erling Smørgrav# Transform an extracted symbol line into a proper C declaration. 3983b7579f77SDag-Erling Smørgrav# Some systems (esp. on ia64) link data and code symbols differently, 3984b7579f77SDag-Erling Smørgrav# so use this general approach. 3985*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_cdecl="sed -n"\ 3986f61ef7f6SDag-Erling Smørgrav$lt_cdecl_hook\ 3987f61ef7f6SDag-Erling Smørgrav" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ 3988f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" 3989b7579f77SDag-Erling Smørgrav 3990b7579f77SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name and symbol address 3991*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_c_name_address="sed -n"\ 3992f61ef7f6SDag-Erling Smørgrav$lt_c_name_hook\ 3993f61ef7f6SDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 3994f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" 3995f61ef7f6SDag-Erling Smørgrav 3996f61ef7f6SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name with lib prefix and 3997f61ef7f6SDag-Erling Smørgrav# symbol address. 3998*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ 3999f61ef7f6SDag-Erling Smørgrav$lt_c_name_lib_hook\ 4000f61ef7f6SDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 4001f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ 4002f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" 4003b7579f77SDag-Erling Smørgrav 4004b7579f77SDag-Erling Smørgrav# Handle CRLF in mingw tool chain 4005b7579f77SDag-Erling Smørgravopt_cr= 4006b7579f77SDag-Erling Smørgravcase $build_os in 4007b7579f77SDag-Erling Smørgravmingw*) 4008b7579f77SDag-Erling Smørgrav opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 4009b7579f77SDag-Erling Smørgrav ;; 4010b7579f77SDag-Erling Smørgravesac 4011b7579f77SDag-Erling Smørgrav 4012b7579f77SDag-Erling Smørgrav# Try without a prefix underscore, then with it. 4013b7579f77SDag-Erling Smørgravfor ac_symprfx in "" "_"; do 4014b7579f77SDag-Erling Smørgrav 4015b7579f77SDag-Erling Smørgrav # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 4016b7579f77SDag-Erling Smørgrav symxfrm="\\1 $ac_symprfx\\2 \\2" 4017b7579f77SDag-Erling Smørgrav 4018b7579f77SDag-Erling Smørgrav # Write the raw and C identifiers. 4019b7579f77SDag-Erling Smørgrav if test "$lt_cv_nm_interface" = "MS dumpbin"; then 4020f61ef7f6SDag-Erling Smørgrav # Fake it for dumpbin and say T for any non-static function, 4021f61ef7f6SDag-Erling Smørgrav # D for any global variable and I for any imported variable. 4022*46d2f618SCy Schubert # Also find C++ and __fastcall symbols from MSVC++, 4023b7579f77SDag-Erling Smørgrav # which start with @ or ?. 4024b7579f77SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe="$AWK ['"\ 4025b7579f77SDag-Erling Smørgrav" {last_section=section; section=\$ 3};"\ 40268ed2b524SDag-Erling Smørgrav" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 4027b7579f77SDag-Erling Smørgrav" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 4028f61ef7f6SDag-Erling Smørgrav" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ 4029f61ef7f6SDag-Erling Smørgrav" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ 4030f61ef7f6SDag-Erling Smørgrav" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ 4031b7579f77SDag-Erling Smørgrav" \$ 0!~/External *\|/{next};"\ 4032b7579f77SDag-Erling Smørgrav" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 4033b7579f77SDag-Erling Smørgrav" {if(hide[section]) next};"\ 4034f61ef7f6SDag-Erling Smørgrav" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ 4035b7579f77SDag-Erling Smørgrav" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ 4036f61ef7f6SDag-Erling Smørgrav" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ 4037f61ef7f6SDag-Erling Smørgrav" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ 4038b7579f77SDag-Erling Smørgrav" ' prfx=^$ac_symprfx]" 4039b7579f77SDag-Erling Smørgrav else 4040*46d2f618SCy Schubert lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 4041b7579f77SDag-Erling Smørgrav fi 4042*46d2f618SCy Schubert lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" 4043b7579f77SDag-Erling Smørgrav 4044b7579f77SDag-Erling Smørgrav # Check to see that the pipe works correctly. 4045b7579f77SDag-Erling Smørgrav pipe_works=no 4046b7579f77SDag-Erling Smørgrav 4047b7579f77SDag-Erling Smørgrav rm -f conftest* 4048b7579f77SDag-Erling Smørgrav cat > conftest.$ac_ext <<_LT_EOF 4049b7579f77SDag-Erling Smørgrav#ifdef __cplusplus 4050b7579f77SDag-Erling Smørgravextern "C" { 4051b7579f77SDag-Erling Smørgrav#endif 4052b7579f77SDag-Erling Smørgravchar nm_test_var; 4053b7579f77SDag-Erling Smørgravvoid nm_test_func(void); 4054b7579f77SDag-Erling Smørgravvoid nm_test_func(void){} 4055b7579f77SDag-Erling Smørgrav#ifdef __cplusplus 4056b7579f77SDag-Erling Smørgrav} 4057b7579f77SDag-Erling Smørgrav#endif 4058b7579f77SDag-Erling Smørgravint main(){nm_test_var='a';nm_test_func();return(0);} 4059b7579f77SDag-Erling Smørgrav_LT_EOF 4060b7579f77SDag-Erling Smørgrav 4061b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 4062b7579f77SDag-Erling Smørgrav # Now try to grab the symbols. 4063b7579f77SDag-Erling Smørgrav nlist=conftest.nm 4064b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then 4065b7579f77SDag-Erling Smørgrav # Try sorting and uniquifying the output. 4066b7579f77SDag-Erling Smørgrav if sort "$nlist" | uniq > "$nlist"T; then 4067b7579f77SDag-Erling Smørgrav mv -f "$nlist"T "$nlist" 4068b7579f77SDag-Erling Smørgrav else 4069b7579f77SDag-Erling Smørgrav rm -f "$nlist"T 4070b7579f77SDag-Erling Smørgrav fi 4071b7579f77SDag-Erling Smørgrav 4072b7579f77SDag-Erling Smørgrav # Make sure that we snagged all the symbols we need. 4073b7579f77SDag-Erling Smørgrav if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 4074b7579f77SDag-Erling Smørgrav if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 4075b7579f77SDag-Erling Smørgrav cat <<_LT_EOF > conftest.$ac_ext 4076b7579f77SDag-Erling Smørgrav/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 4077f61ef7f6SDag-Erling Smørgrav#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 4078f61ef7f6SDag-Erling Smørgrav/* DATA imports from DLLs on WIN32 can't be const, because runtime 4079b7579f77SDag-Erling Smørgrav relocations are performed -- see ld's documentation on pseudo-relocs. */ 4080b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST 4081f61ef7f6SDag-Erling Smørgrav#elif defined __osf__ 4082b7579f77SDag-Erling Smørgrav/* This system does not cope well with relocations in const data. */ 4083b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST 4084b7579f77SDag-Erling Smørgrav#else 4085b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST const 4086b7579f77SDag-Erling Smørgrav#endif 4087b7579f77SDag-Erling Smørgrav 4088b7579f77SDag-Erling Smørgrav#ifdef __cplusplus 4089b7579f77SDag-Erling Smørgravextern "C" { 4090b7579f77SDag-Erling Smørgrav#endif 4091b7579f77SDag-Erling Smørgrav 4092b7579f77SDag-Erling Smørgrav_LT_EOF 4093b7579f77SDag-Erling Smørgrav # Now generate the symbol file. 4094b7579f77SDag-Erling Smørgrav eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 4095b7579f77SDag-Erling Smørgrav 4096b7579f77SDag-Erling Smørgrav cat <<_LT_EOF >> conftest.$ac_ext 4097b7579f77SDag-Erling Smørgrav 4098b7579f77SDag-Erling Smørgrav/* The mapping between symbol names and symbols. */ 4099b7579f77SDag-Erling SmørgravLT@&t@_DLSYM_CONST struct { 4100b7579f77SDag-Erling Smørgrav const char *name; 4101b7579f77SDag-Erling Smørgrav void *address; 4102b7579f77SDag-Erling Smørgrav} 4103b7579f77SDag-Erling Smørgravlt__PROGRAM__LTX_preloaded_symbols[[]] = 4104b7579f77SDag-Erling Smørgrav{ 4105b7579f77SDag-Erling Smørgrav { "@PROGRAM@", (void *) 0 }, 4106b7579f77SDag-Erling Smørgrav_LT_EOF 4107f61ef7f6SDag-Erling Smørgrav $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 4108b7579f77SDag-Erling Smørgrav cat <<\_LT_EOF >> conftest.$ac_ext 4109b7579f77SDag-Erling Smørgrav {0, (void *) 0} 4110b7579f77SDag-Erling Smørgrav}; 4111b7579f77SDag-Erling Smørgrav 4112b7579f77SDag-Erling Smørgrav/* This works around a problem in FreeBSD linker */ 4113b7579f77SDag-Erling Smørgrav#ifdef FREEBSD_WORKAROUND 4114b7579f77SDag-Erling Smørgravstatic const void *lt_preloaded_setup() { 4115b7579f77SDag-Erling Smørgrav return lt__PROGRAM__LTX_preloaded_symbols; 4116b7579f77SDag-Erling Smørgrav} 4117b7579f77SDag-Erling Smørgrav#endif 4118b7579f77SDag-Erling Smørgrav 4119b7579f77SDag-Erling Smørgrav#ifdef __cplusplus 4120b7579f77SDag-Erling Smørgrav} 4121b7579f77SDag-Erling Smørgrav#endif 4122b7579f77SDag-Erling Smørgrav_LT_EOF 4123b7579f77SDag-Erling Smørgrav # Now try linking the two files. 4124b7579f77SDag-Erling Smørgrav mv conftest.$ac_objext conftstm.$ac_objext 4125b7579f77SDag-Erling Smørgrav lt_globsym_save_LIBS=$LIBS 4126b7579f77SDag-Erling Smørgrav lt_globsym_save_CFLAGS=$CFLAGS 4127f61ef7f6SDag-Erling Smørgrav LIBS=conftstm.$ac_objext 4128b7579f77SDag-Erling Smørgrav CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 4129f61ef7f6SDag-Erling Smørgrav if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then 4130b7579f77SDag-Erling Smørgrav pipe_works=yes 4131b7579f77SDag-Erling Smørgrav fi 4132b7579f77SDag-Erling Smørgrav LIBS=$lt_globsym_save_LIBS 4133b7579f77SDag-Erling Smørgrav CFLAGS=$lt_globsym_save_CFLAGS 4134b7579f77SDag-Erling Smørgrav else 4135b7579f77SDag-Erling Smørgrav echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 4136b7579f77SDag-Erling Smørgrav fi 4137b7579f77SDag-Erling Smørgrav else 4138b7579f77SDag-Erling Smørgrav echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 4139b7579f77SDag-Erling Smørgrav fi 4140b7579f77SDag-Erling Smørgrav else 4141b7579f77SDag-Erling Smørgrav echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 4142b7579f77SDag-Erling Smørgrav fi 4143b7579f77SDag-Erling Smørgrav else 4144b7579f77SDag-Erling Smørgrav echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 4145b7579f77SDag-Erling Smørgrav cat conftest.$ac_ext >&5 4146b7579f77SDag-Erling Smørgrav fi 4147b7579f77SDag-Erling Smørgrav rm -rf conftest* conftst* 4148b7579f77SDag-Erling Smørgrav 4149b7579f77SDag-Erling Smørgrav # Do not use the global_symbol_pipe unless it works. 4150f61ef7f6SDag-Erling Smørgrav if test yes = "$pipe_works"; then 4151b7579f77SDag-Erling Smørgrav break 4152b7579f77SDag-Erling Smørgrav else 4153b7579f77SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe= 4154b7579f77SDag-Erling Smørgrav fi 4155b7579f77SDag-Erling Smørgravdone 4156b7579f77SDag-Erling Smørgrav]) 4157b7579f77SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe"; then 4158b7579f77SDag-Erling Smørgrav lt_cv_sys_global_symbol_to_cdecl= 4159b7579f77SDag-Erling Smørgravfi 4160b7579f77SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 4161b7579f77SDag-Erling Smørgrav AC_MSG_RESULT(failed) 4162b7579f77SDag-Erling Smørgravelse 4163b7579f77SDag-Erling Smørgrav AC_MSG_RESULT(ok) 4164b7579f77SDag-Erling Smørgravfi 4165b7579f77SDag-Erling Smørgrav 4166b7579f77SDag-Erling Smørgrav# Response file support. 4167b7579f77SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then 4168b7579f77SDag-Erling Smørgrav nm_file_list_spec='@' 4169b7579f77SDag-Erling Smørgravelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 4170b7579f77SDag-Erling Smørgrav nm_file_list_spec='@' 4171b7579f77SDag-Erling Smørgravfi 4172b7579f77SDag-Erling Smørgrav 4173b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 4174b7579f77SDag-Erling Smørgrav [Take the output of nm and produce a listing of raw symbols and C names]) 4175b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 4176b7579f77SDag-Erling Smørgrav [Transform the output of nm in a proper C declaration]) 4177f61ef7f6SDag-Erling Smørgrav_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], 4178f61ef7f6SDag-Erling Smørgrav [Transform the output of nm into a list of symbols to manually relocate]) 4179b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address], 4180b7579f77SDag-Erling Smørgrav [lt_cv_sys_global_symbol_to_c_name_address], [1], 4181b7579f77SDag-Erling Smørgrav [Transform the output of nm in a C name address pair]) 4182b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 4183b7579f77SDag-Erling Smørgrav [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 4184b7579f77SDag-Erling Smørgrav [Transform the output of nm in a C name address pair when lib prefix is needed]) 4185f61ef7f6SDag-Erling Smørgrav_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], 4186f61ef7f6SDag-Erling Smørgrav [The name lister interface]) 4187b7579f77SDag-Erling Smørgrav_LT_DECL([], [nm_file_list_spec], [1], 4188b7579f77SDag-Erling Smørgrav [Specify filename containing input files for $NM]) 4189b7579f77SDag-Erling Smørgrav]) # _LT_CMD_GLOBAL_SYMBOLS 4190b7579f77SDag-Erling Smørgrav 4191b7579f77SDag-Erling Smørgrav 4192b7579f77SDag-Erling Smørgrav# _LT_COMPILER_PIC([TAGNAME]) 4193b7579f77SDag-Erling Smørgrav# --------------------------- 4194b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_PIC], 4195b7579f77SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl 4196b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_wl, $1)= 4197b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)= 4198b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_static, $1)= 4199b7579f77SDag-Erling Smørgrav 4200b7579f77SDag-Erling Smørgravm4_if([$1], [CXX], [ 4201b7579f77SDag-Erling Smørgrav # C++ specific cases for pic, static, wl, etc. 4202f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 4203b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4204b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4205b7579f77SDag-Erling Smørgrav 4206b7579f77SDag-Erling Smørgrav case $host_os in 4207b7579f77SDag-Erling Smørgrav aix*) 4208b7579f77SDag-Erling Smørgrav # All AIX code is PIC. 4209f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 4210b7579f77SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 4211b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4212b7579f77SDag-Erling Smørgrav fi 4213f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4214b7579f77SDag-Erling Smørgrav ;; 4215b7579f77SDag-Erling Smørgrav 4216b7579f77SDag-Erling Smørgrav amigaos*) 4217b7579f77SDag-Erling Smørgrav case $host_cpu in 4218b7579f77SDag-Erling Smørgrav powerpc) 4219b7579f77SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 4220b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4221b7579f77SDag-Erling Smørgrav ;; 4222b7579f77SDag-Erling Smørgrav m68k) 4223b7579f77SDag-Erling Smørgrav # FIXME: we need at least 68020 code to build shared libraries, but 4224f61ef7f6SDag-Erling Smørgrav # adding the '-m68020' flag to GCC prevents building anything better, 4225f61ef7f6SDag-Erling Smørgrav # like '-m68040'. 4226b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4227b7579f77SDag-Erling Smørgrav ;; 4228b7579f77SDag-Erling Smørgrav esac 4229b7579f77SDag-Erling Smørgrav ;; 4230b7579f77SDag-Erling Smørgrav 4231b7579f77SDag-Erling Smørgrav beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4232b7579f77SDag-Erling Smørgrav # PIC is the default for these OSes. 4233b7579f77SDag-Erling Smørgrav ;; 4234b7579f77SDag-Erling Smørgrav mingw* | cygwin* | os2* | pw32* | cegcc*) 4235b7579f77SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 4236b7579f77SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 4237b7579f77SDag-Erling Smørgrav # Although the cygwin gcc ignores -fPIC, still need this for old-style 4238b7579f77SDag-Erling Smørgrav # (--disable-auto-import) libraries 4239b7579f77SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 4240b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4241f61ef7f6SDag-Erling Smørgrav case $host_os in 4242f61ef7f6SDag-Erling Smørgrav os2*) 4243f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4244f61ef7f6SDag-Erling Smørgrav ;; 4245f61ef7f6SDag-Erling Smørgrav esac 4246b7579f77SDag-Erling Smørgrav ;; 4247b7579f77SDag-Erling Smørgrav darwin* | rhapsody*) 4248b7579f77SDag-Erling Smørgrav # PIC is the default on this platform 4249b7579f77SDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 4250b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4251b7579f77SDag-Erling Smørgrav ;; 4252b7579f77SDag-Erling Smørgrav *djgpp*) 4253b7579f77SDag-Erling Smørgrav # DJGPP does not support shared libraries at all 4254b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4255b7579f77SDag-Erling Smørgrav ;; 4256b7579f77SDag-Erling Smørgrav haiku*) 4257b7579f77SDag-Erling Smørgrav # PIC is the default for Haiku. 4258b7579f77SDag-Erling Smørgrav # The "-static" flag exists, but is broken. 4259b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)= 4260b7579f77SDag-Erling Smørgrav ;; 4261b7579f77SDag-Erling Smørgrav interix[[3-9]]*) 4262b7579f77SDag-Erling Smørgrav # Interix 3.x gcc -fpic/-fPIC options generate broken code. 4263b7579f77SDag-Erling Smørgrav # Instead, we relocate shared libraries at runtime. 4264b7579f77SDag-Erling Smørgrav ;; 4265b7579f77SDag-Erling Smørgrav sysv4*MP*) 4266b7579f77SDag-Erling Smørgrav if test -d /usr/nec; then 4267b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4268b7579f77SDag-Erling Smørgrav fi 4269b7579f77SDag-Erling Smørgrav ;; 4270b7579f77SDag-Erling Smørgrav hpux*) 4271b7579f77SDag-Erling Smørgrav # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4272b7579f77SDag-Erling Smørgrav # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4273b7579f77SDag-Erling Smørgrav # sets the default TLS model and affects inlining. 4274b7579f77SDag-Erling Smørgrav case $host_cpu in 4275b7579f77SDag-Erling Smørgrav hppa*64*) 4276b7579f77SDag-Erling Smørgrav ;; 4277b7579f77SDag-Erling Smørgrav *) 4278b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4279b7579f77SDag-Erling Smørgrav ;; 4280b7579f77SDag-Erling Smørgrav esac 4281b7579f77SDag-Erling Smørgrav ;; 4282b7579f77SDag-Erling Smørgrav *qnx* | *nto*) 4283b7579f77SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 4284b7579f77SDag-Erling Smørgrav # it will coredump. 4285b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4286b7579f77SDag-Erling Smørgrav ;; 4287b7579f77SDag-Erling Smørgrav *) 4288b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4289b7579f77SDag-Erling Smørgrav ;; 4290b7579f77SDag-Erling Smørgrav esac 4291b7579f77SDag-Erling Smørgrav else 4292b7579f77SDag-Erling Smørgrav case $host_os in 4293b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 4294b7579f77SDag-Erling Smørgrav # All AIX code is PIC. 4295f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 4296b7579f77SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 4297b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4298b7579f77SDag-Erling Smørgrav else 4299b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4300b7579f77SDag-Erling Smørgrav fi 4301b7579f77SDag-Erling Smørgrav ;; 4302b7579f77SDag-Erling Smørgrav chorus*) 4303b7579f77SDag-Erling Smørgrav case $cc_basename in 4304b7579f77SDag-Erling Smørgrav cxch68*) 4305b7579f77SDag-Erling Smørgrav # Green Hills C++ Compiler 4306b7579f77SDag-Erling Smørgrav # _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" 4307b7579f77SDag-Erling Smørgrav ;; 4308b7579f77SDag-Erling Smørgrav esac 4309b7579f77SDag-Erling Smørgrav ;; 4310b7579f77SDag-Erling Smørgrav mingw* | cygwin* | os2* | pw32* | cegcc*) 4311b7579f77SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 4312b7579f77SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 4313b7579f77SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 4314b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4315b7579f77SDag-Erling Smørgrav ;; 4316b7579f77SDag-Erling Smørgrav dgux*) 4317b7579f77SDag-Erling Smørgrav case $cc_basename in 4318b7579f77SDag-Erling Smørgrav ec++*) 4319b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4320b7579f77SDag-Erling Smørgrav ;; 4321b7579f77SDag-Erling Smørgrav ghcx*) 4322b7579f77SDag-Erling Smørgrav # Green Hills C++ Compiler 4323b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4324b7579f77SDag-Erling Smørgrav ;; 4325b7579f77SDag-Erling Smørgrav *) 4326b7579f77SDag-Erling Smørgrav ;; 4327b7579f77SDag-Erling Smørgrav esac 4328b7579f77SDag-Erling Smørgrav ;; 4329*46d2f618SCy Schubert freebsd* | dragonfly*) 4330b7579f77SDag-Erling Smørgrav # FreeBSD uses GNU C++ 4331b7579f77SDag-Erling Smørgrav ;; 4332b7579f77SDag-Erling Smørgrav hpux9* | hpux10* | hpux11*) 4333b7579f77SDag-Erling Smørgrav case $cc_basename in 4334b7579f77SDag-Erling Smørgrav CC*) 4335b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4336f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4337f61ef7f6SDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 4338b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4339b7579f77SDag-Erling Smørgrav fi 4340b7579f77SDag-Erling Smørgrav ;; 4341b7579f77SDag-Erling Smørgrav aCC*) 4342b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4343f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4344b7579f77SDag-Erling Smørgrav case $host_cpu in 4345b7579f77SDag-Erling Smørgrav hppa*64*|ia64*) 4346b7579f77SDag-Erling Smørgrav # +Z the default 4347b7579f77SDag-Erling Smørgrav ;; 4348b7579f77SDag-Erling Smørgrav *) 4349b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4350b7579f77SDag-Erling Smørgrav ;; 4351b7579f77SDag-Erling Smørgrav esac 4352b7579f77SDag-Erling Smørgrav ;; 4353b7579f77SDag-Erling Smørgrav *) 4354b7579f77SDag-Erling Smørgrav ;; 4355b7579f77SDag-Erling Smørgrav esac 4356b7579f77SDag-Erling Smørgrav ;; 4357b7579f77SDag-Erling Smørgrav interix*) 4358b7579f77SDag-Erling Smørgrav # This is c89, which is MS Visual C++ (no shared libs) 4359b7579f77SDag-Erling Smørgrav # Anyone wants to do a port? 4360b7579f77SDag-Erling Smørgrav ;; 4361b7579f77SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 4362b7579f77SDag-Erling Smørgrav case $cc_basename in 4363b7579f77SDag-Erling Smørgrav CC*) 4364b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4365b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4366b7579f77SDag-Erling Smørgrav # CC pic flag -KPIC is the default. 4367b7579f77SDag-Erling Smørgrav ;; 4368b7579f77SDag-Erling Smørgrav *) 4369b7579f77SDag-Erling Smørgrav ;; 4370b7579f77SDag-Erling Smørgrav esac 4371b7579f77SDag-Erling Smørgrav ;; 4372f61ef7f6SDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 4373b7579f77SDag-Erling Smørgrav case $cc_basename in 4374b7579f77SDag-Erling Smørgrav KCC*) 4375b7579f77SDag-Erling Smørgrav # KAI C++ Compiler 4376b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4377b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4378b7579f77SDag-Erling Smørgrav ;; 4379b7579f77SDag-Erling Smørgrav ecpc* ) 4380f61ef7f6SDag-Erling Smørgrav # old Intel C++ for x86_64, which still supported -KPIC. 4381b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4382b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4383b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4384b7579f77SDag-Erling Smørgrav ;; 4385b7579f77SDag-Erling Smørgrav icpc* ) 4386b7579f77SDag-Erling Smørgrav # Intel C++, used to be incompatible with GCC. 4387b7579f77SDag-Erling Smørgrav # ICC 10 doesn't accept -KPIC any more. 4388b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4389b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4390b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4391b7579f77SDag-Erling Smørgrav ;; 4392b7579f77SDag-Erling Smørgrav pgCC* | pgcpp*) 4393b7579f77SDag-Erling Smørgrav # Portland Group C++ compiler 4394b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4395b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4396b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4397b7579f77SDag-Erling Smørgrav ;; 4398b7579f77SDag-Erling Smørgrav cxx*) 4399b7579f77SDag-Erling Smørgrav # Compaq C++ 4400b7579f77SDag-Erling Smørgrav # Make sure the PIC flag is empty. It appears that all Alpha 4401b7579f77SDag-Erling Smørgrav # Linux and Compaq Tru64 Unix objects are PIC. 4402b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4403b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4404b7579f77SDag-Erling Smørgrav ;; 4405b7579f77SDag-Erling Smørgrav xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 4406b7579f77SDag-Erling Smørgrav # IBM XL 8.0, 9.0 on PPC and BlueGene 4407b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4408b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4409b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4410b7579f77SDag-Erling Smørgrav ;; 4411b7579f77SDag-Erling Smørgrav *) 4412*46d2f618SCy Schubert case `$CC -V 2>&1 | sed 5q` in 4413b7579f77SDag-Erling Smørgrav *Sun\ C*) 4414b7579f77SDag-Erling Smørgrav # Sun C++ 5.9 4415b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4416b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4417b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4418b7579f77SDag-Erling Smørgrav ;; 4419b7579f77SDag-Erling Smørgrav esac 4420b7579f77SDag-Erling Smørgrav ;; 4421b7579f77SDag-Erling Smørgrav esac 4422b7579f77SDag-Erling Smørgrav ;; 4423b7579f77SDag-Erling Smørgrav lynxos*) 4424b7579f77SDag-Erling Smørgrav ;; 4425b7579f77SDag-Erling Smørgrav m88k*) 4426b7579f77SDag-Erling Smørgrav ;; 4427b7579f77SDag-Erling Smørgrav mvs*) 4428b7579f77SDag-Erling Smørgrav case $cc_basename in 4429b7579f77SDag-Erling Smørgrav cxx*) 4430b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 4431b7579f77SDag-Erling Smørgrav ;; 4432b7579f77SDag-Erling Smørgrav *) 4433b7579f77SDag-Erling Smørgrav ;; 4434b7579f77SDag-Erling Smørgrav esac 4435b7579f77SDag-Erling Smørgrav ;; 4436091e9e46SCy Schubert netbsd*) 4437b7579f77SDag-Erling Smørgrav ;; 4438b7579f77SDag-Erling Smørgrav *qnx* | *nto*) 4439b7579f77SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 4440b7579f77SDag-Erling Smørgrav # it will coredump. 4441b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4442b7579f77SDag-Erling Smørgrav ;; 4443b7579f77SDag-Erling Smørgrav osf3* | osf4* | osf5*) 4444b7579f77SDag-Erling Smørgrav case $cc_basename in 4445b7579f77SDag-Erling Smørgrav KCC*) 4446b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4447b7579f77SDag-Erling Smørgrav ;; 4448b7579f77SDag-Erling Smørgrav RCC*) 4449b7579f77SDag-Erling Smørgrav # Rational C++ 2.4.1 4450b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4451b7579f77SDag-Erling Smørgrav ;; 4452b7579f77SDag-Erling Smørgrav cxx*) 4453b7579f77SDag-Erling Smørgrav # Digital/Compaq C++ 4454b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4455b7579f77SDag-Erling Smørgrav # Make sure the PIC flag is empty. It appears that all Alpha 4456b7579f77SDag-Erling Smørgrav # Linux and Compaq Tru64 Unix objects are PIC. 4457b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4458b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4459b7579f77SDag-Erling Smørgrav ;; 4460b7579f77SDag-Erling Smørgrav *) 4461b7579f77SDag-Erling Smørgrav ;; 4462b7579f77SDag-Erling Smørgrav esac 4463b7579f77SDag-Erling Smørgrav ;; 4464b7579f77SDag-Erling Smørgrav psos*) 4465b7579f77SDag-Erling Smørgrav ;; 4466b7579f77SDag-Erling Smørgrav solaris*) 4467b7579f77SDag-Erling Smørgrav case $cc_basename in 4468b7579f77SDag-Erling Smørgrav CC* | sunCC*) 4469b7579f77SDag-Erling Smørgrav # Sun C++ 4.2, 5.x and Centerline C++ 4470b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4471b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4472b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4473b7579f77SDag-Erling Smørgrav ;; 4474b7579f77SDag-Erling Smørgrav gcx*) 4475b7579f77SDag-Erling Smørgrav # Green Hills C++ Compiler 4476b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4477b7579f77SDag-Erling Smørgrav ;; 4478b7579f77SDag-Erling Smørgrav *) 4479b7579f77SDag-Erling Smørgrav ;; 4480b7579f77SDag-Erling Smørgrav esac 4481b7579f77SDag-Erling Smørgrav ;; 4482b7579f77SDag-Erling Smørgrav sunos4*) 4483b7579f77SDag-Erling Smørgrav case $cc_basename in 4484b7579f77SDag-Erling Smørgrav CC*) 4485b7579f77SDag-Erling Smørgrav # Sun C++ 4.x 4486b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4487b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4488b7579f77SDag-Erling Smørgrav ;; 4489b7579f77SDag-Erling Smørgrav lcc*) 4490b7579f77SDag-Erling Smørgrav # Lucid 4491b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4492b7579f77SDag-Erling Smørgrav ;; 4493b7579f77SDag-Erling Smørgrav *) 4494b7579f77SDag-Erling Smørgrav ;; 4495b7579f77SDag-Erling Smørgrav esac 4496b7579f77SDag-Erling Smørgrav ;; 4497b7579f77SDag-Erling Smørgrav sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4498b7579f77SDag-Erling Smørgrav case $cc_basename in 4499b7579f77SDag-Erling Smørgrav CC*) 4500b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4501b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4502b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4503b7579f77SDag-Erling Smørgrav ;; 4504b7579f77SDag-Erling Smørgrav esac 4505b7579f77SDag-Erling Smørgrav ;; 4506b7579f77SDag-Erling Smørgrav tandem*) 4507b7579f77SDag-Erling Smørgrav case $cc_basename in 4508b7579f77SDag-Erling Smørgrav NCC*) 4509b7579f77SDag-Erling Smørgrav # NonStop-UX NCC 3.20 4510b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4511b7579f77SDag-Erling Smørgrav ;; 4512b7579f77SDag-Erling Smørgrav *) 4513b7579f77SDag-Erling Smørgrav ;; 4514b7579f77SDag-Erling Smørgrav esac 4515b7579f77SDag-Erling Smørgrav ;; 4516b7579f77SDag-Erling Smørgrav vxworks*) 4517b7579f77SDag-Erling Smørgrav ;; 4518b7579f77SDag-Erling Smørgrav *) 4519b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4520b7579f77SDag-Erling Smørgrav ;; 4521b7579f77SDag-Erling Smørgrav esac 4522b7579f77SDag-Erling Smørgrav fi 4523b7579f77SDag-Erling Smørgrav], 4524b7579f77SDag-Erling Smørgrav[ 4525f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 4526b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4527b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4528b7579f77SDag-Erling Smørgrav 4529b7579f77SDag-Erling Smørgrav case $host_os in 4530b7579f77SDag-Erling Smørgrav aix*) 4531b7579f77SDag-Erling Smørgrav # All AIX code is PIC. 4532f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 4533b7579f77SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 4534b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4535b7579f77SDag-Erling Smørgrav fi 4536f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4537b7579f77SDag-Erling Smørgrav ;; 4538b7579f77SDag-Erling Smørgrav 4539b7579f77SDag-Erling Smørgrav amigaos*) 4540b7579f77SDag-Erling Smørgrav case $host_cpu in 4541b7579f77SDag-Erling Smørgrav powerpc) 4542b7579f77SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 4543b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4544b7579f77SDag-Erling Smørgrav ;; 4545b7579f77SDag-Erling Smørgrav m68k) 4546b7579f77SDag-Erling Smørgrav # FIXME: we need at least 68020 code to build shared libraries, but 4547f61ef7f6SDag-Erling Smørgrav # adding the '-m68020' flag to GCC prevents building anything better, 4548f61ef7f6SDag-Erling Smørgrav # like '-m68040'. 4549b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4550b7579f77SDag-Erling Smørgrav ;; 4551b7579f77SDag-Erling Smørgrav esac 4552b7579f77SDag-Erling Smørgrav ;; 4553b7579f77SDag-Erling Smørgrav 4554b7579f77SDag-Erling Smørgrav beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4555b7579f77SDag-Erling Smørgrav # PIC is the default for these OSes. 4556b7579f77SDag-Erling Smørgrav ;; 4557b7579f77SDag-Erling Smørgrav 4558b7579f77SDag-Erling Smørgrav mingw* | cygwin* | pw32* | os2* | cegcc*) 4559b7579f77SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 4560b7579f77SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 4561b7579f77SDag-Erling Smørgrav # Although the cygwin gcc ignores -fPIC, still need this for old-style 4562b7579f77SDag-Erling Smørgrav # (--disable-auto-import) libraries 4563b7579f77SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 4564b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4565f61ef7f6SDag-Erling Smørgrav case $host_os in 4566f61ef7f6SDag-Erling Smørgrav os2*) 4567f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4568f61ef7f6SDag-Erling Smørgrav ;; 4569f61ef7f6SDag-Erling Smørgrav esac 4570b7579f77SDag-Erling Smørgrav ;; 4571b7579f77SDag-Erling Smørgrav 4572b7579f77SDag-Erling Smørgrav darwin* | rhapsody*) 4573b7579f77SDag-Erling Smørgrav # PIC is the default on this platform 4574b7579f77SDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 4575b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4576b7579f77SDag-Erling Smørgrav ;; 4577b7579f77SDag-Erling Smørgrav 4578b7579f77SDag-Erling Smørgrav haiku*) 4579b7579f77SDag-Erling Smørgrav # PIC is the default for Haiku. 4580b7579f77SDag-Erling Smørgrav # The "-static" flag exists, but is broken. 4581b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)= 4582b7579f77SDag-Erling Smørgrav ;; 4583b7579f77SDag-Erling Smørgrav 4584b7579f77SDag-Erling Smørgrav hpux*) 4585b7579f77SDag-Erling Smørgrav # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4586b7579f77SDag-Erling Smørgrav # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4587b7579f77SDag-Erling Smørgrav # sets the default TLS model and affects inlining. 4588b7579f77SDag-Erling Smørgrav case $host_cpu in 4589b7579f77SDag-Erling Smørgrav hppa*64*) 4590b7579f77SDag-Erling Smørgrav # +Z the default 4591b7579f77SDag-Erling Smørgrav ;; 4592b7579f77SDag-Erling Smørgrav *) 4593b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4594b7579f77SDag-Erling Smørgrav ;; 4595b7579f77SDag-Erling Smørgrav esac 4596b7579f77SDag-Erling Smørgrav ;; 4597b7579f77SDag-Erling Smørgrav 4598b7579f77SDag-Erling Smørgrav interix[[3-9]]*) 4599b7579f77SDag-Erling Smørgrav # Interix 3.x gcc -fpic/-fPIC options generate broken code. 4600b7579f77SDag-Erling Smørgrav # Instead, we relocate shared libraries at runtime. 4601b7579f77SDag-Erling Smørgrav ;; 4602b7579f77SDag-Erling Smørgrav 4603b7579f77SDag-Erling Smørgrav msdosdjgpp*) 4604b7579f77SDag-Erling Smørgrav # Just because we use GCC doesn't mean we suddenly get shared libraries 4605b7579f77SDag-Erling Smørgrav # on systems that don't support them. 4606b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4607b7579f77SDag-Erling Smørgrav enable_shared=no 4608b7579f77SDag-Erling Smørgrav ;; 4609b7579f77SDag-Erling Smørgrav 4610b7579f77SDag-Erling Smørgrav *nto* | *qnx*) 4611b7579f77SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 4612b7579f77SDag-Erling Smørgrav # it will coredump. 4613b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4614b7579f77SDag-Erling Smørgrav ;; 4615b7579f77SDag-Erling Smørgrav 4616b7579f77SDag-Erling Smørgrav sysv4*MP*) 4617b7579f77SDag-Erling Smørgrav if test -d /usr/nec; then 4618b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4619b7579f77SDag-Erling Smørgrav fi 4620b7579f77SDag-Erling Smørgrav ;; 4621b7579f77SDag-Erling Smørgrav 4622b7579f77SDag-Erling Smørgrav *) 4623b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4624b7579f77SDag-Erling Smørgrav ;; 4625b7579f77SDag-Erling Smørgrav esac 4626b7579f77SDag-Erling Smørgrav 4627b7579f77SDag-Erling Smørgrav case $cc_basename in 4628b7579f77SDag-Erling Smørgrav nvcc*) # Cuda Compiler Driver 2.2 4629b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 46308ed2b524SDag-Erling Smørgrav if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 46318ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 46328ed2b524SDag-Erling Smørgrav fi 4633b7579f77SDag-Erling Smørgrav ;; 4634b7579f77SDag-Erling Smørgrav esac 4635b7579f77SDag-Erling Smørgrav else 4636b7579f77SDag-Erling Smørgrav # PORTME Check for flag to pass linker flags through the system compiler. 4637b7579f77SDag-Erling Smørgrav case $host_os in 4638b7579f77SDag-Erling Smørgrav aix*) 4639b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4640f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 4641b7579f77SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 4642b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4643b7579f77SDag-Erling Smørgrav else 4644b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4645b7579f77SDag-Erling Smørgrav fi 4646b7579f77SDag-Erling Smørgrav ;; 4647b7579f77SDag-Erling Smørgrav 4648f61ef7f6SDag-Erling Smørgrav darwin* | rhapsody*) 4649f61ef7f6SDag-Erling Smørgrav # PIC is the default on this platform 4650f61ef7f6SDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 4651f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4652f61ef7f6SDag-Erling Smørgrav case $cc_basename in 4653f61ef7f6SDag-Erling Smørgrav nagfor*) 4654f61ef7f6SDag-Erling Smørgrav # NAG Fortran compiler 4655f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4656f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4657f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4658f61ef7f6SDag-Erling Smørgrav ;; 4659f61ef7f6SDag-Erling Smørgrav esac 4660f61ef7f6SDag-Erling Smørgrav ;; 4661f61ef7f6SDag-Erling Smørgrav 4662b7579f77SDag-Erling Smørgrav mingw* | cygwin* | pw32* | os2* | cegcc*) 4663b7579f77SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 4664b7579f77SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 4665b7579f77SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 4666b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4667f61ef7f6SDag-Erling Smørgrav case $host_os in 4668f61ef7f6SDag-Erling Smørgrav os2*) 4669f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4670f61ef7f6SDag-Erling Smørgrav ;; 4671f61ef7f6SDag-Erling Smørgrav esac 4672b7579f77SDag-Erling Smørgrav ;; 4673b7579f77SDag-Erling Smørgrav 4674b7579f77SDag-Erling Smørgrav hpux9* | hpux10* | hpux11*) 4675b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4676b7579f77SDag-Erling Smørgrav # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 4677b7579f77SDag-Erling Smørgrav # not for PA HP-UX. 4678b7579f77SDag-Erling Smørgrav case $host_cpu in 4679b7579f77SDag-Erling Smørgrav hppa*64*|ia64*) 4680b7579f77SDag-Erling Smørgrav # +Z the default 4681b7579f77SDag-Erling Smørgrav ;; 4682b7579f77SDag-Erling Smørgrav *) 4683b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4684b7579f77SDag-Erling Smørgrav ;; 4685b7579f77SDag-Erling Smørgrav esac 4686b7579f77SDag-Erling Smørgrav # Is there a better lt_prog_compiler_static that works with the bundled CC? 4687f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4688b7579f77SDag-Erling Smørgrav ;; 4689b7579f77SDag-Erling Smørgrav 4690b7579f77SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 4691b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4692b7579f77SDag-Erling Smørgrav # PIC (with -KPIC) is the default. 4693b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4694b7579f77SDag-Erling Smørgrav ;; 4695b7579f77SDag-Erling Smørgrav 4696f61ef7f6SDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 4697b7579f77SDag-Erling Smørgrav case $cc_basename in 4698f61ef7f6SDag-Erling Smørgrav # old Intel for x86_64, which still supported -KPIC. 4699b7579f77SDag-Erling Smørgrav ecc*) 4700b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4701b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4702b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4703b7579f77SDag-Erling Smørgrav ;; 4704b7579f77SDag-Erling Smørgrav # icc used to be incompatible with GCC. 4705b7579f77SDag-Erling Smørgrav # ICC 10 doesn't accept -KPIC any more. 4706b7579f77SDag-Erling Smørgrav icc* | ifort*) 4707b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4708b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4709b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4710b7579f77SDag-Erling Smørgrav ;; 4711b7579f77SDag-Erling Smørgrav # Lahey Fortran 8.1. 4712b7579f77SDag-Erling Smørgrav lf95*) 4713b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4714b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 4715b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 4716b7579f77SDag-Erling Smørgrav ;; 4717b7579f77SDag-Erling Smørgrav nagfor*) 4718b7579f77SDag-Erling Smørgrav # NAG Fortran compiler 4719b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4720b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4721b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4722b7579f77SDag-Erling Smørgrav ;; 4723f61ef7f6SDag-Erling Smørgrav tcc*) 4724f61ef7f6SDag-Erling Smørgrav # Fabrice Bellard et al's Tiny C Compiler 4725f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4726f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4727f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4728f61ef7f6SDag-Erling Smørgrav ;; 4729b7579f77SDag-Erling Smørgrav pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 4730b7579f77SDag-Erling Smørgrav # Portland Group compilers (*not* the Pentium gcc compiler, 4731b7579f77SDag-Erling Smørgrav # which looks to be a dead project) 4732b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4733b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4734b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4735b7579f77SDag-Erling Smørgrav ;; 4736b7579f77SDag-Erling Smørgrav ccc*) 4737b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4738b7579f77SDag-Erling Smørgrav # All Alpha code is PIC. 4739b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4740b7579f77SDag-Erling Smørgrav ;; 4741b7579f77SDag-Erling Smørgrav xl* | bgxl* | bgf* | mpixl*) 4742b7579f77SDag-Erling Smørgrav # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 4743b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4744b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4745b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4746b7579f77SDag-Erling Smørgrav ;; 4747b7579f77SDag-Erling Smørgrav *) 4748*46d2f618SCy Schubert case `$CC -V 2>&1 | sed 5q` in 47498ed2b524SDag-Erling Smørgrav *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 4750b7579f77SDag-Erling Smørgrav # Sun Fortran 8.3 passes all unrecognized flags to the linker 4751b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4752b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4753b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4754b7579f77SDag-Erling Smørgrav ;; 47558ed2b524SDag-Erling Smørgrav *Sun\ F* | *Sun*Fortran*) 47568ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 47578ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 47588ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 47598ed2b524SDag-Erling Smørgrav ;; 4760b7579f77SDag-Erling Smørgrav *Sun\ C*) 4761b7579f77SDag-Erling Smørgrav # Sun C 5.9 4762b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4763b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4764b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4765b7579f77SDag-Erling Smørgrav ;; 47668ed2b524SDag-Erling Smørgrav *Intel*\ [[CF]]*Compiler*) 47678ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 47688ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 47698ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 47708ed2b524SDag-Erling Smørgrav ;; 47718ed2b524SDag-Erling Smørgrav *Portland\ Group*) 47728ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 47738ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 47748ed2b524SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 47758ed2b524SDag-Erling Smørgrav ;; 4776b7579f77SDag-Erling Smørgrav esac 4777b7579f77SDag-Erling Smørgrav ;; 4778b7579f77SDag-Erling Smørgrav esac 4779b7579f77SDag-Erling Smørgrav ;; 4780b7579f77SDag-Erling Smørgrav 4781b7579f77SDag-Erling Smørgrav newsos6) 4782b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4783b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4784b7579f77SDag-Erling Smørgrav ;; 4785b7579f77SDag-Erling Smørgrav 4786b7579f77SDag-Erling Smørgrav *nto* | *qnx*) 4787b7579f77SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 4788b7579f77SDag-Erling Smørgrav # it will coredump. 4789b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4790b7579f77SDag-Erling Smørgrav ;; 4791b7579f77SDag-Erling Smørgrav 4792b7579f77SDag-Erling Smørgrav osf3* | osf4* | osf5*) 4793b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4794b7579f77SDag-Erling Smørgrav # All OSF/1 code is PIC. 4795b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4796b7579f77SDag-Erling Smørgrav ;; 4797b7579f77SDag-Erling Smørgrav 4798b7579f77SDag-Erling Smørgrav rdos*) 4799b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4800b7579f77SDag-Erling Smørgrav ;; 4801b7579f77SDag-Erling Smørgrav 4802b7579f77SDag-Erling Smørgrav solaris*) 4803b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4804b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4805b7579f77SDag-Erling Smørgrav case $cc_basename in 4806b7579f77SDag-Erling Smørgrav f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 4807b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4808b7579f77SDag-Erling Smørgrav *) 4809b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4810b7579f77SDag-Erling Smørgrav esac 4811b7579f77SDag-Erling Smørgrav ;; 4812b7579f77SDag-Erling Smørgrav 4813b7579f77SDag-Erling Smørgrav sunos4*) 4814b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4815b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4816b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4817b7579f77SDag-Erling Smørgrav ;; 4818b7579f77SDag-Erling Smørgrav 4819b7579f77SDag-Erling Smørgrav sysv4 | sysv4.2uw2* | sysv4.3*) 4820b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4821b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4822b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4823b7579f77SDag-Erling Smørgrav ;; 4824b7579f77SDag-Erling Smørgrav 4825b7579f77SDag-Erling Smørgrav sysv4*MP*) 4826b7579f77SDag-Erling Smørgrav if test -d /usr/nec; then 4827b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4828b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4829b7579f77SDag-Erling Smørgrav fi 4830b7579f77SDag-Erling Smørgrav ;; 4831b7579f77SDag-Erling Smørgrav 4832b7579f77SDag-Erling Smørgrav sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4833b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4834b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4835b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4836b7579f77SDag-Erling Smørgrav ;; 4837b7579f77SDag-Erling Smørgrav 4838b7579f77SDag-Erling Smørgrav unicos*) 4839b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4840b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4841b7579f77SDag-Erling Smørgrav ;; 4842b7579f77SDag-Erling Smørgrav 4843b7579f77SDag-Erling Smørgrav uts4*) 4844b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4845b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4846b7579f77SDag-Erling Smørgrav ;; 4847b7579f77SDag-Erling Smørgrav 4848b7579f77SDag-Erling Smørgrav *) 4849b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4850b7579f77SDag-Erling Smørgrav ;; 4851b7579f77SDag-Erling Smørgrav esac 4852b7579f77SDag-Erling Smørgrav fi 4853b7579f77SDag-Erling Smørgrav]) 4854b7579f77SDag-Erling Smørgravcase $host_os in 4855f61ef7f6SDag-Erling Smørgrav # For platforms that do not support PIC, -DPIC is meaningless: 4856b7579f77SDag-Erling Smørgrav *djgpp*) 4857b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4858b7579f77SDag-Erling Smørgrav ;; 4859b7579f77SDag-Erling Smørgrav *) 4860b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 4861b7579f77SDag-Erling Smørgrav ;; 4862b7579f77SDag-Erling Smørgravesac 4863b7579f77SDag-Erling Smørgrav 4864b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for $compiler option to produce PIC], 4865b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 4866b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 4867b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 4868b7579f77SDag-Erling Smørgrav 4869b7579f77SDag-Erling Smørgrav# 4870b7579f77SDag-Erling Smørgrav# Check to make sure the PIC flag actually works. 4871b7579f77SDag-Erling Smørgrav# 4872b7579f77SDag-Erling Smørgravif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4873b7579f77SDag-Erling Smørgrav _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 4874b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 4875b7579f77SDag-Erling Smørgrav [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 4876b7579f77SDag-Erling Smørgrav [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 4877b7579f77SDag-Erling Smørgrav "" | " "*) ;; 4878b7579f77SDag-Erling Smørgrav *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 4879b7579f77SDag-Erling Smørgrav esac], 4880b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 4881b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 4882b7579f77SDag-Erling Smørgravfi 4883b7579f77SDag-Erling Smørgrav_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 4884b7579f77SDag-Erling Smørgrav [Additional compiler flags for building library objects]) 4885b7579f77SDag-Erling Smørgrav 4886b7579f77SDag-Erling Smørgrav_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 4887b7579f77SDag-Erling Smørgrav [How to pass a linker flag through the compiler]) 4888b7579f77SDag-Erling Smørgrav# 4889b7579f77SDag-Erling Smørgrav# Check to make sure the static flag actually works. 4890b7579f77SDag-Erling Smørgrav# 4891b7579f77SDag-Erling Smørgravwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 4892b7579f77SDag-Erling Smørgrav_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 4893b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 4894b7579f77SDag-Erling Smørgrav $lt_tmp_static_flag, 4895b7579f77SDag-Erling Smørgrav [], 4896b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 4897b7579f77SDag-Erling Smørgrav_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 4898b7579f77SDag-Erling Smørgrav [Compiler flag to prevent dynamic linking]) 4899b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_PIC 4900b7579f77SDag-Erling Smørgrav 4901b7579f77SDag-Erling Smørgrav 4902b7579f77SDag-Erling Smørgrav# _LT_LINKER_SHLIBS([TAGNAME]) 4903b7579f77SDag-Erling Smørgrav# ---------------------------- 4904b7579f77SDag-Erling Smørgrav# See if the linker supports building shared libraries. 4905b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_SHLIBS], 4906b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PATH_LD])dnl 4907b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 4908b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl 4909b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 4910b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 4911b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 4912b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 4913b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 4914b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4915b7579f77SDag-Erling Smørgravm4_if([$1], [CXX], [ 4916b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4917b7579f77SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4918b7579f77SDag-Erling Smørgrav case $host_os in 4919b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 4920b7579f77SDag-Erling Smørgrav # If we're using GNU nm, then we don't want the "-C" option. 4921f61ef7f6SDag-Erling Smørgrav # -C means demangle to GNU nm, but means don't demangle to AIX nm. 4922f61ef7f6SDag-Erling Smørgrav # Without the "-l" option, or with the "-B" option, AIX nm treats 4923f61ef7f6SDag-Erling Smørgrav # weak defined symbols like other global defined symbols, whereas 4924f61ef7f6SDag-Erling Smørgrav # GNU nm marks them as "W". 4925f61ef7f6SDag-Erling Smørgrav # While the 'weak' keyword is ignored in the Export File, we need 4926f61ef7f6SDag-Erling Smørgrav # it in the Import File for the 'aix-soname' feature, so we have 4927f61ef7f6SDag-Erling Smørgrav # to replace the "-B" option with "-P" for AIX nm. 4928b7579f77SDag-Erling Smørgrav if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4929f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' 4930b7579f77SDag-Erling Smørgrav else 4931*46d2f618SCy Schubert _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' 4932b7579f77SDag-Erling Smørgrav fi 4933b7579f77SDag-Erling Smørgrav ;; 4934b7579f77SDag-Erling Smørgrav pw32*) 4935f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds 4936b7579f77SDag-Erling Smørgrav ;; 4937b7579f77SDag-Erling Smørgrav cygwin* | mingw* | cegcc*) 4938b7579f77SDag-Erling Smørgrav case $cc_basename in 4939*46d2f618SCy Schubert cl*) 49408ed2b524SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 49418ed2b524SDag-Erling Smørgrav ;; 4942b7579f77SDag-Erling Smørgrav *) 4943b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' 4944b7579f77SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 4945b7579f77SDag-Erling Smørgrav ;; 4946b7579f77SDag-Erling Smørgrav esac 4947b7579f77SDag-Erling Smørgrav ;; 4948b7579f77SDag-Erling Smørgrav *) 4949b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4950b7579f77SDag-Erling Smørgrav ;; 4951b7579f77SDag-Erling Smørgrav esac 4952b7579f77SDag-Erling Smørgrav], [ 4953b7579f77SDag-Erling Smørgrav runpath_var= 4954b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)= 4955b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 4956b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)= 4957b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)= 4958b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=no 4959b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 4960b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4961b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4962b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_automatic, $1)=no 4963b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 4964b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 4965b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4966b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 4967b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=no 4968b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 4969b7579f77SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=no 4970b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=unknown 4971b7579f77SDag-Erling Smørgrav _LT_TAGVAR(module_cmds, $1)= 4972b7579f77SDag-Erling Smørgrav _LT_TAGVAR(module_expsym_cmds, $1)= 4973b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_new_cmds, $1)= 4974b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 4975b7579f77SDag-Erling Smørgrav _LT_TAGVAR(thread_safe_flag_spec, $1)= 4976b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 4977b7579f77SDag-Erling Smørgrav # include_expsyms should be a list of space-separated symbols to be *always* 4978b7579f77SDag-Erling Smørgrav # included in the symbol list 4979b7579f77SDag-Erling Smørgrav _LT_TAGVAR(include_expsyms, $1)= 4980b7579f77SDag-Erling Smørgrav # exclude_expsyms can be an extended regexp of symbols to exclude 4981f61ef7f6SDag-Erling Smørgrav # it will be wrapped by ' (' and ')$', so one must not match beginning or 4982f61ef7f6SDag-Erling Smørgrav # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', 4983f61ef7f6SDag-Erling Smørgrav # as well as any symbol that contains 'd'. 4984b7579f77SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4985b7579f77SDag-Erling Smørgrav # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 4986b7579f77SDag-Erling Smørgrav # platforms (ab)use it in PIC code, but their linkers get confused if 4987b7579f77SDag-Erling Smørgrav # the symbol is explicitly referenced. Since portable code cannot 4988b7579f77SDag-Erling Smørgrav # rely on this symbol name, it's probably fine to never include it in 4989b7579f77SDag-Erling Smørgrav # preloaded symbol tables. 4990b7579f77SDag-Erling Smørgrav # Exclude shared library initialization/finalization symbols. 4991b7579f77SDag-Erling Smørgravdnl Note also adjust exclude_expsyms for C++ above. 4992b7579f77SDag-Erling Smørgrav extract_expsyms_cmds= 4993b7579f77SDag-Erling Smørgrav 4994b7579f77SDag-Erling Smørgrav case $host_os in 4995b7579f77SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 4996*46d2f618SCy Schubert # FIXME: the MSVC++ port hasn't been tested in a loooong time 4997b7579f77SDag-Erling Smørgrav # When not using gcc, we currently assume that we are using 4998*46d2f618SCy Schubert # Microsoft Visual C++. 4999f61ef7f6SDag-Erling Smørgrav if test yes != "$GCC"; then 5000b7579f77SDag-Erling Smørgrav with_gnu_ld=no 5001b7579f77SDag-Erling Smørgrav fi 5002b7579f77SDag-Erling Smørgrav ;; 5003b7579f77SDag-Erling Smørgrav interix*) 5004*46d2f618SCy Schubert # we just hope/assume this is gcc and not c89 (= MSVC++) 5005b7579f77SDag-Erling Smørgrav with_gnu_ld=yes 5006b7579f77SDag-Erling Smørgrav ;; 5007f61ef7f6SDag-Erling Smørgrav openbsd* | bitrig*) 5008b7579f77SDag-Erling Smørgrav with_gnu_ld=no 5009b7579f77SDag-Erling Smørgrav ;; 5010b7579f77SDag-Erling Smørgrav esac 5011b7579f77SDag-Erling Smørgrav 5012b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 5013b7579f77SDag-Erling Smørgrav 5014b7579f77SDag-Erling Smørgrav # On some targets, GNU ld is compatible enough with the native linker 5015b7579f77SDag-Erling Smørgrav # that we're better off using the native interface for both. 5016b7579f77SDag-Erling Smørgrav lt_use_gnu_ld_interface=no 5017f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 5018b7579f77SDag-Erling Smørgrav case $host_os in 5019b7579f77SDag-Erling Smørgrav aix*) 5020b7579f77SDag-Erling Smørgrav # The AIX port of GNU ld has always aspired to compatibility 5021b7579f77SDag-Erling Smørgrav # with the native linker. However, as the warning in the GNU ld 5022b7579f77SDag-Erling Smørgrav # block says, versions before 2.19.5* couldn't really create working 5023b7579f77SDag-Erling Smørgrav # shared libraries, regardless of the interface used. 5024b7579f77SDag-Erling Smørgrav case `$LD -v 2>&1` in 5025b7579f77SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 5026b7579f77SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 5027b7579f77SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 5028b7579f77SDag-Erling Smørgrav *) 5029b7579f77SDag-Erling Smørgrav lt_use_gnu_ld_interface=yes 5030b7579f77SDag-Erling Smørgrav ;; 5031b7579f77SDag-Erling Smørgrav esac 5032b7579f77SDag-Erling Smørgrav ;; 5033b7579f77SDag-Erling Smørgrav *) 5034b7579f77SDag-Erling Smørgrav lt_use_gnu_ld_interface=yes 5035b7579f77SDag-Erling Smørgrav ;; 5036b7579f77SDag-Erling Smørgrav esac 5037b7579f77SDag-Erling Smørgrav fi 5038b7579f77SDag-Erling Smørgrav 5039f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_use_gnu_ld_interface"; then 5040b7579f77SDag-Erling Smørgrav # If archive_cmds runs LD, not CC, wlarc should be empty 5041f61ef7f6SDag-Erling Smørgrav wlarc='$wl' 5042b7579f77SDag-Erling Smørgrav 5043b7579f77SDag-Erling Smørgrav # Set some defaults for GNU ld with shared library support. These 5044b7579f77SDag-Erling Smørgrav # are reset later if shared libraries are not supported. Putting them 5045b7579f77SDag-Erling Smørgrav # here allows them to be overridden if necessary. 5046b7579f77SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 5047f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5048f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 5049b7579f77SDag-Erling Smørgrav # ancient GNU ld didn't support --whole-archive et. al. 5050b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 5051f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 5052b7579f77SDag-Erling Smørgrav else 5053b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 5054b7579f77SDag-Erling Smørgrav fi 5055b7579f77SDag-Erling Smørgrav supports_anon_versioning=no 5056*46d2f618SCy Schubert case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in 5057b7579f77SDag-Erling Smørgrav *GNU\ gold*) supports_anon_versioning=yes ;; 5058b7579f77SDag-Erling Smørgrav *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 5059b7579f77SDag-Erling Smørgrav *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 5060b7579f77SDag-Erling Smørgrav *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 5061b7579f77SDag-Erling Smørgrav *\ 2.11.*) ;; # other 2.11 versions 5062b7579f77SDag-Erling Smørgrav *) supports_anon_versioning=yes ;; 5063b7579f77SDag-Erling Smørgrav esac 5064b7579f77SDag-Erling Smørgrav 5065b7579f77SDag-Erling Smørgrav # See if GNU ld supports shared libraries. 5066b7579f77SDag-Erling Smørgrav case $host_os in 5067b7579f77SDag-Erling Smørgrav aix[[3-9]]*) 5068b7579f77SDag-Erling Smørgrav # On AIX/PPC, the GNU linker is very broken 5069f61ef7f6SDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 5070b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5071b7579f77SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 5072b7579f77SDag-Erling Smørgrav 5073b7579f77SDag-Erling Smørgrav*** Warning: the GNU linker, at least up to release 2.19, is reported 5074b7579f77SDag-Erling Smørgrav*** to be unable to reliably create shared libraries on AIX. 5075b7579f77SDag-Erling Smørgrav*** Therefore, libtool is disabling shared libraries support. If you 5076b7579f77SDag-Erling Smørgrav*** really care for shared libraries, you may want to install binutils 5077b7579f77SDag-Erling Smørgrav*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 5078b7579f77SDag-Erling Smørgrav*** You will then need to restart the configuration process. 5079b7579f77SDag-Erling Smørgrav 5080b7579f77SDag-Erling Smørgrav_LT_EOF 5081b7579f77SDag-Erling Smørgrav fi 5082b7579f77SDag-Erling Smørgrav ;; 5083b7579f77SDag-Erling Smørgrav 5084b7579f77SDag-Erling Smørgrav amigaos*) 5085b7579f77SDag-Erling Smørgrav case $host_cpu in 5086b7579f77SDag-Erling Smørgrav powerpc) 5087b7579f77SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 5088f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5089b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='' 5090b7579f77SDag-Erling Smørgrav ;; 5091b7579f77SDag-Erling Smørgrav m68k) 5092b7579f77SDag-Erling Smørgrav _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)' 5093b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5094b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5095b7579f77SDag-Erling Smørgrav ;; 5096b7579f77SDag-Erling Smørgrav esac 5097b7579f77SDag-Erling Smørgrav ;; 5098b7579f77SDag-Erling Smørgrav 5099b7579f77SDag-Erling Smørgrav beos*) 5100b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5101b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5102b7579f77SDag-Erling Smørgrav # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 5103b7579f77SDag-Erling Smørgrav # support --undefined. This deserves some investigation. FIXME 5104f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5105b7579f77SDag-Erling Smørgrav else 5106b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5107b7579f77SDag-Erling Smørgrav fi 5108b7579f77SDag-Erling Smørgrav ;; 5109b7579f77SDag-Erling Smørgrav 5110b7579f77SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 5111b7579f77SDag-Erling Smørgrav # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 5112b7579f77SDag-Erling Smørgrav # as there is no search path for DLLs. 5113b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5114f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 5115b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5116b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 5117b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5118b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' 5119b7579f77SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 5120b7579f77SDag-Erling Smørgrav 5121b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 5122f61ef7f6SDag-Erling Smørgrav _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' 5123f61ef7f6SDag-Erling Smørgrav # If the export-symbols file already is a .def file, use it as 5124f61ef7f6SDag-Erling Smørgrav # is; otherwise, prepend EXPORTS... 5125f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 5126b7579f77SDag-Erling Smørgrav cp $export_symbols $output_objdir/$soname.def; 5127b7579f77SDag-Erling Smørgrav else 5128b7579f77SDag-Erling Smørgrav echo EXPORTS > $output_objdir/$soname.def; 5129b7579f77SDag-Erling Smørgrav cat $export_symbols >> $output_objdir/$soname.def; 5130b7579f77SDag-Erling Smørgrav fi~ 5131f61ef7f6SDag-Erling Smørgrav $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 5132b7579f77SDag-Erling Smørgrav else 5133b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5134b7579f77SDag-Erling Smørgrav fi 5135b7579f77SDag-Erling Smørgrav ;; 5136b7579f77SDag-Erling Smørgrav 5137b7579f77SDag-Erling Smørgrav haiku*) 5138f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5139b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 5140b7579f77SDag-Erling Smørgrav ;; 5141b7579f77SDag-Erling Smørgrav 5142f61ef7f6SDag-Erling Smørgrav os2*) 5143f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5144f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5145f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5146f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 5147f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5148f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5149f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5150f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5151f61ef7f6SDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 5152f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5153f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5154f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5155f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5156f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5157f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5158f61ef7f6SDag-Erling Smørgrav prefix_cmds="$SED"~ 5159f61ef7f6SDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 5160f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 5161f61ef7f6SDag-Erling Smørgrav fi~ 5162f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 5163f61ef7f6SDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 5164f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5165f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5166f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 5167f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5168f61ef7f6SDag-Erling Smørgrav ;; 5169f61ef7f6SDag-Erling Smørgrav 5170b7579f77SDag-Erling Smørgrav interix[[3-9]]*) 5171b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 5172b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5173f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5174f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5175b7579f77SDag-Erling Smørgrav # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 5176b7579f77SDag-Erling Smørgrav # Instead, shared libraries are loaded at an image base (0x10000000 by 5177b7579f77SDag-Erling Smørgrav # default) and relocated if they conflict, which is a slow very memory 5178b7579f77SDag-Erling Smørgrav # consuming and fragmenting process. To avoid this, we pick a random, 5179b7579f77SDag-Erling Smørgrav # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 5180b7579f77SDag-Erling Smørgrav # time. Moving up from 0x10000000 also allows more sbrk(2) space. 5181f61ef7f6SDag-Erling Smørgrav _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' 5182*46d2f618SCy Schubert _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' 5183b7579f77SDag-Erling Smørgrav ;; 5184b7579f77SDag-Erling Smørgrav 5185b7579f77SDag-Erling Smørgrav gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 5186b7579f77SDag-Erling Smørgrav tmp_diet=no 5187f61ef7f6SDag-Erling Smørgrav if test linux-dietlibc = "$host_os"; then 5188b7579f77SDag-Erling Smørgrav case $cc_basename in 5189b7579f77SDag-Erling Smørgrav diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 5190b7579f77SDag-Erling Smørgrav esac 5191b7579f77SDag-Erling Smørgrav fi 5192b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 5193f61ef7f6SDag-Erling Smørgrav && test no = "$tmp_diet" 5194b7579f77SDag-Erling Smørgrav then 5195b7579f77SDag-Erling Smørgrav tmp_addflag=' $pic_flag' 5196b7579f77SDag-Erling Smørgrav tmp_sharedflag='-shared' 5197b7579f77SDag-Erling Smørgrav case $cc_basename,$host_cpu in 5198b7579f77SDag-Erling Smørgrav pgcc*) # Portland Group C compiler 5199f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 5200b7579f77SDag-Erling Smørgrav tmp_addflag=' $pic_flag' 5201b7579f77SDag-Erling Smørgrav ;; 5202b7579f77SDag-Erling Smørgrav pgf77* | pgf90* | pgf95* | pgfortran*) 5203b7579f77SDag-Erling Smørgrav # Portland Group f77 and f90 compilers 5204f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 5205b7579f77SDag-Erling Smørgrav tmp_addflag=' $pic_flag -Mnomain' ;; 5206b7579f77SDag-Erling Smørgrav ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 5207b7579f77SDag-Erling Smørgrav tmp_addflag=' -i_dynamic' ;; 5208b7579f77SDag-Erling Smørgrav efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 5209b7579f77SDag-Erling Smørgrav tmp_addflag=' -i_dynamic -nofor_main' ;; 5210b7579f77SDag-Erling Smørgrav ifc* | ifort*) # Intel Fortran compiler 5211b7579f77SDag-Erling Smørgrav tmp_addflag=' -nofor_main' ;; 5212b7579f77SDag-Erling Smørgrav lf95*) # Lahey Fortran 8.1 5213b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 5214b7579f77SDag-Erling Smørgrav tmp_sharedflag='--shared' ;; 5215f61ef7f6SDag-Erling Smørgrav nagfor*) # NAGFOR 5.3 5216f61ef7f6SDag-Erling Smørgrav tmp_sharedflag='-Wl,-shared' ;; 5217b7579f77SDag-Erling Smørgrav xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 5218b7579f77SDag-Erling Smørgrav tmp_sharedflag='-qmkshrobj' 5219b7579f77SDag-Erling Smørgrav tmp_addflag= ;; 5220b7579f77SDag-Erling Smørgrav nvcc*) # Cuda Compiler Driver 2.2 5221f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 5222b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 5223b7579f77SDag-Erling Smørgrav ;; 5224b7579f77SDag-Erling Smørgrav esac 5225*46d2f618SCy Schubert case `$CC -V 2>&1 | sed 5q` in 5226b7579f77SDag-Erling Smørgrav *Sun\ C*) # Sun C 5.9 5227f61ef7f6SDag-Erling Smørgrav _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; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 5228b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 5229b7579f77SDag-Erling Smørgrav tmp_sharedflag='-G' ;; 5230b7579f77SDag-Erling Smørgrav *Sun\ F*) # Sun Fortran 8.3 5231b7579f77SDag-Erling Smørgrav tmp_sharedflag='-G' ;; 5232b7579f77SDag-Erling Smørgrav esac 5233f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5234b7579f77SDag-Erling Smørgrav 5235f61ef7f6SDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 5236b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5237*46d2f618SCy Schubert cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5238b7579f77SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 5239f61ef7f6SDag-Erling Smørgrav $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 5240b7579f77SDag-Erling Smørgrav fi 5241b7579f77SDag-Erling Smørgrav 5242b7579f77SDag-Erling Smørgrav case $cc_basename in 5243f61ef7f6SDag-Erling Smørgrav tcc*) 5244f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' 5245f61ef7f6SDag-Erling Smørgrav ;; 5246b7579f77SDag-Erling Smørgrav xlf* | bgf* | bgxlf* | mpixlf*) 5247b7579f77SDag-Erling Smørgrav # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 5248b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 5249f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5250b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 5251f61ef7f6SDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 5252b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5253*46d2f618SCy Schubert cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5254b7579f77SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 5255b7579f77SDag-Erling Smørgrav $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 5256b7579f77SDag-Erling Smørgrav fi 5257b7579f77SDag-Erling Smørgrav ;; 5258b7579f77SDag-Erling Smørgrav esac 5259b7579f77SDag-Erling Smørgrav else 5260b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5261b7579f77SDag-Erling Smørgrav fi 5262b7579f77SDag-Erling Smørgrav ;; 5263b7579f77SDag-Erling Smørgrav 5264091e9e46SCy Schubert netbsd*) 5265b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 5266b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 5267b7579f77SDag-Erling Smørgrav wlarc= 5268b7579f77SDag-Erling Smørgrav else 5269f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5270f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' 5271b7579f77SDag-Erling Smørgrav fi 5272b7579f77SDag-Erling Smørgrav ;; 5273b7579f77SDag-Erling Smørgrav 5274b7579f77SDag-Erling Smørgrav solaris*) 5275b7579f77SDag-Erling Smørgrav if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 5276b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5277b7579f77SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 5278b7579f77SDag-Erling Smørgrav 5279b7579f77SDag-Erling Smørgrav*** Warning: The releases 2.8.* of the GNU linker cannot reliably 5280b7579f77SDag-Erling Smørgrav*** create shared libraries on Solaris systems. Therefore, libtool 5281b7579f77SDag-Erling Smørgrav*** is disabling shared libraries support. We urge you to upgrade GNU 5282b7579f77SDag-Erling Smørgrav*** binutils to release 2.9.1 or newer. Another option is to modify 5283b7579f77SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is 5284b7579f77SDag-Erling Smørgrav*** used, and then restart. 5285b7579f77SDag-Erling Smørgrav 5286b7579f77SDag-Erling Smørgrav_LT_EOF 5287b7579f77SDag-Erling Smørgrav elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5288f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5289f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' 5290b7579f77SDag-Erling Smørgrav else 5291b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5292b7579f77SDag-Erling Smørgrav fi 5293b7579f77SDag-Erling Smørgrav ;; 5294b7579f77SDag-Erling Smørgrav 5295b7579f77SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 5296b7579f77SDag-Erling Smørgrav case `$LD -v 2>&1` in 5297b7579f77SDag-Erling Smørgrav *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 5298b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5299b7579f77SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 5300b7579f77SDag-Erling Smørgrav 5301b7579f77SDag-Erling Smørgrav*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 5302b7579f77SDag-Erling Smørgrav*** reliably create shared libraries on SCO systems. Therefore, libtool 5303b7579f77SDag-Erling Smørgrav*** is disabling shared libraries support. We urge you to upgrade GNU 5304b7579f77SDag-Erling Smørgrav*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 5305b7579f77SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is 5306b7579f77SDag-Erling Smørgrav*** used, and then restart. 5307b7579f77SDag-Erling Smørgrav 5308b7579f77SDag-Erling Smørgrav_LT_EOF 5309b7579f77SDag-Erling Smørgrav ;; 5310b7579f77SDag-Erling Smørgrav *) 5311b7579f77SDag-Erling Smørgrav # For security reasons, it is highly recommended that you always 5312b7579f77SDag-Erling Smørgrav # use absolute paths for naming shared libraries, and exclude the 5313b7579f77SDag-Erling Smørgrav # DT_RUNPATH tag from executables and libraries. But doing so 5314b7579f77SDag-Erling Smørgrav # requires that you compile everything twice, which is a pain. 5315b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5316f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5317f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5318f61ef7f6SDag-Erling Smørgrav _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' 5319b7579f77SDag-Erling Smørgrav else 5320b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5321b7579f77SDag-Erling Smørgrav fi 5322b7579f77SDag-Erling Smørgrav ;; 5323b7579f77SDag-Erling Smørgrav esac 5324b7579f77SDag-Erling Smørgrav ;; 5325b7579f77SDag-Erling Smørgrav 5326b7579f77SDag-Erling Smørgrav sunos4*) 5327b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5328b7579f77SDag-Erling Smørgrav wlarc= 5329b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5330b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5331b7579f77SDag-Erling Smørgrav ;; 5332b7579f77SDag-Erling Smørgrav 5333b7579f77SDag-Erling Smørgrav *) 5334b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5335f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5336f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' 5337b7579f77SDag-Erling Smørgrav else 5338b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5339b7579f77SDag-Erling Smørgrav fi 5340b7579f77SDag-Erling Smørgrav ;; 5341b7579f77SDag-Erling Smørgrav esac 5342b7579f77SDag-Erling Smørgrav 5343f61ef7f6SDag-Erling Smørgrav if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then 5344b7579f77SDag-Erling Smørgrav runpath_var= 5345b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5346b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)= 5347b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 5348b7579f77SDag-Erling Smørgrav fi 5349b7579f77SDag-Erling Smørgrav else 5350b7579f77SDag-Erling Smørgrav # PORTME fill in a description of your system's linker (not GNU ld) 5351b7579f77SDag-Erling Smørgrav case $host_os in 5352b7579f77SDag-Erling Smørgrav aix3*) 5353b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5354b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 5355b7579f77SDag-Erling Smørgrav _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' 5356b7579f77SDag-Erling Smørgrav # Note: this linker hardcodes the directories in LIBPATH if there 5357b7579f77SDag-Erling Smørgrav # are no directories specified by -L. 5358b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5359f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 5360b7579f77SDag-Erling Smørgrav # Neither direct hardcoding nor static linking is supported with a 5361b7579f77SDag-Erling Smørgrav # broken collect2. 5362b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 5363b7579f77SDag-Erling Smørgrav fi 5364b7579f77SDag-Erling Smørgrav ;; 5365b7579f77SDag-Erling Smørgrav 5366b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 5367f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 5368b7579f77SDag-Erling Smørgrav # On IA64, the linker does run time linking by default, so we don't 5369b7579f77SDag-Erling Smørgrav # have to do anything special. 5370b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=no 5371b7579f77SDag-Erling Smørgrav exp_sym_flag='-Bexport' 5372f61ef7f6SDag-Erling Smørgrav no_entry_flag= 5373b7579f77SDag-Erling Smørgrav else 5374b7579f77SDag-Erling Smørgrav # If we're using GNU nm, then we don't want the "-C" option. 5375f61ef7f6SDag-Erling Smørgrav # -C means demangle to GNU nm, but means don't demangle to AIX nm. 5376f61ef7f6SDag-Erling Smørgrav # Without the "-l" option, or with the "-B" option, AIX nm treats 5377f61ef7f6SDag-Erling Smørgrav # weak defined symbols like other global defined symbols, whereas 5378f61ef7f6SDag-Erling Smørgrav # GNU nm marks them as "W". 5379f61ef7f6SDag-Erling Smørgrav # While the 'weak' keyword is ignored in the Export File, we need 5380f61ef7f6SDag-Erling Smørgrav # it in the Import File for the 'aix-soname' feature, so we have 5381f61ef7f6SDag-Erling Smørgrav # to replace the "-B" option with "-P" for AIX nm. 5382b7579f77SDag-Erling Smørgrav if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 5383f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' 5384b7579f77SDag-Erling Smørgrav else 5385*46d2f618SCy Schubert _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' 5386b7579f77SDag-Erling Smørgrav fi 5387b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=no 5388b7579f77SDag-Erling Smørgrav 5389b7579f77SDag-Erling Smørgrav # Test if we are trying to use run time linking or normal 5390b7579f77SDag-Erling Smørgrav # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5391f61ef7f6SDag-Erling Smørgrav # have runtime linking enabled, and use it for executables. 5392f61ef7f6SDag-Erling Smørgrav # For shared libraries, we enable/disable runtime linking 5393f61ef7f6SDag-Erling Smørgrav # depending on the kind of the shared library created - 5394f61ef7f6SDag-Erling Smørgrav # when "with_aix_soname,aix_use_runtimelinking" is: 5395f61ef7f6SDag-Erling Smørgrav # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 5396f61ef7f6SDag-Erling Smørgrav # "aix,yes" lib.so shared, rtl:yes, for executables 5397f61ef7f6SDag-Erling Smørgrav # lib.a static archive 5398f61ef7f6SDag-Erling Smørgrav # "both,no" lib.so.V(shr.o) shared, rtl:yes 5399f61ef7f6SDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no, for executables 5400f61ef7f6SDag-Erling Smørgrav # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 5401f61ef7f6SDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no 5402f61ef7f6SDag-Erling Smørgrav # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 5403f61ef7f6SDag-Erling Smørgrav # lib.a static archive 5404b7579f77SDag-Erling Smørgrav case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 5405b7579f77SDag-Erling Smørgrav for ld_flag in $LDFLAGS; do 5406f61ef7f6SDag-Erling Smørgrav if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 5407b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=yes 5408b7579f77SDag-Erling Smørgrav break 5409b7579f77SDag-Erling Smørgrav fi 5410b7579f77SDag-Erling Smørgrav done 5411f61ef7f6SDag-Erling Smørgrav if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 5412f61ef7f6SDag-Erling Smørgrav # With aix-soname=svr4, we create the lib.so.V shared archives only, 5413f61ef7f6SDag-Erling Smørgrav # so we don't have lib.a shared libs to link our executables. 5414f61ef7f6SDag-Erling Smørgrav # We have to force runtime linking in this case. 5415f61ef7f6SDag-Erling Smørgrav aix_use_runtimelinking=yes 5416f61ef7f6SDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-brtl" 5417f61ef7f6SDag-Erling Smørgrav fi 5418b7579f77SDag-Erling Smørgrav ;; 5419b7579f77SDag-Erling Smørgrav esac 5420b7579f77SDag-Erling Smørgrav 5421b7579f77SDag-Erling Smørgrav exp_sym_flag='-bexport' 5422b7579f77SDag-Erling Smørgrav no_entry_flag='-bnoentry' 5423b7579f77SDag-Erling Smørgrav fi 5424b7579f77SDag-Erling Smørgrav 5425b7579f77SDag-Erling Smørgrav # When large executables or shared objects are built, AIX ld can 5426b7579f77SDag-Erling Smørgrav # have problems creating the table of contents. If linking a library 5427b7579f77SDag-Erling Smørgrav # or program results in "error TOC overflow" add -mminimal-toc to 5428b7579f77SDag-Erling Smørgrav # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 5429b7579f77SDag-Erling Smørgrav # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 5430b7579f77SDag-Erling Smørgrav 5431b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='' 5432b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5433b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5434b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5435b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 5436f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 5437f61ef7f6SDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 5438f61ef7f6SDag-Erling Smørgrav aix,*) ;; # traditional, no import file 5439f61ef7f6SDag-Erling Smørgrav svr4,* | *,yes) # use import file 5440f61ef7f6SDag-Erling Smørgrav # The Import File defines what to hardcode. 5441f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 5442f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 5443f61ef7f6SDag-Erling Smørgrav ;; 5444f61ef7f6SDag-Erling Smørgrav esac 5445b7579f77SDag-Erling Smørgrav 5446f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5447b7579f77SDag-Erling Smørgrav case $host_os in aix4.[[012]]|aix4.[[012]].*) 5448b7579f77SDag-Erling Smørgrav # We only want to do this on AIX 4.2 and lower, the check 5449b7579f77SDag-Erling Smørgrav # below for broken collect2 doesn't work under 4.3+ 5450f61ef7f6SDag-Erling Smørgrav collect2name=`$CC -print-prog-name=collect2` 5451b7579f77SDag-Erling Smørgrav if test -f "$collect2name" && 5452b7579f77SDag-Erling Smørgrav strings "$collect2name" | $GREP resolve_lib_name >/dev/null 5453b7579f77SDag-Erling Smørgrav then 5454b7579f77SDag-Erling Smørgrav # We have reworked collect2 5455b7579f77SDag-Erling Smørgrav : 5456b7579f77SDag-Erling Smørgrav else 5457b7579f77SDag-Erling Smørgrav # We have old collect2 5458b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 5459b7579f77SDag-Erling Smørgrav # It fails to find uninstalled libraries when the uninstalled 5460b7579f77SDag-Erling Smørgrav # path is not listed in the libpath. Setting hardcode_minus_L 5461b7579f77SDag-Erling Smørgrav # to unsupported forces relinking 5462b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5463b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5464b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 5465b7579f77SDag-Erling Smørgrav fi 5466b7579f77SDag-Erling Smørgrav ;; 5467b7579f77SDag-Erling Smørgrav esac 5468b7579f77SDag-Erling Smørgrav shared_flag='-shared' 5469f61ef7f6SDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 5470f61ef7f6SDag-Erling Smørgrav shared_flag="$shared_flag "'$wl-G' 5471b7579f77SDag-Erling Smørgrav fi 5472f61ef7f6SDag-Erling Smørgrav # Need to ensure runtime linking is disabled for the traditional 5473f61ef7f6SDag-Erling Smørgrav # shared library, or the linker may eventually find shared libraries 5474f61ef7f6SDag-Erling Smørgrav # /with/ Import File - we do not want to mix them. 5475f61ef7f6SDag-Erling Smørgrav shared_flag_aix='-shared' 5476f61ef7f6SDag-Erling Smørgrav shared_flag_svr4='-shared $wl-G' 5477b7579f77SDag-Erling Smørgrav else 5478b7579f77SDag-Erling Smørgrav # not using gcc 5479f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 5480b7579f77SDag-Erling Smørgrav # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 5481b7579f77SDag-Erling Smørgrav # chokes on -Wl,-G. The following line is correct: 5482b7579f77SDag-Erling Smørgrav shared_flag='-G' 5483b7579f77SDag-Erling Smørgrav else 5484f61ef7f6SDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 5485f61ef7f6SDag-Erling Smørgrav shared_flag='$wl-G' 5486b7579f77SDag-Erling Smørgrav else 5487f61ef7f6SDag-Erling Smørgrav shared_flag='$wl-bM:SRE' 5488b7579f77SDag-Erling Smørgrav fi 5489f61ef7f6SDag-Erling Smørgrav shared_flag_aix='$wl-bM:SRE' 5490f61ef7f6SDag-Erling Smørgrav shared_flag_svr4='$wl-G' 5491b7579f77SDag-Erling Smørgrav fi 5492b7579f77SDag-Erling Smørgrav fi 5493b7579f77SDag-Erling Smørgrav 5494f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 5495b7579f77SDag-Erling Smørgrav # It seems that -bexpall does not export symbols beginning with 5496b7579f77SDag-Erling Smørgrav # underscore (_), so it is better to generate a list of symbols to export. 5497b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 5498f61ef7f6SDag-Erling Smørgrav if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 5499b7579f77SDag-Erling Smørgrav # Warning - without using the other runtime loading flags (-brtl), 5500b7579f77SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 5501b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5502b7579f77SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 5503b7579f77SDag-Erling Smørgrav # empty executable. 5504b7579f77SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 5505f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 5506f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag 5507b7579f77SDag-Erling Smørgrav else 5508f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 5509f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 5510b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5511f61ef7f6SDag-Erling Smørgrav _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" 5512b7579f77SDag-Erling Smørgrav else 5513b7579f77SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 5514b7579f77SDag-Erling Smørgrav # empty executable. 5515b7579f77SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 5516f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 5517b7579f77SDag-Erling Smørgrav # Warning - without using the other run time loading flags, 5518b7579f77SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 5519f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 5520f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 5521f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 5522b7579f77SDag-Erling Smørgrav # We only use this code for GNU lds that support --whole-archive. 5523f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 5524b7579f77SDag-Erling Smørgrav else 5525b7579f77SDag-Erling Smørgrav # Exported symbols can be pulled into shared objects from archives 5526b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5527b7579f77SDag-Erling Smørgrav fi 5528b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5529f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 5530f61ef7f6SDag-Erling Smørgrav # -brtl affects multiple linker settings, -berok does not and is overridden later 5531f61ef7f6SDag-Erling Smørgrav compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 5532f61ef7f6SDag-Erling Smørgrav if test svr4 != "$with_aix_soname"; then 5533b7579f77SDag-Erling Smørgrav # This is similar to how AIX traditionally builds its shared libraries. 5534f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' 5535f61ef7f6SDag-Erling Smørgrav fi 5536f61ef7f6SDag-Erling Smørgrav if test aix != "$with_aix_soname"; then 5537f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' 5538f61ef7f6SDag-Erling Smørgrav else 5539f61ef7f6SDag-Erling Smørgrav # used by -dlpreopen to get the symbols 5540f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 5541f61ef7f6SDag-Erling Smørgrav fi 5542f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 5543b7579f77SDag-Erling Smørgrav fi 5544b7579f77SDag-Erling Smørgrav fi 5545b7579f77SDag-Erling Smørgrav ;; 5546b7579f77SDag-Erling Smørgrav 5547b7579f77SDag-Erling Smørgrav amigaos*) 5548b7579f77SDag-Erling Smørgrav case $host_cpu in 5549b7579f77SDag-Erling Smørgrav powerpc) 5550b7579f77SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 5551f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5552b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='' 5553b7579f77SDag-Erling Smørgrav ;; 5554b7579f77SDag-Erling Smørgrav m68k) 5555b7579f77SDag-Erling Smørgrav _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)' 5556b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5557b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5558b7579f77SDag-Erling Smørgrav ;; 5559b7579f77SDag-Erling Smørgrav esac 5560b7579f77SDag-Erling Smørgrav ;; 5561b7579f77SDag-Erling Smørgrav 5562b7579f77SDag-Erling Smørgrav bsdi[[45]]*) 5563b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 5564b7579f77SDag-Erling Smørgrav ;; 5565b7579f77SDag-Erling Smørgrav 5566b7579f77SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 5567b7579f77SDag-Erling Smørgrav # When not using gcc, we currently assume that we are using 5568*46d2f618SCy Schubert # Microsoft Visual C++. 5569b7579f77SDag-Erling Smørgrav # hardcode_libdir_flag_spec is actually meaningless, as there is 5570b7579f77SDag-Erling Smørgrav # no search path for DLLs. 5571b7579f77SDag-Erling Smørgrav case $cc_basename in 5572*46d2f618SCy Schubert cl*) 5573*46d2f618SCy Schubert # Native MSVC 5574b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5575b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5576b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 5577b7579f77SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='@' 5578b7579f77SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 5579b7579f77SDag-Erling Smørgrav libext=lib 5580b7579f77SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 5581f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 5582b7579f77SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 5583f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 5584f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 5585f61ef7f6SDag-Erling Smørgrav cp "$export_symbols" "$output_objdir/$soname.def"; 5586f61ef7f6SDag-Erling Smørgrav echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 5587b7579f77SDag-Erling Smørgrav else 5588f61ef7f6SDag-Erling Smørgrav $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 5589b7579f77SDag-Erling Smørgrav fi~ 5590b7579f77SDag-Erling Smørgrav $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 5591b7579f77SDag-Erling Smørgrav linknames=' 5592b7579f77SDag-Erling Smørgrav # The linker will not automatically build a static lib if we build a DLL. 5593b7579f77SDag-Erling Smørgrav # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5594b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 55958ed2b524SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 5596b7579f77SDag-Erling Smørgrav _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' 5597b7579f77SDag-Erling Smørgrav # Don't use ranlib 5598b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 5599b7579f77SDag-Erling Smørgrav _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 5600b7579f77SDag-Erling Smørgrav lt_tool_outputfile="@TOOL_OUTPUT@"~ 5601b7579f77SDag-Erling Smørgrav case $lt_outputfile in 5602b7579f77SDag-Erling Smørgrav *.exe|*.EXE) ;; 5603b7579f77SDag-Erling Smørgrav *) 5604f61ef7f6SDag-Erling Smørgrav lt_outputfile=$lt_outputfile.exe 5605f61ef7f6SDag-Erling Smørgrav lt_tool_outputfile=$lt_tool_outputfile.exe 5606b7579f77SDag-Erling Smørgrav ;; 5607b7579f77SDag-Erling Smørgrav esac~ 5608f61ef7f6SDag-Erling Smørgrav if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 5609b7579f77SDag-Erling Smørgrav $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 5610b7579f77SDag-Erling Smørgrav $RM "$lt_outputfile.manifest"; 5611b7579f77SDag-Erling Smørgrav fi' 5612b7579f77SDag-Erling Smørgrav ;; 5613b7579f77SDag-Erling Smørgrav *) 5614*46d2f618SCy Schubert # Assume MSVC wrapper 5615b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5616b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5617b7579f77SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 5618b7579f77SDag-Erling Smørgrav libext=lib 5619b7579f77SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 5620f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 5621b7579f77SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 5622b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 5623b7579f77SDag-Erling Smørgrav # The linker will automatically build a .lib file if we build a DLL. 5624b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5625b7579f77SDag-Erling Smørgrav # FIXME: Should let the user specify the lib program. 5626b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 5627b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5628b7579f77SDag-Erling Smørgrav ;; 5629b7579f77SDag-Erling Smørgrav esac 5630b7579f77SDag-Erling Smørgrav ;; 5631b7579f77SDag-Erling Smørgrav 5632b7579f77SDag-Erling Smørgrav darwin* | rhapsody*) 5633b7579f77SDag-Erling Smørgrav _LT_DARWIN_LINKER_FEATURES($1) 5634b7579f77SDag-Erling Smørgrav ;; 5635b7579f77SDag-Erling Smørgrav 5636b7579f77SDag-Erling Smørgrav dgux*) 5637b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5638b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5639b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5640b7579f77SDag-Erling Smørgrav ;; 5641b7579f77SDag-Erling Smørgrav 5642b7579f77SDag-Erling Smørgrav # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 5643b7579f77SDag-Erling Smørgrav # support. Future versions do this automatically, but an explicit c++rt0.o 5644b7579f77SDag-Erling Smørgrav # does not break anything, and helps significantly (at the cost of a little 5645b7579f77SDag-Erling Smørgrav # extra space). 5646b7579f77SDag-Erling Smørgrav freebsd2.2*) 5647b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 5648b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5649b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5650b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5651b7579f77SDag-Erling Smørgrav ;; 5652b7579f77SDag-Erling Smørgrav 5653b7579f77SDag-Erling Smørgrav # Unfortunately, older versions of FreeBSD 2 do not have this feature. 56548ed2b524SDag-Erling Smørgrav freebsd2.*) 5655b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5656b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5657b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5658b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5659b7579f77SDag-Erling Smørgrav ;; 5660b7579f77SDag-Erling Smørgrav 5661b7579f77SDag-Erling Smørgrav # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 5662*46d2f618SCy Schubert freebsd* | dragonfly*) 5663b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5664b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5665b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5666b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5667b7579f77SDag-Erling Smørgrav ;; 5668b7579f77SDag-Erling Smørgrav 5669b7579f77SDag-Erling Smørgrav hpux9*) 5670f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5671f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 5672b7579f77SDag-Erling Smørgrav else 5673f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 5674b7579f77SDag-Erling Smørgrav fi 5675f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5676b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5677b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5678b7579f77SDag-Erling Smørgrav 5679b7579f77SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 5680b7579f77SDag-Erling Smørgrav # but as the default location of the library. 5681b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5682f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5683b7579f77SDag-Erling Smørgrav ;; 5684b7579f77SDag-Erling Smørgrav 5685b7579f77SDag-Erling Smørgrav hpux10*) 5686f61ef7f6SDag-Erling Smørgrav if test yes,no = "$GCC,$with_gnu_ld"; then 5687f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5688b7579f77SDag-Erling Smørgrav else 5689b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 5690b7579f77SDag-Erling Smørgrav fi 5691f61ef7f6SDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 5692f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5693b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5694b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5695b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5696f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5697b7579f77SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 5698b7579f77SDag-Erling Smørgrav # but as the default location of the library. 5699b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5700b7579f77SDag-Erling Smørgrav fi 5701b7579f77SDag-Erling Smørgrav ;; 5702b7579f77SDag-Erling Smørgrav 5703b7579f77SDag-Erling Smørgrav hpux11*) 5704f61ef7f6SDag-Erling Smørgrav if test yes,no = "$GCC,$with_gnu_ld"; then 5705b7579f77SDag-Erling Smørgrav case $host_cpu in 5706b7579f77SDag-Erling Smørgrav hppa*64*) 5707f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 5708b7579f77SDag-Erling Smørgrav ;; 5709b7579f77SDag-Erling Smørgrav ia64*) 5710f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5711b7579f77SDag-Erling Smørgrav ;; 5712b7579f77SDag-Erling Smørgrav *) 5713f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5714b7579f77SDag-Erling Smørgrav ;; 5715b7579f77SDag-Erling Smørgrav esac 5716b7579f77SDag-Erling Smørgrav else 5717b7579f77SDag-Erling Smørgrav case $host_cpu in 5718b7579f77SDag-Erling Smørgrav hppa*64*) 5719f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 5720b7579f77SDag-Erling Smørgrav ;; 5721b7579f77SDag-Erling Smørgrav ia64*) 5722f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5723b7579f77SDag-Erling Smørgrav ;; 5724b7579f77SDag-Erling Smørgrav *) 5725b7579f77SDag-Erling Smørgrav m4_if($1, [], [ 5726b7579f77SDag-Erling Smørgrav # Older versions of the 11.00 compiler do not understand -b yet 5727b7579f77SDag-Erling Smørgrav # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 5728b7579f77SDag-Erling Smørgrav _LT_LINKER_OPTION([if $CC understands -b], 5729b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 5730f61ef7f6SDag-Erling Smørgrav [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 5731b7579f77SDag-Erling Smørgrav [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 5732f61ef7f6SDag-Erling Smørgrav [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 5733b7579f77SDag-Erling Smørgrav ;; 5734b7579f77SDag-Erling Smørgrav esac 5735b7579f77SDag-Erling Smørgrav fi 5736f61ef7f6SDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 5737f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5738b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5739b7579f77SDag-Erling Smørgrav 5740b7579f77SDag-Erling Smørgrav case $host_cpu in 5741b7579f77SDag-Erling Smørgrav hppa*64*|ia64*) 5742b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 5743b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5744b7579f77SDag-Erling Smørgrav ;; 5745b7579f77SDag-Erling Smørgrav *) 5746b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5747b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5748f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5749b7579f77SDag-Erling Smørgrav 5750b7579f77SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 5751b7579f77SDag-Erling Smørgrav # but as the default location of the library. 5752b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5753b7579f77SDag-Erling Smørgrav ;; 5754b7579f77SDag-Erling Smørgrav esac 5755b7579f77SDag-Erling Smørgrav fi 5756b7579f77SDag-Erling Smørgrav ;; 5757b7579f77SDag-Erling Smørgrav 5758b7579f77SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 5759f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5760f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 5761b7579f77SDag-Erling Smørgrav # Try to use the -exported_symbol ld option, if it does not 5762b7579f77SDag-Erling Smørgrav # work, assume that -exports_file does not work either and 5763b7579f77SDag-Erling Smørgrav # implicitly export all symbols. 5764b7579f77SDag-Erling Smørgrav # This should be the same for all languages, so no per-tag cache variable. 5765b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 5766b7579f77SDag-Erling Smørgrav [lt_cv_irix_exported_symbol], 5767f61ef7f6SDag-Erling Smørgrav [save_LDFLAGS=$LDFLAGS 5768f61ef7f6SDag-Erling Smørgrav LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 5769b7579f77SDag-Erling Smørgrav AC_LINK_IFELSE( 5770b7579f77SDag-Erling Smørgrav [AC_LANG_SOURCE( 5771b7579f77SDag-Erling Smørgrav [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 5772b7579f77SDag-Erling Smørgrav [C++], [[int foo (void) { return 0; }]], 5773b7579f77SDag-Erling Smørgrav [Fortran 77], [[ 5774b7579f77SDag-Erling Smørgrav subroutine foo 5775b7579f77SDag-Erling Smørgrav end]], 5776b7579f77SDag-Erling Smørgrav [Fortran], [[ 5777b7579f77SDag-Erling Smørgrav subroutine foo 5778b7579f77SDag-Erling Smørgrav end]])])], 5779b7579f77SDag-Erling Smørgrav [lt_cv_irix_exported_symbol=yes], 5780b7579f77SDag-Erling Smørgrav [lt_cv_irix_exported_symbol=no]) 5781f61ef7f6SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS]) 5782f61ef7f6SDag-Erling Smørgrav if test yes = "$lt_cv_irix_exported_symbol"; then 5783f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' 5784b7579f77SDag-Erling Smørgrav fi 5785b7579f77SDag-Erling Smørgrav else 5786f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 5787f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' 5788b7579f77SDag-Erling Smørgrav fi 5789b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5790f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5791b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5792b7579f77SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=yes 5793b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 5794b7579f77SDag-Erling Smørgrav ;; 5795b7579f77SDag-Erling Smørgrav 5796f61ef7f6SDag-Erling Smørgrav linux*) 5797f61ef7f6SDag-Erling Smørgrav case $cc_basename in 5798f61ef7f6SDag-Erling Smørgrav tcc*) 5799f61ef7f6SDag-Erling Smørgrav # Fabrice Bellard et al's Tiny C Compiler 5800f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 5801f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5802f61ef7f6SDag-Erling Smørgrav ;; 5803f61ef7f6SDag-Erling Smørgrav esac 5804f61ef7f6SDag-Erling Smørgrav ;; 5805f61ef7f6SDag-Erling Smørgrav 5806091e9e46SCy Schubert netbsd*) 5807b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 5808b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 5809b7579f77SDag-Erling Smørgrav else 5810b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 5811b7579f77SDag-Erling Smørgrav fi 5812b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5813b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5814b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5815b7579f77SDag-Erling Smørgrav ;; 5816b7579f77SDag-Erling Smørgrav 5817b7579f77SDag-Erling Smørgrav newsos6) 5818b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5819b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5820f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5821b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5822b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5823b7579f77SDag-Erling Smørgrav ;; 5824b7579f77SDag-Erling Smørgrav 5825b7579f77SDag-Erling Smørgrav *nto* | *qnx*) 5826b7579f77SDag-Erling Smørgrav ;; 5827b7579f77SDag-Erling Smørgrav 5828f61ef7f6SDag-Erling Smørgrav openbsd* | bitrig*) 5829b7579f77SDag-Erling Smørgrav if test -f /usr/libexec/ld.so; then 5830b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5831b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5832b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5833f61ef7f6SDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 5834b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5835f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' 5836f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5837f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5838b7579f77SDag-Erling Smørgrav else 5839b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5840f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5841b7579f77SDag-Erling Smørgrav fi 5842b7579f77SDag-Erling Smørgrav else 5843b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 5844b7579f77SDag-Erling Smørgrav fi 5845b7579f77SDag-Erling Smørgrav ;; 5846b7579f77SDag-Erling Smørgrav 5847b7579f77SDag-Erling Smørgrav os2*) 5848b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5849b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5850b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5851f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 5852f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5853f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5854f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5855f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5856f61ef7f6SDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 5857f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5858f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5859f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5860f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5861f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5862f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5863f61ef7f6SDag-Erling Smørgrav prefix_cmds="$SED"~ 5864f61ef7f6SDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 5865f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 5866f61ef7f6SDag-Erling Smørgrav fi~ 5867f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 5868f61ef7f6SDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 5869f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5870f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5871f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 5872f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5873b7579f77SDag-Erling Smørgrav ;; 5874b7579f77SDag-Erling Smørgrav 5875b7579f77SDag-Erling Smørgrav osf3*) 5876f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5877f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 5878f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 5879b7579f77SDag-Erling Smørgrav else 5880b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5881f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 5882b7579f77SDag-Erling Smørgrav fi 5883b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5884f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5885b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5886b7579f77SDag-Erling Smørgrav ;; 5887b7579f77SDag-Erling Smørgrav 5888b7579f77SDag-Erling Smørgrav osf4* | osf5*) # as osf3* with the addition of -msym flag 5889f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5890f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 5891f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 5892f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5893b7579f77SDag-Erling Smørgrav else 5894b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5895f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 5896b7579f77SDag-Erling Smørgrav _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~ 5897f61ef7f6SDag-Erling Smørgrav $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' 5898b7579f77SDag-Erling Smørgrav 5899b7579f77SDag-Erling Smørgrav # Both c and cxx compiler support -rpath directly 5900b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 5901b7579f77SDag-Erling Smørgrav fi 5902b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5903b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5904b7579f77SDag-Erling Smørgrav ;; 5905b7579f77SDag-Erling Smørgrav 5906b7579f77SDag-Erling Smørgrav solaris*) 5907b7579f77SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 5908f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5909f61ef7f6SDag-Erling Smørgrav wlarc='$wl' 5910f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 5911b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5912f61ef7f6SDag-Erling Smørgrav $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 5913b7579f77SDag-Erling Smørgrav else 5914b7579f77SDag-Erling Smørgrav case `$CC -V 2>&1` in 5915b7579f77SDag-Erling Smørgrav *"Compilers 5.0"*) 5916b7579f77SDag-Erling Smørgrav wlarc='' 5917f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' 5918b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5919f61ef7f6SDag-Erling Smørgrav $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 5920b7579f77SDag-Erling Smørgrav ;; 5921b7579f77SDag-Erling Smørgrav *) 5922f61ef7f6SDag-Erling Smørgrav wlarc='$wl' 5923f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' 5924b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 5925f61ef7f6SDag-Erling Smørgrav $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 5926b7579f77SDag-Erling Smørgrav ;; 5927b7579f77SDag-Erling Smørgrav esac 5928b7579f77SDag-Erling Smørgrav fi 5929b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5930b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5931b7579f77SDag-Erling Smørgrav case $host_os in 5932b7579f77SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 5933b7579f77SDag-Erling Smørgrav *) 5934b7579f77SDag-Erling Smørgrav # The compiler driver will combine and reorder linker options, 5935f61ef7f6SDag-Erling Smørgrav # but understands '-z linker_flag'. GCC discards it without '$wl', 5936b7579f77SDag-Erling Smørgrav # but is careful enough not to reorder. 5937b7579f77SDag-Erling Smørgrav # Supported since Solaris 2.6 (maybe 2.5.1?) 5938f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 5939f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 5940b7579f77SDag-Erling Smørgrav else 5941b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 5942b7579f77SDag-Erling Smørgrav fi 5943b7579f77SDag-Erling Smørgrav ;; 5944b7579f77SDag-Erling Smørgrav esac 5945b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 5946b7579f77SDag-Erling Smørgrav ;; 5947b7579f77SDag-Erling Smørgrav 5948b7579f77SDag-Erling Smørgrav sunos4*) 5949f61ef7f6SDag-Erling Smørgrav if test sequent = "$host_vendor"; then 5950b7579f77SDag-Erling Smørgrav # Use $CC to link under sequent, because it throws in some extra .o 5951b7579f77SDag-Erling Smørgrav # files that make .init and .fini sections work. 5952f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 5953b7579f77SDag-Erling Smørgrav else 5954b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 5955b7579f77SDag-Erling Smørgrav fi 5956b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5957b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5958b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5959b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5960b7579f77SDag-Erling Smørgrav ;; 5961b7579f77SDag-Erling Smørgrav 5962b7579f77SDag-Erling Smørgrav sysv4) 5963b7579f77SDag-Erling Smørgrav case $host_vendor in 5964b7579f77SDag-Erling Smørgrav sni) 5965b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5966b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 5967b7579f77SDag-Erling Smørgrav ;; 5968b7579f77SDag-Erling Smørgrav siemens) 5969b7579f77SDag-Erling Smørgrav ## LD is ld it makes a PLAMLIB 5970b7579f77SDag-Erling Smørgrav ## CC just makes a GrossModule. 5971b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 5972b7579f77SDag-Erling Smørgrav _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 5973b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 5974b7579f77SDag-Erling Smørgrav ;; 5975b7579f77SDag-Erling Smørgrav motorola) 5976b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5977b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 5978b7579f77SDag-Erling Smørgrav ;; 5979b7579f77SDag-Erling Smørgrav esac 5980b7579f77SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 5981b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5982b7579f77SDag-Erling Smørgrav ;; 5983b7579f77SDag-Erling Smørgrav 5984b7579f77SDag-Erling Smørgrav sysv4.3*) 5985b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5986b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5987b7579f77SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 5988b7579f77SDag-Erling Smørgrav ;; 5989b7579f77SDag-Erling Smørgrav 5990b7579f77SDag-Erling Smørgrav sysv4*MP*) 5991b7579f77SDag-Erling Smørgrav if test -d /usr/nec; then 5992b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5993b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5994b7579f77SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 5995b7579f77SDag-Erling Smørgrav hardcode_runpath_var=yes 5996b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 5997b7579f77SDag-Erling Smørgrav fi 5998b7579f77SDag-Erling Smørgrav ;; 5999b7579f77SDag-Erling Smørgrav 6000b7579f77SDag-Erling Smørgrav sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6001f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 6002b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6003b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6004b7579f77SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 6005b7579f77SDag-Erling Smørgrav 6006f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 6007f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6008f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6009b7579f77SDag-Erling Smørgrav else 6010f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6011f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6012b7579f77SDag-Erling Smørgrav fi 6013b7579f77SDag-Erling Smørgrav ;; 6014b7579f77SDag-Erling Smørgrav 6015b7579f77SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6*) 6016f61ef7f6SDag-Erling Smørgrav # Note: We CANNOT use -z defs as we might desire, because we do not 6017b7579f77SDag-Erling Smørgrav # link with -lc, and that would cause any symbols used from libc to 6018b7579f77SDag-Erling Smørgrav # always be unresolved, which means just about no library would 6019b7579f77SDag-Erling Smørgrav # ever link correctly. If we're not using GNU ld we use -z text 6020b7579f77SDag-Erling Smørgrav # though, which does catch some bad symbols but isn't as heavy-handed 6021b7579f77SDag-Erling Smørgrav # as -z defs. 6022f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 6023f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 6024b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6025b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6026f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 6027b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6028b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6029f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 6030b7579f77SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 6031b7579f77SDag-Erling Smørgrav 6032f61ef7f6SDag-Erling Smørgrav if test yes = "$GCC"; then 6033f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6034f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6035b7579f77SDag-Erling Smørgrav else 6036f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6037f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6038b7579f77SDag-Erling Smørgrav fi 6039b7579f77SDag-Erling Smørgrav ;; 6040b7579f77SDag-Erling Smørgrav 6041b7579f77SDag-Erling Smørgrav uts4*) 6042b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6043b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6044b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6045b7579f77SDag-Erling Smørgrav ;; 6046b7579f77SDag-Erling Smørgrav 6047b7579f77SDag-Erling Smørgrav *) 6048b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6049b7579f77SDag-Erling Smørgrav ;; 6050b7579f77SDag-Erling Smørgrav esac 6051b7579f77SDag-Erling Smørgrav 6052f61ef7f6SDag-Erling Smørgrav if test sni = "$host_vendor"; then 6053b7579f77SDag-Erling Smørgrav case $host in 6054b7579f77SDag-Erling Smørgrav sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 6055f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' 6056b7579f77SDag-Erling Smørgrav ;; 6057b7579f77SDag-Erling Smørgrav esac 6058b7579f77SDag-Erling Smørgrav fi 6059b7579f77SDag-Erling Smørgrav fi 6060b7579f77SDag-Erling Smørgrav]) 6061b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6062f61ef7f6SDag-Erling Smørgravtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 6063b7579f77SDag-Erling Smørgrav 6064b7579f77SDag-Erling Smørgrav_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 6065b7579f77SDag-Erling Smørgrav 6066b7579f77SDag-Erling Smørgrav_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 6067b7579f77SDag-Erling Smørgrav_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 6068b7579f77SDag-Erling Smørgrav_LT_DECL([], [extract_expsyms_cmds], [2], 6069b7579f77SDag-Erling Smørgrav [The commands to extract the exported symbol list from a shared archive]) 6070b7579f77SDag-Erling Smørgrav 6071b7579f77SDag-Erling Smørgrav# 6072b7579f77SDag-Erling Smørgrav# Do we need to explicitly link libc? 6073b7579f77SDag-Erling Smørgrav# 6074b7579f77SDag-Erling Smørgravcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 6075b7579f77SDag-Erling Smørgravx|xyes) 6076b7579f77SDag-Erling Smørgrav # Assume -lc should be added 6077b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6078b7579f77SDag-Erling Smørgrav 6079f61ef7f6SDag-Erling Smørgrav if test yes,yes = "$GCC,$enable_shared"; then 6080b7579f77SDag-Erling Smørgrav case $_LT_TAGVAR(archive_cmds, $1) in 6081b7579f77SDag-Erling Smørgrav *'~'*) 6082b7579f77SDag-Erling Smørgrav # FIXME: we may have to deal with multi-command sequences. 6083b7579f77SDag-Erling Smørgrav ;; 6084b7579f77SDag-Erling Smørgrav '$CC '*) 6085b7579f77SDag-Erling Smørgrav # Test whether the compiler implicitly links with -lc since on some 6086b7579f77SDag-Erling Smørgrav # systems, -lgcc has to come before -lc. If gcc already passes -lc 6087b7579f77SDag-Erling Smørgrav # to ld, don't add -lc before -lgcc. 6088b7579f77SDag-Erling Smørgrav AC_CACHE_CHECK([whether -lc should be explicitly linked in], 6089b7579f77SDag-Erling Smørgrav [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 6090b7579f77SDag-Erling Smørgrav [$RM conftest* 6091b7579f77SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 6092b7579f77SDag-Erling Smørgrav 6093b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 6094b7579f77SDag-Erling Smørgrav soname=conftest 6095b7579f77SDag-Erling Smørgrav lib=conftest 6096b7579f77SDag-Erling Smørgrav libobjs=conftest.$ac_objext 6097b7579f77SDag-Erling Smørgrav deplibs= 6098b7579f77SDag-Erling Smørgrav wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 6099b7579f77SDag-Erling Smørgrav pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 6100b7579f77SDag-Erling Smørgrav compiler_flags=-v 6101b7579f77SDag-Erling Smørgrav linker_flags=-v 6102b7579f77SDag-Erling Smørgrav verstring= 6103b7579f77SDag-Erling Smørgrav output_objdir=. 6104b7579f77SDag-Erling Smørgrav libname=conftest 6105b7579f77SDag-Erling Smørgrav lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 6106b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)= 6107b7579f77SDag-Erling Smørgrav if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 6108b7579f77SDag-Erling Smørgrav then 6109b7579f77SDag-Erling Smørgrav lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6110b7579f77SDag-Erling Smørgrav else 6111b7579f77SDag-Erling Smørgrav lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6112b7579f77SDag-Erling Smørgrav fi 6113b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 6114b7579f77SDag-Erling Smørgrav else 6115b7579f77SDag-Erling Smørgrav cat conftest.err 1>&5 6116b7579f77SDag-Erling Smørgrav fi 6117b7579f77SDag-Erling Smørgrav $RM conftest* 6118b7579f77SDag-Erling Smørgrav ]) 6119b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 6120b7579f77SDag-Erling Smørgrav ;; 6121b7579f77SDag-Erling Smørgrav esac 6122b7579f77SDag-Erling Smørgrav fi 6123b7579f77SDag-Erling Smørgrav ;; 6124b7579f77SDag-Erling Smørgravesac 6125b7579f77SDag-Erling Smørgrav 6126b7579f77SDag-Erling Smørgrav_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 6127b7579f77SDag-Erling Smørgrav [Whether or not to add -lc for building shared libraries]) 6128b7579f77SDag-Erling Smørgrav_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 6129b7579f77SDag-Erling Smørgrav [enable_shared_with_static_runtimes], [0], 6130b7579f77SDag-Erling Smørgrav [Whether or not to disallow shared libs when runtime libs are static]) 6131b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 6132b7579f77SDag-Erling Smørgrav [Compiler flag to allow reflexive dlopens]) 6133b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [whole_archive_flag_spec], [1], 6134b7579f77SDag-Erling Smørgrav [Compiler flag to generate shared objects directly from archives]) 6135b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_needs_object], [1], 6136b7579f77SDag-Erling Smørgrav [Whether the compiler copes with passing no objects directly]) 6137b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 6138b7579f77SDag-Erling Smørgrav [Create an old-style archive from a shared archive]) 6139b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 6140b7579f77SDag-Erling Smørgrav [Create a temporary old-style archive to link instead of a shared archive]) 6141b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 6142b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [archive_expsym_cmds], [2]) 6143b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [module_cmds], [2], 6144b7579f77SDag-Erling Smørgrav [Commands used to build a loadable module if different from building 6145b7579f77SDag-Erling Smørgrav a shared archive.]) 6146b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [module_expsym_cmds], [2]) 6147b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [with_gnu_ld], [1], 6148b7579f77SDag-Erling Smørgrav [Whether we are building with GNU ld or not]) 6149b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [allow_undefined_flag], [1], 6150b7579f77SDag-Erling Smørgrav [Flag that allows shared libraries with undefined symbols to be built]) 6151b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [no_undefined_flag], [1], 6152b7579f77SDag-Erling Smørgrav [Flag that enforces no undefined symbols]) 6153b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 6154b7579f77SDag-Erling Smørgrav [Flag to hardcode $libdir into a binary during linking. 6155b7579f77SDag-Erling Smørgrav This must work even if $libdir does not exist]) 6156b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_separator], [1], 6157b7579f77SDag-Erling Smørgrav [Whether we need a single "-rpath" flag with a separated argument]) 6158b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct], [0], 6159f61ef7f6SDag-Erling Smørgrav [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 6160b7579f77SDag-Erling Smørgrav DIR into the resulting binary]) 6161b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct_absolute], [0], 6162f61ef7f6SDag-Erling Smørgrav [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 6163b7579f77SDag-Erling Smørgrav DIR into the resulting binary and the resulting library dependency is 6164f61ef7f6SDag-Erling Smørgrav "absolute", i.e impossible to change by setting $shlibpath_var if the 6165b7579f77SDag-Erling Smørgrav library is relocated]) 6166b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_minus_L], [0], 6167b7579f77SDag-Erling Smørgrav [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 6168b7579f77SDag-Erling Smørgrav into the resulting binary]) 6169b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 6170b7579f77SDag-Erling Smørgrav [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 6171b7579f77SDag-Erling Smørgrav into the resulting binary]) 6172b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_automatic], [0], 6173b7579f77SDag-Erling Smørgrav [Set to "yes" if building a shared library automatically hardcodes DIR 6174b7579f77SDag-Erling Smørgrav into the library and all subsequent libraries and executables linked 6175b7579f77SDag-Erling Smørgrav against it]) 6176b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [inherit_rpath], [0], 6177b7579f77SDag-Erling Smørgrav [Set to yes if linker adds runtime paths of dependent libraries 6178b7579f77SDag-Erling Smørgrav to runtime path list]) 6179b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [link_all_deplibs], [0], 6180b7579f77SDag-Erling Smørgrav [Whether libtool must link a program against all its dependency libraries]) 6181b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [always_export_symbols], [0], 6182b7579f77SDag-Erling Smørgrav [Set to "yes" if exported symbols are required]) 6183b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [export_symbols_cmds], [2], 6184b7579f77SDag-Erling Smørgrav [The commands to list exported symbols]) 6185b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [exclude_expsyms], [1], 6186b7579f77SDag-Erling Smørgrav [Symbols that should not be listed in the preloaded symbols]) 6187b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [include_expsyms], [1], 6188b7579f77SDag-Erling Smørgrav [Symbols that must always be exported]) 6189b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [prelink_cmds], [2], 6190b7579f77SDag-Erling Smørgrav [Commands necessary for linking programs (against libraries) with templates]) 6191b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postlink_cmds], [2], 6192b7579f77SDag-Erling Smørgrav [Commands necessary for finishing linking programs]) 6193b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [file_list_spec], [1], 6194b7579f77SDag-Erling Smørgrav [Specify filename containing input files]) 6195b7579f77SDag-Erling Smørgravdnl FIXME: Not yet implemented 6196b7579f77SDag-Erling Smørgravdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 6197b7579f77SDag-Erling Smørgravdnl [Compiler flag to generate thread safe objects]) 6198b7579f77SDag-Erling Smørgrav])# _LT_LINKER_SHLIBS 6199b7579f77SDag-Erling Smørgrav 6200b7579f77SDag-Erling Smørgrav 6201b7579f77SDag-Erling Smørgrav# _LT_LANG_C_CONFIG([TAG]) 6202b7579f77SDag-Erling Smørgrav# ------------------------ 6203b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a C compiler are suitably 6204b7579f77SDag-Erling Smørgrav# defined. These variables are subsequently used by _LT_CONFIG to write 6205f61ef7f6SDag-Erling Smørgrav# the compiler configuration to 'libtool'. 6206b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_C_CONFIG], 6207b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl 6208f61ef7f6SDag-Erling Smørgravlt_save_CC=$CC 6209b7579f77SDag-Erling SmørgravAC_LANG_PUSH(C) 6210b7579f77SDag-Erling Smørgrav 6211b7579f77SDag-Erling Smørgrav# Source file extension for C test sources. 6212b7579f77SDag-Erling Smørgravac_ext=c 6213b7579f77SDag-Erling Smørgrav 6214b7579f77SDag-Erling Smørgrav# Object file extension for compiled C test sources. 6215b7579f77SDag-Erling Smørgravobjext=o 6216b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 6217b7579f77SDag-Erling Smørgrav 6218b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests 6219b7579f77SDag-Erling Smørgravlt_simple_compile_test_code="int some_variable = 0;" 6220b7579f77SDag-Erling Smørgrav 6221b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests 6222b7579f77SDag-Erling Smørgravlt_simple_link_test_code='int main(){return(0);}' 6223b7579f77SDag-Erling Smørgrav 6224b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER 6225b7579f77SDag-Erling Smørgrav# Save the default compiler, since it gets overwritten when the other 6226b7579f77SDag-Erling Smørgrav# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 6227b7579f77SDag-Erling Smørgravcompiler_DEFAULT=$CC 6228b7579f77SDag-Erling Smørgrav 6229b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 6230b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 6231b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 6232b7579f77SDag-Erling Smørgrav 6233b7579f77SDag-Erling Smørgravif test -n "$compiler"; then 6234b7579f77SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 6235b7579f77SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 6236b7579f77SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 6237b7579f77SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 6238b7579f77SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 6239b7579f77SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 6240b7579f77SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 6241b7579f77SDag-Erling Smørgrav LT_SYS_DLOPEN_SELF 6242b7579f77SDag-Erling Smørgrav _LT_CMD_STRIPLIB 6243b7579f77SDag-Erling Smørgrav 6244f61ef7f6SDag-Erling Smørgrav # Report what library types will actually be built 6245b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 6246b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 6247b7579f77SDag-Erling Smørgrav 6248b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 6249f61ef7f6SDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 6250b7579f77SDag-Erling Smørgrav 6251b7579f77SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 6252b7579f77SDag-Erling Smørgrav # are all built from PIC. 6253b7579f77SDag-Erling Smørgrav case $host_os in 6254b7579f77SDag-Erling Smørgrav aix3*) 6255f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 6256b7579f77SDag-Erling Smørgrav if test -n "$RANLIB"; then 6257b7579f77SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 6258b7579f77SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 6259b7579f77SDag-Erling Smørgrav fi 6260b7579f77SDag-Erling Smørgrav ;; 6261b7579f77SDag-Erling Smørgrav 6262b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 6263f61ef7f6SDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 6264f61ef7f6SDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 6265f61ef7f6SDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 6266f61ef7f6SDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 6267f61ef7f6SDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 6268f61ef7f6SDag-Erling Smørgrav esac 6269b7579f77SDag-Erling Smørgrav fi 6270b7579f77SDag-Erling Smørgrav ;; 6271b7579f77SDag-Erling Smørgrav esac 6272b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 6273b7579f77SDag-Erling Smørgrav 6274b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 6275b7579f77SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 6276f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 6277b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 6278b7579f77SDag-Erling Smørgrav 6279b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 6280b7579f77SDag-Erling Smørgravfi 6281b7579f77SDag-Erling SmørgravAC_LANG_POP 6282f61ef7f6SDag-Erling SmørgravCC=$lt_save_CC 6283b7579f77SDag-Erling Smørgrav])# _LT_LANG_C_CONFIG 6284b7579f77SDag-Erling Smørgrav 6285b7579f77SDag-Erling Smørgrav 6286b7579f77SDag-Erling Smørgrav# _LT_LANG_CXX_CONFIG([TAG]) 6287b7579f77SDag-Erling Smørgrav# -------------------------- 6288b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a C++ compiler are suitably 6289b7579f77SDag-Erling Smørgrav# defined. These variables are subsequently used by _LT_CONFIG to write 6290f61ef7f6SDag-Erling Smørgrav# the compiler configuration to 'libtool'. 6291b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_CXX_CONFIG], 6292b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6293b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 6294b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl 6295f61ef7f6SDag-Erling Smørgravif test -n "$CXX" && ( test no != "$CXX" && 6296f61ef7f6SDag-Erling Smørgrav ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 6297f61ef7f6SDag-Erling Smørgrav (test g++ != "$CXX"))); then 6298b7579f77SDag-Erling Smørgrav AC_PROG_CXXCPP 6299b7579f77SDag-Erling Smørgravelse 6300b7579f77SDag-Erling Smørgrav _lt_caught_CXX_error=yes 6301b7579f77SDag-Erling Smørgravfi 6302b7579f77SDag-Erling Smørgrav 6303b7579f77SDag-Erling SmørgravAC_LANG_PUSH(C++) 6304b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6305b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 6306b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 6307b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 6308b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler_needs_object, $1)=no 6309b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 6310b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 6311b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 6312b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6313b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 6314b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 6315b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 6316b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 6317b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 6318b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 6319b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 6320b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 6321b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6322b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 6323b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 6324b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 6325b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 6326b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6327b7579f77SDag-Erling Smørgrav 6328b7579f77SDag-Erling Smørgrav# Source file extension for C++ test sources. 6329b7579f77SDag-Erling Smørgravac_ext=cpp 6330b7579f77SDag-Erling Smørgrav 6331b7579f77SDag-Erling Smørgrav# Object file extension for compiled C++ test sources. 6332b7579f77SDag-Erling Smørgravobjext=o 6333b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 6334b7579f77SDag-Erling Smørgrav 6335b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 6336b7579f77SDag-Erling Smørgrav# the CXX compiler isn't working. Some variables (like enable_shared) 6337b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 6338b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 6339f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_caught_CXX_error"; then 6340b7579f77SDag-Erling Smørgrav # Code to be used in simple compile tests 6341b7579f77SDag-Erling Smørgrav lt_simple_compile_test_code="int some_variable = 0;" 6342b7579f77SDag-Erling Smørgrav 6343b7579f77SDag-Erling Smørgrav # Code to be used in simple link tests 6344b7579f77SDag-Erling Smørgrav lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 6345b7579f77SDag-Erling Smørgrav 6346b7579f77SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6347b7579f77SDag-Erling Smørgrav _LT_TAG_COMPILER 6348b7579f77SDag-Erling Smørgrav 6349b7579f77SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 6350b7579f77SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 6351b7579f77SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 6352b7579f77SDag-Erling Smørgrav 6353b7579f77SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 6354b7579f77SDag-Erling Smørgrav lt_save_CC=$CC 6355b7579f77SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 6356b7579f77SDag-Erling Smørgrav lt_save_LD=$LD 6357b7579f77SDag-Erling Smørgrav lt_save_GCC=$GCC 6358b7579f77SDag-Erling Smørgrav GCC=$GXX 6359b7579f77SDag-Erling Smørgrav lt_save_with_gnu_ld=$with_gnu_ld 6360b7579f77SDag-Erling Smørgrav lt_save_path_LD=$lt_cv_path_LD 6361b7579f77SDag-Erling Smørgrav if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 6362b7579f77SDag-Erling Smørgrav lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 6363b7579f77SDag-Erling Smørgrav else 6364b7579f77SDag-Erling Smørgrav $as_unset lt_cv_prog_gnu_ld 6365b7579f77SDag-Erling Smørgrav fi 6366b7579f77SDag-Erling Smørgrav if test -n "${lt_cv_path_LDCXX+set}"; then 6367b7579f77SDag-Erling Smørgrav lt_cv_path_LD=$lt_cv_path_LDCXX 6368b7579f77SDag-Erling Smørgrav else 6369b7579f77SDag-Erling Smørgrav $as_unset lt_cv_path_LD 6370b7579f77SDag-Erling Smørgrav fi 6371b7579f77SDag-Erling Smørgrav test -z "${LDCXX+set}" || LD=$LDCXX 6372b7579f77SDag-Erling Smørgrav CC=${CXX-"c++"} 6373b7579f77SDag-Erling Smørgrav CFLAGS=$CXXFLAGS 6374b7579f77SDag-Erling Smørgrav compiler=$CC 6375b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 6376b7579f77SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 6377b7579f77SDag-Erling Smørgrav 6378b7579f77SDag-Erling Smørgrav if test -n "$compiler"; then 6379b7579f77SDag-Erling Smørgrav # We don't want -fno-exception when compiling C++ code, so set the 6380b7579f77SDag-Erling Smørgrav # no_builtin_flag separately 6381f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6382b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 6383b7579f77SDag-Erling Smørgrav else 6384b7579f77SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 6385b7579f77SDag-Erling Smørgrav fi 6386b7579f77SDag-Erling Smørgrav 6387f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6388b7579f77SDag-Erling Smørgrav # Set up default GNU C++ configuration 6389b7579f77SDag-Erling Smørgrav 6390b7579f77SDag-Erling Smørgrav LT_PATH_LD 6391b7579f77SDag-Erling Smørgrav 6392b7579f77SDag-Erling Smørgrav # Check if GNU C++ uses GNU ld as the underlying linker, since the 6393b7579f77SDag-Erling Smørgrav # archiving commands below assume that GNU ld is being used. 6394f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 6395f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 6396f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' 6397b7579f77SDag-Erling Smørgrav 6398f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6399f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 6400b7579f77SDag-Erling Smørgrav 6401b7579f77SDag-Erling Smørgrav # If archive_cmds runs LD, not CC, wlarc should be empty 6402b7579f77SDag-Erling Smørgrav # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 6403b7579f77SDag-Erling Smørgrav # investigate it a little bit more. (MM) 6404f61ef7f6SDag-Erling Smørgrav wlarc='$wl' 6405b7579f77SDag-Erling Smørgrav 6406b7579f77SDag-Erling Smørgrav # ancient GNU ld didn't support --whole-archive et. al. 6407b7579f77SDag-Erling Smørgrav if eval "`$CC -print-prog-name=ld` --help 2>&1" | 6408b7579f77SDag-Erling Smørgrav $GREP 'no-whole-archive' > /dev/null; then 6409f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 6410b7579f77SDag-Erling Smørgrav else 6411b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 6412b7579f77SDag-Erling Smørgrav fi 6413b7579f77SDag-Erling Smørgrav else 6414b7579f77SDag-Erling Smørgrav with_gnu_ld=no 6415b7579f77SDag-Erling Smørgrav wlarc= 6416b7579f77SDag-Erling Smørgrav 6417b7579f77SDag-Erling Smørgrav # A generic and very simple default shared library creation 6418b7579f77SDag-Erling Smørgrav # command for GNU C++ for the case where it uses the native 6419b7579f77SDag-Erling Smørgrav # linker, instead of GNU ld. If possible, this setting should 6420b7579f77SDag-Erling Smørgrav # overridden to take advantage of the native linker features on 6421b7579f77SDag-Erling Smørgrav # the platform it is being used on. 6422b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 6423b7579f77SDag-Erling Smørgrav fi 6424b7579f77SDag-Erling Smørgrav 6425b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 6426b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 6427b7579f77SDag-Erling Smørgrav # linking a shared library. 6428b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 6429b7579f77SDag-Erling Smørgrav 6430b7579f77SDag-Erling Smørgrav else 6431b7579f77SDag-Erling Smørgrav GXX=no 6432b7579f77SDag-Erling Smørgrav with_gnu_ld=no 6433b7579f77SDag-Erling Smørgrav wlarc= 6434b7579f77SDag-Erling Smørgrav fi 6435b7579f77SDag-Erling Smørgrav 6436b7579f77SDag-Erling Smørgrav # PORTME: fill in a description of your system's C++ link characteristics 6437b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 6438b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 6439b7579f77SDag-Erling Smørgrav case $host_os in 6440b7579f77SDag-Erling Smørgrav aix3*) 6441b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6442b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6443b7579f77SDag-Erling Smørgrav ;; 6444b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 6445f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 6446b7579f77SDag-Erling Smørgrav # On IA64, the linker does run time linking by default, so we don't 6447b7579f77SDag-Erling Smørgrav # have to do anything special. 6448b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=no 6449b7579f77SDag-Erling Smørgrav exp_sym_flag='-Bexport' 6450f61ef7f6SDag-Erling Smørgrav no_entry_flag= 6451b7579f77SDag-Erling Smørgrav else 6452b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=no 6453b7579f77SDag-Erling Smørgrav 6454b7579f77SDag-Erling Smørgrav # Test if we are trying to use run time linking or normal 6455b7579f77SDag-Erling Smørgrav # AIX style linking. If -brtl is somewhere in LDFLAGS, we 6456f61ef7f6SDag-Erling Smørgrav # have runtime linking enabled, and use it for executables. 6457f61ef7f6SDag-Erling Smørgrav # For shared libraries, we enable/disable runtime linking 6458f61ef7f6SDag-Erling Smørgrav # depending on the kind of the shared library created - 6459f61ef7f6SDag-Erling Smørgrav # when "with_aix_soname,aix_use_runtimelinking" is: 6460f61ef7f6SDag-Erling Smørgrav # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 6461f61ef7f6SDag-Erling Smørgrav # "aix,yes" lib.so shared, rtl:yes, for executables 6462f61ef7f6SDag-Erling Smørgrav # lib.a static archive 6463f61ef7f6SDag-Erling Smørgrav # "both,no" lib.so.V(shr.o) shared, rtl:yes 6464f61ef7f6SDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no, for executables 6465f61ef7f6SDag-Erling Smørgrav # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 6466f61ef7f6SDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no 6467f61ef7f6SDag-Erling Smørgrav # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 6468f61ef7f6SDag-Erling Smørgrav # lib.a static archive 6469b7579f77SDag-Erling Smørgrav case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 6470b7579f77SDag-Erling Smørgrav for ld_flag in $LDFLAGS; do 6471b7579f77SDag-Erling Smørgrav case $ld_flag in 6472b7579f77SDag-Erling Smørgrav *-brtl*) 6473b7579f77SDag-Erling Smørgrav aix_use_runtimelinking=yes 6474b7579f77SDag-Erling Smørgrav break 6475b7579f77SDag-Erling Smørgrav ;; 6476b7579f77SDag-Erling Smørgrav esac 6477b7579f77SDag-Erling Smørgrav done 6478f61ef7f6SDag-Erling Smørgrav if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 6479f61ef7f6SDag-Erling Smørgrav # With aix-soname=svr4, we create the lib.so.V shared archives only, 6480f61ef7f6SDag-Erling Smørgrav # so we don't have lib.a shared libs to link our executables. 6481f61ef7f6SDag-Erling Smørgrav # We have to force runtime linking in this case. 6482f61ef7f6SDag-Erling Smørgrav aix_use_runtimelinking=yes 6483f61ef7f6SDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-brtl" 6484f61ef7f6SDag-Erling Smørgrav fi 6485b7579f77SDag-Erling Smørgrav ;; 6486b7579f77SDag-Erling Smørgrav esac 6487b7579f77SDag-Erling Smørgrav 6488b7579f77SDag-Erling Smørgrav exp_sym_flag='-bexport' 6489b7579f77SDag-Erling Smørgrav no_entry_flag='-bnoentry' 6490b7579f77SDag-Erling Smørgrav fi 6491b7579f77SDag-Erling Smørgrav 6492b7579f77SDag-Erling Smørgrav # When large executables or shared objects are built, AIX ld can 6493b7579f77SDag-Erling Smørgrav # have problems creating the table of contents. If linking a library 6494b7579f77SDag-Erling Smørgrav # or program results in "error TOC overflow" add -mminimal-toc to 6495b7579f77SDag-Erling Smørgrav # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 6496b7579f77SDag-Erling Smørgrav # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 6497b7579f77SDag-Erling Smørgrav 6498b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='' 6499b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 6500b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6501b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6502b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6503f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 6504f61ef7f6SDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 6505f61ef7f6SDag-Erling Smørgrav aix,*) ;; # no import file 6506f61ef7f6SDag-Erling Smørgrav svr4,* | *,yes) # use import file 6507f61ef7f6SDag-Erling Smørgrav # The Import File defines what to hardcode. 6508f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 6509f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 6510f61ef7f6SDag-Erling Smørgrav ;; 6511f61ef7f6SDag-Erling Smørgrav esac 6512b7579f77SDag-Erling Smørgrav 6513f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6514b7579f77SDag-Erling Smørgrav case $host_os in aix4.[[012]]|aix4.[[012]].*) 6515b7579f77SDag-Erling Smørgrav # We only want to do this on AIX 4.2 and lower, the check 6516b7579f77SDag-Erling Smørgrav # below for broken collect2 doesn't work under 4.3+ 6517f61ef7f6SDag-Erling Smørgrav collect2name=`$CC -print-prog-name=collect2` 6518b7579f77SDag-Erling Smørgrav if test -f "$collect2name" && 6519b7579f77SDag-Erling Smørgrav strings "$collect2name" | $GREP resolve_lib_name >/dev/null 6520b7579f77SDag-Erling Smørgrav then 6521b7579f77SDag-Erling Smørgrav # We have reworked collect2 6522b7579f77SDag-Erling Smørgrav : 6523b7579f77SDag-Erling Smørgrav else 6524b7579f77SDag-Erling Smørgrav # We have old collect2 6525b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 6526b7579f77SDag-Erling Smørgrav # It fails to find uninstalled libraries when the uninstalled 6527b7579f77SDag-Erling Smørgrav # path is not listed in the libpath. Setting hardcode_minus_L 6528b7579f77SDag-Erling Smørgrav # to unsupported forces relinking 6529b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 6530b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6531b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 6532b7579f77SDag-Erling Smørgrav fi 6533b7579f77SDag-Erling Smørgrav esac 6534b7579f77SDag-Erling Smørgrav shared_flag='-shared' 6535f61ef7f6SDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 6536f61ef7f6SDag-Erling Smørgrav shared_flag=$shared_flag' $wl-G' 6537b7579f77SDag-Erling Smørgrav fi 6538f61ef7f6SDag-Erling Smørgrav # Need to ensure runtime linking is disabled for the traditional 6539f61ef7f6SDag-Erling Smørgrav # shared library, or the linker may eventually find shared libraries 6540f61ef7f6SDag-Erling Smørgrav # /with/ Import File - we do not want to mix them. 6541f61ef7f6SDag-Erling Smørgrav shared_flag_aix='-shared' 6542f61ef7f6SDag-Erling Smørgrav shared_flag_svr4='-shared $wl-G' 6543b7579f77SDag-Erling Smørgrav else 6544b7579f77SDag-Erling Smørgrav # not using gcc 6545f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 6546b7579f77SDag-Erling Smørgrav # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 6547b7579f77SDag-Erling Smørgrav # chokes on -Wl,-G. The following line is correct: 6548b7579f77SDag-Erling Smørgrav shared_flag='-G' 6549b7579f77SDag-Erling Smørgrav else 6550f61ef7f6SDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 6551f61ef7f6SDag-Erling Smørgrav shared_flag='$wl-G' 6552b7579f77SDag-Erling Smørgrav else 6553f61ef7f6SDag-Erling Smørgrav shared_flag='$wl-bM:SRE' 6554b7579f77SDag-Erling Smørgrav fi 6555f61ef7f6SDag-Erling Smørgrav shared_flag_aix='$wl-bM:SRE' 6556f61ef7f6SDag-Erling Smørgrav shared_flag_svr4='$wl-G' 6557b7579f77SDag-Erling Smørgrav fi 6558b7579f77SDag-Erling Smørgrav fi 6559b7579f77SDag-Erling Smørgrav 6560f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 6561b7579f77SDag-Erling Smørgrav # It seems that -bexpall does not export symbols beginning with 6562b7579f77SDag-Erling Smørgrav # underscore (_), so it is better to generate a list of symbols to 6563b7579f77SDag-Erling Smørgrav # export. 6564b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 6565f61ef7f6SDag-Erling Smørgrav if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 6566b7579f77SDag-Erling Smørgrav # Warning - without using the other runtime loading flags (-brtl), 6567b7579f77SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 6568f61ef7f6SDag-Erling Smørgrav # The "-G" linker flag allows undefined symbols. 6569f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' 6570b7579f77SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an empty 6571b7579f77SDag-Erling Smørgrav # executable. 6572b7579f77SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 6573f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 6574b7579f77SDag-Erling Smørgrav 6575f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag 6576b7579f77SDag-Erling Smørgrav else 6577f61ef7f6SDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 6578f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 6579b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 6580f61ef7f6SDag-Erling Smørgrav _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" 6581b7579f77SDag-Erling Smørgrav else 6582b7579f77SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 6583b7579f77SDag-Erling Smørgrav # empty executable. 6584b7579f77SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 6585f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 6586b7579f77SDag-Erling Smørgrav # Warning - without using the other run time loading flags, 6587b7579f77SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 6588f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 6589f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 6590f61ef7f6SDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 6591b7579f77SDag-Erling Smørgrav # We only use this code for GNU lds that support --whole-archive. 6592f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 6593b7579f77SDag-Erling Smørgrav else 6594b7579f77SDag-Erling Smørgrav # Exported symbols can be pulled into shared objects from archives 6595b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 6596b7579f77SDag-Erling Smørgrav fi 6597b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6598f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 6599f61ef7f6SDag-Erling Smørgrav # -brtl affects multiple linker settings, -berok does not and is overridden later 6600f61ef7f6SDag-Erling Smørgrav compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 6601f61ef7f6SDag-Erling Smørgrav if test svr4 != "$with_aix_soname"; then 6602b7579f77SDag-Erling Smørgrav # This is similar to how AIX traditionally builds its shared 6603f61ef7f6SDag-Erling Smørgrav # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. 6604f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' 6605f61ef7f6SDag-Erling Smørgrav fi 6606f61ef7f6SDag-Erling Smørgrav if test aix != "$with_aix_soname"; then 6607f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' 6608f61ef7f6SDag-Erling Smørgrav else 6609f61ef7f6SDag-Erling Smørgrav # used by -dlpreopen to get the symbols 6610f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 6611f61ef7f6SDag-Erling Smørgrav fi 6612f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 6613b7579f77SDag-Erling Smørgrav fi 6614b7579f77SDag-Erling Smørgrav fi 6615b7579f77SDag-Erling Smørgrav ;; 6616b7579f77SDag-Erling Smørgrav 6617b7579f77SDag-Erling Smørgrav beos*) 6618b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 6619b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6620b7579f77SDag-Erling Smørgrav # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 6621b7579f77SDag-Erling Smørgrav # support --undefined. This deserves some investigation. FIXME 6622f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6623b7579f77SDag-Erling Smørgrav else 6624b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6625b7579f77SDag-Erling Smørgrav fi 6626b7579f77SDag-Erling Smørgrav ;; 6627b7579f77SDag-Erling Smørgrav 6628b7579f77SDag-Erling Smørgrav chorus*) 6629b7579f77SDag-Erling Smørgrav case $cc_basename in 6630b7579f77SDag-Erling Smørgrav *) 6631b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6632b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6633b7579f77SDag-Erling Smørgrav ;; 6634b7579f77SDag-Erling Smørgrav esac 6635b7579f77SDag-Erling Smørgrav ;; 6636b7579f77SDag-Erling Smørgrav 6637b7579f77SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 6638b7579f77SDag-Erling Smørgrav case $GXX,$cc_basename in 6639*46d2f618SCy Schubert ,cl* | no,cl*) 6640*46d2f618SCy Schubert # Native MSVC 6641b7579f77SDag-Erling Smørgrav # hardcode_libdir_flag_spec is actually meaningless, as there is 6642b7579f77SDag-Erling Smørgrav # no search path for DLLs. 6643b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 6644b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6645b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 6646b7579f77SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='@' 6647b7579f77SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 6648b7579f77SDag-Erling Smørgrav libext=lib 6649b7579f77SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 6650f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 6651b7579f77SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 6652f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 6653f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 6654f61ef7f6SDag-Erling Smørgrav cp "$export_symbols" "$output_objdir/$soname.def"; 6655f61ef7f6SDag-Erling Smørgrav echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 6656b7579f77SDag-Erling Smørgrav else 6657f61ef7f6SDag-Erling Smørgrav $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 6658b7579f77SDag-Erling Smørgrav fi~ 6659b7579f77SDag-Erling Smørgrav $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 6660b7579f77SDag-Erling Smørgrav linknames=' 6661b7579f77SDag-Erling Smørgrav # The linker will not automatically build a static lib if we build a DLL. 6662b7579f77SDag-Erling Smørgrav # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 6663b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6664b7579f77SDag-Erling Smørgrav # Don't use ranlib 6665b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 6666b7579f77SDag-Erling Smørgrav _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 6667b7579f77SDag-Erling Smørgrav lt_tool_outputfile="@TOOL_OUTPUT@"~ 6668b7579f77SDag-Erling Smørgrav case $lt_outputfile in 6669b7579f77SDag-Erling Smørgrav *.exe|*.EXE) ;; 6670b7579f77SDag-Erling Smørgrav *) 6671f61ef7f6SDag-Erling Smørgrav lt_outputfile=$lt_outputfile.exe 6672f61ef7f6SDag-Erling Smørgrav lt_tool_outputfile=$lt_tool_outputfile.exe 6673b7579f77SDag-Erling Smørgrav ;; 6674b7579f77SDag-Erling Smørgrav esac~ 6675b7579f77SDag-Erling Smørgrav func_to_tool_file "$lt_outputfile"~ 6676f61ef7f6SDag-Erling Smørgrav if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 6677b7579f77SDag-Erling Smørgrav $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 6678b7579f77SDag-Erling Smørgrav $RM "$lt_outputfile.manifest"; 6679b7579f77SDag-Erling Smørgrav fi' 6680b7579f77SDag-Erling Smørgrav ;; 6681b7579f77SDag-Erling Smørgrav *) 6682b7579f77SDag-Erling Smørgrav # g++ 6683b7579f77SDag-Erling Smørgrav # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 6684b7579f77SDag-Erling Smørgrav # as there is no search path for DLLs. 6685b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6686f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 6687b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6688b7579f77SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 6689b7579f77SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6690b7579f77SDag-Erling Smørgrav 6691b7579f77SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 6692f61ef7f6SDag-Erling Smørgrav _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' 6693f61ef7f6SDag-Erling Smørgrav # If the export-symbols file already is a .def file, use it as 6694f61ef7f6SDag-Erling Smørgrav # is; otherwise, prepend EXPORTS... 6695f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 6696b7579f77SDag-Erling Smørgrav cp $export_symbols $output_objdir/$soname.def; 6697b7579f77SDag-Erling Smørgrav else 6698b7579f77SDag-Erling Smørgrav echo EXPORTS > $output_objdir/$soname.def; 6699b7579f77SDag-Erling Smørgrav cat $export_symbols >> $output_objdir/$soname.def; 6700b7579f77SDag-Erling Smørgrav fi~ 6701f61ef7f6SDag-Erling Smørgrav $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' 6702b7579f77SDag-Erling Smørgrav else 6703b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6704b7579f77SDag-Erling Smørgrav fi 6705b7579f77SDag-Erling Smørgrav ;; 6706b7579f77SDag-Erling Smørgrav esac 6707b7579f77SDag-Erling Smørgrav ;; 6708b7579f77SDag-Erling Smørgrav darwin* | rhapsody*) 6709b7579f77SDag-Erling Smørgrav _LT_DARWIN_LINKER_FEATURES($1) 6710b7579f77SDag-Erling Smørgrav ;; 6711b7579f77SDag-Erling Smørgrav 6712f61ef7f6SDag-Erling Smørgrav os2*) 6713f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6714f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 6715f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6716f61ef7f6SDag-Erling Smørgrav shrext_cmds=.dll 6717f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6718f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6719f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6720f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 6721f61ef7f6SDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 6722f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6723f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 6724f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6725f61ef7f6SDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6726f61ef7f6SDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6727f61ef7f6SDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 6728f61ef7f6SDag-Erling Smørgrav prefix_cmds="$SED"~ 6729f61ef7f6SDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 6730f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 6731f61ef7f6SDag-Erling Smørgrav fi~ 6732f61ef7f6SDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 6733f61ef7f6SDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 6734f61ef7f6SDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6735f61ef7f6SDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 6736f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 6737f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6738f61ef7f6SDag-Erling Smørgrav ;; 6739f61ef7f6SDag-Erling Smørgrav 6740b7579f77SDag-Erling Smørgrav dgux*) 6741b7579f77SDag-Erling Smørgrav case $cc_basename in 6742b7579f77SDag-Erling Smørgrav ec++*) 6743b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6744b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6745b7579f77SDag-Erling Smørgrav ;; 6746b7579f77SDag-Erling Smørgrav ghcx*) 6747b7579f77SDag-Erling Smørgrav # Green Hills C++ Compiler 6748b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6749b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6750b7579f77SDag-Erling Smørgrav ;; 6751b7579f77SDag-Erling Smørgrav *) 6752b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6753b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6754b7579f77SDag-Erling Smørgrav ;; 6755b7579f77SDag-Erling Smørgrav esac 6756b7579f77SDag-Erling Smørgrav ;; 6757b7579f77SDag-Erling Smørgrav 67588ed2b524SDag-Erling Smørgrav freebsd2.*) 6759b7579f77SDag-Erling Smørgrav # C++ shared libraries reported to be fairly broken before 6760b7579f77SDag-Erling Smørgrav # switch to ELF 6761b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6762b7579f77SDag-Erling Smørgrav ;; 6763b7579f77SDag-Erling Smørgrav 6764b7579f77SDag-Erling Smørgrav freebsd-elf*) 6765b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6766b7579f77SDag-Erling Smørgrav ;; 6767b7579f77SDag-Erling Smørgrav 6768*46d2f618SCy Schubert freebsd* | dragonfly*) 6769b7579f77SDag-Erling Smørgrav # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 6770b7579f77SDag-Erling Smørgrav # conventions 6771b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 6772b7579f77SDag-Erling Smørgrav ;; 6773b7579f77SDag-Erling Smørgrav 6774b7579f77SDag-Erling Smørgrav haiku*) 6775f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6776b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6777b7579f77SDag-Erling Smørgrav ;; 6778b7579f77SDag-Erling Smørgrav 6779b7579f77SDag-Erling Smørgrav hpux9*) 6780f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 6781b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6782f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 6783b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 6784b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 6785b7579f77SDag-Erling Smørgrav # but as the default 6786b7579f77SDag-Erling Smørgrav # location of the library. 6787b7579f77SDag-Erling Smørgrav 6788b7579f77SDag-Erling Smørgrav case $cc_basename in 6789b7579f77SDag-Erling Smørgrav CC*) 6790b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6791b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6792b7579f77SDag-Erling Smørgrav ;; 6793b7579f77SDag-Erling Smørgrav aCC*) 6794f61ef7f6SDag-Erling Smørgrav _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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 6795b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 6796b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 6797b7579f77SDag-Erling Smørgrav # linking a shared library. 6798b7579f77SDag-Erling Smørgrav # 6799b7579f77SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 6800b7579f77SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 6801b7579f77SDag-Erling Smørgrav # from the output so that they don't get included in the library 6802b7579f77SDag-Erling Smørgrav # dependencies. 6803f61ef7f6SDag-Erling Smørgrav 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; func_echo_all "$list"' 6804b7579f77SDag-Erling Smørgrav ;; 6805b7579f77SDag-Erling Smørgrav *) 6806f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6807f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 6808b7579f77SDag-Erling Smørgrav else 6809b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6810b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6811b7579f77SDag-Erling Smørgrav fi 6812b7579f77SDag-Erling Smørgrav ;; 6813b7579f77SDag-Erling Smørgrav esac 6814b7579f77SDag-Erling Smørgrav ;; 6815b7579f77SDag-Erling Smørgrav 6816b7579f77SDag-Erling Smørgrav hpux10*|hpux11*) 6817f61ef7f6SDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 6818f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 6819b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6820b7579f77SDag-Erling Smørgrav 6821b7579f77SDag-Erling Smørgrav case $host_cpu in 6822b7579f77SDag-Erling Smørgrav hppa*64*|ia64*) 6823b7579f77SDag-Erling Smørgrav ;; 6824b7579f77SDag-Erling Smørgrav *) 6825f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 6826b7579f77SDag-Erling Smørgrav ;; 6827b7579f77SDag-Erling Smørgrav esac 6828b7579f77SDag-Erling Smørgrav fi 6829b7579f77SDag-Erling Smørgrav case $host_cpu in 6830b7579f77SDag-Erling Smørgrav hppa*64*|ia64*) 6831b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 6832b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6833b7579f77SDag-Erling Smørgrav ;; 6834b7579f77SDag-Erling Smørgrav *) 6835b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 6836b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6837b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 6838b7579f77SDag-Erling Smørgrav # but as the default 6839b7579f77SDag-Erling Smørgrav # location of the library. 6840b7579f77SDag-Erling Smørgrav ;; 6841b7579f77SDag-Erling Smørgrav esac 6842b7579f77SDag-Erling Smørgrav 6843b7579f77SDag-Erling Smørgrav case $cc_basename in 6844b7579f77SDag-Erling Smørgrav CC*) 6845b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6846b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6847b7579f77SDag-Erling Smørgrav ;; 6848b7579f77SDag-Erling Smørgrav aCC*) 6849b7579f77SDag-Erling Smørgrav case $host_cpu in 6850b7579f77SDag-Erling Smørgrav hppa*64*) 6851f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6852b7579f77SDag-Erling Smørgrav ;; 6853b7579f77SDag-Erling Smørgrav ia64*) 6854f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6855b7579f77SDag-Erling Smørgrav ;; 6856b7579f77SDag-Erling Smørgrav *) 6857f61ef7f6SDag-Erling Smørgrav _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' 6858b7579f77SDag-Erling Smørgrav ;; 6859b7579f77SDag-Erling Smørgrav esac 6860b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 6861b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 6862b7579f77SDag-Erling Smørgrav # linking a shared library. 6863b7579f77SDag-Erling Smørgrav # 6864b7579f77SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 6865b7579f77SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 6866b7579f77SDag-Erling Smørgrav # from the output so that they don't get included in the library 6867b7579f77SDag-Erling Smørgrav # dependencies. 6868f61ef7f6SDag-Erling Smørgrav 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; func_echo_all "$list"' 6869b7579f77SDag-Erling Smørgrav ;; 6870b7579f77SDag-Erling Smørgrav *) 6871f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6872f61ef7f6SDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 6873b7579f77SDag-Erling Smørgrav case $host_cpu in 6874b7579f77SDag-Erling Smørgrav hppa*64*) 6875f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6876b7579f77SDag-Erling Smørgrav ;; 6877b7579f77SDag-Erling Smørgrav ia64*) 6878f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6879b7579f77SDag-Erling Smørgrav ;; 6880b7579f77SDag-Erling Smørgrav *) 6881f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6882b7579f77SDag-Erling Smørgrav ;; 6883b7579f77SDag-Erling Smørgrav esac 6884b7579f77SDag-Erling Smørgrav fi 6885b7579f77SDag-Erling Smørgrav else 6886b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 6887b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 6888b7579f77SDag-Erling Smørgrav fi 6889b7579f77SDag-Erling Smørgrav ;; 6890b7579f77SDag-Erling Smørgrav esac 6891b7579f77SDag-Erling Smørgrav ;; 6892b7579f77SDag-Erling Smørgrav 6893b7579f77SDag-Erling Smørgrav interix[[3-9]]*) 6894b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 6895b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6896f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6897f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 6898b7579f77SDag-Erling Smørgrav # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 6899b7579f77SDag-Erling Smørgrav # Instead, shared libraries are loaded at an image base (0x10000000 by 6900b7579f77SDag-Erling Smørgrav # default) and relocated if they conflict, which is a slow very memory 6901b7579f77SDag-Erling Smørgrav # consuming and fragmenting process. To avoid this, we pick a random, 6902b7579f77SDag-Erling Smørgrav # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 6903b7579f77SDag-Erling Smørgrav # time. Moving up from 0x10000000 also allows more sbrk(2) space. 6904f61ef7f6SDag-Erling Smørgrav _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' 6905*46d2f618SCy Schubert _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' 6906b7579f77SDag-Erling Smørgrav ;; 6907b7579f77SDag-Erling Smørgrav irix5* | irix6*) 6908b7579f77SDag-Erling Smørgrav case $cc_basename in 6909b7579f77SDag-Erling Smørgrav CC*) 6910b7579f77SDag-Erling Smørgrav # SGI C++ 6911f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 6912b7579f77SDag-Erling Smørgrav 6913b7579f77SDag-Erling Smørgrav # Archives containing C++ object files must be created using 6914b7579f77SDag-Erling Smørgrav # "CC -ar", where "CC" is the IRIX C++ compiler. This is 6915b7579f77SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 6916b7579f77SDag-Erling Smørgrav # in the archive. 6917b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 6918b7579f77SDag-Erling Smørgrav ;; 6919b7579f77SDag-Erling Smørgrav *) 6920f61ef7f6SDag-Erling Smørgrav if test yes = "$GXX"; then 6921f61ef7f6SDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 6922f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 6923b7579f77SDag-Erling Smørgrav else 6924f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' 6925b7579f77SDag-Erling Smørgrav fi 6926b7579f77SDag-Erling Smørgrav fi 6927b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6928b7579f77SDag-Erling Smørgrav ;; 6929b7579f77SDag-Erling Smørgrav esac 6930f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6931b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6932b7579f77SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=yes 6933b7579f77SDag-Erling Smørgrav ;; 6934b7579f77SDag-Erling Smørgrav 6935f61ef7f6SDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 6936b7579f77SDag-Erling Smørgrav case $cc_basename in 6937b7579f77SDag-Erling Smørgrav KCC*) 6938b7579f77SDag-Erling Smørgrav # Kuck and Associates, Inc. (KAI) C++ Compiler 6939b7579f77SDag-Erling Smørgrav 6940b7579f77SDag-Erling Smørgrav # KCC will only create a shared library if the output file 6941b7579f77SDag-Erling Smørgrav # ends with ".so" (or ".sl" for HP-UX), so rename the library 6942b7579f77SDag-Erling Smørgrav # to its proper name (with version) after linking. 6943f61ef7f6SDag-Erling Smørgrav _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' 6944f61ef7f6SDag-Erling Smørgrav _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' 6945b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 6946b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 6947b7579f77SDag-Erling Smørgrav # linking a shared library. 6948b7579f77SDag-Erling Smørgrav # 6949b7579f77SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 6950b7579f77SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 6951b7579f77SDag-Erling Smørgrav # from the output so that they don't get included in the library 6952b7579f77SDag-Erling Smørgrav # dependencies. 6953f61ef7f6SDag-Erling Smørgrav 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; func_echo_all "$list"' 6954b7579f77SDag-Erling Smørgrav 6955f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6956f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 6957b7579f77SDag-Erling Smørgrav 6958b7579f77SDag-Erling Smørgrav # Archives containing C++ object files must be created using 6959b7579f77SDag-Erling Smørgrav # "CC -Bstatic", where "CC" is the KAI C++ compiler. 6960b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 6961b7579f77SDag-Erling Smørgrav ;; 6962b7579f77SDag-Erling Smørgrav icpc* | ecpc* ) 6963b7579f77SDag-Erling Smørgrav # Intel C++ 6964b7579f77SDag-Erling Smørgrav with_gnu_ld=yes 6965b7579f77SDag-Erling Smørgrav # version 8.0 and above of icpc choke on multiply defined symbols 6966b7579f77SDag-Erling Smørgrav # if we add $predep_objects and $postdep_objects, however 7.1 and 6967b7579f77SDag-Erling Smørgrav # earlier do not add the objects themselves. 6968b7579f77SDag-Erling Smørgrav case `$CC -V 2>&1` in 6969b7579f77SDag-Erling Smørgrav *"Version 7."*) 6970f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 6971f61ef7f6SDag-Erling Smørgrav _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' 6972b7579f77SDag-Erling Smørgrav ;; 6973b7579f77SDag-Erling Smørgrav *) # Version 8.0 or newer 6974b7579f77SDag-Erling Smørgrav tmp_idyn= 6975b7579f77SDag-Erling Smørgrav case $host_cpu in 6976b7579f77SDag-Erling Smørgrav ia64*) tmp_idyn=' -i_dynamic';; 6977b7579f77SDag-Erling Smørgrav esac 6978f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6979f61ef7f6SDag-Erling Smørgrav _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' 6980b7579f77SDag-Erling Smørgrav ;; 6981b7579f77SDag-Erling Smørgrav esac 6982b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6983f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6984f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 6985f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 6986b7579f77SDag-Erling Smørgrav ;; 6987b7579f77SDag-Erling Smørgrav pgCC* | pgcpp*) 6988b7579f77SDag-Erling Smørgrav # Portland Group C++ compiler 6989b7579f77SDag-Erling Smørgrav case `$CC -V` in 6990b7579f77SDag-Erling Smørgrav *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 6991b7579f77SDag-Erling Smørgrav _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 6992b7579f77SDag-Erling Smørgrav rm -rf $tpldir~ 6993b7579f77SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 6994b7579f77SDag-Erling Smørgrav compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 6995b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 6996b7579f77SDag-Erling Smørgrav rm -rf $tpldir~ 6997b7579f77SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 6998b7579f77SDag-Erling Smørgrav $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 6999b7579f77SDag-Erling Smørgrav $RANLIB $oldlib' 7000b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 7001b7579f77SDag-Erling Smørgrav rm -rf $tpldir~ 7002b7579f77SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7003f61ef7f6SDag-Erling Smørgrav $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7004b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 7005b7579f77SDag-Erling Smørgrav rm -rf $tpldir~ 7006b7579f77SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7007f61ef7f6SDag-Erling Smørgrav $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' 7008b7579f77SDag-Erling Smørgrav ;; 7009b7579f77SDag-Erling Smørgrav *) # Version 6 and above use weak symbols 7010f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7011f61ef7f6SDag-Erling Smørgrav _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' 7012b7579f77SDag-Erling Smørgrav ;; 7013b7579f77SDag-Erling Smørgrav esac 7014b7579f77SDag-Erling Smørgrav 7015f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' 7016f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7017f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 7018b7579f77SDag-Erling Smørgrav ;; 7019b7579f77SDag-Erling Smørgrav cxx*) 7020b7579f77SDag-Erling Smørgrav # Compaq C++ 7021f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7022f61ef7f6SDag-Erling Smørgrav _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' 7023b7579f77SDag-Erling Smørgrav 7024b7579f77SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 7025b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 7026b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7027b7579f77SDag-Erling Smørgrav 7028b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 7029b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 7030b7579f77SDag-Erling Smørgrav # linking a shared library. 7031b7579f77SDag-Erling Smørgrav # 7032b7579f77SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 7033b7579f77SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 7034b7579f77SDag-Erling Smørgrav # from the output so that they don't get included in the library 7035b7579f77SDag-Erling Smørgrav # dependencies. 7036f61ef7f6SDag-Erling Smørgrav output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' 7037b7579f77SDag-Erling Smørgrav ;; 7038b7579f77SDag-Erling Smørgrav xl* | mpixl* | bgxl*) 7039b7579f77SDag-Erling Smørgrav # IBM XL 8.0 on PPC, with GNU ld 7040f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7041f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7042f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 7043f61ef7f6SDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 7044b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 7045*46d2f618SCy Schubert cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 7046b7579f77SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 7047f61ef7f6SDag-Erling Smørgrav $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 7048b7579f77SDag-Erling Smørgrav fi 7049b7579f77SDag-Erling Smørgrav ;; 7050b7579f77SDag-Erling Smørgrav *) 7051*46d2f618SCy Schubert case `$CC -V 2>&1 | sed 5q` in 7052b7579f77SDag-Erling Smørgrav *Sun\ C*) 7053b7579f77SDag-Erling Smørgrav # Sun C++ 5.9 7054b7579f77SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7055f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7056f61ef7f6SDag-Erling Smørgrav _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' 7057b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7058f61ef7f6SDag-Erling Smørgrav _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; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' 7059b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 7060b7579f77SDag-Erling Smørgrav 7061b7579f77SDag-Erling Smørgrav # Not sure whether something based on 7062b7579f77SDag-Erling Smørgrav # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 7063b7579f77SDag-Erling Smørgrav # would be better. 7064b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='func_echo_all' 7065b7579f77SDag-Erling Smørgrav 7066b7579f77SDag-Erling Smørgrav # Archives containing C++ object files must be created using 7067b7579f77SDag-Erling Smørgrav # "CC -xar", where "CC" is the Sun C++ compiler. This is 7068b7579f77SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 7069b7579f77SDag-Erling Smørgrav # in the archive. 7070b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 7071b7579f77SDag-Erling Smørgrav ;; 7072b7579f77SDag-Erling Smørgrav esac 7073b7579f77SDag-Erling Smørgrav ;; 7074b7579f77SDag-Erling Smørgrav esac 7075b7579f77SDag-Erling Smørgrav ;; 7076b7579f77SDag-Erling Smørgrav 7077b7579f77SDag-Erling Smørgrav lynxos*) 7078b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7079b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7080b7579f77SDag-Erling Smørgrav ;; 7081b7579f77SDag-Erling Smørgrav 7082b7579f77SDag-Erling Smørgrav m88k*) 7083b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7084b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7085b7579f77SDag-Erling Smørgrav ;; 7086b7579f77SDag-Erling Smørgrav 7087b7579f77SDag-Erling Smørgrav mvs*) 7088b7579f77SDag-Erling Smørgrav case $cc_basename in 7089b7579f77SDag-Erling Smørgrav cxx*) 7090b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7091b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7092b7579f77SDag-Erling Smørgrav ;; 7093b7579f77SDag-Erling Smørgrav *) 7094b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7095b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7096b7579f77SDag-Erling Smørgrav ;; 7097b7579f77SDag-Erling Smørgrav esac 7098b7579f77SDag-Erling Smørgrav ;; 7099b7579f77SDag-Erling Smørgrav 7100b7579f77SDag-Erling Smørgrav netbsd*) 7101b7579f77SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 7102b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 7103b7579f77SDag-Erling Smørgrav wlarc= 7104b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7105b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 7106b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7107b7579f77SDag-Erling Smørgrav fi 7108b7579f77SDag-Erling Smørgrav # Workaround some broken pre-1.5 toolchains 7109b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 7110b7579f77SDag-Erling Smørgrav ;; 7111b7579f77SDag-Erling Smørgrav 7112b7579f77SDag-Erling Smørgrav *nto* | *qnx*) 7113b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 7114b7579f77SDag-Erling Smørgrav ;; 7115b7579f77SDag-Erling Smørgrav 7116f61ef7f6SDag-Erling Smørgrav openbsd* | bitrig*) 7117b7579f77SDag-Erling Smørgrav if test -f /usr/libexec/ld.so; then 7118b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 7119b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7120b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 7121b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 7122f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7123f61ef7f6SDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then 7124f61ef7f6SDag-Erling Smørgrav _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' 7125f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 7126f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 7127b7579f77SDag-Erling Smørgrav fi 7128b7579f77SDag-Erling Smørgrav output_verbose_link_cmd=func_echo_all 7129b7579f77SDag-Erling Smørgrav else 7130b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7131b7579f77SDag-Erling Smørgrav fi 7132b7579f77SDag-Erling Smørgrav ;; 7133b7579f77SDag-Erling Smørgrav 7134b7579f77SDag-Erling Smørgrav osf3* | osf4* | osf5*) 7135b7579f77SDag-Erling Smørgrav case $cc_basename in 7136b7579f77SDag-Erling Smørgrav KCC*) 7137b7579f77SDag-Erling Smørgrav # Kuck and Associates, Inc. (KAI) C++ Compiler 7138b7579f77SDag-Erling Smørgrav 7139b7579f77SDag-Erling Smørgrav # KCC will only create a shared library if the output file 7140b7579f77SDag-Erling Smørgrav # ends with ".so" (or ".sl" for HP-UX), so rename the library 7141b7579f77SDag-Erling Smørgrav # to its proper name (with version) after linking. 7142f61ef7f6SDag-Erling Smørgrav _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' 7143b7579f77SDag-Erling Smørgrav 7144f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7145b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7146b7579f77SDag-Erling Smørgrav 7147b7579f77SDag-Erling Smørgrav # Archives containing C++ object files must be created using 7148b7579f77SDag-Erling Smørgrav # the KAI C++ compiler. 7149b7579f77SDag-Erling Smørgrav case $host in 7150b7579f77SDag-Erling Smørgrav osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 7151b7579f77SDag-Erling Smørgrav *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 7152b7579f77SDag-Erling Smørgrav esac 7153b7579f77SDag-Erling Smørgrav ;; 7154b7579f77SDag-Erling Smørgrav RCC*) 7155b7579f77SDag-Erling Smørgrav # Rational C++ 2.4.1 7156b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7157b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7158b7579f77SDag-Erling Smørgrav ;; 7159b7579f77SDag-Erling Smørgrav cxx*) 7160b7579f77SDag-Erling Smørgrav case $host in 7161b7579f77SDag-Erling Smørgrav osf3*) 7162f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 7163f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 7164f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7165b7579f77SDag-Erling Smørgrav ;; 7166b7579f77SDag-Erling Smørgrav *) 7167b7579f77SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 7168f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' 7169b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 7170b7579f77SDag-Erling Smørgrav echo "-hidden">> $lib.exp~ 7171f61ef7f6SDag-Erling Smørgrav $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 "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ 7172b7579f77SDag-Erling Smørgrav $RM $lib.exp' 7173b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 7174b7579f77SDag-Erling Smørgrav ;; 7175b7579f77SDag-Erling Smørgrav esac 7176b7579f77SDag-Erling Smørgrav 7177b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7178b7579f77SDag-Erling Smørgrav 7179b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 7180b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 7181b7579f77SDag-Erling Smørgrav # linking a shared library. 7182b7579f77SDag-Erling Smørgrav # 7183b7579f77SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 7184b7579f77SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 7185b7579f77SDag-Erling Smørgrav # from the output so that they don't get included in the library 7186b7579f77SDag-Erling Smørgrav # dependencies. 7187f61ef7f6SDag-Erling Smørgrav output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' 7188b7579f77SDag-Erling Smørgrav ;; 7189b7579f77SDag-Erling Smørgrav *) 7190f61ef7f6SDag-Erling Smørgrav if test yes,no = "$GXX,$with_gnu_ld"; then 7191f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 7192b7579f77SDag-Erling Smørgrav case $host in 7193b7579f77SDag-Erling Smørgrav osf3*) 7194f61ef7f6SDag-Erling Smørgrav _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" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 7195b7579f77SDag-Erling Smørgrav ;; 7196b7579f77SDag-Erling Smørgrav *) 7197f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' 7198b7579f77SDag-Erling Smørgrav ;; 7199b7579f77SDag-Erling Smørgrav esac 7200b7579f77SDag-Erling Smørgrav 7201f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7202b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7203b7579f77SDag-Erling Smørgrav 7204b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 7205b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 7206b7579f77SDag-Erling Smørgrav # linking a shared library. 7207b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 7208b7579f77SDag-Erling Smørgrav 7209b7579f77SDag-Erling Smørgrav else 7210b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7211b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7212b7579f77SDag-Erling Smørgrav fi 7213b7579f77SDag-Erling Smørgrav ;; 7214b7579f77SDag-Erling Smørgrav esac 7215b7579f77SDag-Erling Smørgrav ;; 7216b7579f77SDag-Erling Smørgrav 7217b7579f77SDag-Erling Smørgrav psos*) 7218b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7219b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7220b7579f77SDag-Erling Smørgrav ;; 7221b7579f77SDag-Erling Smørgrav 7222b7579f77SDag-Erling Smørgrav sunos4*) 7223b7579f77SDag-Erling Smørgrav case $cc_basename in 7224b7579f77SDag-Erling Smørgrav CC*) 7225b7579f77SDag-Erling Smørgrav # Sun C++ 4.x 7226b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7227b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7228b7579f77SDag-Erling Smørgrav ;; 7229b7579f77SDag-Erling Smørgrav lcc*) 7230b7579f77SDag-Erling Smørgrav # Lucid 7231b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7232b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7233b7579f77SDag-Erling Smørgrav ;; 7234b7579f77SDag-Erling Smørgrav *) 7235b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7236b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7237b7579f77SDag-Erling Smørgrav ;; 7238b7579f77SDag-Erling Smørgrav esac 7239b7579f77SDag-Erling Smørgrav ;; 7240b7579f77SDag-Erling Smørgrav 7241b7579f77SDag-Erling Smørgrav solaris*) 7242b7579f77SDag-Erling Smørgrav case $cc_basename in 7243b7579f77SDag-Erling Smørgrav CC* | sunCC*) 7244b7579f77SDag-Erling Smørgrav # Sun C++ 4.2, 5.x and Centerline C++ 7245b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 7246b7579f77SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7247f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7248b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7249f61ef7f6SDag-Erling Smørgrav $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' 7250b7579f77SDag-Erling Smørgrav 7251b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7252b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7253b7579f77SDag-Erling Smørgrav case $host_os in 7254b7579f77SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 7255b7579f77SDag-Erling Smørgrav *) 7256b7579f77SDag-Erling Smørgrav # The compiler driver will combine and reorder linker options, 7257f61ef7f6SDag-Erling Smørgrav # but understands '-z linker_flag'. 7258b7579f77SDag-Erling Smørgrav # Supported since Solaris 2.6 (maybe 2.5.1?) 7259b7579f77SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 7260b7579f77SDag-Erling Smørgrav ;; 7261b7579f77SDag-Erling Smørgrav esac 7262b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 7263b7579f77SDag-Erling Smørgrav 7264b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='func_echo_all' 7265b7579f77SDag-Erling Smørgrav 7266b7579f77SDag-Erling Smørgrav # Archives containing C++ object files must be created using 7267b7579f77SDag-Erling Smørgrav # "CC -xar", where "CC" is the Sun C++ compiler. This is 7268b7579f77SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 7269b7579f77SDag-Erling Smørgrav # in the archive. 7270b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 7271b7579f77SDag-Erling Smørgrav ;; 7272b7579f77SDag-Erling Smørgrav gcx*) 7273b7579f77SDag-Erling Smørgrav # Green Hills C++ Compiler 7274f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7275b7579f77SDag-Erling Smørgrav 7276b7579f77SDag-Erling Smørgrav # The C++ compiler must be used to create the archive. 7277b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 7278b7579f77SDag-Erling Smørgrav ;; 7279b7579f77SDag-Erling Smørgrav *) 7280b7579f77SDag-Erling Smørgrav # GNU C++ compiler with Solaris linker 7281f61ef7f6SDag-Erling Smørgrav if test yes,no = "$GXX,$with_gnu_ld"; then 7282f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' 7283b7579f77SDag-Erling Smørgrav if $CC --version | $GREP -v '^2\.7' > /dev/null; then 7284f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7285b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7286f61ef7f6SDag-Erling Smørgrav $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 7287b7579f77SDag-Erling Smørgrav 7288b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 7289b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 7290b7579f77SDag-Erling Smørgrav # linking a shared library. 7291b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 7292b7579f77SDag-Erling Smørgrav else 7293f61ef7f6SDag-Erling Smørgrav # g++ 2.7 appears to require '-G' NOT '-shared' on this 7294b7579f77SDag-Erling Smørgrav # platform. 7295f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7296b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7297f61ef7f6SDag-Erling Smørgrav $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 7298b7579f77SDag-Erling Smørgrav 7299b7579f77SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 7300b7579f77SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 7301b7579f77SDag-Erling Smørgrav # linking a shared library. 7302b7579f77SDag-Erling Smørgrav output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 7303b7579f77SDag-Erling Smørgrav fi 7304b7579f77SDag-Erling Smørgrav 7305f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' 7306b7579f77SDag-Erling Smørgrav case $host_os in 7307b7579f77SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 7308b7579f77SDag-Erling Smørgrav *) 7309f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 7310b7579f77SDag-Erling Smørgrav ;; 7311b7579f77SDag-Erling Smørgrav esac 7312b7579f77SDag-Erling Smørgrav fi 7313b7579f77SDag-Erling Smørgrav ;; 7314b7579f77SDag-Erling Smørgrav esac 7315b7579f77SDag-Erling Smørgrav ;; 7316b7579f77SDag-Erling Smørgrav 7317b7579f77SDag-Erling Smørgrav sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 7318f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 7319b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7320b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7321b7579f77SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 7322b7579f77SDag-Erling Smørgrav 7323b7579f77SDag-Erling Smørgrav case $cc_basename in 7324b7579f77SDag-Erling Smørgrav CC*) 7325f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7326f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7327b7579f77SDag-Erling Smørgrav ;; 7328b7579f77SDag-Erling Smørgrav *) 7329f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7330f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7331b7579f77SDag-Erling Smørgrav ;; 7332b7579f77SDag-Erling Smørgrav esac 7333b7579f77SDag-Erling Smørgrav ;; 7334b7579f77SDag-Erling Smørgrav 7335b7579f77SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6*) 7336f61ef7f6SDag-Erling Smørgrav # Note: We CANNOT use -z defs as we might desire, because we do not 7337b7579f77SDag-Erling Smørgrav # link with -lc, and that would cause any symbols used from libc to 7338b7579f77SDag-Erling Smørgrav # always be unresolved, which means just about no library would 7339b7579f77SDag-Erling Smørgrav # ever link correctly. If we're not using GNU ld we use -z text 7340b7579f77SDag-Erling Smørgrav # though, which does catch some bad symbols but isn't as heavy-handed 7341b7579f77SDag-Erling Smørgrav # as -z defs. 7342f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 7343f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 7344b7579f77SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7345b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7346f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 7347b7579f77SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 7348b7579f77SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 7349f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 7350b7579f77SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 7351b7579f77SDag-Erling Smørgrav 7352b7579f77SDag-Erling Smørgrav case $cc_basename in 7353b7579f77SDag-Erling Smørgrav CC*) 7354f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7355f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7356b7579f77SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 7357b7579f77SDag-Erling Smørgrav '"$_LT_TAGVAR(old_archive_cmds, $1)" 7358b7579f77SDag-Erling Smørgrav _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 7359b7579f77SDag-Erling Smørgrav '"$_LT_TAGVAR(reload_cmds, $1)" 7360b7579f77SDag-Erling Smørgrav ;; 7361b7579f77SDag-Erling Smørgrav *) 7362f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7363f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7364b7579f77SDag-Erling Smørgrav ;; 7365b7579f77SDag-Erling Smørgrav esac 7366b7579f77SDag-Erling Smørgrav ;; 7367b7579f77SDag-Erling Smørgrav 7368b7579f77SDag-Erling Smørgrav tandem*) 7369b7579f77SDag-Erling Smørgrav case $cc_basename in 7370b7579f77SDag-Erling Smørgrav NCC*) 7371b7579f77SDag-Erling Smørgrav # NonStop-UX NCC 3.20 7372b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7373b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7374b7579f77SDag-Erling Smørgrav ;; 7375b7579f77SDag-Erling Smørgrav *) 7376b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7377b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7378b7579f77SDag-Erling Smørgrav ;; 7379b7579f77SDag-Erling Smørgrav esac 7380b7579f77SDag-Erling Smørgrav ;; 7381b7579f77SDag-Erling Smørgrav 7382b7579f77SDag-Erling Smørgrav vxworks*) 7383b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7384b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7385b7579f77SDag-Erling Smørgrav ;; 7386b7579f77SDag-Erling Smørgrav 7387b7579f77SDag-Erling Smørgrav *) 7388b7579f77SDag-Erling Smørgrav # FIXME: insert proper C++ library support 7389b7579f77SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 7390b7579f77SDag-Erling Smørgrav ;; 7391b7579f77SDag-Erling Smørgrav esac 7392b7579f77SDag-Erling Smørgrav 7393b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 7394f61ef7f6SDag-Erling Smørgrav test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 7395b7579f77SDag-Erling Smørgrav 7396f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$GXX 7397f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 7398b7579f77SDag-Erling Smørgrav 7399b7579f77SDag-Erling Smørgrav ## CAVEAT EMPTOR: 7400b7579f77SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 7401b7579f77SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 7402b7579f77SDag-Erling Smørgrav ## what you are doing... 7403b7579f77SDag-Erling Smørgrav _LT_SYS_HIDDEN_LIBDEPS($1) 7404b7579f77SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 7405b7579f77SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 7406b7579f77SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 7407b7579f77SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 7408b7579f77SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 7409b7579f77SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 7410b7579f77SDag-Erling Smørgrav 7411b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 7412b7579f77SDag-Erling Smørgrav fi # test -n "$compiler" 7413b7579f77SDag-Erling Smørgrav 7414b7579f77SDag-Erling Smørgrav CC=$lt_save_CC 7415b7579f77SDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 7416b7579f77SDag-Erling Smørgrav LDCXX=$LD 7417b7579f77SDag-Erling Smørgrav LD=$lt_save_LD 7418b7579f77SDag-Erling Smørgrav GCC=$lt_save_GCC 7419b7579f77SDag-Erling Smørgrav with_gnu_ld=$lt_save_with_gnu_ld 7420b7579f77SDag-Erling Smørgrav lt_cv_path_LDCXX=$lt_cv_path_LD 7421b7579f77SDag-Erling Smørgrav lt_cv_path_LD=$lt_save_path_LD 7422b7579f77SDag-Erling Smørgrav lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 7423b7579f77SDag-Erling Smørgrav lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 7424f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_caught_CXX_error" 7425b7579f77SDag-Erling Smørgrav 7426b7579f77SDag-Erling SmørgravAC_LANG_POP 7427b7579f77SDag-Erling Smørgrav])# _LT_LANG_CXX_CONFIG 7428b7579f77SDag-Erling Smørgrav 7429b7579f77SDag-Erling Smørgrav 7430b7579f77SDag-Erling Smørgrav# _LT_FUNC_STRIPNAME_CNF 7431b7579f77SDag-Erling Smørgrav# ---------------------- 7432b7579f77SDag-Erling Smørgrav# func_stripname_cnf prefix suffix name 7433b7579f77SDag-Erling Smørgrav# strip PREFIX and SUFFIX off of NAME. 7434b7579f77SDag-Erling Smørgrav# PREFIX and SUFFIX must not contain globbing or regex special 7435b7579f77SDag-Erling Smørgrav# characters, hashes, percent signs, but SUFFIX may contain a leading 7436b7579f77SDag-Erling Smørgrav# dot (in which case that matches only a dot). 7437b7579f77SDag-Erling Smørgrav# 7438b7579f77SDag-Erling Smørgrav# This function is identical to the (non-XSI) version of func_stripname, 7439b7579f77SDag-Erling Smørgrav# except this one can be used by m4 code that may be executed by configure, 7440b7579f77SDag-Erling Smørgrav# rather than the libtool script. 7441b7579f77SDag-Erling Smørgravm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 7442b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED]) 7443b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 7444b7579f77SDag-Erling Smørgravfunc_stripname_cnf () 7445b7579f77SDag-Erling Smørgrav{ 7446f61ef7f6SDag-Erling Smørgrav case @S|@2 in 7447f61ef7f6SDag-Erling Smørgrav .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; 7448f61ef7f6SDag-Erling Smørgrav *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; 7449b7579f77SDag-Erling Smørgrav esac 7450b7579f77SDag-Erling Smørgrav} # func_stripname_cnf 7451b7579f77SDag-Erling Smørgrav])# _LT_FUNC_STRIPNAME_CNF 7452b7579f77SDag-Erling Smørgrav 7453f61ef7f6SDag-Erling Smørgrav 7454b7579f77SDag-Erling Smørgrav# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 7455b7579f77SDag-Erling Smørgrav# --------------------------------- 7456b7579f77SDag-Erling Smørgrav# Figure out "hidden" library dependencies from verbose 7457b7579f77SDag-Erling Smørgrav# compiler output when linking a shared library. 7458b7579f77SDag-Erling Smørgrav# Parse the compiler output and extract the necessary 7459b7579f77SDag-Erling Smørgrav# objects, libraries and library flags. 7460b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 7461b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 7462b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 7463b7579f77SDag-Erling Smørgrav# Dependencies to place before and after the object being linked: 7464b7579f77SDag-Erling Smørgrav_LT_TAGVAR(predep_objects, $1)= 7465b7579f77SDag-Erling Smørgrav_LT_TAGVAR(postdep_objects, $1)= 7466b7579f77SDag-Erling Smørgrav_LT_TAGVAR(predeps, $1)= 7467b7579f77SDag-Erling Smørgrav_LT_TAGVAR(postdeps, $1)= 7468b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler_lib_search_path, $1)= 7469b7579f77SDag-Erling Smørgrav 7470b7579f77SDag-Erling Smørgravdnl we can't use the lt_simple_compile_test_code here, 7471b7579f77SDag-Erling Smørgravdnl because it contains code intended for an executable, 7472b7579f77SDag-Erling Smørgravdnl not a library. It's possible we should let each 7473b7579f77SDag-Erling Smørgravdnl tag define a new lt_????_link_test_code variable, 7474b7579f77SDag-Erling Smørgravdnl but it's only used here... 7475b7579f77SDag-Erling Smørgravm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 7476b7579f77SDag-Erling Smørgravint a; 7477b7579f77SDag-Erling Smørgravvoid foo (void) { a = 0; } 7478b7579f77SDag-Erling Smørgrav_LT_EOF 7479b7579f77SDag-Erling Smørgrav], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 7480b7579f77SDag-Erling Smørgravclass Foo 7481b7579f77SDag-Erling Smørgrav{ 7482b7579f77SDag-Erling Smørgravpublic: 7483b7579f77SDag-Erling Smørgrav Foo (void) { a = 0; } 7484b7579f77SDag-Erling Smørgravprivate: 7485b7579f77SDag-Erling Smørgrav int a; 7486b7579f77SDag-Erling Smørgrav}; 7487b7579f77SDag-Erling Smørgrav_LT_EOF 7488b7579f77SDag-Erling Smørgrav], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 7489b7579f77SDag-Erling Smørgrav subroutine foo 7490b7579f77SDag-Erling Smørgrav implicit none 7491b7579f77SDag-Erling Smørgrav integer*4 a 7492b7579f77SDag-Erling Smørgrav a=0 7493b7579f77SDag-Erling Smørgrav return 7494b7579f77SDag-Erling Smørgrav end 7495b7579f77SDag-Erling Smørgrav_LT_EOF 7496b7579f77SDag-Erling Smørgrav], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 7497b7579f77SDag-Erling Smørgrav subroutine foo 7498b7579f77SDag-Erling Smørgrav implicit none 7499b7579f77SDag-Erling Smørgrav integer a 7500b7579f77SDag-Erling Smørgrav a=0 7501b7579f77SDag-Erling Smørgrav return 7502b7579f77SDag-Erling Smørgrav end 7503b7579f77SDag-Erling Smørgrav_LT_EOF 7504b7579f77SDag-Erling Smørgrav], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 7505b7579f77SDag-Erling Smørgravpublic class foo { 7506b7579f77SDag-Erling Smørgrav private int a; 7507b7579f77SDag-Erling Smørgrav public void bar (void) { 7508b7579f77SDag-Erling Smørgrav a = 0; 7509b7579f77SDag-Erling Smørgrav } 7510b7579f77SDag-Erling Smørgrav}; 7511b7579f77SDag-Erling Smørgrav_LT_EOF 75128ed2b524SDag-Erling Smørgrav], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 75138ed2b524SDag-Erling Smørgravpackage foo 75148ed2b524SDag-Erling Smørgravfunc foo() { 75158ed2b524SDag-Erling Smørgrav} 75168ed2b524SDag-Erling Smørgrav_LT_EOF 7517b7579f77SDag-Erling Smørgrav]) 7518b7579f77SDag-Erling Smørgrav 7519b7579f77SDag-Erling Smørgrav_lt_libdeps_save_CFLAGS=$CFLAGS 7520b7579f77SDag-Erling Smørgravcase "$CC $CFLAGS " in #( 7521b7579f77SDag-Erling Smørgrav*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 7522b7579f77SDag-Erling Smørgrav*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 75238ed2b524SDag-Erling Smørgrav*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 7524b7579f77SDag-Erling Smørgravesac 7525b7579f77SDag-Erling Smørgrav 7526b7579f77SDag-Erling Smørgravdnl Parse the compiler output and extract the necessary 7527b7579f77SDag-Erling Smørgravdnl objects, libraries and library flags. 7528b7579f77SDag-Erling Smørgravif AC_TRY_EVAL(ac_compile); then 7529b7579f77SDag-Erling Smørgrav # Parse the compiler output and extract the necessary 7530b7579f77SDag-Erling Smørgrav # objects, libraries and library flags. 7531b7579f77SDag-Erling Smørgrav 7532b7579f77SDag-Erling Smørgrav # Sentinel used to keep track of whether or not we are before 7533b7579f77SDag-Erling Smørgrav # the conftest object file. 7534b7579f77SDag-Erling Smørgrav pre_test_object_deps_done=no 7535b7579f77SDag-Erling Smørgrav 7536b7579f77SDag-Erling Smørgrav for p in `eval "$output_verbose_link_cmd"`; do 7537f61ef7f6SDag-Erling Smørgrav case $prev$p in 7538b7579f77SDag-Erling Smørgrav 7539b7579f77SDag-Erling Smørgrav -L* | -R* | -l*) 7540b7579f77SDag-Erling Smørgrav # Some compilers place space between "-{L,R}" and the path. 7541b7579f77SDag-Erling Smørgrav # Remove the space. 7542f61ef7f6SDag-Erling Smørgrav if test x-L = "$p" || 7543f61ef7f6SDag-Erling Smørgrav test x-R = "$p"; then 7544b7579f77SDag-Erling Smørgrav prev=$p 7545b7579f77SDag-Erling Smørgrav continue 7546b7579f77SDag-Erling Smørgrav fi 7547b7579f77SDag-Erling Smørgrav 7548b7579f77SDag-Erling Smørgrav # Expand the sysroot to ease extracting the directories later. 7549b7579f77SDag-Erling Smørgrav if test -z "$prev"; then 7550b7579f77SDag-Erling Smørgrav case $p in 7551b7579f77SDag-Erling Smørgrav -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 7552b7579f77SDag-Erling Smørgrav -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 7553b7579f77SDag-Erling Smørgrav -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 7554b7579f77SDag-Erling Smørgrav esac 7555b7579f77SDag-Erling Smørgrav fi 7556b7579f77SDag-Erling Smørgrav case $p in 7557b7579f77SDag-Erling Smørgrav =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 7558b7579f77SDag-Erling Smørgrav esac 7559f61ef7f6SDag-Erling Smørgrav if test no = "$pre_test_object_deps_done"; then 7560f61ef7f6SDag-Erling Smørgrav case $prev in 7561b7579f77SDag-Erling Smørgrav -L | -R) 7562b7579f77SDag-Erling Smørgrav # Internal compiler library paths should come after those 7563b7579f77SDag-Erling Smørgrav # provided the user. The postdeps already come after the 7564b7579f77SDag-Erling Smørgrav # user supplied libs so there is no need to process them. 7565b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 7566f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p 7567b7579f77SDag-Erling Smørgrav else 7568f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" 7569b7579f77SDag-Erling Smørgrav fi 7570b7579f77SDag-Erling Smørgrav ;; 7571b7579f77SDag-Erling Smørgrav # The "-l" case would never come before the object being 7572b7579f77SDag-Erling Smørgrav # linked, so don't bother handling this case. 7573b7579f77SDag-Erling Smørgrav esac 7574b7579f77SDag-Erling Smørgrav else 7575b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(postdeps, $1)"; then 7576f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(postdeps, $1)=$prev$p 7577b7579f77SDag-Erling Smørgrav else 7578f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" 7579b7579f77SDag-Erling Smørgrav fi 7580b7579f77SDag-Erling Smørgrav fi 7581b7579f77SDag-Erling Smørgrav prev= 7582b7579f77SDag-Erling Smørgrav ;; 7583b7579f77SDag-Erling Smørgrav 7584b7579f77SDag-Erling Smørgrav *.lto.$objext) ;; # Ignore GCC LTO objects 7585b7579f77SDag-Erling Smørgrav *.$objext) 7586b7579f77SDag-Erling Smørgrav # This assumes that the test object file only shows up 7587b7579f77SDag-Erling Smørgrav # once in the compiler output. 7588b7579f77SDag-Erling Smørgrav if test "$p" = "conftest.$objext"; then 7589b7579f77SDag-Erling Smørgrav pre_test_object_deps_done=yes 7590b7579f77SDag-Erling Smørgrav continue 7591b7579f77SDag-Erling Smørgrav fi 7592b7579f77SDag-Erling Smørgrav 7593f61ef7f6SDag-Erling Smørgrav if test no = "$pre_test_object_deps_done"; then 7594b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 7595f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(predep_objects, $1)=$p 7596b7579f77SDag-Erling Smørgrav else 7597b7579f77SDag-Erling Smørgrav _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 7598b7579f77SDag-Erling Smørgrav fi 7599b7579f77SDag-Erling Smørgrav else 7600b7579f77SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 7601f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(postdep_objects, $1)=$p 7602b7579f77SDag-Erling Smørgrav else 7603b7579f77SDag-Erling Smørgrav _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 7604b7579f77SDag-Erling Smørgrav fi 7605b7579f77SDag-Erling Smørgrav fi 7606b7579f77SDag-Erling Smørgrav ;; 7607b7579f77SDag-Erling Smørgrav 7608b7579f77SDag-Erling Smørgrav *) ;; # Ignore the rest. 7609b7579f77SDag-Erling Smørgrav 7610b7579f77SDag-Erling Smørgrav esac 7611b7579f77SDag-Erling Smørgrav done 7612b7579f77SDag-Erling Smørgrav 7613b7579f77SDag-Erling Smørgrav # Clean up. 7614b7579f77SDag-Erling Smørgrav rm -f a.out a.exe 7615b7579f77SDag-Erling Smørgravelse 7616b7579f77SDag-Erling Smørgrav echo "libtool.m4: error: problem compiling $1 test program" 7617b7579f77SDag-Erling Smørgravfi 7618b7579f77SDag-Erling Smørgrav 7619b7579f77SDag-Erling Smørgrav$RM -f confest.$objext 7620b7579f77SDag-Erling SmørgravCFLAGS=$_lt_libdeps_save_CFLAGS 7621b7579f77SDag-Erling Smørgrav 7622b7579f77SDag-Erling Smørgrav# PORTME: override above test on systems where it is broken 7623b7579f77SDag-Erling Smørgravm4_if([$1], [CXX], 7624b7579f77SDag-Erling Smørgrav[case $host_os in 7625b7579f77SDag-Erling Smørgravinterix[[3-9]]*) 7626b7579f77SDag-Erling Smørgrav # Interix 3.5 installs completely hosed .la files for C++, so rather than 7627b7579f77SDag-Erling Smørgrav # hack all around it, let's just trust "g++" to DTRT. 7628b7579f77SDag-Erling Smørgrav _LT_TAGVAR(predep_objects,$1)= 7629b7579f77SDag-Erling Smørgrav _LT_TAGVAR(postdep_objects,$1)= 7630b7579f77SDag-Erling Smørgrav _LT_TAGVAR(postdeps,$1)= 7631b7579f77SDag-Erling Smørgrav ;; 7632b7579f77SDag-Erling Smørgravesac 7633b7579f77SDag-Erling Smørgrav]) 7634b7579f77SDag-Erling Smørgrav 7635b7579f77SDag-Erling Smørgravcase " $_LT_TAGVAR(postdeps, $1) " in 7636b7579f77SDag-Erling Smørgrav*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 7637b7579f77SDag-Erling Smørgravesac 7638b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)= 7639b7579f77SDag-Erling Smørgravif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 7640f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` 7641b7579f77SDag-Erling Smørgravfi 7642b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 7643b7579f77SDag-Erling Smørgrav [The directories searched by this compiler when creating a shared library]) 7644b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [predep_objects], [1], 7645b7579f77SDag-Erling Smørgrav [Dependencies to place before and after the objects being linked to 7646b7579f77SDag-Erling Smørgrav create a shared library]) 7647b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postdep_objects], [1]) 7648b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [predeps], [1]) 7649b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postdeps], [1]) 7650b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_path], [1], 7651b7579f77SDag-Erling Smørgrav [The library search path used internally by the compiler when linking 7652b7579f77SDag-Erling Smørgrav a shared library]) 7653b7579f77SDag-Erling Smørgrav])# _LT_SYS_HIDDEN_LIBDEPS 7654b7579f77SDag-Erling Smørgrav 7655b7579f77SDag-Erling Smørgrav 7656b7579f77SDag-Erling Smørgrav# _LT_LANG_F77_CONFIG([TAG]) 7657b7579f77SDag-Erling Smørgrav# -------------------------- 7658b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran 77 compiler are 7659b7579f77SDag-Erling Smørgrav# suitably defined. These variables are subsequently used by _LT_CONFIG 7660f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 7661b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_F77_CONFIG], 7662b7579f77SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran 77) 7663f61ef7f6SDag-Erling Smørgravif test -z "$F77" || test no = "$F77"; then 7664b7579f77SDag-Erling Smørgrav _lt_disable_F77=yes 7665b7579f77SDag-Erling Smørgravfi 7666b7579f77SDag-Erling Smørgrav 7667b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7668b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 7669b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 7670b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 7671b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 7672b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 7673b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 7674b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 7675b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 7676b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 7677b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 7678b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 7679b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 7680b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 7681b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 7682b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7683b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 7684b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7685b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 7686b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 7687b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7688b7579f77SDag-Erling Smørgrav 7689b7579f77SDag-Erling Smørgrav# Source file extension for f77 test sources. 7690b7579f77SDag-Erling Smørgravac_ext=f 7691b7579f77SDag-Erling Smørgrav 7692b7579f77SDag-Erling Smørgrav# Object file extension for compiled f77 test sources. 7693b7579f77SDag-Erling Smørgravobjext=o 7694b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 7695b7579f77SDag-Erling Smørgrav 7696b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 7697b7579f77SDag-Erling Smørgrav# the F77 compiler isn't working. Some variables (like enable_shared) 7698b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 7699b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 7700f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_disable_F77"; then 7701b7579f77SDag-Erling Smørgrav # Code to be used in simple compile tests 7702b7579f77SDag-Erling Smørgrav lt_simple_compile_test_code="\ 7703b7579f77SDag-Erling Smørgrav subroutine t 7704b7579f77SDag-Erling Smørgrav return 7705b7579f77SDag-Erling Smørgrav end 7706b7579f77SDag-Erling Smørgrav" 7707b7579f77SDag-Erling Smørgrav 7708b7579f77SDag-Erling Smørgrav # Code to be used in simple link tests 7709b7579f77SDag-Erling Smørgrav lt_simple_link_test_code="\ 7710b7579f77SDag-Erling Smørgrav program t 7711b7579f77SDag-Erling Smørgrav end 7712b7579f77SDag-Erling Smørgrav" 7713b7579f77SDag-Erling Smørgrav 7714b7579f77SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 7715b7579f77SDag-Erling Smørgrav _LT_TAG_COMPILER 7716b7579f77SDag-Erling Smørgrav 7717b7579f77SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 7718b7579f77SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 7719b7579f77SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 7720b7579f77SDag-Erling Smørgrav 7721b7579f77SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 7722f61ef7f6SDag-Erling Smørgrav lt_save_CC=$CC 7723b7579f77SDag-Erling Smørgrav lt_save_GCC=$GCC 7724b7579f77SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 7725b7579f77SDag-Erling Smørgrav CC=${F77-"f77"} 7726b7579f77SDag-Erling Smørgrav CFLAGS=$FFLAGS 7727b7579f77SDag-Erling Smørgrav compiler=$CC 7728b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 7729b7579f77SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 7730b7579f77SDag-Erling Smørgrav GCC=$G77 7731b7579f77SDag-Erling Smørgrav if test -n "$compiler"; then 7732b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 7733b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 7734b7579f77SDag-Erling Smørgrav 7735b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 7736f61ef7f6SDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 7737b7579f77SDag-Erling Smørgrav 7738b7579f77SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 7739b7579f77SDag-Erling Smørgrav # are all built from PIC. 7740b7579f77SDag-Erling Smørgrav case $host_os in 7741b7579f77SDag-Erling Smørgrav aix3*) 7742f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 7743b7579f77SDag-Erling Smørgrav if test -n "$RANLIB"; then 7744b7579f77SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 7745b7579f77SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 7746b7579f77SDag-Erling Smørgrav fi 7747b7579f77SDag-Erling Smørgrav ;; 7748b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 7749f61ef7f6SDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 7750f61ef7f6SDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 7751f61ef7f6SDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 7752f61ef7f6SDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 7753f61ef7f6SDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 7754f61ef7f6SDag-Erling Smørgrav esac 7755b7579f77SDag-Erling Smørgrav fi 7756b7579f77SDag-Erling Smørgrav ;; 7757b7579f77SDag-Erling Smørgrav esac 7758b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 7759b7579f77SDag-Erling Smørgrav 7760b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 7761b7579f77SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 7762f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 7763b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 7764b7579f77SDag-Erling Smørgrav 7765f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$G77 7766f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 7767b7579f77SDag-Erling Smørgrav 7768b7579f77SDag-Erling Smørgrav ## CAVEAT EMPTOR: 7769b7579f77SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 7770b7579f77SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 7771b7579f77SDag-Erling Smørgrav ## what you are doing... 7772b7579f77SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 7773b7579f77SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 7774b7579f77SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 7775b7579f77SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 7776b7579f77SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 7777b7579f77SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 7778b7579f77SDag-Erling Smørgrav 7779b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 7780b7579f77SDag-Erling Smørgrav fi # test -n "$compiler" 7781b7579f77SDag-Erling Smørgrav 7782b7579f77SDag-Erling Smørgrav GCC=$lt_save_GCC 7783f61ef7f6SDag-Erling Smørgrav CC=$lt_save_CC 7784f61ef7f6SDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 7785f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_disable_F77" 7786b7579f77SDag-Erling Smørgrav 7787b7579f77SDag-Erling SmørgravAC_LANG_POP 7788b7579f77SDag-Erling Smørgrav])# _LT_LANG_F77_CONFIG 7789b7579f77SDag-Erling Smørgrav 7790b7579f77SDag-Erling Smørgrav 7791b7579f77SDag-Erling Smørgrav# _LT_LANG_FC_CONFIG([TAG]) 7792b7579f77SDag-Erling Smørgrav# ------------------------- 7793b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran compiler are 7794b7579f77SDag-Erling Smørgrav# suitably defined. These variables are subsequently used by _LT_CONFIG 7795f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 7796b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_FC_CONFIG], 7797b7579f77SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran) 7798b7579f77SDag-Erling Smørgrav 7799f61ef7f6SDag-Erling Smørgravif test -z "$FC" || test no = "$FC"; then 7800b7579f77SDag-Erling Smørgrav _lt_disable_FC=yes 7801b7579f77SDag-Erling Smørgravfi 7802b7579f77SDag-Erling Smørgrav 7803b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7804b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 7805b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 7806b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 7807b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 7808b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 7809b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 7810b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 7811b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 7812b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 7813b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 7814b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 7815b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 7816b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 7817b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 7818b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7819b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 7820b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7821b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 7822b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 7823b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7824b7579f77SDag-Erling Smørgrav 7825b7579f77SDag-Erling Smørgrav# Source file extension for fc test sources. 7826b7579f77SDag-Erling Smørgravac_ext=${ac_fc_srcext-f} 7827b7579f77SDag-Erling Smørgrav 7828b7579f77SDag-Erling Smørgrav# Object file extension for compiled fc test sources. 7829b7579f77SDag-Erling Smørgravobjext=o 7830b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 7831b7579f77SDag-Erling Smørgrav 7832b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 7833b7579f77SDag-Erling Smørgrav# the FC compiler isn't working. Some variables (like enable_shared) 7834b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 7835b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 7836f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_disable_FC"; then 7837b7579f77SDag-Erling Smørgrav # Code to be used in simple compile tests 7838b7579f77SDag-Erling Smørgrav lt_simple_compile_test_code="\ 7839b7579f77SDag-Erling Smørgrav subroutine t 7840b7579f77SDag-Erling Smørgrav return 7841b7579f77SDag-Erling Smørgrav end 7842b7579f77SDag-Erling Smørgrav" 7843b7579f77SDag-Erling Smørgrav 7844b7579f77SDag-Erling Smørgrav # Code to be used in simple link tests 7845b7579f77SDag-Erling Smørgrav lt_simple_link_test_code="\ 7846b7579f77SDag-Erling Smørgrav program t 7847b7579f77SDag-Erling Smørgrav end 7848b7579f77SDag-Erling Smørgrav" 7849b7579f77SDag-Erling Smørgrav 7850b7579f77SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 7851b7579f77SDag-Erling Smørgrav _LT_TAG_COMPILER 7852b7579f77SDag-Erling Smørgrav 7853b7579f77SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 7854b7579f77SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 7855b7579f77SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 7856b7579f77SDag-Erling Smørgrav 7857b7579f77SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 7858f61ef7f6SDag-Erling Smørgrav lt_save_CC=$CC 7859b7579f77SDag-Erling Smørgrav lt_save_GCC=$GCC 7860b7579f77SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 7861b7579f77SDag-Erling Smørgrav CC=${FC-"f95"} 7862b7579f77SDag-Erling Smørgrav CFLAGS=$FCFLAGS 7863b7579f77SDag-Erling Smørgrav compiler=$CC 7864b7579f77SDag-Erling Smørgrav GCC=$ac_cv_fc_compiler_gnu 7865b7579f77SDag-Erling Smørgrav 7866b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 7867b7579f77SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 7868b7579f77SDag-Erling Smørgrav 7869b7579f77SDag-Erling Smørgrav if test -n "$compiler"; then 7870b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 7871b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 7872b7579f77SDag-Erling Smørgrav 7873b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 7874f61ef7f6SDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 7875b7579f77SDag-Erling Smørgrav 7876b7579f77SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 7877b7579f77SDag-Erling Smørgrav # are all built from PIC. 7878b7579f77SDag-Erling Smørgrav case $host_os in 7879b7579f77SDag-Erling Smørgrav aix3*) 7880f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 7881b7579f77SDag-Erling Smørgrav if test -n "$RANLIB"; then 7882b7579f77SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 7883b7579f77SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 7884b7579f77SDag-Erling Smørgrav fi 7885b7579f77SDag-Erling Smørgrav ;; 7886b7579f77SDag-Erling Smørgrav aix[[4-9]]*) 7887f61ef7f6SDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 7888f61ef7f6SDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 7889f61ef7f6SDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 7890f61ef7f6SDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 7891f61ef7f6SDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 7892f61ef7f6SDag-Erling Smørgrav esac 7893b7579f77SDag-Erling Smørgrav fi 7894b7579f77SDag-Erling Smørgrav ;; 7895b7579f77SDag-Erling Smørgrav esac 7896b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 7897b7579f77SDag-Erling Smørgrav 7898b7579f77SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 7899b7579f77SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 7900f61ef7f6SDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 7901b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 7902b7579f77SDag-Erling Smørgrav 7903f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu 7904f61ef7f6SDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 7905b7579f77SDag-Erling Smørgrav 7906b7579f77SDag-Erling Smørgrav ## CAVEAT EMPTOR: 7907b7579f77SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 7908b7579f77SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 7909b7579f77SDag-Erling Smørgrav ## what you are doing... 7910b7579f77SDag-Erling Smørgrav _LT_SYS_HIDDEN_LIBDEPS($1) 7911b7579f77SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 7912b7579f77SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 7913b7579f77SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 7914b7579f77SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 7915b7579f77SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 7916b7579f77SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 7917b7579f77SDag-Erling Smørgrav 7918b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 7919b7579f77SDag-Erling Smørgrav fi # test -n "$compiler" 7920b7579f77SDag-Erling Smørgrav 7921b7579f77SDag-Erling Smørgrav GCC=$lt_save_GCC 7922b7579f77SDag-Erling Smørgrav CC=$lt_save_CC 7923b7579f77SDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 7924f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_disable_FC" 7925b7579f77SDag-Erling Smørgrav 7926b7579f77SDag-Erling SmørgravAC_LANG_POP 7927b7579f77SDag-Erling Smørgrav])# _LT_LANG_FC_CONFIG 7928b7579f77SDag-Erling Smørgrav 7929b7579f77SDag-Erling Smørgrav 7930b7579f77SDag-Erling Smørgrav# _LT_LANG_GCJ_CONFIG([TAG]) 7931b7579f77SDag-Erling Smørgrav# -------------------------- 7932b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Java Compiler compiler 7933b7579f77SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 7934f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 7935b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_GCJ_CONFIG], 7936b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GCJ])dnl 7937b7579f77SDag-Erling SmørgravAC_LANG_SAVE 7938b7579f77SDag-Erling Smørgrav 7939b7579f77SDag-Erling Smørgrav# Source file extension for Java test sources. 7940b7579f77SDag-Erling Smørgravac_ext=java 7941b7579f77SDag-Erling Smørgrav 7942b7579f77SDag-Erling Smørgrav# Object file extension for compiled Java test sources. 7943b7579f77SDag-Erling Smørgravobjext=o 7944b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 7945b7579f77SDag-Erling Smørgrav 7946b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests 7947b7579f77SDag-Erling Smørgravlt_simple_compile_test_code="class foo {}" 7948b7579f77SDag-Erling Smørgrav 7949b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests 7950b7579f77SDag-Erling Smørgravlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 7951b7579f77SDag-Erling Smørgrav 7952b7579f77SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 7953b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER 7954b7579f77SDag-Erling Smørgrav 7955b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 7956b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 7957b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 7958b7579f77SDag-Erling Smørgrav 7959b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 7960b7579f77SDag-Erling Smørgravlt_save_CC=$CC 7961b7579f77SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 7962b7579f77SDag-Erling Smørgravlt_save_GCC=$GCC 7963b7579f77SDag-Erling SmørgravGCC=yes 7964b7579f77SDag-Erling SmørgravCC=${GCJ-"gcj"} 7965b7579f77SDag-Erling SmørgravCFLAGS=$GCJFLAGS 7966b7579f77SDag-Erling Smørgravcompiler=$CC 7967b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 7968f61ef7f6SDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD 7969b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 7970b7579f77SDag-Erling Smørgrav 7971b7579f77SDag-Erling Smørgrav# GCJ did not exist at the time GCC didn't implicitly link libc in. 7972b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 7973b7579f77SDag-Erling Smørgrav 7974b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7975b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 7976b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7977b7579f77SDag-Erling Smørgrav 7978b7579f77SDag-Erling Smørgravif test -n "$compiler"; then 7979b7579f77SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 7980b7579f77SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 7981b7579f77SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 7982b7579f77SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 7983b7579f77SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 7984b7579f77SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 7985b7579f77SDag-Erling Smørgrav 7986b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 7987b7579f77SDag-Erling Smørgravfi 7988b7579f77SDag-Erling Smørgrav 7989b7579f77SDag-Erling SmørgravAC_LANG_RESTORE 7990b7579f77SDag-Erling Smørgrav 7991b7579f77SDag-Erling SmørgravGCC=$lt_save_GCC 7992b7579f77SDag-Erling SmørgravCC=$lt_save_CC 7993b7579f77SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 7994b7579f77SDag-Erling Smørgrav])# _LT_LANG_GCJ_CONFIG 7995b7579f77SDag-Erling Smørgrav 7996b7579f77SDag-Erling Smørgrav 79978ed2b524SDag-Erling Smørgrav# _LT_LANG_GO_CONFIG([TAG]) 79988ed2b524SDag-Erling Smørgrav# -------------------------- 79998ed2b524SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Go compiler 80008ed2b524SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 8001f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 80028ed2b524SDag-Erling Smørgravm4_defun([_LT_LANG_GO_CONFIG], 80038ed2b524SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GO])dnl 80048ed2b524SDag-Erling SmørgravAC_LANG_SAVE 80058ed2b524SDag-Erling Smørgrav 80068ed2b524SDag-Erling Smørgrav# Source file extension for Go test sources. 80078ed2b524SDag-Erling Smørgravac_ext=go 80088ed2b524SDag-Erling Smørgrav 80098ed2b524SDag-Erling Smørgrav# Object file extension for compiled Go test sources. 80108ed2b524SDag-Erling Smørgravobjext=o 80118ed2b524SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 80128ed2b524SDag-Erling Smørgrav 80138ed2b524SDag-Erling Smørgrav# Code to be used in simple compile tests 80148ed2b524SDag-Erling Smørgravlt_simple_compile_test_code="package main; func main() { }" 80158ed2b524SDag-Erling Smørgrav 80168ed2b524SDag-Erling Smørgrav# Code to be used in simple link tests 80178ed2b524SDag-Erling Smørgravlt_simple_link_test_code='package main; func main() { }' 80188ed2b524SDag-Erling Smørgrav 80198ed2b524SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 80208ed2b524SDag-Erling Smørgrav_LT_TAG_COMPILER 80218ed2b524SDag-Erling Smørgrav 80228ed2b524SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 80238ed2b524SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 80248ed2b524SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 80258ed2b524SDag-Erling Smørgrav 80268ed2b524SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 80278ed2b524SDag-Erling Smørgravlt_save_CC=$CC 80288ed2b524SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 80298ed2b524SDag-Erling Smørgravlt_save_GCC=$GCC 80308ed2b524SDag-Erling SmørgravGCC=yes 80318ed2b524SDag-Erling SmørgravCC=${GOC-"gccgo"} 80328ed2b524SDag-Erling SmørgravCFLAGS=$GOFLAGS 80338ed2b524SDag-Erling Smørgravcompiler=$CC 80348ed2b524SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 8035f61ef7f6SDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD 80368ed2b524SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 80378ed2b524SDag-Erling Smørgrav 80388ed2b524SDag-Erling Smørgrav# Go did not exist at the time GCC didn't implicitly link libc in. 80398ed2b524SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 80408ed2b524SDag-Erling Smørgrav 80418ed2b524SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 80428ed2b524SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 80438ed2b524SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 80448ed2b524SDag-Erling Smørgrav 80458ed2b524SDag-Erling Smørgravif test -n "$compiler"; then 80468ed2b524SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 80478ed2b524SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 80488ed2b524SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 80498ed2b524SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 80508ed2b524SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 80518ed2b524SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 80528ed2b524SDag-Erling Smørgrav 80538ed2b524SDag-Erling Smørgrav _LT_CONFIG($1) 80548ed2b524SDag-Erling Smørgravfi 80558ed2b524SDag-Erling Smørgrav 80568ed2b524SDag-Erling SmørgravAC_LANG_RESTORE 80578ed2b524SDag-Erling Smørgrav 80588ed2b524SDag-Erling SmørgravGCC=$lt_save_GCC 80598ed2b524SDag-Erling SmørgravCC=$lt_save_CC 80608ed2b524SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 80618ed2b524SDag-Erling Smørgrav])# _LT_LANG_GO_CONFIG 80628ed2b524SDag-Erling Smørgrav 80638ed2b524SDag-Erling Smørgrav 8064b7579f77SDag-Erling Smørgrav# _LT_LANG_RC_CONFIG([TAG]) 8065b7579f77SDag-Erling Smørgrav# ------------------------- 8066b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for the Windows resource compiler 8067b7579f77SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 8068f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 8069b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_RC_CONFIG], 8070b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_RC])dnl 8071b7579f77SDag-Erling SmørgravAC_LANG_SAVE 8072b7579f77SDag-Erling Smørgrav 8073b7579f77SDag-Erling Smørgrav# Source file extension for RC test sources. 8074b7579f77SDag-Erling Smørgravac_ext=rc 8075b7579f77SDag-Erling Smørgrav 8076b7579f77SDag-Erling Smørgrav# Object file extension for compiled RC test sources. 8077b7579f77SDag-Erling Smørgravobjext=o 8078b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 8079b7579f77SDag-Erling Smørgrav 8080b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests 8081b7579f77SDag-Erling Smørgravlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 8082b7579f77SDag-Erling Smørgrav 8083b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests 8084f61ef7f6SDag-Erling Smørgravlt_simple_link_test_code=$lt_simple_compile_test_code 8085b7579f77SDag-Erling Smørgrav 8086b7579f77SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 8087b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER 8088b7579f77SDag-Erling Smørgrav 8089b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 8090b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 8091b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 8092b7579f77SDag-Erling Smørgrav 8093b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 8094f61ef7f6SDag-Erling Smørgravlt_save_CC=$CC 8095b7579f77SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 8096b7579f77SDag-Erling Smørgravlt_save_GCC=$GCC 8097b7579f77SDag-Erling SmørgravGCC= 8098b7579f77SDag-Erling SmørgravCC=${RC-"windres"} 8099b7579f77SDag-Erling SmørgravCFLAGS= 8100b7579f77SDag-Erling Smørgravcompiler=$CC 8101b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 8102b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 8103b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 8104b7579f77SDag-Erling Smørgrav 8105b7579f77SDag-Erling Smørgravif test -n "$compiler"; then 8106b7579f77SDag-Erling Smørgrav : 8107b7579f77SDag-Erling Smørgrav _LT_CONFIG($1) 8108b7579f77SDag-Erling Smørgravfi 8109b7579f77SDag-Erling Smørgrav 8110b7579f77SDag-Erling SmørgravGCC=$lt_save_GCC 8111b7579f77SDag-Erling SmørgravAC_LANG_RESTORE 8112b7579f77SDag-Erling SmørgravCC=$lt_save_CC 8113b7579f77SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 8114b7579f77SDag-Erling Smørgrav])# _LT_LANG_RC_CONFIG 8115b7579f77SDag-Erling Smørgrav 8116b7579f77SDag-Erling Smørgrav 8117b7579f77SDag-Erling Smørgrav# LT_PROG_GCJ 8118b7579f77SDag-Erling Smørgrav# ----------- 8119b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PROG_GCJ], 8120b7579f77SDag-Erling Smørgrav[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 8121b7579f77SDag-Erling Smørgrav [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 8122b7579f77SDag-Erling Smørgrav [AC_CHECK_TOOL(GCJ, gcj,) 8123f61ef7f6SDag-Erling Smørgrav test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" 8124b7579f77SDag-Erling Smørgrav AC_SUBST(GCJFLAGS)])])[]dnl 8125b7579f77SDag-Erling Smørgrav]) 8126b7579f77SDag-Erling Smørgrav 8127b7579f77SDag-Erling Smørgrav# Old name: 8128b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 8129b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8130b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 8131b7579f77SDag-Erling Smørgrav 8132b7579f77SDag-Erling Smørgrav 81338ed2b524SDag-Erling Smørgrav# LT_PROG_GO 81348ed2b524SDag-Erling Smørgrav# ---------- 81358ed2b524SDag-Erling SmørgravAC_DEFUN([LT_PROG_GO], 81368ed2b524SDag-Erling Smørgrav[AC_CHECK_TOOL(GOC, gccgo,) 81378ed2b524SDag-Erling Smørgrav]) 81388ed2b524SDag-Erling Smørgrav 81398ed2b524SDag-Erling Smørgrav 8140b7579f77SDag-Erling Smørgrav# LT_PROG_RC 8141b7579f77SDag-Erling Smørgrav# ---------- 8142b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PROG_RC], 8143b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(RC, windres,) 8144b7579f77SDag-Erling Smørgrav]) 8145b7579f77SDag-Erling Smørgrav 8146b7579f77SDag-Erling Smørgrav# Old name: 8147b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 8148b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8149b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_RC], []) 8150b7579f77SDag-Erling Smørgrav 8151b7579f77SDag-Erling Smørgrav 8152b7579f77SDag-Erling Smørgrav# _LT_DECL_EGREP 8153b7579f77SDag-Erling Smørgrav# -------------- 8154b7579f77SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best grep 8155b7579f77SDag-Erling Smørgrav# available, choose the one first in the user's PATH. 8156b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_EGREP], 8157b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_EGREP])dnl 8158b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_FGREP])dnl 8159b7579f77SDag-Erling Smørgravtest -z "$GREP" && GREP=grep 8160b7579f77SDag-Erling Smørgrav_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 8161b7579f77SDag-Erling Smørgrav_LT_DECL([], [EGREP], [1], [An ERE matcher]) 8162b7579f77SDag-Erling Smørgrav_LT_DECL([], [FGREP], [1], [A literal string matcher]) 8163b7579f77SDag-Erling Smørgravdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 8164b7579f77SDag-Erling SmørgravAC_SUBST([GREP]) 8165b7579f77SDag-Erling Smørgrav]) 8166b7579f77SDag-Erling Smørgrav 8167b7579f77SDag-Erling Smørgrav 8168b7579f77SDag-Erling Smørgrav# _LT_DECL_OBJDUMP 8169b7579f77SDag-Erling Smørgrav# -------------- 8170b7579f77SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best objdump 8171b7579f77SDag-Erling Smørgrav# available, choose the one first in the user's PATH. 8172b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_OBJDUMP], 8173b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(OBJDUMP, objdump, false) 8174b7579f77SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump 8175b7579f77SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 8176b7579f77SDag-Erling SmørgravAC_SUBST([OBJDUMP]) 8177b7579f77SDag-Erling Smørgrav]) 8178b7579f77SDag-Erling Smørgrav 8179b7579f77SDag-Erling Smørgrav# _LT_DECL_DLLTOOL 8180b7579f77SDag-Erling Smørgrav# ---------------- 8181b7579f77SDag-Erling Smørgrav# Ensure DLLTOOL variable is set. 8182b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_DLLTOOL], 8183b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(DLLTOOL, dlltool, false) 8184b7579f77SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool 8185b7579f77SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 8186b7579f77SDag-Erling SmørgravAC_SUBST([DLLTOOL]) 8187b7579f77SDag-Erling Smørgrav]) 8188b7579f77SDag-Erling Smørgrav 8189b7579f77SDag-Erling Smørgrav# _LT_DECL_SED 8190b7579f77SDag-Erling Smørgrav# ------------ 8191b7579f77SDag-Erling Smørgrav# Check for a fully-functional sed program, that truncates 8192b7579f77SDag-Erling Smørgrav# as few characters as possible. Prefer GNU sed if found. 8193b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_SED], 8194b7579f77SDag-Erling Smørgrav[AC_PROG_SED 8195b7579f77SDag-Erling Smørgravtest -z "$SED" && SED=sed 8196b7579f77SDag-Erling SmørgravXsed="$SED -e 1s/^X//" 8197b7579f77SDag-Erling Smørgrav_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 8198b7579f77SDag-Erling Smørgrav_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 8199b7579f77SDag-Erling Smørgrav [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 8200b7579f77SDag-Erling Smørgrav])# _LT_DECL_SED 8201b7579f77SDag-Erling Smørgrav 8202b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_SED], [ 8203b7579f77SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into # 8204b7579f77SDag-Erling Smørgrav# GNU Autoconf as AC_PROG_SED. When it is available in # 8205b7579f77SDag-Erling Smørgrav# a released version of Autoconf we should remove this # 8206b7579f77SDag-Erling Smørgrav# macro and use it instead. # 8207b7579f77SDag-Erling Smørgrav 8208b7579f77SDag-Erling Smørgravm4_defun([AC_PROG_SED], 8209b7579f77SDag-Erling Smørgrav[AC_MSG_CHECKING([for a sed that does not truncate output]) 8210b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_SED, 8211b7579f77SDag-Erling Smørgrav[# Loop through the user's path and test for sed and gsed. 8212b7579f77SDag-Erling Smørgrav# Then use that list of sed's as ones to test for truncation. 8213b7579f77SDag-Erling Smørgravas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8214b7579f77SDag-Erling Smørgravfor as_dir in $PATH 8215b7579f77SDag-Erling Smørgravdo 8216b7579f77SDag-Erling Smørgrav IFS=$as_save_IFS 8217b7579f77SDag-Erling Smørgrav test -z "$as_dir" && as_dir=. 8218b7579f77SDag-Erling Smørgrav for lt_ac_prog in sed gsed; do 8219b7579f77SDag-Erling Smørgrav for ac_exec_ext in '' $ac_executable_extensions; do 8220b7579f77SDag-Erling Smørgrav if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 8221b7579f77SDag-Erling Smørgrav lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 8222b7579f77SDag-Erling Smørgrav fi 8223b7579f77SDag-Erling Smørgrav done 8224b7579f77SDag-Erling Smørgrav done 8225b7579f77SDag-Erling Smørgravdone 8226b7579f77SDag-Erling SmørgravIFS=$as_save_IFS 8227b7579f77SDag-Erling Smørgravlt_ac_max=0 8228b7579f77SDag-Erling Smørgravlt_ac_count=0 8229b7579f77SDag-Erling Smørgrav# Add /usr/xpg4/bin/sed as it is typically found on Solaris 8230b7579f77SDag-Erling Smørgrav# along with /bin/sed that truncates output. 8231b7579f77SDag-Erling Smørgravfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 8232f61ef7f6SDag-Erling Smørgrav test ! -f "$lt_ac_sed" && continue 8233b7579f77SDag-Erling Smørgrav cat /dev/null > conftest.in 8234b7579f77SDag-Erling Smørgrav lt_ac_count=0 8235b7579f77SDag-Erling Smørgrav echo $ECHO_N "0123456789$ECHO_C" >conftest.in 8236b7579f77SDag-Erling Smørgrav # Check for GNU sed and select it if it is found. 8237b7579f77SDag-Erling Smørgrav if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 8238b7579f77SDag-Erling Smørgrav lt_cv_path_SED=$lt_ac_sed 8239b7579f77SDag-Erling Smørgrav break 8240b7579f77SDag-Erling Smørgrav fi 8241b7579f77SDag-Erling Smørgrav while true; do 8242b7579f77SDag-Erling Smørgrav cat conftest.in conftest.in >conftest.tmp 8243b7579f77SDag-Erling Smørgrav mv conftest.tmp conftest.in 8244b7579f77SDag-Erling Smørgrav cp conftest.in conftest.nl 8245b7579f77SDag-Erling Smørgrav echo >>conftest.nl 8246b7579f77SDag-Erling Smørgrav $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 8247b7579f77SDag-Erling Smørgrav cmp -s conftest.out conftest.nl || break 8248b7579f77SDag-Erling Smørgrav # 10000 chars as input seems more than enough 8249f61ef7f6SDag-Erling Smørgrav test 10 -lt "$lt_ac_count" && break 8250b7579f77SDag-Erling Smørgrav lt_ac_count=`expr $lt_ac_count + 1` 8251f61ef7f6SDag-Erling Smørgrav if test "$lt_ac_count" -gt "$lt_ac_max"; then 8252b7579f77SDag-Erling Smørgrav lt_ac_max=$lt_ac_count 8253b7579f77SDag-Erling Smørgrav lt_cv_path_SED=$lt_ac_sed 8254b7579f77SDag-Erling Smørgrav fi 8255b7579f77SDag-Erling Smørgrav done 8256b7579f77SDag-Erling Smørgravdone 8257b7579f77SDag-Erling Smørgrav]) 8258b7579f77SDag-Erling SmørgravSED=$lt_cv_path_SED 8259b7579f77SDag-Erling SmørgravAC_SUBST([SED]) 8260b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$SED]) 8261b7579f77SDag-Erling Smørgrav])#AC_PROG_SED 8262b7579f77SDag-Erling Smørgrav])#m4_ifndef 8263b7579f77SDag-Erling Smørgrav 8264b7579f77SDag-Erling Smørgrav# Old name: 8265b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 8266b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8267b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_SED], []) 8268b7579f77SDag-Erling Smørgrav 8269b7579f77SDag-Erling Smørgrav 8270b7579f77SDag-Erling Smørgrav# _LT_CHECK_SHELL_FEATURES 8271b7579f77SDag-Erling Smørgrav# ------------------------ 8272b7579f77SDag-Erling Smørgrav# Find out whether the shell is Bourne or XSI compatible, 8273b7579f77SDag-Erling Smørgrav# or has some other useful features. 8274b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_SHELL_FEATURES], 8275f61ef7f6SDag-Erling Smørgrav[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 8276b7579f77SDag-Erling Smørgrav lt_unset=unset 8277b7579f77SDag-Erling Smørgravelse 8278b7579f77SDag-Erling Smørgrav lt_unset=false 8279b7579f77SDag-Erling Smørgravfi 8280b7579f77SDag-Erling Smørgrav_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 8281b7579f77SDag-Erling Smørgrav 8282b7579f77SDag-Erling Smørgrav# test EBCDIC or ASCII 8283b7579f77SDag-Erling Smørgravcase `echo X|tr X '\101'` in 8284b7579f77SDag-Erling Smørgrav A) # ASCII based system 8285b7579f77SDag-Erling Smørgrav # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 8286b7579f77SDag-Erling Smørgrav lt_SP2NL='tr \040 \012' 8287b7579f77SDag-Erling Smørgrav lt_NL2SP='tr \015\012 \040\040' 8288b7579f77SDag-Erling Smørgrav ;; 8289b7579f77SDag-Erling Smørgrav *) # EBCDIC based system 8290b7579f77SDag-Erling Smørgrav lt_SP2NL='tr \100 \n' 8291b7579f77SDag-Erling Smørgrav lt_NL2SP='tr \r\n \100\100' 8292b7579f77SDag-Erling Smørgrav ;; 8293b7579f77SDag-Erling Smørgravesac 8294b7579f77SDag-Erling Smørgrav_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 8295b7579f77SDag-Erling Smørgrav_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 8296b7579f77SDag-Erling Smørgrav])# _LT_CHECK_SHELL_FEATURES 8297b7579f77SDag-Erling Smørgrav 8298b7579f77SDag-Erling Smørgrav 8299b7579f77SDag-Erling Smørgrav# _LT_PATH_CONVERSION_FUNCTIONS 8300b7579f77SDag-Erling Smørgrav# ----------------------------- 8301f61ef7f6SDag-Erling Smørgrav# Determine what file name conversion functions should be used by 8302b7579f77SDag-Erling Smørgrav# func_to_host_file (and, implicitly, by func_to_host_path). These are needed 8303b7579f77SDag-Erling Smørgrav# for certain cross-compile configurations and native mingw. 8304b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 8305b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 8306b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 8307b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to $host format]) 8308b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_host_file_cmd, 8309b7579f77SDag-Erling Smørgrav[case $host in 8310b7579f77SDag-Erling Smørgrav *-*-mingw* ) 8311b7579f77SDag-Erling Smørgrav case $build in 8312b7579f77SDag-Erling Smørgrav *-*-mingw* ) # actually msys 8313b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 8314b7579f77SDag-Erling Smørgrav ;; 8315b7579f77SDag-Erling Smørgrav *-*-cygwin* ) 8316b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 8317b7579f77SDag-Erling Smørgrav ;; 8318b7579f77SDag-Erling Smørgrav * ) # otherwise, assume *nix 8319b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 8320b7579f77SDag-Erling Smørgrav ;; 8321b7579f77SDag-Erling Smørgrav esac 8322b7579f77SDag-Erling Smørgrav ;; 8323b7579f77SDag-Erling Smørgrav *-*-cygwin* ) 8324b7579f77SDag-Erling Smørgrav case $build in 8325b7579f77SDag-Erling Smørgrav *-*-mingw* ) # actually msys 8326b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 8327b7579f77SDag-Erling Smørgrav ;; 8328b7579f77SDag-Erling Smørgrav *-*-cygwin* ) 8329b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_noop 8330b7579f77SDag-Erling Smørgrav ;; 8331b7579f77SDag-Erling Smørgrav * ) # otherwise, assume *nix 8332b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 8333b7579f77SDag-Erling Smørgrav ;; 8334b7579f77SDag-Erling Smørgrav esac 8335b7579f77SDag-Erling Smørgrav ;; 8336b7579f77SDag-Erling Smørgrav * ) # unhandled hosts (and "normal" native builds) 8337b7579f77SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_noop 8338b7579f77SDag-Erling Smørgrav ;; 8339b7579f77SDag-Erling Smørgravesac 8340b7579f77SDag-Erling Smørgrav]) 8341b7579f77SDag-Erling Smørgravto_host_file_cmd=$lt_cv_to_host_file_cmd 8342b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 8343b7579f77SDag-Erling Smørgrav_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 8344b7579f77SDag-Erling Smørgrav [0], [convert $build file names to $host format])dnl 8345b7579f77SDag-Erling Smørgrav 8346b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to toolchain format]) 8347b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_tool_file_cmd, 8348b7579f77SDag-Erling Smørgrav[#assume ordinary cross tools, or native build. 8349b7579f77SDag-Erling Smørgravlt_cv_to_tool_file_cmd=func_convert_file_noop 8350b7579f77SDag-Erling Smørgravcase $host in 8351b7579f77SDag-Erling Smørgrav *-*-mingw* ) 8352b7579f77SDag-Erling Smørgrav case $build in 8353b7579f77SDag-Erling Smørgrav *-*-mingw* ) # actually msys 8354b7579f77SDag-Erling Smørgrav lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 8355b7579f77SDag-Erling Smørgrav ;; 8356b7579f77SDag-Erling Smørgrav esac 8357b7579f77SDag-Erling Smørgrav ;; 8358b7579f77SDag-Erling Smørgravesac 8359b7579f77SDag-Erling Smørgrav]) 8360b7579f77SDag-Erling Smørgravto_tool_file_cmd=$lt_cv_to_tool_file_cmd 8361b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 8362b7579f77SDag-Erling Smørgrav_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 8363b7579f77SDag-Erling Smørgrav [0], [convert $build files to toolchain format])dnl 8364b7579f77SDag-Erling Smørgrav])# _LT_PATH_CONVERSION_FUNCTIONS 8365b7579f77SDag-Erling Smørgrav 8366b7579f77SDag-Erling Smørgrav# Helper functions for option handling. -*- Autoconf -*- 8367b7579f77SDag-Erling Smørgrav# 8368*46d2f618SCy Schubert# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software 8369*46d2f618SCy Schubert# Foundation, Inc. 8370b7579f77SDag-Erling Smørgrav# Written by Gary V. Vaughan, 2004 8371b7579f77SDag-Erling Smørgrav# 8372b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 8373b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 8374b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 8375b7579f77SDag-Erling Smørgrav 8376f61ef7f6SDag-Erling Smørgrav# serial 8 ltoptions.m4 8377b7579f77SDag-Erling Smørgrav 8378b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define. 8379b7579f77SDag-Erling SmørgravAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) 8380b7579f77SDag-Erling Smørgrav 8381b7579f77SDag-Erling Smørgrav 8382b7579f77SDag-Erling Smørgrav# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) 8383b7579f77SDag-Erling Smørgrav# ------------------------------------------ 8384b7579f77SDag-Erling Smørgravm4_define([_LT_MANGLE_OPTION], 8385b7579f77SDag-Erling Smørgrav[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) 8386b7579f77SDag-Erling Smørgrav 8387b7579f77SDag-Erling Smørgrav 8388b7579f77SDag-Erling Smørgrav# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) 8389b7579f77SDag-Erling Smørgrav# --------------------------------------- 8390b7579f77SDag-Erling Smørgrav# Set option OPTION-NAME for macro MACRO-NAME, and if there is a 8391b7579f77SDag-Erling Smørgrav# matching handler defined, dispatch to it. Other OPTION-NAMEs are 8392b7579f77SDag-Erling Smørgrav# saved as a flag. 8393b7579f77SDag-Erling Smørgravm4_define([_LT_SET_OPTION], 8394b7579f77SDag-Erling Smørgrav[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl 8395b7579f77SDag-Erling Smørgravm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), 8396b7579f77SDag-Erling Smørgrav _LT_MANGLE_DEFUN([$1], [$2]), 8397f61ef7f6SDag-Erling Smørgrav [m4_warning([Unknown $1 option '$2'])])[]dnl 8398b7579f77SDag-Erling Smørgrav]) 8399b7579f77SDag-Erling Smørgrav 8400b7579f77SDag-Erling Smørgrav 8401b7579f77SDag-Erling Smørgrav# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) 8402b7579f77SDag-Erling Smørgrav# ------------------------------------------------------------ 8403b7579f77SDag-Erling Smørgrav# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 8404b7579f77SDag-Erling Smørgravm4_define([_LT_IF_OPTION], 8405b7579f77SDag-Erling Smørgrav[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) 8406b7579f77SDag-Erling Smørgrav 8407b7579f77SDag-Erling Smørgrav 8408b7579f77SDag-Erling Smørgrav# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) 8409b7579f77SDag-Erling Smørgrav# ------------------------------------------------------- 8410b7579f77SDag-Erling Smørgrav# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME 8411b7579f77SDag-Erling Smørgrav# are set. 8412b7579f77SDag-Erling Smørgravm4_define([_LT_UNLESS_OPTIONS], 8413b7579f77SDag-Erling Smørgrav[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), 8414b7579f77SDag-Erling Smørgrav [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), 8415b7579f77SDag-Erling Smørgrav [m4_define([$0_found])])])[]dnl 8416b7579f77SDag-Erling Smørgravm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 8417b7579f77SDag-Erling Smørgrav])[]dnl 8418b7579f77SDag-Erling Smørgrav]) 8419b7579f77SDag-Erling Smørgrav 8420b7579f77SDag-Erling Smørgrav 8421b7579f77SDag-Erling Smørgrav# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) 8422b7579f77SDag-Erling Smørgrav# ---------------------------------------- 8423b7579f77SDag-Erling Smørgrav# OPTION-LIST is a space-separated list of Libtool options associated 8424b7579f77SDag-Erling Smørgrav# with MACRO-NAME. If any OPTION has a matching handler declared with 8425b7579f77SDag-Erling Smørgrav# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about 8426b7579f77SDag-Erling Smørgrav# the unknown option and exit. 8427b7579f77SDag-Erling Smørgravm4_defun([_LT_SET_OPTIONS], 8428b7579f77SDag-Erling Smørgrav[# Set options 8429b7579f77SDag-Erling Smørgravm4_foreach([_LT_Option], m4_split(m4_normalize([$2])), 8430b7579f77SDag-Erling Smørgrav [_LT_SET_OPTION([$1], _LT_Option)]) 8431b7579f77SDag-Erling Smørgrav 8432b7579f77SDag-Erling Smørgravm4_if([$1],[LT_INIT],[ 8433b7579f77SDag-Erling Smørgrav dnl 8434b7579f77SDag-Erling Smørgrav dnl Simply set some default values (i.e off) if boolean options were not 8435b7579f77SDag-Erling Smørgrav dnl specified: 8436b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no 8437b7579f77SDag-Erling Smørgrav ]) 8438b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no 8439b7579f77SDag-Erling Smørgrav ]) 8440b7579f77SDag-Erling Smørgrav dnl 8441b7579f77SDag-Erling Smørgrav dnl If no reference was made to various pairs of opposing options, then 8442b7579f77SDag-Erling Smørgrav dnl we run the default mode handler for the pair. For example, if neither 8443f61ef7f6SDag-Erling Smørgrav dnl 'shared' nor 'disable-shared' was passed, we enable building of shared 8444b7579f77SDag-Erling Smørgrav dnl archives by default: 8445b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) 8446b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) 8447b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) 8448b7579f77SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], 8449b7579f77SDag-Erling Smørgrav [_LT_ENABLE_FAST_INSTALL]) 8450f61ef7f6SDag-Erling Smørgrav _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], 8451f61ef7f6SDag-Erling Smørgrav [_LT_WITH_AIX_SONAME([aix])]) 8452b7579f77SDag-Erling Smørgrav ]) 8453b7579f77SDag-Erling Smørgrav])# _LT_SET_OPTIONS 8454b7579f77SDag-Erling Smørgrav 8455b7579f77SDag-Erling Smørgrav 8456b7579f77SDag-Erling Smørgrav 8457b7579f77SDag-Erling Smørgrav# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) 8458b7579f77SDag-Erling Smørgrav# ----------------------------------------- 8459b7579f77SDag-Erling Smørgravm4_define([_LT_MANGLE_DEFUN], 8460b7579f77SDag-Erling Smørgrav[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) 8461b7579f77SDag-Erling Smørgrav 8462b7579f77SDag-Erling Smørgrav 8463b7579f77SDag-Erling Smørgrav# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) 8464b7579f77SDag-Erling Smørgrav# ----------------------------------------------- 8465b7579f77SDag-Erling Smørgravm4_define([LT_OPTION_DEFINE], 8466b7579f77SDag-Erling Smørgrav[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl 8467b7579f77SDag-Erling Smørgrav])# LT_OPTION_DEFINE 8468b7579f77SDag-Erling Smørgrav 8469b7579f77SDag-Erling Smørgrav 8470b7579f77SDag-Erling Smørgrav# dlopen 8471b7579f77SDag-Erling Smørgrav# ------ 8472b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes 8473b7579f77SDag-Erling Smørgrav]) 8474b7579f77SDag-Erling Smørgrav 8475b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_DLOPEN], 8476b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [dlopen]) 8477b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete], 8478b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you 8479f61ef7f6SDag-Erling Smørgravput the 'dlopen' option into LT_INIT's first parameter.]) 8480b7579f77SDag-Erling Smørgrav]) 8481b7579f77SDag-Erling Smørgrav 8482b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8483b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) 8484b7579f77SDag-Erling Smørgrav 8485b7579f77SDag-Erling Smørgrav 8486b7579f77SDag-Erling Smørgrav# win32-dll 8487b7579f77SDag-Erling Smørgrav# --------- 8488b7579f77SDag-Erling Smørgrav# Declare package support for building win32 dll's. 8489b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [win32-dll], 8490b7579f77SDag-Erling Smørgrav[enable_win32_dll=yes 8491b7579f77SDag-Erling Smørgrav 8492b7579f77SDag-Erling Smørgravcase $host in 8493b7579f77SDag-Erling Smørgrav*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) 8494b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL(AS, as, false) 8495b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL(DLLTOOL, dlltool, false) 8496b7579f77SDag-Erling Smørgrav AC_CHECK_TOOL(OBJDUMP, objdump, false) 8497b7579f77SDag-Erling Smørgrav ;; 8498b7579f77SDag-Erling Smørgravesac 8499b7579f77SDag-Erling Smørgrav 8500b7579f77SDag-Erling Smørgravtest -z "$AS" && AS=as 8501b7579f77SDag-Erling Smørgrav_LT_DECL([], [AS], [1], [Assembler program])dnl 8502b7579f77SDag-Erling Smørgrav 8503b7579f77SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool 8504b7579f77SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl 8505b7579f77SDag-Erling Smørgrav 8506b7579f77SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump 8507b7579f77SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl 8508b7579f77SDag-Erling Smørgrav])# win32-dll 8509b7579f77SDag-Erling Smørgrav 8510b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_WIN32_DLL], 8511b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 8512b7579f77SDag-Erling Smørgrav_LT_SET_OPTION([LT_INIT], [win32-dll]) 8513b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete], 8514b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you 8515f61ef7f6SDag-Erling Smørgravput the 'win32-dll' option into LT_INIT's first parameter.]) 8516b7579f77SDag-Erling Smørgrav]) 8517b7579f77SDag-Erling Smørgrav 8518b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8519b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) 8520b7579f77SDag-Erling Smørgrav 8521b7579f77SDag-Erling Smørgrav 8522b7579f77SDag-Erling Smørgrav# _LT_ENABLE_SHARED([DEFAULT]) 8523b7579f77SDag-Erling Smørgrav# ---------------------------- 8524f61ef7f6SDag-Erling Smørgrav# implement the --enable-shared flag, and supports the 'shared' and 8525f61ef7f6SDag-Erling Smørgrav# 'disable-shared' LT_INIT options. 8526f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. 8527b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_SHARED], 8528b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl 8529b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([shared], 8530b7579f77SDag-Erling Smørgrav [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], 8531b7579f77SDag-Erling Smørgrav [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], 8532b7579f77SDag-Erling Smørgrav [p=${PACKAGE-default} 8533b7579f77SDag-Erling Smørgrav case $enableval in 8534b7579f77SDag-Erling Smørgrav yes) enable_shared=yes ;; 8535b7579f77SDag-Erling Smørgrav no) enable_shared=no ;; 8536b7579f77SDag-Erling Smørgrav *) 8537b7579f77SDag-Erling Smørgrav enable_shared=no 8538b7579f77SDag-Erling Smørgrav # Look at the argument we got. We use all the common list separators. 8539f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, 8540b7579f77SDag-Erling Smørgrav for pkg in $enableval; do 8541f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8542b7579f77SDag-Erling Smørgrav if test "X$pkg" = "X$p"; then 8543b7579f77SDag-Erling Smørgrav enable_shared=yes 8544b7579f77SDag-Erling Smørgrav fi 8545b7579f77SDag-Erling Smørgrav done 8546f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8547b7579f77SDag-Erling Smørgrav ;; 8548b7579f77SDag-Erling Smørgrav esac], 8549b7579f77SDag-Erling Smørgrav [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) 8550b7579f77SDag-Erling Smørgrav 8551b7579f77SDag-Erling Smørgrav _LT_DECL([build_libtool_libs], [enable_shared], [0], 8552b7579f77SDag-Erling Smørgrav [Whether or not to build shared libraries]) 8553b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_SHARED 8554b7579f77SDag-Erling Smørgrav 8555b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) 8556b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) 8557b7579f77SDag-Erling Smørgrav 8558b7579f77SDag-Erling Smørgrav# Old names: 8559b7579f77SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_SHARED], 8560b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) 8561b7579f77SDag-Erling Smørgrav]) 8562b7579f77SDag-Erling Smørgrav 8563b7579f77SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_SHARED], 8564b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-shared]) 8565b7579f77SDag-Erling Smørgrav]) 8566b7579f77SDag-Erling Smørgrav 8567b7579f77SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) 8568b7579f77SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) 8569b7579f77SDag-Erling Smørgrav 8570b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8571b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_SHARED], []) 8572b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_SHARED], []) 8573b7579f77SDag-Erling Smørgrav 8574b7579f77SDag-Erling Smørgrav 8575b7579f77SDag-Erling Smørgrav 8576b7579f77SDag-Erling Smørgrav# _LT_ENABLE_STATIC([DEFAULT]) 8577b7579f77SDag-Erling Smørgrav# ---------------------------- 8578f61ef7f6SDag-Erling Smørgrav# implement the --enable-static flag, and support the 'static' and 8579f61ef7f6SDag-Erling Smørgrav# 'disable-static' LT_INIT options. 8580f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. 8581b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_STATIC], 8582b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl 8583b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([static], 8584b7579f77SDag-Erling Smørgrav [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], 8585b7579f77SDag-Erling Smørgrav [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], 8586b7579f77SDag-Erling Smørgrav [p=${PACKAGE-default} 8587b7579f77SDag-Erling Smørgrav case $enableval in 8588b7579f77SDag-Erling Smørgrav yes) enable_static=yes ;; 8589b7579f77SDag-Erling Smørgrav no) enable_static=no ;; 8590b7579f77SDag-Erling Smørgrav *) 8591b7579f77SDag-Erling Smørgrav enable_static=no 8592b7579f77SDag-Erling Smørgrav # Look at the argument we got. We use all the common list separators. 8593f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, 8594b7579f77SDag-Erling Smørgrav for pkg in $enableval; do 8595f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8596b7579f77SDag-Erling Smørgrav if test "X$pkg" = "X$p"; then 8597b7579f77SDag-Erling Smørgrav enable_static=yes 8598b7579f77SDag-Erling Smørgrav fi 8599b7579f77SDag-Erling Smørgrav done 8600f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8601b7579f77SDag-Erling Smørgrav ;; 8602b7579f77SDag-Erling Smørgrav esac], 8603b7579f77SDag-Erling Smørgrav [enable_static=]_LT_ENABLE_STATIC_DEFAULT) 8604b7579f77SDag-Erling Smørgrav 8605b7579f77SDag-Erling Smørgrav _LT_DECL([build_old_libs], [enable_static], [0], 8606b7579f77SDag-Erling Smørgrav [Whether or not to build static libraries]) 8607b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_STATIC 8608b7579f77SDag-Erling Smørgrav 8609b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) 8610b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) 8611b7579f77SDag-Erling Smørgrav 8612b7579f77SDag-Erling Smørgrav# Old names: 8613b7579f77SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_STATIC], 8614b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) 8615b7579f77SDag-Erling Smørgrav]) 8616b7579f77SDag-Erling Smørgrav 8617b7579f77SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_STATIC], 8618b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-static]) 8619b7579f77SDag-Erling Smørgrav]) 8620b7579f77SDag-Erling Smørgrav 8621b7579f77SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) 8622b7579f77SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) 8623b7579f77SDag-Erling Smørgrav 8624b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8625b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_STATIC], []) 8626b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_STATIC], []) 8627b7579f77SDag-Erling Smørgrav 8628b7579f77SDag-Erling Smørgrav 8629b7579f77SDag-Erling Smørgrav 8630b7579f77SDag-Erling Smørgrav# _LT_ENABLE_FAST_INSTALL([DEFAULT]) 8631b7579f77SDag-Erling Smørgrav# ---------------------------------- 8632f61ef7f6SDag-Erling Smørgrav# implement the --enable-fast-install flag, and support the 'fast-install' 8633f61ef7f6SDag-Erling Smørgrav# and 'disable-fast-install' LT_INIT options. 8634f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. 8635b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_FAST_INSTALL], 8636b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl 8637b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([fast-install], 8638b7579f77SDag-Erling Smørgrav [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], 8639b7579f77SDag-Erling Smørgrav [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], 8640b7579f77SDag-Erling Smørgrav [p=${PACKAGE-default} 8641b7579f77SDag-Erling Smørgrav case $enableval in 8642b7579f77SDag-Erling Smørgrav yes) enable_fast_install=yes ;; 8643b7579f77SDag-Erling Smørgrav no) enable_fast_install=no ;; 8644b7579f77SDag-Erling Smørgrav *) 8645b7579f77SDag-Erling Smørgrav enable_fast_install=no 8646b7579f77SDag-Erling Smørgrav # Look at the argument we got. We use all the common list separators. 8647f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, 8648b7579f77SDag-Erling Smørgrav for pkg in $enableval; do 8649f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8650b7579f77SDag-Erling Smørgrav if test "X$pkg" = "X$p"; then 8651b7579f77SDag-Erling Smørgrav enable_fast_install=yes 8652b7579f77SDag-Erling Smørgrav fi 8653b7579f77SDag-Erling Smørgrav done 8654f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 8655b7579f77SDag-Erling Smørgrav ;; 8656b7579f77SDag-Erling Smørgrav esac], 8657b7579f77SDag-Erling Smørgrav [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) 8658b7579f77SDag-Erling Smørgrav 8659b7579f77SDag-Erling Smørgrav_LT_DECL([fast_install], [enable_fast_install], [0], 8660b7579f77SDag-Erling Smørgrav [Whether or not to optimize for fast installation])dnl 8661b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_FAST_INSTALL 8662b7579f77SDag-Erling Smørgrav 8663b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) 8664b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) 8665b7579f77SDag-Erling Smørgrav 8666b7579f77SDag-Erling Smørgrav# Old names: 8667b7579f77SDag-Erling SmørgravAU_DEFUN([AC_ENABLE_FAST_INSTALL], 8668b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) 8669b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete], 8670b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put 8671f61ef7f6SDag-Erling Smørgravthe 'fast-install' option into LT_INIT's first parameter.]) 8672b7579f77SDag-Erling Smørgrav]) 8673b7579f77SDag-Erling Smørgrav 8674b7579f77SDag-Erling SmørgravAU_DEFUN([AC_DISABLE_FAST_INSTALL], 8675b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) 8676b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete], 8677b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put 8678f61ef7f6SDag-Erling Smørgravthe 'disable-fast-install' option into LT_INIT's first parameter.]) 8679b7579f77SDag-Erling Smørgrav]) 8680b7579f77SDag-Erling Smørgrav 8681b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8682b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) 8683b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) 8684b7579f77SDag-Erling Smørgrav 8685b7579f77SDag-Erling Smørgrav 8686f61ef7f6SDag-Erling Smørgrav# _LT_WITH_AIX_SONAME([DEFAULT]) 8687f61ef7f6SDag-Erling Smørgrav# ---------------------------------- 8688f61ef7f6SDag-Erling Smørgrav# implement the --with-aix-soname flag, and support the `aix-soname=aix' 8689f61ef7f6SDag-Erling Smørgrav# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT 8690f61ef7f6SDag-Erling Smørgrav# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. 8691f61ef7f6SDag-Erling Smørgravm4_define([_LT_WITH_AIX_SONAME], 8692f61ef7f6SDag-Erling Smørgrav[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl 8693f61ef7f6SDag-Erling Smørgravshared_archive_member_spec= 8694f61ef7f6SDag-Erling Smørgravcase $host,$enable_shared in 8695f61ef7f6SDag-Erling Smørgravpower*-*-aix[[5-9]]*,yes) 8696f61ef7f6SDag-Erling Smørgrav AC_MSG_CHECKING([which variant of shared library versioning to provide]) 8697f61ef7f6SDag-Erling Smørgrav AC_ARG_WITH([aix-soname], 8698f61ef7f6SDag-Erling Smørgrav [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], 8699f61ef7f6SDag-Erling Smørgrav [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], 8700f61ef7f6SDag-Erling Smørgrav [case $withval in 8701f61ef7f6SDag-Erling Smørgrav aix|svr4|both) 8702f61ef7f6SDag-Erling Smørgrav ;; 8703f61ef7f6SDag-Erling Smørgrav *) 8704f61ef7f6SDag-Erling Smørgrav AC_MSG_ERROR([Unknown argument to --with-aix-soname]) 8705f61ef7f6SDag-Erling Smørgrav ;; 8706f61ef7f6SDag-Erling Smørgrav esac 8707f61ef7f6SDag-Erling Smørgrav lt_cv_with_aix_soname=$with_aix_soname], 8708f61ef7f6SDag-Erling Smørgrav [AC_CACHE_VAL([lt_cv_with_aix_soname], 8709f61ef7f6SDag-Erling Smørgrav [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) 8710f61ef7f6SDag-Erling Smørgrav with_aix_soname=$lt_cv_with_aix_soname]) 8711f61ef7f6SDag-Erling Smørgrav AC_MSG_RESULT([$with_aix_soname]) 8712f61ef7f6SDag-Erling Smørgrav if test aix != "$with_aix_soname"; then 8713f61ef7f6SDag-Erling Smørgrav # For the AIX way of multilib, we name the shared archive member 8714f61ef7f6SDag-Erling Smørgrav # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', 8715f61ef7f6SDag-Erling Smørgrav # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. 8716f61ef7f6SDag-Erling Smørgrav # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, 8717f61ef7f6SDag-Erling Smørgrav # the AIX toolchain works better with OBJECT_MODE set (default 32). 8718f61ef7f6SDag-Erling Smørgrav if test 64 = "${OBJECT_MODE-32}"; then 8719f61ef7f6SDag-Erling Smørgrav shared_archive_member_spec=shr_64 8720f61ef7f6SDag-Erling Smørgrav else 8721f61ef7f6SDag-Erling Smørgrav shared_archive_member_spec=shr 8722f61ef7f6SDag-Erling Smørgrav fi 8723f61ef7f6SDag-Erling Smørgrav fi 8724f61ef7f6SDag-Erling Smørgrav ;; 8725f61ef7f6SDag-Erling Smørgrav*) 8726f61ef7f6SDag-Erling Smørgrav with_aix_soname=aix 8727f61ef7f6SDag-Erling Smørgrav ;; 8728f61ef7f6SDag-Erling Smørgravesac 8729f61ef7f6SDag-Erling Smørgrav 8730f61ef7f6SDag-Erling Smørgrav_LT_DECL([], [shared_archive_member_spec], [0], 8731f61ef7f6SDag-Erling Smørgrav [Shared archive member basename, for filename based shared library versioning on AIX])dnl 8732f61ef7f6SDag-Erling Smørgrav])# _LT_WITH_AIX_SONAME 8733f61ef7f6SDag-Erling Smørgrav 8734f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) 8735f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) 8736f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) 8737f61ef7f6SDag-Erling Smørgrav 8738f61ef7f6SDag-Erling Smørgrav 8739b7579f77SDag-Erling Smørgrav# _LT_WITH_PIC([MODE]) 8740b7579f77SDag-Erling Smørgrav# -------------------- 8741f61ef7f6SDag-Erling Smørgrav# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' 8742b7579f77SDag-Erling Smørgrav# LT_INIT options. 8743f61ef7f6SDag-Erling Smørgrav# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. 8744b7579f77SDag-Erling Smørgravm4_define([_LT_WITH_PIC], 8745b7579f77SDag-Erling Smørgrav[AC_ARG_WITH([pic], 87468ed2b524SDag-Erling Smørgrav [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], 8747b7579f77SDag-Erling Smørgrav [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], 87488ed2b524SDag-Erling Smørgrav [lt_p=${PACKAGE-default} 87498ed2b524SDag-Erling Smørgrav case $withval in 87508ed2b524SDag-Erling Smørgrav yes|no) pic_mode=$withval ;; 87518ed2b524SDag-Erling Smørgrav *) 87528ed2b524SDag-Erling Smørgrav pic_mode=default 87538ed2b524SDag-Erling Smørgrav # Look at the argument we got. We use all the common list separators. 8754f61ef7f6SDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, 87558ed2b524SDag-Erling Smørgrav for lt_pkg in $withval; do 8756f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 87578ed2b524SDag-Erling Smørgrav if test "X$lt_pkg" = "X$lt_p"; then 87588ed2b524SDag-Erling Smørgrav pic_mode=yes 87598ed2b524SDag-Erling Smørgrav fi 87608ed2b524SDag-Erling Smørgrav done 8761f61ef7f6SDag-Erling Smørgrav IFS=$lt_save_ifs 87628ed2b524SDag-Erling Smørgrav ;; 87638ed2b524SDag-Erling Smørgrav esac], 8764f61ef7f6SDag-Erling Smørgrav [pic_mode=m4_default([$1], [default])]) 8765b7579f77SDag-Erling Smørgrav 8766b7579f77SDag-Erling Smørgrav_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl 8767b7579f77SDag-Erling Smørgrav])# _LT_WITH_PIC 8768b7579f77SDag-Erling Smørgrav 8769b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) 8770b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) 8771b7579f77SDag-Erling Smørgrav 8772b7579f77SDag-Erling Smørgrav# Old name: 8773b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_PICMODE], 8774b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [pic-only]) 8775b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete], 8776b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you 8777f61ef7f6SDag-Erling Smørgravput the 'pic-only' option into LT_INIT's first parameter.]) 8778b7579f77SDag-Erling Smørgrav]) 8779b7579f77SDag-Erling Smørgrav 8780b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 8781b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) 8782b7579f77SDag-Erling Smørgrav 8783b7579f77SDag-Erling Smørgrav 8784b7579f77SDag-Erling Smørgravm4_define([_LTDL_MODE], []) 8785b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], 8786b7579f77SDag-Erling Smørgrav [m4_define([_LTDL_MODE], [nonrecursive])]) 8787b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [recursive], 8788b7579f77SDag-Erling Smørgrav [m4_define([_LTDL_MODE], [recursive])]) 8789b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [subproject], 8790b7579f77SDag-Erling Smørgrav [m4_define([_LTDL_MODE], [subproject])]) 8791b7579f77SDag-Erling Smørgrav 8792b7579f77SDag-Erling Smørgravm4_define([_LTDL_TYPE], []) 8793b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [installable], 8794b7579f77SDag-Erling Smørgrav [m4_define([_LTDL_TYPE], [installable])]) 8795b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [convenience], 8796b7579f77SDag-Erling Smørgrav [m4_define([_LTDL_TYPE], [convenience])]) 8797b7579f77SDag-Erling Smørgrav 8798b7579f77SDag-Erling Smørgrav# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- 8799b7579f77SDag-Erling Smørgrav# 8800*46d2f618SCy Schubert# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software 8801f61ef7f6SDag-Erling Smørgrav# Foundation, Inc. 8802b7579f77SDag-Erling Smørgrav# Written by Gary V. Vaughan, 2004 8803b7579f77SDag-Erling Smørgrav# 8804b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 8805b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 8806b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 8807b7579f77SDag-Erling Smørgrav 8808b7579f77SDag-Erling Smørgrav# serial 6 ltsugar.m4 8809b7579f77SDag-Erling Smørgrav 8810b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define. 8811b7579f77SDag-Erling SmørgravAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) 8812b7579f77SDag-Erling Smørgrav 8813b7579f77SDag-Erling Smørgrav 8814b7579f77SDag-Erling Smørgrav# lt_join(SEP, ARG1, [ARG2...]) 8815b7579f77SDag-Erling Smørgrav# ----------------------------- 8816b7579f77SDag-Erling Smørgrav# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their 8817b7579f77SDag-Erling Smørgrav# associated separator. 8818b7579f77SDag-Erling Smørgrav# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier 8819b7579f77SDag-Erling Smørgrav# versions in m4sugar had bugs. 8820b7579f77SDag-Erling Smørgravm4_define([lt_join], 8821b7579f77SDag-Erling Smørgrav[m4_if([$#], [1], [], 8822b7579f77SDag-Erling Smørgrav [$#], [2], [[$2]], 8823b7579f77SDag-Erling Smørgrav [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) 8824b7579f77SDag-Erling Smørgravm4_define([_lt_join], 8825b7579f77SDag-Erling Smørgrav[m4_if([$#$2], [2], [], 8826b7579f77SDag-Erling Smørgrav [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) 8827b7579f77SDag-Erling Smørgrav 8828b7579f77SDag-Erling Smørgrav 8829b7579f77SDag-Erling Smørgrav# lt_car(LIST) 8830b7579f77SDag-Erling Smørgrav# lt_cdr(LIST) 8831b7579f77SDag-Erling Smørgrav# ------------ 8832b7579f77SDag-Erling Smørgrav# Manipulate m4 lists. 8833b7579f77SDag-Erling Smørgrav# These macros are necessary as long as will still need to support 8834f61ef7f6SDag-Erling Smørgrav# Autoconf-2.59, which quotes differently. 8835b7579f77SDag-Erling Smørgravm4_define([lt_car], [[$1]]) 8836b7579f77SDag-Erling Smørgravm4_define([lt_cdr], 8837b7579f77SDag-Erling Smørgrav[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], 8838b7579f77SDag-Erling Smørgrav [$#], 1, [], 8839b7579f77SDag-Erling Smørgrav [m4_dquote(m4_shift($@))])]) 8840b7579f77SDag-Erling Smørgravm4_define([lt_unquote], $1) 8841b7579f77SDag-Erling Smørgrav 8842b7579f77SDag-Erling Smørgrav 8843b7579f77SDag-Erling Smørgrav# lt_append(MACRO-NAME, STRING, [SEPARATOR]) 8844b7579f77SDag-Erling Smørgrav# ------------------------------------------ 8845f61ef7f6SDag-Erling Smørgrav# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. 8846b7579f77SDag-Erling Smørgrav# Note that neither SEPARATOR nor STRING are expanded; they are appended 8847b7579f77SDag-Erling Smørgrav# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). 8848b7579f77SDag-Erling Smørgrav# No SEPARATOR is output if MACRO-NAME was previously undefined (different 8849b7579f77SDag-Erling Smørgrav# than defined and empty). 8850b7579f77SDag-Erling Smørgrav# 8851b7579f77SDag-Erling Smørgrav# This macro is needed until we can rely on Autoconf 2.62, since earlier 8852b7579f77SDag-Erling Smørgrav# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. 8853b7579f77SDag-Erling Smørgravm4_define([lt_append], 8854b7579f77SDag-Erling Smørgrav[m4_define([$1], 8855b7579f77SDag-Erling Smørgrav m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) 8856b7579f77SDag-Erling Smørgrav 8857b7579f77SDag-Erling Smørgrav 8858b7579f77SDag-Erling Smørgrav 8859b7579f77SDag-Erling Smørgrav# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) 8860b7579f77SDag-Erling Smørgrav# ---------------------------------------------------------- 8861b7579f77SDag-Erling Smørgrav# Produce a SEP delimited list of all paired combinations of elements of 8862b7579f77SDag-Erling Smørgrav# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list 8863b7579f77SDag-Erling Smørgrav# has the form PREFIXmINFIXSUFFIXn. 8864b7579f77SDag-Erling Smørgrav# Needed until we can rely on m4_combine added in Autoconf 2.62. 8865b7579f77SDag-Erling Smørgravm4_define([lt_combine], 8866b7579f77SDag-Erling Smørgrav[m4_if(m4_eval([$# > 3]), [1], 8867b7579f77SDag-Erling Smørgrav [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl 8868b7579f77SDag-Erling Smørgrav[[m4_foreach([_Lt_prefix], [$2], 8869b7579f77SDag-Erling Smørgrav [m4_foreach([_Lt_suffix], 8870b7579f77SDag-Erling Smørgrav ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, 8871b7579f77SDag-Erling Smørgrav [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) 8872b7579f77SDag-Erling Smørgrav 8873b7579f77SDag-Erling Smørgrav 8874b7579f77SDag-Erling Smørgrav# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) 8875b7579f77SDag-Erling Smørgrav# ----------------------------------------------------------------------- 8876b7579f77SDag-Erling Smørgrav# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited 8877b7579f77SDag-Erling Smørgrav# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. 8878b7579f77SDag-Erling Smørgravm4_define([lt_if_append_uniq], 8879b7579f77SDag-Erling Smørgrav[m4_ifdef([$1], 8880b7579f77SDag-Erling Smørgrav [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], 8881b7579f77SDag-Erling Smørgrav [lt_append([$1], [$2], [$3])$4], 8882b7579f77SDag-Erling Smørgrav [$5])], 8883b7579f77SDag-Erling Smørgrav [lt_append([$1], [$2], [$3])$4])]) 8884b7579f77SDag-Erling Smørgrav 8885b7579f77SDag-Erling Smørgrav 8886b7579f77SDag-Erling Smørgrav# lt_dict_add(DICT, KEY, VALUE) 8887b7579f77SDag-Erling Smørgrav# ----------------------------- 8888b7579f77SDag-Erling Smørgravm4_define([lt_dict_add], 8889b7579f77SDag-Erling Smørgrav[m4_define([$1($2)], [$3])]) 8890b7579f77SDag-Erling Smørgrav 8891b7579f77SDag-Erling Smørgrav 8892b7579f77SDag-Erling Smørgrav# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) 8893b7579f77SDag-Erling Smørgrav# -------------------------------------------- 8894b7579f77SDag-Erling Smørgravm4_define([lt_dict_add_subkey], 8895b7579f77SDag-Erling Smørgrav[m4_define([$1($2:$3)], [$4])]) 8896b7579f77SDag-Erling Smørgrav 8897b7579f77SDag-Erling Smørgrav 8898b7579f77SDag-Erling Smørgrav# lt_dict_fetch(DICT, KEY, [SUBKEY]) 8899b7579f77SDag-Erling Smørgrav# ---------------------------------- 8900b7579f77SDag-Erling Smørgravm4_define([lt_dict_fetch], 8901b7579f77SDag-Erling Smørgrav[m4_ifval([$3], 8902b7579f77SDag-Erling Smørgrav m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), 8903b7579f77SDag-Erling Smørgrav m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) 8904b7579f77SDag-Erling Smørgrav 8905b7579f77SDag-Erling Smørgrav 8906b7579f77SDag-Erling Smørgrav# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) 8907b7579f77SDag-Erling Smørgrav# ----------------------------------------------------------------- 8908b7579f77SDag-Erling Smørgravm4_define([lt_if_dict_fetch], 8909b7579f77SDag-Erling Smørgrav[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], 8910b7579f77SDag-Erling Smørgrav [$5], 8911b7579f77SDag-Erling Smørgrav [$6])]) 8912b7579f77SDag-Erling Smørgrav 8913b7579f77SDag-Erling Smørgrav 8914b7579f77SDag-Erling Smørgrav# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) 8915b7579f77SDag-Erling Smørgrav# -------------------------------------------------------------- 8916b7579f77SDag-Erling Smørgravm4_define([lt_dict_filter], 8917b7579f77SDag-Erling Smørgrav[m4_if([$5], [], [], 8918b7579f77SDag-Erling Smørgrav [lt_join(m4_quote(m4_default([$4], [[, ]])), 8919b7579f77SDag-Erling Smørgrav lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), 8920b7579f77SDag-Erling Smørgrav [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl 8921b7579f77SDag-Erling Smørgrav]) 8922b7579f77SDag-Erling Smørgrav 8923b7579f77SDag-Erling Smørgrav# ltversion.m4 -- version numbers -*- Autoconf -*- 8924b7579f77SDag-Erling Smørgrav# 8925*46d2f618SCy Schubert# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. 8926b7579f77SDag-Erling Smørgrav# Written by Scott James Remnant, 2004 8927b7579f77SDag-Erling Smørgrav# 8928b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 8929b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 8930b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 8931b7579f77SDag-Erling Smørgrav 8932b7579f77SDag-Erling Smørgrav# @configure_input@ 8933b7579f77SDag-Erling Smørgrav 8934*46d2f618SCy Schubert# serial 4179 ltversion.m4 8935b7579f77SDag-Erling Smørgrav# This file is part of GNU Libtool 8936b7579f77SDag-Erling Smørgrav 8937*46d2f618SCy Schubertm4_define([LT_PACKAGE_VERSION], [2.4.6]) 8938*46d2f618SCy Schubertm4_define([LT_PACKAGE_REVISION], [2.4.6]) 8939b7579f77SDag-Erling Smørgrav 8940b7579f77SDag-Erling SmørgravAC_DEFUN([LTVERSION_VERSION], 8941*46d2f618SCy Schubert[macro_version='2.4.6' 8942*46d2f618SCy Schubertmacro_revision='2.4.6' 8943b7579f77SDag-Erling Smørgrav_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 8944b7579f77SDag-Erling Smørgrav_LT_DECL(, macro_revision, 0) 8945b7579f77SDag-Erling Smørgrav]) 8946b7579f77SDag-Erling Smørgrav 8947b7579f77SDag-Erling Smørgrav# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- 8948b7579f77SDag-Erling Smørgrav# 8949*46d2f618SCy Schubert# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software 8950*46d2f618SCy Schubert# Foundation, Inc. 8951b7579f77SDag-Erling Smørgrav# Written by Scott James Remnant, 2004. 8952b7579f77SDag-Erling Smørgrav# 8953b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 8954b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 8955b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 8956b7579f77SDag-Erling Smørgrav 8957b7579f77SDag-Erling Smørgrav# serial 5 lt~obsolete.m4 8958b7579f77SDag-Erling Smørgrav 8959b7579f77SDag-Erling Smørgrav# These exist entirely to fool aclocal when bootstrapping libtool. 8960b7579f77SDag-Erling Smørgrav# 8961f61ef7f6SDag-Erling Smørgrav# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), 8962b7579f77SDag-Erling Smørgrav# which have later been changed to m4_define as they aren't part of the 8963b7579f77SDag-Erling Smørgrav# exported API, or moved to Autoconf or Automake where they belong. 8964b7579f77SDag-Erling Smørgrav# 8965b7579f77SDag-Erling Smørgrav# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN 8966b7579f77SDag-Erling Smørgrav# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us 8967b7579f77SDag-Erling Smørgrav# using a macro with the same name in our local m4/libtool.m4 it'll 8968b7579f77SDag-Erling Smørgrav# pull the old libtool.m4 in (it doesn't see our shiny new m4_define 8969b7579f77SDag-Erling Smørgrav# and doesn't know about Autoconf macros at all.) 8970b7579f77SDag-Erling Smørgrav# 8971b7579f77SDag-Erling Smørgrav# So we provide this file, which has a silly filename so it's always 8972b7579f77SDag-Erling Smørgrav# included after everything else. This provides aclocal with the 8973b7579f77SDag-Erling Smørgrav# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything 8974b7579f77SDag-Erling Smørgrav# because those macros already exist, or will be overwritten later. 8975b7579f77SDag-Erling Smørgrav# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 8976b7579f77SDag-Erling Smørgrav# 8977b7579f77SDag-Erling Smørgrav# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. 8978b7579f77SDag-Erling Smørgrav# Yes, that means every name once taken will need to remain here until 8979b7579f77SDag-Erling Smørgrav# we give up compatibility with versions before 1.7, at which point 8980b7579f77SDag-Erling Smørgrav# we need to keep only those names which we still refer to. 8981b7579f77SDag-Erling Smørgrav 8982b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define. 8983b7579f77SDag-Erling SmørgravAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) 8984b7579f77SDag-Erling Smørgrav 8985b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) 8986b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) 8987b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) 8988b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) 8989b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) 8990b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) 8991b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) 8992b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) 8993b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) 8994b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) 8995b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) 8996b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) 8997b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) 8998b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) 8999b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) 9000b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) 9001b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) 9002b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) 9003b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) 9004b7579f77SDag-Erling Smørgravm4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) 9005b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) 9006b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) 9007b7579f77SDag-Erling Smørgravm4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) 9008b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) 9009b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) 9010b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) 9011b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) 9012b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) 9013b7579f77SDag-Erling Smørgravm4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) 9014b7579f77SDag-Erling Smørgravm4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) 9015b7579f77SDag-Erling Smørgravm4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) 9016b7579f77SDag-Erling Smørgravm4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) 9017b7579f77SDag-Erling Smørgravm4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) 9018b7579f77SDag-Erling Smørgravm4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) 9019b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) 9020b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) 9021b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) 9022b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) 9023b7579f77SDag-Erling Smørgravm4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) 9024b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) 9025b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) 9026b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) 9027b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) 9028b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) 9029b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) 9030b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) 9031b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) 9032b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) 9033b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) 9034b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) 9035b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) 9036b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) 9037b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) 9038b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) 9039b7579f77SDag-Erling Smørgravm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) 9040b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) 9041b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) 9042b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) 9043b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) 9044b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) 9045b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) 9046b7579f77SDag-Erling Smørgrav 9047*46d2f618SCy Schubert# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- 9048*46d2f618SCy Schubert# serial 11 (pkg-config-0.29.1) 9049091e9e46SCy Schubert 90503005e0a3SDag-Erling Smørgravdnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>. 90513005e0a3SDag-Erling Smørgravdnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com> 90523005e0a3SDag-Erling Smørgravdnl 90533005e0a3SDag-Erling Smørgravdnl This program is free software; you can redistribute it and/or modify 90543005e0a3SDag-Erling Smørgravdnl it under the terms of the GNU General Public License as published by 90553005e0a3SDag-Erling Smørgravdnl the Free Software Foundation; either version 2 of the License, or 90563005e0a3SDag-Erling Smørgravdnl (at your option) any later version. 90573005e0a3SDag-Erling Smørgravdnl 90583005e0a3SDag-Erling Smørgravdnl This program is distributed in the hope that it will be useful, but 90593005e0a3SDag-Erling Smørgravdnl WITHOUT ANY WARRANTY; without even the implied warranty of 90603005e0a3SDag-Erling Smørgravdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 90613005e0a3SDag-Erling Smørgravdnl General Public License for more details. 90623005e0a3SDag-Erling Smørgravdnl 90633005e0a3SDag-Erling Smørgravdnl You should have received a copy of the GNU General Public License 90643005e0a3SDag-Erling Smørgravdnl along with this program; if not, write to the Free Software 90653005e0a3SDag-Erling Smørgravdnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 90663005e0a3SDag-Erling Smørgravdnl 02111-1307, USA. 90673005e0a3SDag-Erling Smørgravdnl 90683005e0a3SDag-Erling Smørgravdnl As a special exception to the GNU General Public License, if you 90693005e0a3SDag-Erling Smørgravdnl distribute this file as part of a program that contains a 90703005e0a3SDag-Erling Smørgravdnl configuration script generated by Autoconf, you may include it under 90713005e0a3SDag-Erling Smørgravdnl the same distribution terms that you use for the rest of that 90723005e0a3SDag-Erling Smørgravdnl program. 90733005e0a3SDag-Erling Smørgrav 90743005e0a3SDag-Erling Smørgravdnl PKG_PREREQ(MIN-VERSION) 90753005e0a3SDag-Erling Smørgravdnl ----------------------- 90763005e0a3SDag-Erling Smørgravdnl Since: 0.29 90773005e0a3SDag-Erling Smørgravdnl 90783005e0a3SDag-Erling Smørgravdnl Verify that the version of the pkg-config macros are at least 90793005e0a3SDag-Erling Smørgravdnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's 90803005e0a3SDag-Erling Smørgravdnl installed version of pkg-config, this checks the developer's version 90813005e0a3SDag-Erling Smørgravdnl of pkg.m4 when generating configure. 90823005e0a3SDag-Erling Smørgravdnl 90833005e0a3SDag-Erling Smørgravdnl To ensure that this macro is defined, also add: 90843005e0a3SDag-Erling Smørgravdnl m4_ifndef([PKG_PREREQ], 90853005e0a3SDag-Erling Smørgravdnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) 90863005e0a3SDag-Erling Smørgravdnl 90873005e0a3SDag-Erling Smørgravdnl See the "Since" comment for each macro you use to see what version 90883005e0a3SDag-Erling Smørgravdnl of the macros you require. 90893005e0a3SDag-Erling Smørgravm4_defun([PKG_PREREQ], 9090*46d2f618SCy Schubert[m4_define([PKG_MACROS_VERSION], [0.29.1]) 90913005e0a3SDag-Erling Smørgravm4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, 90923005e0a3SDag-Erling Smørgrav [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) 90933005e0a3SDag-Erling Smørgrav])dnl PKG_PREREQ 90943005e0a3SDag-Erling Smørgrav 90953005e0a3SDag-Erling Smørgravdnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) 90963005e0a3SDag-Erling Smørgravdnl ---------------------------------- 90973005e0a3SDag-Erling Smørgravdnl Since: 0.16 90983005e0a3SDag-Erling Smørgravdnl 90993005e0a3SDag-Erling Smørgravdnl Search for the pkg-config tool and set the PKG_CONFIG variable to 91003005e0a3SDag-Erling Smørgravdnl first found in the path. Checks that the version of pkg-config found 91013005e0a3SDag-Erling Smørgravdnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is 91023005e0a3SDag-Erling Smørgravdnl used since that's the first version where most current features of 91033005e0a3SDag-Erling Smørgravdnl pkg-config existed. 91043005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_PROG_PKG_CONFIG], 91053005e0a3SDag-Erling Smørgrav[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) 91063005e0a3SDag-Erling Smørgravm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) 91073005e0a3SDag-Erling Smørgravm4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) 91083005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) 91093005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) 91103005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) 91113005e0a3SDag-Erling Smørgrav 91123005e0a3SDag-Erling Smørgravif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then 91133005e0a3SDag-Erling Smørgrav AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) 91143005e0a3SDag-Erling Smørgravfi 91153005e0a3SDag-Erling Smørgravif test -n "$PKG_CONFIG"; then 91163005e0a3SDag-Erling Smørgrav _pkg_min_version=m4_default([$1], [0.9.0]) 91173005e0a3SDag-Erling Smørgrav AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) 91183005e0a3SDag-Erling Smørgrav if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then 91193005e0a3SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 91203005e0a3SDag-Erling Smørgrav else 91213005e0a3SDag-Erling Smørgrav AC_MSG_RESULT([no]) 91223005e0a3SDag-Erling Smørgrav PKG_CONFIG="" 91233005e0a3SDag-Erling Smørgrav fi 91243005e0a3SDag-Erling Smørgravfi[]dnl 91253005e0a3SDag-Erling Smørgrav])dnl PKG_PROG_PKG_CONFIG 91263005e0a3SDag-Erling Smørgrav 91273005e0a3SDag-Erling Smørgravdnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 91283005e0a3SDag-Erling Smørgravdnl ------------------------------------------------------------------- 91293005e0a3SDag-Erling Smørgravdnl Since: 0.18 91303005e0a3SDag-Erling Smørgravdnl 91313005e0a3SDag-Erling Smørgravdnl Check to see whether a particular set of modules exists. Similar to 91323005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES(), but does not set variables or print errors. 91333005e0a3SDag-Erling Smørgravdnl 91343005e0a3SDag-Erling Smørgravdnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 9135*46d2f618SCy Schubertdnl only at the first occurence in configure.ac, so if the first place 91363005e0a3SDag-Erling Smørgravdnl it's called might be skipped (such as if it is within an "if", you 91373005e0a3SDag-Erling Smørgravdnl have to call PKG_CHECK_EXISTS manually 91383005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_EXISTS], 91393005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 91403005e0a3SDag-Erling Smørgravif test -n "$PKG_CONFIG" && \ 91413005e0a3SDag-Erling Smørgrav AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then 91423005e0a3SDag-Erling Smørgrav m4_default([$2], [:]) 91433005e0a3SDag-Erling Smørgravm4_ifvaln([$3], [else 91443005e0a3SDag-Erling Smørgrav $3])dnl 91453005e0a3SDag-Erling Smørgravfi]) 91463005e0a3SDag-Erling Smørgrav 91473005e0a3SDag-Erling Smørgravdnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) 91483005e0a3SDag-Erling Smørgravdnl --------------------------------------------- 91493005e0a3SDag-Erling Smørgravdnl Internal wrapper calling pkg-config via PKG_CONFIG and setting 91503005e0a3SDag-Erling Smørgravdnl pkg_failed based on the result. 91513005e0a3SDag-Erling Smørgravm4_define([_PKG_CONFIG], 91523005e0a3SDag-Erling Smørgrav[if test -n "$$1"; then 91533005e0a3SDag-Erling Smørgrav pkg_cv_[]$1="$$1" 91543005e0a3SDag-Erling Smørgrav elif test -n "$PKG_CONFIG"; then 91553005e0a3SDag-Erling Smørgrav PKG_CHECK_EXISTS([$3], 91563005e0a3SDag-Erling Smørgrav [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` 91573005e0a3SDag-Erling Smørgrav test "x$?" != "x0" && pkg_failed=yes ], 91583005e0a3SDag-Erling Smørgrav [pkg_failed=yes]) 91593005e0a3SDag-Erling Smørgrav else 91603005e0a3SDag-Erling Smørgrav pkg_failed=untried 91613005e0a3SDag-Erling Smørgravfi[]dnl 91623005e0a3SDag-Erling Smørgrav])dnl _PKG_CONFIG 91633005e0a3SDag-Erling Smørgrav 91643005e0a3SDag-Erling Smørgravdnl _PKG_SHORT_ERRORS_SUPPORTED 91653005e0a3SDag-Erling Smørgravdnl --------------------------- 91663005e0a3SDag-Erling Smørgravdnl Internal check to see if pkg-config supports short errors. 91673005e0a3SDag-Erling SmørgravAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], 91683005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 91693005e0a3SDag-Erling Smørgravif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then 91703005e0a3SDag-Erling Smørgrav _pkg_short_errors_supported=yes 91713005e0a3SDag-Erling Smørgravelse 91723005e0a3SDag-Erling Smørgrav _pkg_short_errors_supported=no 91733005e0a3SDag-Erling Smørgravfi[]dnl 91743005e0a3SDag-Erling Smørgrav])dnl _PKG_SHORT_ERRORS_SUPPORTED 91753005e0a3SDag-Erling Smørgrav 91763005e0a3SDag-Erling Smørgrav 91773005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], 91783005e0a3SDag-Erling Smørgravdnl [ACTION-IF-NOT-FOUND]) 91793005e0a3SDag-Erling Smørgravdnl -------------------------------------------------------------- 91803005e0a3SDag-Erling Smørgravdnl Since: 0.4.0 91813005e0a3SDag-Erling Smørgravdnl 91823005e0a3SDag-Erling Smørgravdnl Note that if there is a possibility the first call to 91833005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES might not happen, you should be sure to include an 91843005e0a3SDag-Erling Smørgravdnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac 91853005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_MODULES], 91863005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 91873005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl 91883005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl 91893005e0a3SDag-Erling Smørgrav 91903005e0a3SDag-Erling Smørgravpkg_failed=no 9191*46d2f618SCy SchubertAC_MSG_CHECKING([for $1]) 91923005e0a3SDag-Erling Smørgrav 91933005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) 91943005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1][_LIBS], [libs], [$2]) 91953005e0a3SDag-Erling Smørgrav 91963005e0a3SDag-Erling Smørgravm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS 91973005e0a3SDag-Erling Smørgravand $1[]_LIBS to avoid the need to call pkg-config. 91983005e0a3SDag-Erling SmørgravSee the pkg-config man page for more details.]) 91993005e0a3SDag-Erling Smørgrav 92003005e0a3SDag-Erling Smørgravif test $pkg_failed = yes; then 92013005e0a3SDag-Erling Smørgrav AC_MSG_RESULT([no]) 92023005e0a3SDag-Erling Smørgrav _PKG_SHORT_ERRORS_SUPPORTED 92033005e0a3SDag-Erling Smørgrav if test $_pkg_short_errors_supported = yes; then 92043005e0a3SDag-Erling Smørgrav $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` 92053005e0a3SDag-Erling Smørgrav else 92063005e0a3SDag-Erling Smørgrav $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` 92073005e0a3SDag-Erling Smørgrav fi 92083005e0a3SDag-Erling Smørgrav # Put the nasty error message in config.log where it belongs 92093005e0a3SDag-Erling Smørgrav echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD 92103005e0a3SDag-Erling Smørgrav 92113005e0a3SDag-Erling Smørgrav m4_default([$4], [AC_MSG_ERROR( 92123005e0a3SDag-Erling Smørgrav[Package requirements ($2) were not met: 92133005e0a3SDag-Erling Smørgrav 92143005e0a3SDag-Erling Smørgrav$$1_PKG_ERRORS 92153005e0a3SDag-Erling Smørgrav 92163005e0a3SDag-Erling SmørgravConsider adjusting the PKG_CONFIG_PATH environment variable if you 92173005e0a3SDag-Erling Smørgravinstalled software in a non-standard prefix. 92183005e0a3SDag-Erling Smørgrav 92193005e0a3SDag-Erling Smørgrav_PKG_TEXT])[]dnl 92203005e0a3SDag-Erling Smørgrav ]) 92213005e0a3SDag-Erling Smørgravelif test $pkg_failed = untried; then 92223005e0a3SDag-Erling Smørgrav AC_MSG_RESULT([no]) 92233005e0a3SDag-Erling Smørgrav m4_default([$4], [AC_MSG_FAILURE( 92243005e0a3SDag-Erling Smørgrav[The pkg-config script could not be found or is too old. Make sure it 92253005e0a3SDag-Erling Smørgravis in your PATH or set the PKG_CONFIG environment variable to the full 92263005e0a3SDag-Erling Smørgravpath to pkg-config. 92273005e0a3SDag-Erling Smørgrav 92283005e0a3SDag-Erling Smørgrav_PKG_TEXT 92293005e0a3SDag-Erling Smørgrav 92303005e0a3SDag-Erling SmørgravTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl 92313005e0a3SDag-Erling Smørgrav ]) 92323005e0a3SDag-Erling Smørgravelse 92333005e0a3SDag-Erling Smørgrav $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS 92343005e0a3SDag-Erling Smørgrav $1[]_LIBS=$pkg_cv_[]$1[]_LIBS 92353005e0a3SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 92363005e0a3SDag-Erling Smørgrav $3 92373005e0a3SDag-Erling Smørgravfi[]dnl 92383005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_MODULES 92393005e0a3SDag-Erling Smørgrav 92403005e0a3SDag-Erling Smørgrav 92413005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], 92423005e0a3SDag-Erling Smørgravdnl [ACTION-IF-NOT-FOUND]) 92433005e0a3SDag-Erling Smørgravdnl --------------------------------------------------------------------- 92443005e0a3SDag-Erling Smørgravdnl Since: 0.29 92453005e0a3SDag-Erling Smørgravdnl 92463005e0a3SDag-Erling Smørgravdnl Checks for existence of MODULES and gathers its build flags with 92473005e0a3SDag-Erling Smørgravdnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags 92483005e0a3SDag-Erling Smørgravdnl and VARIABLE-PREFIX_LIBS from --libs. 92493005e0a3SDag-Erling Smørgravdnl 92503005e0a3SDag-Erling Smørgravdnl Note that if there is a possibility the first call to 92513005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to 92523005e0a3SDag-Erling Smørgravdnl include an explicit call to PKG_PROG_PKG_CONFIG in your 92533005e0a3SDag-Erling Smørgravdnl configure.ac. 92543005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_MODULES_STATIC], 92553005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 92563005e0a3SDag-Erling Smørgrav_save_PKG_CONFIG=$PKG_CONFIG 92573005e0a3SDag-Erling SmørgravPKG_CONFIG="$PKG_CONFIG --static" 92583005e0a3SDag-Erling SmørgravPKG_CHECK_MODULES($@) 92593005e0a3SDag-Erling SmørgravPKG_CONFIG=$_save_PKG_CONFIG[]dnl 92603005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_MODULES_STATIC 92613005e0a3SDag-Erling Smørgrav 92623005e0a3SDag-Erling Smørgrav 92633005e0a3SDag-Erling Smørgravdnl PKG_INSTALLDIR([DIRECTORY]) 92643005e0a3SDag-Erling Smørgravdnl ------------------------- 92653005e0a3SDag-Erling Smørgravdnl Since: 0.27 92663005e0a3SDag-Erling Smørgravdnl 92673005e0a3SDag-Erling Smørgravdnl Substitutes the variable pkgconfigdir as the location where a module 92683005e0a3SDag-Erling Smørgravdnl should install pkg-config .pc files. By default the directory is 92693005e0a3SDag-Erling Smørgravdnl $libdir/pkgconfig, but the default can be changed by passing 92703005e0a3SDag-Erling Smørgravdnl DIRECTORY. The user can override through the --with-pkgconfigdir 92713005e0a3SDag-Erling Smørgravdnl parameter. 92723005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_INSTALLDIR], 92733005e0a3SDag-Erling Smørgrav[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) 92743005e0a3SDag-Erling Smørgravm4_pushdef([pkg_description], 92753005e0a3SDag-Erling Smørgrav [pkg-config installation directory @<:@]pkg_default[@:>@]) 92763005e0a3SDag-Erling SmørgravAC_ARG_WITH([pkgconfigdir], 92773005e0a3SDag-Erling Smørgrav [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, 92783005e0a3SDag-Erling Smørgrav [with_pkgconfigdir=]pkg_default) 92793005e0a3SDag-Erling SmørgravAC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) 92803005e0a3SDag-Erling Smørgravm4_popdef([pkg_default]) 92813005e0a3SDag-Erling Smørgravm4_popdef([pkg_description]) 92823005e0a3SDag-Erling Smørgrav])dnl PKG_INSTALLDIR 92833005e0a3SDag-Erling Smørgrav 92843005e0a3SDag-Erling Smørgrav 92853005e0a3SDag-Erling Smørgravdnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) 92863005e0a3SDag-Erling Smørgravdnl -------------------------------- 92873005e0a3SDag-Erling Smørgravdnl Since: 0.27 92883005e0a3SDag-Erling Smørgravdnl 92893005e0a3SDag-Erling Smørgravdnl Substitutes the variable noarch_pkgconfigdir as the location where a 92903005e0a3SDag-Erling Smørgravdnl module should install arch-independent pkg-config .pc files. By 92913005e0a3SDag-Erling Smørgravdnl default the directory is $datadir/pkgconfig, but the default can be 92923005e0a3SDag-Erling Smørgravdnl changed by passing DIRECTORY. The user can override through the 92933005e0a3SDag-Erling Smørgravdnl --with-noarch-pkgconfigdir parameter. 92943005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_NOARCH_INSTALLDIR], 92953005e0a3SDag-Erling Smørgrav[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) 92963005e0a3SDag-Erling Smørgravm4_pushdef([pkg_description], 92973005e0a3SDag-Erling Smørgrav [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) 92983005e0a3SDag-Erling SmørgravAC_ARG_WITH([noarch-pkgconfigdir], 92993005e0a3SDag-Erling Smørgrav [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, 93003005e0a3SDag-Erling Smørgrav [with_noarch_pkgconfigdir=]pkg_default) 93013005e0a3SDag-Erling SmørgravAC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) 93023005e0a3SDag-Erling Smørgravm4_popdef([pkg_default]) 93033005e0a3SDag-Erling Smørgravm4_popdef([pkg_description]) 93043005e0a3SDag-Erling Smørgrav])dnl PKG_NOARCH_INSTALLDIR 93053005e0a3SDag-Erling Smørgrav 93063005e0a3SDag-Erling Smørgrav 93073005e0a3SDag-Erling Smørgravdnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, 93083005e0a3SDag-Erling Smørgravdnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 93093005e0a3SDag-Erling Smørgravdnl ------------------------------------------- 93103005e0a3SDag-Erling Smørgravdnl Since: 0.28 93113005e0a3SDag-Erling Smørgravdnl 93123005e0a3SDag-Erling Smørgravdnl Retrieves the value of the pkg-config variable for the given module. 93133005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_VAR], 93143005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 93153005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl 93163005e0a3SDag-Erling Smørgrav 93173005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1], [variable="][$3]["], [$2]) 93183005e0a3SDag-Erling SmørgravAS_VAR_COPY([$1], [pkg_cv_][$1]) 93193005e0a3SDag-Erling Smørgrav 93203005e0a3SDag-Erling SmørgravAS_VAR_IF([$1], [""], [$5], [$4])dnl 93213005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_VAR 93223005e0a3SDag-Erling Smørgrav 9323091e9e46SCy Schubertdnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES, 9324091e9e46SCy Schubertdnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND], 9325091e9e46SCy Schubertdnl [DESCRIPTION], [DEFAULT]) 9326091e9e46SCy Schubertdnl ------------------------------------------ 9327091e9e46SCy Schubertdnl 9328091e9e46SCy Schubertdnl Prepare a "--with-" configure option using the lowercase 9329091e9e46SCy Schubertdnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and 9330091e9e46SCy Schubertdnl PKG_CHECK_MODULES in a single macro. 9331091e9e46SCy SchubertAC_DEFUN([PKG_WITH_MODULES], 9332091e9e46SCy Schubert[ 9333091e9e46SCy Schubertm4_pushdef([with_arg], m4_tolower([$1])) 9334091e9e46SCy Schubert 9335091e9e46SCy Schubertm4_pushdef([description], 9336091e9e46SCy Schubert [m4_default([$5], [build with ]with_arg[ support])]) 9337091e9e46SCy Schubert 9338091e9e46SCy Schubertm4_pushdef([def_arg], [m4_default([$6], [auto])]) 9339091e9e46SCy Schubertm4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes]) 9340091e9e46SCy Schubertm4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no]) 9341091e9e46SCy Schubert 9342091e9e46SCy Schubertm4_case(def_arg, 9343091e9e46SCy Schubert [yes],[m4_pushdef([with_without], [--without-]with_arg)], 9344091e9e46SCy Schubert [m4_pushdef([with_without],[--with-]with_arg)]) 9345091e9e46SCy Schubert 9346091e9e46SCy SchubertAC_ARG_WITH(with_arg, 9347091e9e46SCy Schubert AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),, 9348091e9e46SCy Schubert [AS_TR_SH([with_]with_arg)=def_arg]) 9349091e9e46SCy Schubert 9350091e9e46SCy SchubertAS_CASE([$AS_TR_SH([with_]with_arg)], 9351091e9e46SCy Schubert [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)], 9352091e9e46SCy Schubert [auto],[PKG_CHECK_MODULES([$1],[$2], 9353091e9e46SCy Schubert [m4_n([def_action_if_found]) $3], 9354091e9e46SCy Schubert [m4_n([def_action_if_not_found]) $4])]) 9355091e9e46SCy Schubert 9356091e9e46SCy Schubertm4_popdef([with_arg]) 9357091e9e46SCy Schubertm4_popdef([description]) 9358091e9e46SCy Schubertm4_popdef([def_arg]) 9359091e9e46SCy Schubert 9360091e9e46SCy Schubert])dnl PKG_WITH_MODULES 9361091e9e46SCy Schubert 9362091e9e46SCy Schubertdnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES, 9363091e9e46SCy Schubertdnl [DESCRIPTION], [DEFAULT]) 9364091e9e46SCy Schubertdnl ----------------------------------------------- 9365091e9e46SCy Schubertdnl 9366091e9e46SCy Schubertdnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES 9367091e9e46SCy Schubertdnl check._[VARIABLE-PREFIX] is exported as make variable. 9368091e9e46SCy SchubertAC_DEFUN([PKG_HAVE_WITH_MODULES], 9369091e9e46SCy Schubert[ 9370091e9e46SCy SchubertPKG_WITH_MODULES([$1],[$2],,,[$3],[$4]) 9371091e9e46SCy Schubert 9372091e9e46SCy SchubertAM_CONDITIONAL([HAVE_][$1], 9373091e9e46SCy Schubert [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"]) 9374091e9e46SCy Schubert])dnl PKG_HAVE_WITH_MODULES 9375091e9e46SCy Schubert 9376091e9e46SCy Schubertdnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES, 9377091e9e46SCy Schubertdnl [DESCRIPTION], [DEFAULT]) 9378091e9e46SCy Schubertdnl ------------------------------------------------------ 9379091e9e46SCy Schubertdnl 9380091e9e46SCy Schubertdnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after 9381091e9e46SCy Schubertdnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make 9382091e9e46SCy Schubertdnl and preprocessor variable. 9383091e9e46SCy SchubertAC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES], 9384091e9e46SCy Schubert[ 9385091e9e46SCy SchubertPKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4]) 9386091e9e46SCy Schubert 9387091e9e46SCy SchubertAS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], 9388091e9e46SCy Schubert [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) 9389091e9e46SCy Schubert])dnl PKG_HAVE_DEFINE_WITH_MODULES 9390091e9e46SCy Schubert 93913005e0a3SDag-Erling Smørgrav# AM_CONDITIONAL -*- Autoconf -*- 93923005e0a3SDag-Erling Smørgrav 9393*46d2f618SCy Schubert# Copyright (C) 1997-2020 Free Software Foundation, Inc. 93943005e0a3SDag-Erling Smørgrav# 93953005e0a3SDag-Erling Smørgrav# This file is free software; the Free Software Foundation 93963005e0a3SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it, 93973005e0a3SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved. 93983005e0a3SDag-Erling Smørgrav 93993005e0a3SDag-Erling Smørgrav# AM_CONDITIONAL(NAME, SHELL-CONDITION) 94003005e0a3SDag-Erling Smørgrav# ------------------------------------- 94013005e0a3SDag-Erling Smørgrav# Define a conditional. 94023005e0a3SDag-Erling SmørgravAC_DEFUN([AM_CONDITIONAL], 94033005e0a3SDag-Erling Smørgrav[AC_PREREQ([2.52])dnl 94043005e0a3SDag-Erling Smørgrav m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], 94053005e0a3SDag-Erling Smørgrav [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl 94063005e0a3SDag-Erling SmørgravAC_SUBST([$1_TRUE])dnl 94073005e0a3SDag-Erling SmørgravAC_SUBST([$1_FALSE])dnl 94083005e0a3SDag-Erling Smørgrav_AM_SUBST_NOTMAKE([$1_TRUE])dnl 94093005e0a3SDag-Erling Smørgrav_AM_SUBST_NOTMAKE([$1_FALSE])dnl 94103005e0a3SDag-Erling Smørgravm4_define([_AM_COND_VALUE_$1], [$2])dnl 94113005e0a3SDag-Erling Smørgravif $2; then 94123005e0a3SDag-Erling Smørgrav $1_TRUE= 94133005e0a3SDag-Erling Smørgrav $1_FALSE='#' 94143005e0a3SDag-Erling Smørgravelse 94153005e0a3SDag-Erling Smørgrav $1_TRUE='#' 94163005e0a3SDag-Erling Smørgrav $1_FALSE= 94173005e0a3SDag-Erling Smørgravfi 94183005e0a3SDag-Erling SmørgravAC_CONFIG_COMMANDS_PRE( 94193005e0a3SDag-Erling Smørgrav[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then 94203005e0a3SDag-Erling Smørgrav AC_MSG_ERROR([[conditional "$1" was never defined. 94213005e0a3SDag-Erling SmørgravUsually this means the macro was only invoked conditionally.]]) 94223005e0a3SDag-Erling Smørgravfi])]) 94233005e0a3SDag-Erling Smørgrav 9424*46d2f618SCy Schubert# Copyright (C) 2006-2020 Free Software Foundation, Inc. 94253005e0a3SDag-Erling Smørgrav# 94263005e0a3SDag-Erling Smørgrav# This file is free software; the Free Software Foundation 94273005e0a3SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it, 94283005e0a3SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved. 94293005e0a3SDag-Erling Smørgrav 94303005e0a3SDag-Erling Smørgrav# _AM_SUBST_NOTMAKE(VARIABLE) 94313005e0a3SDag-Erling Smørgrav# --------------------------- 94323005e0a3SDag-Erling Smørgrav# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. 94333005e0a3SDag-Erling Smørgrav# This macro is traced by Automake. 94343005e0a3SDag-Erling SmørgravAC_DEFUN([_AM_SUBST_NOTMAKE]) 94353005e0a3SDag-Erling Smørgrav 94363005e0a3SDag-Erling Smørgrav# AM_SUBST_NOTMAKE(VARIABLE) 94373005e0a3SDag-Erling Smørgrav# -------------------------- 94383005e0a3SDag-Erling Smørgrav# Public sister of _AM_SUBST_NOTMAKE. 94393005e0a3SDag-Erling SmørgravAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) 94403005e0a3SDag-Erling Smørgrav 9441