117d15b25SDag-Erling Smørgrav# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 217d15b25SDag-Erling Smørgrav# 3986ba33cSDag-Erling Smørgrav# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. 417d15b25SDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996 517d15b25SDag-Erling Smørgrav# 617d15b25SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives 717d15b25SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without 817d15b25SDag-Erling Smørgrav# modifications, as long as this notice is preserved. 917d15b25SDag-Erling Smørgrav 1017d15b25SDag-Erling Smørgravm4_define([_LT_COPYING], [dnl 11986ba33cSDag-Erling Smørgrav# Copyright (C) 2014 Free Software Foundation, Inc. 12986ba33cSDag-Erling Smørgrav# This is free software; see the source for copying conditions. There is NO 13986ba33cSDag-Erling Smørgrav# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14986ba33cSDag-Erling Smørgrav 15986ba33cSDag-Erling Smørgrav# GNU Libtool is free software; you can redistribute it and/or modify 16986ba33cSDag-Erling Smørgrav# it under the terms of the GNU General Public License as published by 17986ba33cSDag-Erling Smørgrav# the Free Software Foundation; either version 2 of of the License, or 18986ba33cSDag-Erling Smørgrav# (at your option) any later version. 1917d15b25SDag-Erling Smørgrav# 20986ba33cSDag-Erling Smørgrav# As a special exception to the GNU General Public License, if you 21986ba33cSDag-Erling Smørgrav# distribute this file as part of a program or library that is built 22986ba33cSDag-Erling Smørgrav# using GNU Libtool, you may include this file under the same 23986ba33cSDag-Erling Smørgrav# distribution terms that you use for the rest of that program. 2417d15b25SDag-Erling Smørgrav# 25986ba33cSDag-Erling Smørgrav# GNU Libtool is distributed in the hope that it will be useful, but 26986ba33cSDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of 2717d15b25SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2817d15b25SDag-Erling Smørgrav# GNU General Public License for more details. 2917d15b25SDag-Erling Smørgrav# 3017d15b25SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License 31986ba33cSDag-Erling Smørgrav# along with this program. If not, see <http://www.gnu.org/licenses/>. 3217d15b25SDag-Erling Smørgrav]) 3317d15b25SDag-Erling Smørgrav 34986ba33cSDag-Erling Smørgrav# serial 58 LT_INIT 3517d15b25SDag-Erling Smørgrav 3617d15b25SDag-Erling Smørgrav 3717d15b25SDag-Erling Smørgrav# LT_PREREQ(VERSION) 3817d15b25SDag-Erling Smørgrav# ------------------ 3917d15b25SDag-Erling Smørgrav# Complain and exit if this libtool version is less that VERSION. 4017d15b25SDag-Erling Smørgravm4_defun([LT_PREREQ], 4117d15b25SDag-Erling Smørgrav[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 4217d15b25SDag-Erling Smørgrav [m4_default([$3], 4317d15b25SDag-Erling Smørgrav [m4_fatal([Libtool version $1 or higher is required], 4417d15b25SDag-Erling Smørgrav 63)])], 4517d15b25SDag-Erling Smørgrav [$2])]) 4617d15b25SDag-Erling Smørgrav 4717d15b25SDag-Erling Smørgrav 4817d15b25SDag-Erling Smørgrav# _LT_CHECK_BUILDDIR 4917d15b25SDag-Erling Smørgrav# ------------------ 5017d15b25SDag-Erling Smørgrav# Complain if the absolute build directory name contains unusual characters 5117d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_BUILDDIR], 5217d15b25SDag-Erling Smørgrav[case `pwd` in 5317d15b25SDag-Erling Smørgrav *\ * | *\ *) 5417d15b25SDag-Erling Smørgrav AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 5517d15b25SDag-Erling Smørgravesac 5617d15b25SDag-Erling Smørgrav]) 5717d15b25SDag-Erling Smørgrav 5817d15b25SDag-Erling Smørgrav 5917d15b25SDag-Erling Smørgrav# LT_INIT([OPTIONS]) 6017d15b25SDag-Erling Smørgrav# ------------------ 6117d15b25SDag-Erling SmørgravAC_DEFUN([LT_INIT], 62986ba33cSDag-Erling Smørgrav[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK 6317d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 6417d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LT_LANG])dnl 6517d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LT_OUTPUT])dnl 6617d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LTDL_INIT])dnl 6717d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_BUILDDIR])dnl 6817d15b25SDag-Erling Smørgrav 6917d15b25SDag-Erling Smørgravdnl Autoconf doesn't catch unexpanded LT_ macros by default: 7017d15b25SDag-Erling Smørgravm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 7117d15b25SDag-Erling Smørgravm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 7217d15b25SDag-Erling Smørgravdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 7317d15b25SDag-Erling Smørgravdnl unless we require an AC_DEFUNed macro: 7417d15b25SDag-Erling SmørgravAC_REQUIRE([LTOPTIONS_VERSION])dnl 7517d15b25SDag-Erling SmørgravAC_REQUIRE([LTSUGAR_VERSION])dnl 7617d15b25SDag-Erling SmørgravAC_REQUIRE([LTVERSION_VERSION])dnl 7717d15b25SDag-Erling SmørgravAC_REQUIRE([LTOBSOLETE_VERSION])dnl 7817d15b25SDag-Erling Smørgravm4_require([_LT_PROG_LTMAIN])dnl 7917d15b25SDag-Erling Smørgrav 8017d15b25SDag-Erling Smørgrav_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 8117d15b25SDag-Erling Smørgrav 8217d15b25SDag-Erling Smørgravdnl Parse OPTIONS 8317d15b25SDag-Erling Smørgrav_LT_SET_OPTIONS([$0], [$1]) 8417d15b25SDag-Erling Smørgrav 8517d15b25SDag-Erling Smørgrav# This can be used to rebuild libtool when needed 86986ba33cSDag-Erling SmørgravLIBTOOL_DEPS=$ltmain 8717d15b25SDag-Erling Smørgrav 8817d15b25SDag-Erling Smørgrav# Always use our own libtool. 8917d15b25SDag-Erling SmørgravLIBTOOL='$(SHELL) $(top_builddir)/libtool' 9017d15b25SDag-Erling SmørgravAC_SUBST(LIBTOOL)dnl 9117d15b25SDag-Erling Smørgrav 9217d15b25SDag-Erling Smørgrav_LT_SETUP 9317d15b25SDag-Erling Smørgrav 9417d15b25SDag-Erling Smørgrav# Only expand once: 9517d15b25SDag-Erling Smørgravm4_define([LT_INIT]) 9617d15b25SDag-Erling Smørgrav])# LT_INIT 9717d15b25SDag-Erling Smørgrav 9817d15b25SDag-Erling Smørgrav# Old names: 9917d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 10017d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 10117d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 10217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 10317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 10417d15b25SDag-Erling Smørgrav 10517d15b25SDag-Erling Smørgrav 106986ba33cSDag-Erling Smørgrav# _LT_PREPARE_CC_BASENAME 107986ba33cSDag-Erling Smørgrav# ----------------------- 108986ba33cSDag-Erling Smørgravm4_defun([_LT_PREPARE_CC_BASENAME], [ 10917d15b25SDag-Erling Smørgrav# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 110986ba33cSDag-Erling Smørgravfunc_cc_basename () 111986ba33cSDag-Erling Smørgrav{ 112986ba33cSDag-Erling Smørgrav for cc_temp in @S|@*""; do 11317d15b25SDag-Erling Smørgrav case $cc_temp in 11417d15b25SDag-Erling Smørgrav compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 11517d15b25SDag-Erling Smørgrav distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 11617d15b25SDag-Erling Smørgrav \-*) ;; 11717d15b25SDag-Erling Smørgrav *) break;; 11817d15b25SDag-Erling Smørgrav esac 11917d15b25SDag-Erling Smørgrav done 120986ba33cSDag-Erling Smørgrav func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 121986ba33cSDag-Erling Smørgrav} 122986ba33cSDag-Erling Smørgrav])# _LT_PREPARE_CC_BASENAME 123986ba33cSDag-Erling Smørgrav 124986ba33cSDag-Erling Smørgrav 125986ba33cSDag-Erling Smørgrav# _LT_CC_BASENAME(CC) 126986ba33cSDag-Erling Smørgrav# ------------------- 127986ba33cSDag-Erling Smørgrav# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, 128986ba33cSDag-Erling Smørgrav# but that macro is also expanded into generated libtool script, which 129986ba33cSDag-Erling Smørgrav# arranges for $SED and $ECHO to be set by different means. 130986ba33cSDag-Erling Smørgravm4_defun([_LT_CC_BASENAME], 131986ba33cSDag-Erling Smørgrav[m4_require([_LT_PREPARE_CC_BASENAME])dnl 132986ba33cSDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])dnl 133986ba33cSDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 134986ba33cSDag-Erling Smørgravfunc_cc_basename $1 135986ba33cSDag-Erling Smørgravcc_basename=$func_cc_basename_result 13617d15b25SDag-Erling Smørgrav]) 13717d15b25SDag-Erling Smørgrav 13817d15b25SDag-Erling Smørgrav 13917d15b25SDag-Erling Smørgrav# _LT_FILEUTILS_DEFAULTS 14017d15b25SDag-Erling Smørgrav# ---------------------- 14117d15b25SDag-Erling Smørgrav# It is okay to use these file commands and assume they have been set 142986ba33cSDag-Erling Smørgrav# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. 14317d15b25SDag-Erling Smørgravm4_defun([_LT_FILEUTILS_DEFAULTS], 14417d15b25SDag-Erling Smørgrav[: ${CP="cp -f"} 14517d15b25SDag-Erling Smørgrav: ${MV="mv -f"} 14617d15b25SDag-Erling Smørgrav: ${RM="rm -f"} 14717d15b25SDag-Erling Smørgrav])# _LT_FILEUTILS_DEFAULTS 14817d15b25SDag-Erling Smørgrav 14917d15b25SDag-Erling Smørgrav 15017d15b25SDag-Erling Smørgrav# _LT_SETUP 15117d15b25SDag-Erling Smørgrav# --------- 15217d15b25SDag-Erling Smørgravm4_defun([_LT_SETUP], 15317d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 15417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 15517d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 15617d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 15717d15b25SDag-Erling Smørgrav 15817d15b25SDag-Erling Smørgrav_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 15917d15b25SDag-Erling Smørgravdnl 16017d15b25SDag-Erling Smørgrav_LT_DECL([], [host_alias], [0], [The host system])dnl 16117d15b25SDag-Erling Smørgrav_LT_DECL([], [host], [0])dnl 16217d15b25SDag-Erling Smørgrav_LT_DECL([], [host_os], [0])dnl 16317d15b25SDag-Erling Smørgravdnl 16417d15b25SDag-Erling Smørgrav_LT_DECL([], [build_alias], [0], [The build system])dnl 16517d15b25SDag-Erling Smørgrav_LT_DECL([], [build], [0])dnl 16617d15b25SDag-Erling Smørgrav_LT_DECL([], [build_os], [0])dnl 16717d15b25SDag-Erling Smørgravdnl 16817d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl 16917d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl 17017d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 17117d15b25SDag-Erling Smørgravdnl 17217d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_LN_S])dnl 17317d15b25SDag-Erling Smørgravtest -z "$LN_S" && LN_S="ln -s" 17417d15b25SDag-Erling Smørgrav_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 17517d15b25SDag-Erling Smørgravdnl 17617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_CMD_MAX_LEN])dnl 17717d15b25SDag-Erling Smørgrav_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 17817d15b25SDag-Erling Smørgrav_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 17917d15b25SDag-Erling Smørgravdnl 18017d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 18117d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl 18217d15b25SDag-Erling Smørgravm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 18317d15b25SDag-Erling Smørgravm4_require([_LT_CMD_RELOAD])dnl 18417d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_MAGIC_METHOD])dnl 18517d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 18617d15b25SDag-Erling Smørgravm4_require([_LT_CMD_OLD_ARCHIVE])dnl 18717d15b25SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 18817d15b25SDag-Erling Smørgravm4_require([_LT_WITH_SYSROOT])dnl 189986ba33cSDag-Erling Smørgravm4_require([_LT_CMD_TRUNCATE])dnl 19017d15b25SDag-Erling Smørgrav 19117d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ 192986ba33cSDag-Erling Smørgrav# See if we are running on zsh, and set the options that allow our 19317d15b25SDag-Erling Smørgrav# commands through without removal of \ escapes INIT. 19417d15b25SDag-Erling Smørgravif test -n "\${ZSH_VERSION+set}"; then 19517d15b25SDag-Erling Smørgrav setopt NO_GLOB_SUBST 19617d15b25SDag-Erling Smørgravfi 19717d15b25SDag-Erling Smørgrav]) 19817d15b25SDag-Erling Smørgravif test -n "${ZSH_VERSION+set}"; then 19917d15b25SDag-Erling Smørgrav setopt NO_GLOB_SUBST 20017d15b25SDag-Erling Smørgravfi 20117d15b25SDag-Erling Smørgrav 20217d15b25SDag-Erling Smørgrav_LT_CHECK_OBJDIR 20317d15b25SDag-Erling Smørgrav 20417d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 20517d15b25SDag-Erling Smørgrav 20617d15b25SDag-Erling Smørgravcase $host_os in 20717d15b25SDag-Erling Smørgravaix3*) 20817d15b25SDag-Erling Smørgrav # AIX sometimes has problems with the GCC collect2 program. For some 20917d15b25SDag-Erling Smørgrav # reason, if we set the COLLECT_NAMES environment variable, the problems 21017d15b25SDag-Erling Smørgrav # vanish in a puff of smoke. 211986ba33cSDag-Erling Smørgrav if test set != "${COLLECT_NAMES+set}"; then 21217d15b25SDag-Erling Smørgrav COLLECT_NAMES= 21317d15b25SDag-Erling Smørgrav export COLLECT_NAMES 21417d15b25SDag-Erling Smørgrav fi 21517d15b25SDag-Erling Smørgrav ;; 21617d15b25SDag-Erling Smørgravesac 21717d15b25SDag-Erling Smørgrav 21817d15b25SDag-Erling Smørgrav# Global variables: 21917d15b25SDag-Erling Smørgravofile=libtool 22017d15b25SDag-Erling Smørgravcan_build_shared=yes 22117d15b25SDag-Erling Smørgrav 222986ba33cSDag-Erling Smørgrav# All known linkers require a '.a' archive for static linking (except MSVC, 22317d15b25SDag-Erling Smørgrav# which needs '.lib'). 22417d15b25SDag-Erling Smørgravlibext=a 22517d15b25SDag-Erling Smørgrav 226986ba33cSDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld 22717d15b25SDag-Erling Smørgrav 228986ba33cSDag-Erling Smørgravold_CC=$CC 229986ba33cSDag-Erling Smørgravold_CFLAGS=$CFLAGS 23017d15b25SDag-Erling Smørgrav 23117d15b25SDag-Erling Smørgrav# Set sane defaults for various variables 23217d15b25SDag-Erling Smørgravtest -z "$CC" && CC=cc 23317d15b25SDag-Erling Smørgravtest -z "$LTCC" && LTCC=$CC 23417d15b25SDag-Erling Smørgravtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 23517d15b25SDag-Erling Smørgravtest -z "$LD" && LD=ld 23617d15b25SDag-Erling Smørgravtest -z "$ac_objext" && ac_objext=o 23717d15b25SDag-Erling Smørgrav 23817d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 23917d15b25SDag-Erling Smørgrav 24017d15b25SDag-Erling Smørgrav# Only perform the check for file, if the check method requires it 24117d15b25SDag-Erling Smørgravtest -z "$MAGIC_CMD" && MAGIC_CMD=file 24217d15b25SDag-Erling Smørgravcase $deplibs_check_method in 24317d15b25SDag-Erling Smørgravfile_magic*) 24417d15b25SDag-Erling Smørgrav if test "$file_magic_cmd" = '$MAGIC_CMD'; then 24517d15b25SDag-Erling Smørgrav _LT_PATH_MAGIC 24617d15b25SDag-Erling Smørgrav fi 24717d15b25SDag-Erling Smørgrav ;; 24817d15b25SDag-Erling Smørgravesac 24917d15b25SDag-Erling Smørgrav 25017d15b25SDag-Erling Smørgrav# Use C for the default configuration in the libtool script 25117d15b25SDag-Erling SmørgravLT_SUPPORTED_TAG([CC]) 25217d15b25SDag-Erling Smørgrav_LT_LANG_C_CONFIG 25317d15b25SDag-Erling Smørgrav_LT_LANG_DEFAULT_CONFIG 25417d15b25SDag-Erling Smørgrav_LT_CONFIG_COMMANDS 25517d15b25SDag-Erling Smørgrav])# _LT_SETUP 25617d15b25SDag-Erling Smørgrav 25717d15b25SDag-Erling Smørgrav 25817d15b25SDag-Erling Smørgrav# _LT_PREPARE_SED_QUOTE_VARS 25917d15b25SDag-Erling Smørgrav# -------------------------- 26017d15b25SDag-Erling Smørgrav# Define a few sed substitution that help us do robust quoting. 26117d15b25SDag-Erling Smørgravm4_defun([_LT_PREPARE_SED_QUOTE_VARS], 26217d15b25SDag-Erling Smørgrav[# Backslashify metacharacters that are still active within 26317d15b25SDag-Erling Smørgrav# double-quoted strings. 26417d15b25SDag-Erling Smørgravsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 26517d15b25SDag-Erling Smørgrav 26617d15b25SDag-Erling Smørgrav# Same as above, but do not quote variable references. 26717d15b25SDag-Erling Smørgravdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 26817d15b25SDag-Erling Smørgrav 26917d15b25SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped shell variable in a 27017d15b25SDag-Erling Smørgrav# double_quote_subst'ed string. 27117d15b25SDag-Erling Smørgravdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 27217d15b25SDag-Erling Smørgrav 27317d15b25SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped single quote. 27417d15b25SDag-Erling Smørgravdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 27517d15b25SDag-Erling Smørgrav 27617d15b25SDag-Erling Smørgrav# Sed substitution to avoid accidental globbing in evaled expressions 27717d15b25SDag-Erling Smørgravno_glob_subst='s/\*/\\\*/g' 27817d15b25SDag-Erling Smørgrav]) 27917d15b25SDag-Erling Smørgrav 28017d15b25SDag-Erling Smørgrav# _LT_PROG_LTMAIN 28117d15b25SDag-Erling Smørgrav# --------------- 282986ba33cSDag-Erling Smørgrav# Note that this code is called both from 'configure', and 'config.status' 28317d15b25SDag-Erling Smørgrav# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 284986ba33cSDag-Erling Smørgrav# 'config.status' has no value for ac_aux_dir unless we are using Automake, 28517d15b25SDag-Erling Smørgrav# so we pass a copy along to make sure it has a sensible value anyway. 28617d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_LTMAIN], 28717d15b25SDag-Erling Smørgrav[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 28817d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 289986ba33cSDag-Erling Smørgravltmain=$ac_aux_dir/ltmain.sh 29017d15b25SDag-Erling Smørgrav])# _LT_PROG_LTMAIN 29117d15b25SDag-Erling Smørgrav 29217d15b25SDag-Erling Smørgrav 29317d15b25SDag-Erling Smørgrav## ------------------------------------- ## 29417d15b25SDag-Erling Smørgrav## Accumulate code for creating libtool. ## 29517d15b25SDag-Erling Smørgrav## ------------------------------------- ## 29617d15b25SDag-Erling Smørgrav 29717d15b25SDag-Erling Smørgrav# So that we can recreate a full libtool script including additional 29817d15b25SDag-Erling Smørgrav# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 299986ba33cSDag-Erling Smørgrav# in macros and then make a single call at the end using the 'libtool' 30017d15b25SDag-Erling Smørgrav# label. 30117d15b25SDag-Erling Smørgrav 30217d15b25SDag-Erling Smørgrav 30317d15b25SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 30417d15b25SDag-Erling Smørgrav# ---------------------------------------- 30517d15b25SDag-Erling Smørgrav# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 30617d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL_INIT], 30717d15b25SDag-Erling Smørgrav[m4_ifval([$1], 30817d15b25SDag-Erling Smørgrav [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 30917d15b25SDag-Erling Smørgrav [$1 31017d15b25SDag-Erling Smørgrav])])]) 31117d15b25SDag-Erling Smørgrav 31217d15b25SDag-Erling Smørgrav# Initialize. 31317d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 31417d15b25SDag-Erling Smørgrav 31517d15b25SDag-Erling Smørgrav 31617d15b25SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL([COMMANDS]) 31717d15b25SDag-Erling Smørgrav# ------------------------------ 31817d15b25SDag-Erling Smørgrav# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 31917d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL], 32017d15b25SDag-Erling Smørgrav[m4_ifval([$1], 32117d15b25SDag-Erling Smørgrav [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 32217d15b25SDag-Erling Smørgrav [$1 32317d15b25SDag-Erling Smørgrav])])]) 32417d15b25SDag-Erling Smørgrav 32517d15b25SDag-Erling Smørgrav# Initialize. 32617d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 32717d15b25SDag-Erling Smørgrav 32817d15b25SDag-Erling Smørgrav 32917d15b25SDag-Erling Smørgrav# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 33017d15b25SDag-Erling Smørgrav# ----------------------------------------------------- 33117d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_SAVE_COMMANDS], 33217d15b25SDag-Erling Smørgrav[_LT_CONFIG_LIBTOOL([$1]) 33317d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([$2]) 33417d15b25SDag-Erling Smørgrav]) 33517d15b25SDag-Erling Smørgrav 33617d15b25SDag-Erling Smørgrav 33717d15b25SDag-Erling Smørgrav# _LT_FORMAT_COMMENT([COMMENT]) 33817d15b25SDag-Erling Smørgrav# ----------------------------- 33917d15b25SDag-Erling Smørgrav# Add leading comment marks to the start of each line, and a trailing 34017d15b25SDag-Erling Smørgrav# full-stop to the whole comment if one is not present already. 34117d15b25SDag-Erling Smørgravm4_define([_LT_FORMAT_COMMENT], 34217d15b25SDag-Erling Smørgrav[m4_ifval([$1], [ 34317d15b25SDag-Erling Smørgravm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 34417d15b25SDag-Erling Smørgrav [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 34517d15b25SDag-Erling Smørgrav)]) 34617d15b25SDag-Erling Smørgrav 34717d15b25SDag-Erling Smørgrav 34817d15b25SDag-Erling Smørgrav 34917d15b25SDag-Erling Smørgrav## ------------------------ ## 35017d15b25SDag-Erling Smørgrav## FIXME: Eliminate VARNAME ## 35117d15b25SDag-Erling Smørgrav## ------------------------ ## 35217d15b25SDag-Erling Smørgrav 35317d15b25SDag-Erling Smørgrav 35417d15b25SDag-Erling Smørgrav# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 35517d15b25SDag-Erling Smørgrav# ------------------------------------------------------------------- 35617d15b25SDag-Erling Smørgrav# CONFIGNAME is the name given to the value in the libtool script. 35717d15b25SDag-Erling Smørgrav# VARNAME is the (base) name used in the configure script. 35817d15b25SDag-Erling Smørgrav# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 35917d15b25SDag-Erling Smørgrav# VARNAME. Any other value will be used directly. 36017d15b25SDag-Erling Smørgravm4_define([_LT_DECL], 36117d15b25SDag-Erling Smørgrav[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 36217d15b25SDag-Erling Smørgrav [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 36317d15b25SDag-Erling Smørgrav [m4_ifval([$1], [$1], [$2])]) 36417d15b25SDag-Erling Smørgrav lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 36517d15b25SDag-Erling Smørgrav m4_ifval([$4], 36617d15b25SDag-Erling Smørgrav [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 36717d15b25SDag-Erling Smørgrav lt_dict_add_subkey([lt_decl_dict], [$2], 36817d15b25SDag-Erling Smørgrav [tagged?], [m4_ifval([$5], [yes], [no])])]) 36917d15b25SDag-Erling Smørgrav]) 37017d15b25SDag-Erling Smørgrav 37117d15b25SDag-Erling Smørgrav 37217d15b25SDag-Erling Smørgrav# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 37317d15b25SDag-Erling Smørgrav# -------------------------------------------------------- 37417d15b25SDag-Erling Smørgravm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 37517d15b25SDag-Erling Smørgrav 37617d15b25SDag-Erling Smørgrav 37717d15b25SDag-Erling Smørgrav# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 37817d15b25SDag-Erling Smørgrav# ------------------------------------------------ 37917d15b25SDag-Erling Smørgravm4_define([lt_decl_tag_varnames], 38017d15b25SDag-Erling Smørgrav[_lt_decl_filter([tagged?], [yes], $@)]) 38117d15b25SDag-Erling Smørgrav 38217d15b25SDag-Erling Smørgrav 38317d15b25SDag-Erling Smørgrav# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 38417d15b25SDag-Erling Smørgrav# --------------------------------------------------------- 38517d15b25SDag-Erling Smørgravm4_define([_lt_decl_filter], 38617d15b25SDag-Erling Smørgrav[m4_case([$#], 38717d15b25SDag-Erling Smørgrav [0], [m4_fatal([$0: too few arguments: $#])], 38817d15b25SDag-Erling Smørgrav [1], [m4_fatal([$0: too few arguments: $#: $1])], 38917d15b25SDag-Erling Smørgrav [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 39017d15b25SDag-Erling Smørgrav [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 39117d15b25SDag-Erling Smørgrav [lt_dict_filter([lt_decl_dict], $@)])[]dnl 39217d15b25SDag-Erling Smørgrav]) 39317d15b25SDag-Erling Smørgrav 39417d15b25SDag-Erling Smørgrav 39517d15b25SDag-Erling Smørgrav# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 39617d15b25SDag-Erling Smørgrav# -------------------------------------------------- 39717d15b25SDag-Erling Smørgravm4_define([lt_decl_quote_varnames], 39817d15b25SDag-Erling Smørgrav[_lt_decl_filter([value], [1], $@)]) 39917d15b25SDag-Erling Smørgrav 40017d15b25SDag-Erling Smørgrav 40117d15b25SDag-Erling Smørgrav# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 40217d15b25SDag-Erling Smørgrav# --------------------------------------------------- 40317d15b25SDag-Erling Smørgravm4_define([lt_decl_dquote_varnames], 40417d15b25SDag-Erling Smørgrav[_lt_decl_filter([value], [2], $@)]) 40517d15b25SDag-Erling Smørgrav 40617d15b25SDag-Erling Smørgrav 40717d15b25SDag-Erling Smørgrav# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 40817d15b25SDag-Erling Smørgrav# --------------------------------------------------- 40917d15b25SDag-Erling Smørgravm4_define([lt_decl_varnames_tagged], 41017d15b25SDag-Erling Smørgrav[m4_assert([$# <= 2])dnl 41117d15b25SDag-Erling Smørgrav_$0(m4_quote(m4_default([$1], [[, ]])), 41217d15b25SDag-Erling Smørgrav m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 41317d15b25SDag-Erling Smørgrav m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 41417d15b25SDag-Erling Smørgravm4_define([_lt_decl_varnames_tagged], 41517d15b25SDag-Erling Smørgrav[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 41617d15b25SDag-Erling Smørgrav 41717d15b25SDag-Erling Smørgrav 41817d15b25SDag-Erling Smørgrav# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 41917d15b25SDag-Erling Smørgrav# ------------------------------------------------ 42017d15b25SDag-Erling Smørgravm4_define([lt_decl_all_varnames], 42117d15b25SDag-Erling Smørgrav[_$0(m4_quote(m4_default([$1], [[, ]])), 42217d15b25SDag-Erling Smørgrav m4_if([$2], [], 42317d15b25SDag-Erling Smørgrav m4_quote(lt_decl_varnames), 42417d15b25SDag-Erling Smørgrav m4_quote(m4_shift($@))))[]dnl 42517d15b25SDag-Erling Smørgrav]) 42617d15b25SDag-Erling Smørgravm4_define([_lt_decl_all_varnames], 42717d15b25SDag-Erling Smørgrav[lt_join($@, lt_decl_varnames_tagged([$1], 42817d15b25SDag-Erling Smørgrav lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 42917d15b25SDag-Erling Smørgrav]) 43017d15b25SDag-Erling Smørgrav 43117d15b25SDag-Erling Smørgrav 43217d15b25SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 43317d15b25SDag-Erling Smørgrav# ------------------------------------ 434986ba33cSDag-Erling Smørgrav# Quote a variable value, and forward it to 'config.status' so that its 435986ba33cSDag-Erling Smørgrav# declaration there will have the same value as in 'configure'. VARNAME 43617d15b25SDag-Erling Smørgrav# must have a single quote delimited value for this to work. 43717d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_STATUS_DECLARE], 43817d15b25SDag-Erling Smørgrav[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 43917d15b25SDag-Erling Smørgrav 44017d15b25SDag-Erling Smørgrav 44117d15b25SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARATIONS 44217d15b25SDag-Erling Smørgrav# ------------------------------ 44317d15b25SDag-Erling Smørgrav# We delimit libtool config variables with single quotes, so when 44417d15b25SDag-Erling Smørgrav# we write them to config.status, we have to be sure to quote all 44517d15b25SDag-Erling Smørgrav# embedded single quotes properly. In configure, this macro expands 44617d15b25SDag-Erling Smørgrav# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 44717d15b25SDag-Erling Smørgrav# 44817d15b25SDag-Erling Smørgrav# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 44917d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 45017d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 45117d15b25SDag-Erling Smørgrav [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 45217d15b25SDag-Erling Smørgrav 45317d15b25SDag-Erling Smørgrav 45417d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_TAGS 45517d15b25SDag-Erling Smørgrav# ---------------- 45617d15b25SDag-Erling Smørgrav# Output comment and list of tags supported by the script 45717d15b25SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_TAGS], 45817d15b25SDag-Erling Smørgrav[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 459986ba33cSDag-Erling Smørgravavailable_tags='_LT_TAGS'dnl 46017d15b25SDag-Erling Smørgrav]) 46117d15b25SDag-Erling Smørgrav 46217d15b25SDag-Erling Smørgrav 46317d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 46417d15b25SDag-Erling Smørgrav# ----------------------------------- 46517d15b25SDag-Erling Smørgrav# Extract the dictionary values for VARNAME (optionally with TAG) and 46617d15b25SDag-Erling Smørgrav# expand to a commented shell variable setting: 46717d15b25SDag-Erling Smørgrav# 46817d15b25SDag-Erling Smørgrav# # Some comment about what VAR is for. 46917d15b25SDag-Erling Smørgrav# visible_name=$lt_internal_name 47017d15b25SDag-Erling Smørgravm4_define([_LT_LIBTOOL_DECLARE], 47117d15b25SDag-Erling Smørgrav[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 47217d15b25SDag-Erling Smørgrav [description])))[]dnl 47317d15b25SDag-Erling Smørgravm4_pushdef([_libtool_name], 47417d15b25SDag-Erling Smørgrav m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 47517d15b25SDag-Erling Smørgravm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 47617d15b25SDag-Erling Smørgrav [0], [_libtool_name=[$]$1], 47717d15b25SDag-Erling Smørgrav [1], [_libtool_name=$lt_[]$1], 47817d15b25SDag-Erling Smørgrav [2], [_libtool_name=$lt_[]$1], 47917d15b25SDag-Erling Smørgrav [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 48017d15b25SDag-Erling Smørgravm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 48117d15b25SDag-Erling Smørgrav]) 48217d15b25SDag-Erling Smørgrav 48317d15b25SDag-Erling Smørgrav 48417d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_CONFIG_VARS 48517d15b25SDag-Erling Smørgrav# ----------------------- 48617d15b25SDag-Erling Smørgrav# Produce commented declarations of non-tagged libtool config variables 487986ba33cSDag-Erling Smørgrav# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' 48817d15b25SDag-Erling Smørgrav# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 48917d15b25SDag-Erling Smørgrav# section) are produced by _LT_LIBTOOL_TAG_VARS. 49017d15b25SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_CONFIG_VARS], 49117d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var], 49217d15b25SDag-Erling Smørgrav m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 49317d15b25SDag-Erling Smørgrav [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 49417d15b25SDag-Erling Smørgrav 49517d15b25SDag-Erling Smørgrav 49617d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_TAG_VARS(TAG) 49717d15b25SDag-Erling Smørgrav# ------------------------- 49817d15b25SDag-Erling Smørgravm4_define([_LT_LIBTOOL_TAG_VARS], 49917d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 50017d15b25SDag-Erling Smørgrav [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 50117d15b25SDag-Erling Smørgrav 50217d15b25SDag-Erling Smørgrav 50317d15b25SDag-Erling Smørgrav# _LT_TAGVAR(VARNAME, [TAGNAME]) 50417d15b25SDag-Erling Smørgrav# ------------------------------ 50517d15b25SDag-Erling Smørgravm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 50617d15b25SDag-Erling Smørgrav 50717d15b25SDag-Erling Smørgrav 50817d15b25SDag-Erling Smørgrav# _LT_CONFIG_COMMANDS 50917d15b25SDag-Erling Smørgrav# ------------------- 51017d15b25SDag-Erling Smørgrav# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 51117d15b25SDag-Erling Smørgrav# variables for single and double quote escaping we saved from calls 51217d15b25SDag-Erling Smørgrav# to _LT_DECL, we can put quote escaped variables declarations 513986ba33cSDag-Erling Smørgrav# into 'config.status', and then the shell code to quote escape them in 514986ba33cSDag-Erling Smørgrav# for loops in 'config.status'. Finally, any additional code accumulated 51517d15b25SDag-Erling Smørgrav# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 51617d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_COMMANDS], 51717d15b25SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([LT_OUTPUT], 51817d15b25SDag-Erling Smørgrav dnl If the libtool generation code has been placed in $CONFIG_LT, 51917d15b25SDag-Erling Smørgrav dnl instead of duplicating it all over again into config.status, 52017d15b25SDag-Erling Smørgrav dnl then we will have config.status run $CONFIG_LT later, so it 52117d15b25SDag-Erling Smørgrav dnl needs to know what name is stored there: 52217d15b25SDag-Erling Smørgrav [AC_CONFIG_COMMANDS([libtool], 52317d15b25SDag-Erling Smørgrav [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 52417d15b25SDag-Erling Smørgrav dnl If the libtool generation code is destined for config.status, 52517d15b25SDag-Erling Smørgrav dnl expand the accumulated commands and init code now: 52617d15b25SDag-Erling Smørgrav [AC_CONFIG_COMMANDS([libtool], 52717d15b25SDag-Erling Smørgrav [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 52817d15b25SDag-Erling Smørgrav])#_LT_CONFIG_COMMANDS 52917d15b25SDag-Erling Smørgrav 53017d15b25SDag-Erling Smørgrav 53117d15b25SDag-Erling Smørgrav# Initialize. 53217d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 53317d15b25SDag-Erling Smørgrav[ 53417d15b25SDag-Erling Smørgrav 53517d15b25SDag-Erling Smørgrav# The HP-UX ksh and POSIX shell print the target directory to stdout 53617d15b25SDag-Erling Smørgrav# if CDPATH is set. 53717d15b25SDag-Erling Smørgrav(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 53817d15b25SDag-Erling Smørgrav 53917d15b25SDag-Erling Smørgravsed_quote_subst='$sed_quote_subst' 54017d15b25SDag-Erling Smørgravdouble_quote_subst='$double_quote_subst' 54117d15b25SDag-Erling Smørgravdelay_variable_subst='$delay_variable_subst' 54217d15b25SDag-Erling Smørgrav_LT_CONFIG_STATUS_DECLARATIONS 54317d15b25SDag-Erling SmørgravLTCC='$LTCC' 54417d15b25SDag-Erling SmørgravLTCFLAGS='$LTCFLAGS' 54517d15b25SDag-Erling Smørgravcompiler='$compiler_DEFAULT' 54617d15b25SDag-Erling Smørgrav 54717d15b25SDag-Erling Smørgrav# A function that is used when there is no print builtin or printf. 54817d15b25SDag-Erling Smørgravfunc_fallback_echo () 54917d15b25SDag-Erling Smørgrav{ 55017d15b25SDag-Erling Smørgrav eval 'cat <<_LTECHO_EOF 55117d15b25SDag-Erling Smørgrav\$[]1 55217d15b25SDag-Erling Smørgrav_LTECHO_EOF' 55317d15b25SDag-Erling Smørgrav} 55417d15b25SDag-Erling Smørgrav 55517d15b25SDag-Erling Smørgrav# Quote evaled strings. 55617d15b25SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \ 55717d15b25SDag-Erling Smørgrav]], lt_decl_quote_varnames); do 55817d15b25SDag-Erling Smørgrav case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 55917d15b25SDag-Erling Smørgrav *[[\\\\\\\`\\"\\\$]]*) 560986ba33cSDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 56117d15b25SDag-Erling Smørgrav ;; 56217d15b25SDag-Erling Smørgrav *) 56317d15b25SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 56417d15b25SDag-Erling Smørgrav ;; 56517d15b25SDag-Erling Smørgrav esac 56617d15b25SDag-Erling Smørgravdone 56717d15b25SDag-Erling Smørgrav 56817d15b25SDag-Erling Smørgrav# Double-quote double-evaled strings. 56917d15b25SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \ 57017d15b25SDag-Erling Smørgrav]], lt_decl_dquote_varnames); do 57117d15b25SDag-Erling Smørgrav case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 57217d15b25SDag-Erling Smørgrav *[[\\\\\\\`\\"\\\$]]*) 573986ba33cSDag-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 57417d15b25SDag-Erling Smørgrav ;; 57517d15b25SDag-Erling Smørgrav *) 57617d15b25SDag-Erling Smørgrav eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 57717d15b25SDag-Erling Smørgrav ;; 57817d15b25SDag-Erling Smørgrav esac 57917d15b25SDag-Erling Smørgravdone 58017d15b25SDag-Erling Smørgrav 58117d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_INIT 58217d15b25SDag-Erling Smørgrav]) 58317d15b25SDag-Erling Smørgrav 58417d15b25SDag-Erling Smørgrav# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 58517d15b25SDag-Erling Smørgrav# ------------------------------------ 58617d15b25SDag-Erling Smørgrav# Generate a child script FILE with all initialization necessary to 58717d15b25SDag-Erling Smørgrav# reuse the environment learned by the parent script, and make the 58817d15b25SDag-Erling Smørgrav# file executable. If COMMENT is supplied, it is inserted after the 589986ba33cSDag-Erling Smørgrav# '#!' sequence but before initialization text begins. After this 59017d15b25SDag-Erling Smørgrav# macro, additional text can be appended to FILE to form the body of 59117d15b25SDag-Erling Smørgrav# the child script. The macro ends with non-zero status if the 59217d15b25SDag-Erling Smørgrav# file could not be fully written (such as if the disk is full). 59317d15b25SDag-Erling Smørgravm4_ifdef([AS_INIT_GENERATED], 59417d15b25SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 59517d15b25SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT], 59617d15b25SDag-Erling Smørgrav[m4_require([AS_PREPARE])]dnl 59717d15b25SDag-Erling Smørgrav[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 59817d15b25SDag-Erling Smørgrav[lt_write_fail=0 59917d15b25SDag-Erling Smørgravcat >$1 <<_ASEOF || lt_write_fail=1 60017d15b25SDag-Erling Smørgrav#! $SHELL 60117d15b25SDag-Erling Smørgrav# Generated by $as_me. 60217d15b25SDag-Erling Smørgrav$2 60317d15b25SDag-Erling SmørgravSHELL=\${CONFIG_SHELL-$SHELL} 60417d15b25SDag-Erling Smørgravexport SHELL 60517d15b25SDag-Erling Smørgrav_ASEOF 60617d15b25SDag-Erling Smørgravcat >>$1 <<\_ASEOF || lt_write_fail=1 60717d15b25SDag-Erling SmørgravAS_SHELL_SANITIZE 60817d15b25SDag-Erling Smørgrav_AS_PREPARE 60917d15b25SDag-Erling Smørgravexec AS_MESSAGE_FD>&1 61017d15b25SDag-Erling Smørgrav_ASEOF 611986ba33cSDag-Erling Smørgravtest 0 = "$lt_write_fail" && chmod +x $1[]dnl 61217d15b25SDag-Erling Smørgravm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 61317d15b25SDag-Erling Smørgrav 61417d15b25SDag-Erling Smørgrav# LT_OUTPUT 61517d15b25SDag-Erling Smørgrav# --------- 61617d15b25SDag-Erling Smørgrav# This macro allows early generation of the libtool script (before 61717d15b25SDag-Erling Smørgrav# AC_OUTPUT is called), incase it is used in configure for compilation 61817d15b25SDag-Erling Smørgrav# tests. 61917d15b25SDag-Erling SmørgravAC_DEFUN([LT_OUTPUT], 62017d15b25SDag-Erling Smørgrav[: ${CONFIG_LT=./config.lt} 62117d15b25SDag-Erling SmørgravAC_MSG_NOTICE([creating $CONFIG_LT]) 62217d15b25SDag-Erling Smørgrav_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 62317d15b25SDag-Erling Smørgrav[# Run this file to recreate a libtool stub with the current configuration.]) 62417d15b25SDag-Erling Smørgrav 62517d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF 62617d15b25SDag-Erling Smørgravlt_cl_silent=false 62717d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log 62817d15b25SDag-Erling Smørgrav{ 62917d15b25SDag-Erling Smørgrav echo 63017d15b25SDag-Erling Smørgrav AS_BOX([Running $as_me.]) 63117d15b25SDag-Erling Smørgrav} >&AS_MESSAGE_LOG_FD 63217d15b25SDag-Erling Smørgrav 63317d15b25SDag-Erling Smørgravlt_cl_help="\ 634986ba33cSDag-Erling Smørgrav'$as_me' creates a local libtool stub from the current configuration, 63517d15b25SDag-Erling Smørgravfor use in further configure time tests before the real libtool is 63617d15b25SDag-Erling Smørgravgenerated. 63717d15b25SDag-Erling Smørgrav 63817d15b25SDag-Erling SmørgravUsage: $[0] [[OPTIONS]] 63917d15b25SDag-Erling Smørgrav 64017d15b25SDag-Erling Smørgrav -h, --help print this help, then exit 64117d15b25SDag-Erling Smørgrav -V, --version print version number, then exit 64217d15b25SDag-Erling Smørgrav -q, --quiet do not print progress messages 64317d15b25SDag-Erling Smørgrav -d, --debug don't remove temporary files 64417d15b25SDag-Erling Smørgrav 64517d15b25SDag-Erling SmørgravReport bugs to <bug-libtool@gnu.org>." 64617d15b25SDag-Erling Smørgrav 64717d15b25SDag-Erling Smørgravlt_cl_version="\ 64817d15b25SDag-Erling Smørgravm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 64917d15b25SDag-Erling Smørgravm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 65017d15b25SDag-Erling Smørgravconfigured by $[0], generated by m4_PACKAGE_STRING. 65117d15b25SDag-Erling Smørgrav 65217d15b25SDag-Erling SmørgravCopyright (C) 2011 Free Software Foundation, Inc. 65317d15b25SDag-Erling SmørgravThis config.lt script is free software; the Free Software Foundation 65417d15b25SDag-Erling Smørgravgives unlimited permision to copy, distribute and modify it." 65517d15b25SDag-Erling Smørgrav 656986ba33cSDag-Erling Smørgravwhile test 0 != $[#] 65717d15b25SDag-Erling Smørgravdo 65817d15b25SDag-Erling Smørgrav case $[1] in 65917d15b25SDag-Erling Smørgrav --version | --v* | -V ) 66017d15b25SDag-Erling Smørgrav echo "$lt_cl_version"; exit 0 ;; 66117d15b25SDag-Erling Smørgrav --help | --h* | -h ) 66217d15b25SDag-Erling Smørgrav echo "$lt_cl_help"; exit 0 ;; 66317d15b25SDag-Erling Smørgrav --debug | --d* | -d ) 66417d15b25SDag-Erling Smørgrav debug=: ;; 66517d15b25SDag-Erling Smørgrav --quiet | --q* | --silent | --s* | -q ) 66617d15b25SDag-Erling Smørgrav lt_cl_silent=: ;; 66717d15b25SDag-Erling Smørgrav 66817d15b25SDag-Erling Smørgrav -*) AC_MSG_ERROR([unrecognized option: $[1] 669986ba33cSDag-Erling SmørgravTry '$[0] --help' for more information.]) ;; 67017d15b25SDag-Erling Smørgrav 67117d15b25SDag-Erling Smørgrav *) AC_MSG_ERROR([unrecognized argument: $[1] 672986ba33cSDag-Erling SmørgravTry '$[0] --help' for more information.]) ;; 67317d15b25SDag-Erling Smørgrav esac 67417d15b25SDag-Erling Smørgrav shift 67517d15b25SDag-Erling Smørgravdone 67617d15b25SDag-Erling Smørgrav 67717d15b25SDag-Erling Smørgravif $lt_cl_silent; then 67817d15b25SDag-Erling Smørgrav exec AS_MESSAGE_FD>/dev/null 67917d15b25SDag-Erling Smørgravfi 68017d15b25SDag-Erling Smørgrav_LTEOF 68117d15b25SDag-Erling Smørgrav 68217d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<_LTEOF 68317d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 68417d15b25SDag-Erling Smørgrav_LTEOF 68517d15b25SDag-Erling Smørgrav 68617d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF 68717d15b25SDag-Erling SmørgravAC_MSG_NOTICE([creating $ofile]) 68817d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS 68917d15b25SDag-Erling SmørgravAS_EXIT(0) 69017d15b25SDag-Erling Smørgrav_LTEOF 69117d15b25SDag-Erling Smørgravchmod +x "$CONFIG_LT" 69217d15b25SDag-Erling Smørgrav 69317d15b25SDag-Erling Smørgrav# configure is writing to config.log, but config.lt does its own redirection, 69417d15b25SDag-Erling Smørgrav# appending to config.log, which fails on DOS, as config.log is still kept 69517d15b25SDag-Erling Smørgrav# open by configure. Here we exec the FD to /dev/null, effectively closing 69617d15b25SDag-Erling Smørgrav# config.log, so it can be properly (re)opened and appended to by config.lt. 69717d15b25SDag-Erling Smørgravlt_cl_success=: 698986ba33cSDag-Erling Smørgravtest yes = "$silent" && 69917d15b25SDag-Erling Smørgrav lt_config_lt_args="$lt_config_lt_args --quiet" 70017d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>/dev/null 70117d15b25SDag-Erling Smørgrav$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 70217d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log 70317d15b25SDag-Erling Smørgrav$lt_cl_success || AS_EXIT(1) 70417d15b25SDag-Erling Smørgrav])# LT_OUTPUT 70517d15b25SDag-Erling Smørgrav 70617d15b25SDag-Erling Smørgrav 70717d15b25SDag-Erling Smørgrav# _LT_CONFIG(TAG) 70817d15b25SDag-Erling Smørgrav# --------------- 70917d15b25SDag-Erling Smørgrav# If TAG is the built-in tag, create an initial libtool script with a 71017d15b25SDag-Erling Smørgrav# default configuration from the untagged config vars. Otherwise add code 71117d15b25SDag-Erling Smørgrav# to config.status for appending the configuration named by TAG from the 71217d15b25SDag-Erling Smørgrav# matching tagged config vars. 71317d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG], 71417d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 71517d15b25SDag-Erling Smørgrav_LT_CONFIG_SAVE_COMMANDS([ 71617d15b25SDag-Erling Smørgrav m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 71717d15b25SDag-Erling Smørgrav m4_if(_LT_TAG, [C], [ 718986ba33cSDag-Erling Smørgrav # See if we are running on zsh, and set the options that allow our 71917d15b25SDag-Erling Smørgrav # commands through without removal of \ escapes. 72017d15b25SDag-Erling Smørgrav if test -n "${ZSH_VERSION+set}"; then 72117d15b25SDag-Erling Smørgrav setopt NO_GLOB_SUBST 72217d15b25SDag-Erling Smørgrav fi 72317d15b25SDag-Erling Smørgrav 724986ba33cSDag-Erling Smørgrav cfgfile=${ofile}T 72517d15b25SDag-Erling Smørgrav trap "$RM \"$cfgfile\"; exit 1" 1 2 15 72617d15b25SDag-Erling Smørgrav $RM "$cfgfile" 72717d15b25SDag-Erling Smørgrav 72817d15b25SDag-Erling Smørgrav cat <<_LT_EOF >> "$cfgfile" 72917d15b25SDag-Erling Smørgrav#! $SHELL 730986ba33cSDag-Erling Smørgrav# Generated automatically by $as_me ($PACKAGE) $VERSION 73117d15b25SDag-Erling Smørgrav# NOTE: Changes made to this file will be lost: look at ltmain.sh. 732986ba33cSDag-Erling Smørgrav 733986ba33cSDag-Erling Smørgrav# Provide generalized library-building support services. 734986ba33cSDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996 735986ba33cSDag-Erling Smørgrav 73617d15b25SDag-Erling Smørgrav_LT_COPYING 73717d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAGS 73817d15b25SDag-Erling Smørgrav 739986ba33cSDag-Erling Smørgrav# Configured defaults for sys_lib_dlsearch_path munging. 740986ba33cSDag-Erling Smørgrav: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} 741986ba33cSDag-Erling Smørgrav 74217d15b25SDag-Erling Smørgrav# ### BEGIN LIBTOOL CONFIG 74317d15b25SDag-Erling Smørgrav_LT_LIBTOOL_CONFIG_VARS 74417d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS 74517d15b25SDag-Erling Smørgrav# ### END LIBTOOL CONFIG 74617d15b25SDag-Erling Smørgrav 74717d15b25SDag-Erling Smørgrav_LT_EOF 74817d15b25SDag-Erling Smørgrav 749986ba33cSDag-Erling Smørgrav cat <<'_LT_EOF' >> "$cfgfile" 750986ba33cSDag-Erling Smørgrav 751986ba33cSDag-Erling Smørgrav# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 752986ba33cSDag-Erling Smørgrav 753986ba33cSDag-Erling Smørgrav_LT_PREPARE_MUNGE_PATH_LIST 754986ba33cSDag-Erling Smørgrav_LT_PREPARE_CC_BASENAME 755986ba33cSDag-Erling Smørgrav 756986ba33cSDag-Erling Smørgrav# ### END FUNCTIONS SHARED WITH CONFIGURE 757986ba33cSDag-Erling Smørgrav 758986ba33cSDag-Erling Smørgrav_LT_EOF 759986ba33cSDag-Erling Smørgrav 76017d15b25SDag-Erling Smørgrav case $host_os in 76117d15b25SDag-Erling Smørgrav aix3*) 76217d15b25SDag-Erling Smørgrav cat <<\_LT_EOF >> "$cfgfile" 76317d15b25SDag-Erling Smørgrav# AIX sometimes has problems with the GCC collect2 program. For some 76417d15b25SDag-Erling Smørgrav# reason, if we set the COLLECT_NAMES environment variable, the problems 76517d15b25SDag-Erling Smørgrav# vanish in a puff of smoke. 766986ba33cSDag-Erling Smørgravif test set != "${COLLECT_NAMES+set}"; then 76717d15b25SDag-Erling Smørgrav COLLECT_NAMES= 76817d15b25SDag-Erling Smørgrav export COLLECT_NAMES 76917d15b25SDag-Erling Smørgravfi 77017d15b25SDag-Erling Smørgrav_LT_EOF 77117d15b25SDag-Erling Smørgrav ;; 77217d15b25SDag-Erling Smørgrav esac 77317d15b25SDag-Erling Smørgrav 77417d15b25SDag-Erling Smørgrav _LT_PROG_LTMAIN 77517d15b25SDag-Erling Smørgrav 77617d15b25SDag-Erling Smørgrav # We use sed instead of cat because bash on DJGPP gets confused if 77717d15b25SDag-Erling Smørgrav # if finds mixed CR/LF and LF-only lines. Since sed operates in 77817d15b25SDag-Erling Smørgrav # text mode, it properly converts lines to CR/LF. This bash problem 77917d15b25SDag-Erling Smørgrav # is reportedly fixed, but why not run on old versions too? 78017d15b25SDag-Erling Smørgrav sed '$q' "$ltmain" >> "$cfgfile" \ 78117d15b25SDag-Erling Smørgrav || (rm -f "$cfgfile"; exit 1) 78217d15b25SDag-Erling Smørgrav 78317d15b25SDag-Erling Smørgrav mv -f "$cfgfile" "$ofile" || 78417d15b25SDag-Erling Smørgrav (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 78517d15b25SDag-Erling Smørgrav chmod +x "$ofile" 78617d15b25SDag-Erling Smørgrav], 78717d15b25SDag-Erling Smørgrav[cat <<_LT_EOF >> "$ofile" 78817d15b25SDag-Erling Smørgrav 78917d15b25SDag-Erling Smørgravdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 79017d15b25SDag-Erling Smørgravdnl in a comment (ie after a #). 79117d15b25SDag-Erling Smørgrav# ### BEGIN LIBTOOL TAG CONFIG: $1 79217d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS(_LT_TAG) 79317d15b25SDag-Erling Smørgrav# ### END LIBTOOL TAG CONFIG: $1 79417d15b25SDag-Erling Smørgrav_LT_EOF 79517d15b25SDag-Erling Smørgrav])dnl /m4_if 79617d15b25SDag-Erling Smørgrav], 79717d15b25SDag-Erling Smørgrav[m4_if([$1], [], [ 79817d15b25SDag-Erling Smørgrav PACKAGE='$PACKAGE' 79917d15b25SDag-Erling Smørgrav VERSION='$VERSION' 80017d15b25SDag-Erling Smørgrav RM='$RM' 80117d15b25SDag-Erling Smørgrav ofile='$ofile'], []) 80217d15b25SDag-Erling Smørgrav])dnl /_LT_CONFIG_SAVE_COMMANDS 80317d15b25SDag-Erling Smørgrav])# _LT_CONFIG 80417d15b25SDag-Erling Smørgrav 80517d15b25SDag-Erling Smørgrav 80617d15b25SDag-Erling Smørgrav# LT_SUPPORTED_TAG(TAG) 80717d15b25SDag-Erling Smørgrav# --------------------- 80817d15b25SDag-Erling Smørgrav# Trace this macro to discover what tags are supported by the libtool 80917d15b25SDag-Erling Smørgrav# --tag option, using: 81017d15b25SDag-Erling Smørgrav# autoconf --trace 'LT_SUPPORTED_TAG:$1' 81117d15b25SDag-Erling SmørgravAC_DEFUN([LT_SUPPORTED_TAG], []) 81217d15b25SDag-Erling Smørgrav 81317d15b25SDag-Erling Smørgrav 81417d15b25SDag-Erling Smørgrav# C support is built-in for now 81517d15b25SDag-Erling Smørgravm4_define([_LT_LANG_C_enabled], []) 81617d15b25SDag-Erling Smørgravm4_define([_LT_TAGS], []) 81717d15b25SDag-Erling Smørgrav 81817d15b25SDag-Erling Smørgrav 81917d15b25SDag-Erling Smørgrav# LT_LANG(LANG) 82017d15b25SDag-Erling Smørgrav# ------------- 82117d15b25SDag-Erling Smørgrav# Enable libtool support for the given language if not already enabled. 82217d15b25SDag-Erling SmørgravAC_DEFUN([LT_LANG], 82317d15b25SDag-Erling Smørgrav[AC_BEFORE([$0], [LT_OUTPUT])dnl 82417d15b25SDag-Erling Smørgravm4_case([$1], 82517d15b25SDag-Erling Smørgrav [C], [_LT_LANG(C)], 82617d15b25SDag-Erling Smørgrav [C++], [_LT_LANG(CXX)], 82717d15b25SDag-Erling Smørgrav [Go], [_LT_LANG(GO)], 82817d15b25SDag-Erling Smørgrav [Java], [_LT_LANG(GCJ)], 82917d15b25SDag-Erling Smørgrav [Fortran 77], [_LT_LANG(F77)], 83017d15b25SDag-Erling Smørgrav [Fortran], [_LT_LANG(FC)], 83117d15b25SDag-Erling Smørgrav [Windows Resource], [_LT_LANG(RC)], 83217d15b25SDag-Erling Smørgrav [m4_ifdef([_LT_LANG_]$1[_CONFIG], 83317d15b25SDag-Erling Smørgrav [_LT_LANG($1)], 83417d15b25SDag-Erling Smørgrav [m4_fatal([$0: unsupported language: "$1"])])])dnl 83517d15b25SDag-Erling Smørgrav])# LT_LANG 83617d15b25SDag-Erling Smørgrav 83717d15b25SDag-Erling Smørgrav 83817d15b25SDag-Erling Smørgrav# _LT_LANG(LANGNAME) 83917d15b25SDag-Erling Smørgrav# ------------------ 84017d15b25SDag-Erling Smørgravm4_defun([_LT_LANG], 84117d15b25SDag-Erling Smørgrav[m4_ifdef([_LT_LANG_]$1[_enabled], [], 84217d15b25SDag-Erling Smørgrav [LT_SUPPORTED_TAG([$1])dnl 84317d15b25SDag-Erling Smørgrav m4_append([_LT_TAGS], [$1 ])dnl 84417d15b25SDag-Erling Smørgrav m4_define([_LT_LANG_]$1[_enabled], [])dnl 84517d15b25SDag-Erling Smørgrav _LT_LANG_$1_CONFIG($1)])dnl 84617d15b25SDag-Erling Smørgrav])# _LT_LANG 84717d15b25SDag-Erling Smørgrav 84817d15b25SDag-Erling Smørgrav 84917d15b25SDag-Erling Smørgravm4_ifndef([AC_PROG_GO], [ 85017d15b25SDag-Erling Smørgrav############################################################ 85117d15b25SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into # 85217d15b25SDag-Erling Smørgrav# GNU Autoconf as AC_PROG_GO. When it is available in # 85317d15b25SDag-Erling Smørgrav# a released version of Autoconf we should remove this # 85417d15b25SDag-Erling Smørgrav# macro and use it instead. # 85517d15b25SDag-Erling Smørgrav############################################################ 85617d15b25SDag-Erling Smørgravm4_defun([AC_PROG_GO], 85717d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Go)dnl 85817d15b25SDag-Erling SmørgravAC_ARG_VAR([GOC], [Go compiler command])dnl 85917d15b25SDag-Erling SmørgravAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 86017d15b25SDag-Erling Smørgrav_AC_ARG_VAR_LDFLAGS()dnl 86117d15b25SDag-Erling SmørgravAC_CHECK_TOOL(GOC, gccgo) 86217d15b25SDag-Erling Smørgravif test -z "$GOC"; then 86317d15b25SDag-Erling Smørgrav if test -n "$ac_tool_prefix"; then 86417d15b25SDag-Erling Smørgrav AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 86517d15b25SDag-Erling Smørgrav fi 86617d15b25SDag-Erling Smørgravfi 86717d15b25SDag-Erling Smørgravif test -z "$GOC"; then 86817d15b25SDag-Erling Smørgrav AC_CHECK_PROG(GOC, gccgo, gccgo, false) 86917d15b25SDag-Erling Smørgravfi 87017d15b25SDag-Erling Smørgrav])#m4_defun 87117d15b25SDag-Erling Smørgrav])#m4_ifndef 87217d15b25SDag-Erling Smørgrav 87317d15b25SDag-Erling Smørgrav 87417d15b25SDag-Erling Smørgrav# _LT_LANG_DEFAULT_CONFIG 87517d15b25SDag-Erling Smørgrav# ----------------------- 87617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_DEFAULT_CONFIG], 87717d15b25SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([AC_PROG_CXX], 87817d15b25SDag-Erling Smørgrav [LT_LANG(CXX)], 87917d15b25SDag-Erling Smørgrav [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 88017d15b25SDag-Erling Smørgrav 88117d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_F77], 88217d15b25SDag-Erling Smørgrav [LT_LANG(F77)], 88317d15b25SDag-Erling Smørgrav [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 88417d15b25SDag-Erling Smørgrav 88517d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_FC], 88617d15b25SDag-Erling Smørgrav [LT_LANG(FC)], 88717d15b25SDag-Erling Smørgrav [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 88817d15b25SDag-Erling Smørgrav 88917d15b25SDag-Erling Smørgravdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 89017d15b25SDag-Erling Smørgravdnl pulling things in needlessly. 89117d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GCJ], 89217d15b25SDag-Erling Smørgrav [LT_LANG(GCJ)], 89317d15b25SDag-Erling Smørgrav [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 89417d15b25SDag-Erling Smørgrav [LT_LANG(GCJ)], 89517d15b25SDag-Erling Smørgrav [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 89617d15b25SDag-Erling Smørgrav [LT_LANG(GCJ)], 89717d15b25SDag-Erling Smørgrav [m4_ifdef([AC_PROG_GCJ], 89817d15b25SDag-Erling Smørgrav [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 89917d15b25SDag-Erling Smørgrav m4_ifdef([A][M_PROG_GCJ], 90017d15b25SDag-Erling Smørgrav [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 90117d15b25SDag-Erling Smørgrav m4_ifdef([LT_PROG_GCJ], 90217d15b25SDag-Erling Smørgrav [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 90317d15b25SDag-Erling Smørgrav 90417d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GO], 90517d15b25SDag-Erling Smørgrav [LT_LANG(GO)], 90617d15b25SDag-Erling Smørgrav [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 90717d15b25SDag-Erling Smørgrav 90817d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([LT_PROG_RC], 90917d15b25SDag-Erling Smørgrav [LT_LANG(RC)], 91017d15b25SDag-Erling Smørgrav [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 91117d15b25SDag-Erling Smørgrav])# _LT_LANG_DEFAULT_CONFIG 91217d15b25SDag-Erling Smørgrav 91317d15b25SDag-Erling Smørgrav# Obsolete macros: 91417d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 91517d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 91617d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 91717d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 91817d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 91917d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 92017d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 92117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_F77], []) 92217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_FC], []) 92317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 92417d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_RC], []) 92517d15b25SDag-Erling Smørgrav 92617d15b25SDag-Erling Smørgrav 92717d15b25SDag-Erling Smørgrav# _LT_TAG_COMPILER 92817d15b25SDag-Erling Smørgrav# ---------------- 92917d15b25SDag-Erling Smørgravm4_defun([_LT_TAG_COMPILER], 93017d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 93117d15b25SDag-Erling Smørgrav 93217d15b25SDag-Erling Smørgrav_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 93317d15b25SDag-Erling Smørgrav_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 93417d15b25SDag-Erling Smørgrav_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 93517d15b25SDag-Erling Smørgrav_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 93617d15b25SDag-Erling Smørgrav 93717d15b25SDag-Erling Smørgrav# If no C compiler was specified, use CC. 93817d15b25SDag-Erling SmørgravLTCC=${LTCC-"$CC"} 93917d15b25SDag-Erling Smørgrav 94017d15b25SDag-Erling Smørgrav# If no C compiler flags were specified, use CFLAGS. 94117d15b25SDag-Erling SmørgravLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 94217d15b25SDag-Erling Smørgrav 94317d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 94417d15b25SDag-Erling Smørgravcompiler=$CC 94517d15b25SDag-Erling Smørgrav])# _LT_TAG_COMPILER 94617d15b25SDag-Erling Smørgrav 94717d15b25SDag-Erling Smørgrav 94817d15b25SDag-Erling Smørgrav# _LT_COMPILER_BOILERPLATE 94917d15b25SDag-Erling Smørgrav# ------------------------ 95017d15b25SDag-Erling Smørgrav# Check for compiler boilerplate output or warnings with 95117d15b25SDag-Erling Smørgrav# the simple compiler test code. 95217d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_BOILERPLATE], 95317d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 95417d15b25SDag-Erling Smørgravac_outfile=conftest.$ac_objext 95517d15b25SDag-Erling Smørgravecho "$lt_simple_compile_test_code" >conftest.$ac_ext 95617d15b25SDag-Erling Smørgraveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 95717d15b25SDag-Erling Smørgrav_lt_compiler_boilerplate=`cat conftest.err` 95817d15b25SDag-Erling Smørgrav$RM conftest* 95917d15b25SDag-Erling Smørgrav])# _LT_COMPILER_BOILERPLATE 96017d15b25SDag-Erling Smørgrav 96117d15b25SDag-Erling Smørgrav 96217d15b25SDag-Erling Smørgrav# _LT_LINKER_BOILERPLATE 96317d15b25SDag-Erling Smørgrav# ---------------------- 96417d15b25SDag-Erling Smørgrav# Check for linker boilerplate output or warnings with 96517d15b25SDag-Erling Smørgrav# the simple link test code. 96617d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_BOILERPLATE], 96717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 96817d15b25SDag-Erling Smørgravac_outfile=conftest.$ac_objext 96917d15b25SDag-Erling Smørgravecho "$lt_simple_link_test_code" >conftest.$ac_ext 97017d15b25SDag-Erling Smørgraveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 97117d15b25SDag-Erling Smørgrav_lt_linker_boilerplate=`cat conftest.err` 97217d15b25SDag-Erling Smørgrav$RM -r conftest* 97317d15b25SDag-Erling Smørgrav])# _LT_LINKER_BOILERPLATE 97417d15b25SDag-Erling Smørgrav 97517d15b25SDag-Erling Smørgrav# _LT_REQUIRED_DARWIN_CHECKS 97617d15b25SDag-Erling Smørgrav# ------------------------- 97717d15b25SDag-Erling Smørgravm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 97817d15b25SDag-Erling Smørgrav case $host_os in 97917d15b25SDag-Erling Smørgrav rhapsody* | darwin*) 98017d15b25SDag-Erling Smørgrav AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 98117d15b25SDag-Erling Smørgrav AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 98217d15b25SDag-Erling Smørgrav AC_CHECK_TOOL([LIPO], [lipo], [:]) 98317d15b25SDag-Erling Smørgrav AC_CHECK_TOOL([OTOOL], [otool], [:]) 98417d15b25SDag-Erling Smørgrav AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 98517d15b25SDag-Erling Smørgrav _LT_DECL([], [DSYMUTIL], [1], 98617d15b25SDag-Erling Smørgrav [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 98717d15b25SDag-Erling Smørgrav _LT_DECL([], [NMEDIT], [1], 98817d15b25SDag-Erling Smørgrav [Tool to change global to local symbols on Mac OS X]) 98917d15b25SDag-Erling Smørgrav _LT_DECL([], [LIPO], [1], 99017d15b25SDag-Erling Smørgrav [Tool to manipulate fat objects and archives on Mac OS X]) 99117d15b25SDag-Erling Smørgrav _LT_DECL([], [OTOOL], [1], 99217d15b25SDag-Erling Smørgrav [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 99317d15b25SDag-Erling Smørgrav _LT_DECL([], [OTOOL64], [1], 99417d15b25SDag-Erling Smørgrav [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 99517d15b25SDag-Erling Smørgrav 99617d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 99717d15b25SDag-Erling Smørgrav [lt_cv_apple_cc_single_mod=no 998986ba33cSDag-Erling Smørgrav if test -z "$LT_MULTI_MODULE"; then 99917d15b25SDag-Erling Smørgrav # By default we will add the -single_module flag. You can override 100017d15b25SDag-Erling Smørgrav # by either setting the environment variable LT_MULTI_MODULE 100117d15b25SDag-Erling Smørgrav # non-empty at configure time, or by adding -multi_module to the 100217d15b25SDag-Erling Smørgrav # link flags. 100317d15b25SDag-Erling Smørgrav rm -rf libconftest.dylib* 100417d15b25SDag-Erling Smørgrav echo "int foo(void){return 1;}" > conftest.c 100517d15b25SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 100617d15b25SDag-Erling Smørgrav-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 100717d15b25SDag-Erling Smørgrav $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 100817d15b25SDag-Erling Smørgrav -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 100917d15b25SDag-Erling Smørgrav _lt_result=$? 101017d15b25SDag-Erling Smørgrav # If there is a non-empty error log, and "single_module" 101117d15b25SDag-Erling Smørgrav # appears in it, assume the flag caused a linker warning 101217d15b25SDag-Erling Smørgrav if test -s conftest.err && $GREP single_module conftest.err; then 101317d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 101417d15b25SDag-Erling Smørgrav # Otherwise, if the output was created with a 0 exit code from 101517d15b25SDag-Erling Smørgrav # the compiler, it worked. 1016986ba33cSDag-Erling Smørgrav elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 101717d15b25SDag-Erling Smørgrav lt_cv_apple_cc_single_mod=yes 101817d15b25SDag-Erling Smørgrav else 101917d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 102017d15b25SDag-Erling Smørgrav fi 102117d15b25SDag-Erling Smørgrav rm -rf libconftest.dylib* 102217d15b25SDag-Erling Smørgrav rm -f conftest.* 102317d15b25SDag-Erling Smørgrav fi]) 102417d15b25SDag-Erling Smørgrav 102517d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([for -exported_symbols_list linker flag], 102617d15b25SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list], 102717d15b25SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=no 102817d15b25SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 102917d15b25SDag-Erling Smørgrav echo "_main" > conftest.sym 103017d15b25SDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 103117d15b25SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 103217d15b25SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=yes], 103317d15b25SDag-Erling Smørgrav [lt_cv_ld_exported_symbols_list=no]) 1034986ba33cSDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 103517d15b25SDag-Erling Smørgrav ]) 103617d15b25SDag-Erling Smørgrav 103717d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 103817d15b25SDag-Erling Smørgrav [lt_cv_ld_force_load=no 103917d15b25SDag-Erling Smørgrav cat > conftest.c << _LT_EOF 104017d15b25SDag-Erling Smørgravint forced_loaded() { return 2;} 104117d15b25SDag-Erling Smørgrav_LT_EOF 104217d15b25SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 104317d15b25SDag-Erling Smørgrav $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 1044*5afab0e5SDag-Erling Smørgrav echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 1045*5afab0e5SDag-Erling Smørgrav $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 104617d15b25SDag-Erling Smørgrav echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 104717d15b25SDag-Erling Smørgrav $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 104817d15b25SDag-Erling Smørgrav cat > conftest.c << _LT_EOF 104917d15b25SDag-Erling Smørgravint main() { return 0;} 105017d15b25SDag-Erling Smørgrav_LT_EOF 105117d15b25SDag-Erling Smørgrav echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 105217d15b25SDag-Erling Smørgrav $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 105317d15b25SDag-Erling Smørgrav _lt_result=$? 105417d15b25SDag-Erling Smørgrav if test -s conftest.err && $GREP force_load conftest.err; then 105517d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 1056986ba33cSDag-Erling Smørgrav elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 105717d15b25SDag-Erling Smørgrav lt_cv_ld_force_load=yes 105817d15b25SDag-Erling Smørgrav else 105917d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 106017d15b25SDag-Erling Smørgrav fi 106117d15b25SDag-Erling Smørgrav rm -f conftest.err libconftest.a conftest conftest.c 106217d15b25SDag-Erling Smørgrav rm -rf conftest.dSYM 106317d15b25SDag-Erling Smørgrav ]) 106417d15b25SDag-Erling Smørgrav case $host_os in 106517d15b25SDag-Erling Smørgrav rhapsody* | darwin1.[[012]]) 1066986ba33cSDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; 106717d15b25SDag-Erling Smørgrav darwin1.*) 1068986ba33cSDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 106917d15b25SDag-Erling Smørgrav darwin*) # darwin 5.x on 107017d15b25SDag-Erling Smørgrav # if running on 10.5 or later, the deployment target defaults 107117d15b25SDag-Erling Smørgrav # to the OS version, if on x86, and 10.4, the deployment 107217d15b25SDag-Erling Smørgrav # target defaults to 10.4. Don't you love it? 107317d15b25SDag-Erling Smørgrav case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 1074*5afab0e5SDag-Erling Smørgrav 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) 1075986ba33cSDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 1076986ba33cSDag-Erling Smørgrav 10.[[012]][[,.]]*) 1077986ba33cSDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 1078*5afab0e5SDag-Erling Smørgrav 10.*|11.*) 1079986ba33cSDag-Erling Smørgrav _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 108017d15b25SDag-Erling Smørgrav esac 108117d15b25SDag-Erling Smørgrav ;; 108217d15b25SDag-Erling Smørgrav esac 1083986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_apple_cc_single_mod"; then 108417d15b25SDag-Erling Smørgrav _lt_dar_single_mod='$single_module' 108517d15b25SDag-Erling Smørgrav fi 1086986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_ld_exported_symbols_list"; then 1087986ba33cSDag-Erling Smørgrav _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 108817d15b25SDag-Erling Smørgrav else 1089986ba33cSDag-Erling Smørgrav _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 109017d15b25SDag-Erling Smørgrav fi 1091986ba33cSDag-Erling Smørgrav if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 109217d15b25SDag-Erling Smørgrav _lt_dsymutil='~$DSYMUTIL $lib || :' 109317d15b25SDag-Erling Smørgrav else 109417d15b25SDag-Erling Smørgrav _lt_dsymutil= 109517d15b25SDag-Erling Smørgrav fi 109617d15b25SDag-Erling Smørgrav ;; 109717d15b25SDag-Erling Smørgrav esac 109817d15b25SDag-Erling Smørgrav]) 109917d15b25SDag-Erling Smørgrav 110017d15b25SDag-Erling Smørgrav 110117d15b25SDag-Erling Smørgrav# _LT_DARWIN_LINKER_FEATURES([TAG]) 110217d15b25SDag-Erling Smørgrav# --------------------------------- 110317d15b25SDag-Erling Smørgrav# Checks for linker and compiler features on darwin 110417d15b25SDag-Erling Smørgravm4_defun([_LT_DARWIN_LINKER_FEATURES], 110517d15b25SDag-Erling Smørgrav[ 110617d15b25SDag-Erling Smørgrav m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 110717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 110817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 110917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_automatic, $1)=yes 111017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 1111986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_ld_force_load"; then 1112986ba33cSDag-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\"`' 111317d15b25SDag-Erling Smørgrav m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 111417d15b25SDag-Erling Smørgrav [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 111517d15b25SDag-Erling Smørgrav else 111617d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='' 111717d15b25SDag-Erling Smørgrav fi 111817d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 1119986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined 112017d15b25SDag-Erling Smørgrav case $cc_basename in 1121986ba33cSDag-Erling Smørgrav ifort*|nagfor*) _lt_dar_can_shared=yes ;; 112217d15b25SDag-Erling Smørgrav *) _lt_dar_can_shared=$GCC ;; 112317d15b25SDag-Erling Smørgrav esac 1124986ba33cSDag-Erling Smørgrav if test yes = "$_lt_dar_can_shared"; then 112517d15b25SDag-Erling Smørgrav output_verbose_link_cmd=func_echo_all 1126986ba33cSDag-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" 1127986ba33cSDag-Erling Smørgrav _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" 1128986ba33cSDag-Erling Smørgrav _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" 1129986ba33cSDag-Erling Smørgrav _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" 113017d15b25SDag-Erling Smørgrav m4_if([$1], [CXX], 1131986ba33cSDag-Erling Smørgrav[ if test yes != "$lt_cv_apple_cc_single_mod"; then 1132986ba33cSDag-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" 1133986ba33cSDag-Erling Smørgrav _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" 113417d15b25SDag-Erling Smørgrav fi 113517d15b25SDag-Erling Smørgrav],[]) 113617d15b25SDag-Erling Smørgrav else 113717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 113817d15b25SDag-Erling Smørgrav fi 113917d15b25SDag-Erling Smørgrav]) 114017d15b25SDag-Erling Smørgrav 114117d15b25SDag-Erling Smørgrav# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 114217d15b25SDag-Erling Smørgrav# ---------------------------------- 114317d15b25SDag-Erling Smørgrav# Links a minimal program and checks the executable 114417d15b25SDag-Erling Smørgrav# for the system default hardcoded library path. In most cases, 114517d15b25SDag-Erling Smørgrav# this is /usr/lib:/lib, but when the MPI compilers are used 114617d15b25SDag-Erling Smørgrav# the location of the communication and MPI libs are included too. 114717d15b25SDag-Erling Smørgrav# If we don't find anything, use the default library path according 114817d15b25SDag-Erling Smørgrav# to the aix ld manual. 114917d15b25SDag-Erling Smørgrav# Store the results from the different compilers for each TAGNAME. 115017d15b25SDag-Erling Smørgrav# Allow to override them for all tags through lt_cv_aix_libpath. 115117d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_MODULE_PATH_AIX], 115217d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 1153986ba33cSDag-Erling Smørgravif test set = "${lt_cv_aix_libpath+set}"; then 115417d15b25SDag-Erling Smørgrav aix_libpath=$lt_cv_aix_libpath 115517d15b25SDag-Erling Smørgravelse 115617d15b25SDag-Erling Smørgrav AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 115717d15b25SDag-Erling Smørgrav [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 115817d15b25SDag-Erling Smørgrav lt_aix_libpath_sed='[ 115917d15b25SDag-Erling Smørgrav /Import File Strings/,/^$/ { 116017d15b25SDag-Erling Smørgrav /^0/ { 116117d15b25SDag-Erling Smørgrav s/^0 *\([^ ]*\) *$/\1/ 116217d15b25SDag-Erling Smørgrav p 116317d15b25SDag-Erling Smørgrav } 116417d15b25SDag-Erling Smørgrav }]' 116517d15b25SDag-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"` 116617d15b25SDag-Erling Smørgrav # Check for a 64-bit object if we didn't find anything. 116717d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 116817d15b25SDag-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"` 116917d15b25SDag-Erling Smørgrav fi],[]) 117017d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1171986ba33cSDag-Erling Smørgrav _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib 117217d15b25SDag-Erling Smørgrav fi 117317d15b25SDag-Erling Smørgrav ]) 117417d15b25SDag-Erling Smørgrav aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 117517d15b25SDag-Erling Smørgravfi 117617d15b25SDag-Erling Smørgrav])# _LT_SYS_MODULE_PATH_AIX 117717d15b25SDag-Erling Smørgrav 117817d15b25SDag-Erling Smørgrav 117917d15b25SDag-Erling Smørgrav# _LT_SHELL_INIT(ARG) 118017d15b25SDag-Erling Smørgrav# ------------------- 118117d15b25SDag-Erling Smørgravm4_define([_LT_SHELL_INIT], 118217d15b25SDag-Erling Smørgrav[m4_divert_text([M4SH-INIT], [$1 118317d15b25SDag-Erling Smørgrav])])# _LT_SHELL_INIT 118417d15b25SDag-Erling Smørgrav 118517d15b25SDag-Erling Smørgrav 118617d15b25SDag-Erling Smørgrav 118717d15b25SDag-Erling Smørgrav# _LT_PROG_ECHO_BACKSLASH 118817d15b25SDag-Erling Smørgrav# ----------------------- 118917d15b25SDag-Erling Smørgrav# Find how we can fake an echo command that does not interpret backslash. 119017d15b25SDag-Erling Smørgrav# In particular, with Autoconf 2.60 or later we add some code to the start 1191986ba33cSDag-Erling Smørgrav# of the generated configure script that will find a shell with a builtin 1192986ba33cSDag-Erling Smørgrav# printf (that we can use as an echo command). 119317d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_ECHO_BACKSLASH], 119417d15b25SDag-Erling Smørgrav[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 119517d15b25SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 119617d15b25SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 119717d15b25SDag-Erling Smørgrav 119817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to print strings]) 119917d15b25SDag-Erling Smørgrav# Test print first, because it will be a builtin if present. 120017d15b25SDag-Erling Smørgravif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 120117d15b25SDag-Erling Smørgrav test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 120217d15b25SDag-Erling Smørgrav ECHO='print -r --' 120317d15b25SDag-Erling Smørgravelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 120417d15b25SDag-Erling Smørgrav ECHO='printf %s\n' 120517d15b25SDag-Erling Smørgravelse 120617d15b25SDag-Erling Smørgrav # Use this function as a fallback that always works. 120717d15b25SDag-Erling Smørgrav func_fallback_echo () 120817d15b25SDag-Erling Smørgrav { 120917d15b25SDag-Erling Smørgrav eval 'cat <<_LTECHO_EOF 121017d15b25SDag-Erling Smørgrav$[]1 121117d15b25SDag-Erling Smørgrav_LTECHO_EOF' 121217d15b25SDag-Erling Smørgrav } 121317d15b25SDag-Erling Smørgrav ECHO='func_fallback_echo' 121417d15b25SDag-Erling Smørgravfi 121517d15b25SDag-Erling Smørgrav 121617d15b25SDag-Erling Smørgrav# func_echo_all arg... 121717d15b25SDag-Erling Smørgrav# Invoke $ECHO with all args, space-separated. 121817d15b25SDag-Erling Smørgravfunc_echo_all () 121917d15b25SDag-Erling Smørgrav{ 122017d15b25SDag-Erling Smørgrav $ECHO "$*" 122117d15b25SDag-Erling Smørgrav} 122217d15b25SDag-Erling Smørgrav 1223986ba33cSDag-Erling Smørgravcase $ECHO in 122417d15b25SDag-Erling Smørgrav printf*) AC_MSG_RESULT([printf]) ;; 122517d15b25SDag-Erling Smørgrav print*) AC_MSG_RESULT([print -r]) ;; 122617d15b25SDag-Erling Smørgrav *) AC_MSG_RESULT([cat]) ;; 122717d15b25SDag-Erling Smørgravesac 122817d15b25SDag-Erling Smørgrav 122917d15b25SDag-Erling Smørgravm4_ifdef([_AS_DETECT_SUGGESTED], 123017d15b25SDag-Erling Smørgrav[_AS_DETECT_SUGGESTED([ 123117d15b25SDag-Erling Smørgrav test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 123217d15b25SDag-Erling Smørgrav ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 123317d15b25SDag-Erling Smørgrav ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 123417d15b25SDag-Erling Smørgrav ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 123517d15b25SDag-Erling Smørgrav PATH=/empty FPATH=/empty; export PATH FPATH 123617d15b25SDag-Erling Smørgrav test "X`printf %s $ECHO`" = "X$ECHO" \ 123717d15b25SDag-Erling Smørgrav || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 123817d15b25SDag-Erling Smørgrav 123917d15b25SDag-Erling Smørgrav_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 124017d15b25SDag-Erling Smørgrav_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 124117d15b25SDag-Erling Smørgrav])# _LT_PROG_ECHO_BACKSLASH 124217d15b25SDag-Erling Smørgrav 124317d15b25SDag-Erling Smørgrav 124417d15b25SDag-Erling Smørgrav# _LT_WITH_SYSROOT 124517d15b25SDag-Erling Smørgrav# ---------------- 124617d15b25SDag-Erling SmørgravAC_DEFUN([_LT_WITH_SYSROOT], 124717d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([for sysroot]) 124817d15b25SDag-Erling SmørgravAC_ARG_WITH([sysroot], 1249986ba33cSDag-Erling Smørgrav[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], 1250986ba33cSDag-Erling Smørgrav [Search for dependent libraries within DIR (or the compiler's sysroot 1251986ba33cSDag-Erling Smørgrav if not specified).])], 125217d15b25SDag-Erling Smørgrav[], [with_sysroot=no]) 125317d15b25SDag-Erling Smørgrav 125417d15b25SDag-Erling Smørgravdnl lt_sysroot will always be passed unquoted. We quote it here 125517d15b25SDag-Erling Smørgravdnl in case the user passed a directory name. 125617d15b25SDag-Erling Smørgravlt_sysroot= 1257986ba33cSDag-Erling Smørgravcase $with_sysroot in #( 125817d15b25SDag-Erling Smørgrav yes) 1259986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 126017d15b25SDag-Erling Smørgrav lt_sysroot=`$CC --print-sysroot 2>/dev/null` 126117d15b25SDag-Erling Smørgrav fi 126217d15b25SDag-Erling Smørgrav ;; #( 126317d15b25SDag-Erling Smørgrav /*) 126417d15b25SDag-Erling Smørgrav lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` 126517d15b25SDag-Erling Smørgrav ;; #( 126617d15b25SDag-Erling Smørgrav no|'') 126717d15b25SDag-Erling Smørgrav ;; #( 126817d15b25SDag-Erling Smørgrav *) 1269986ba33cSDag-Erling Smørgrav AC_MSG_RESULT([$with_sysroot]) 127017d15b25SDag-Erling Smørgrav AC_MSG_ERROR([The sysroot must be an absolute path.]) 127117d15b25SDag-Erling Smørgrav ;; 127217d15b25SDag-Erling Smørgravesac 127317d15b25SDag-Erling Smørgrav 127417d15b25SDag-Erling Smørgrav AC_MSG_RESULT([${lt_sysroot:-no}]) 127517d15b25SDag-Erling Smørgrav_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 1276986ba33cSDag-Erling Smørgrav[dependent libraries, and where our libraries should be installed.])]) 127717d15b25SDag-Erling Smørgrav 127817d15b25SDag-Erling Smørgrav# _LT_ENABLE_LOCK 127917d15b25SDag-Erling Smørgrav# --------------- 128017d15b25SDag-Erling Smørgravm4_defun([_LT_ENABLE_LOCK], 128117d15b25SDag-Erling Smørgrav[AC_ARG_ENABLE([libtool-lock], 128217d15b25SDag-Erling Smørgrav [AS_HELP_STRING([--disable-libtool-lock], 128317d15b25SDag-Erling Smørgrav [avoid locking (might break parallel builds)])]) 1284986ba33cSDag-Erling Smørgravtest no = "$enable_libtool_lock" || enable_libtool_lock=yes 128517d15b25SDag-Erling Smørgrav 128617d15b25SDag-Erling Smørgrav# Some flags need to be propagated to the compiler or linker for good 128717d15b25SDag-Erling Smørgrav# libtool support. 128817d15b25SDag-Erling Smørgravcase $host in 128917d15b25SDag-Erling Smørgravia64-*-hpux*) 1290986ba33cSDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set mode 1291986ba33cSDag-Erling Smørgrav # options accordingly. 129217d15b25SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 129317d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 129417d15b25SDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 129517d15b25SDag-Erling Smørgrav *ELF-32*) 1296986ba33cSDag-Erling Smørgrav HPUX_IA64_MODE=32 129717d15b25SDag-Erling Smørgrav ;; 129817d15b25SDag-Erling Smørgrav *ELF-64*) 1299986ba33cSDag-Erling Smørgrav HPUX_IA64_MODE=64 130017d15b25SDag-Erling Smørgrav ;; 130117d15b25SDag-Erling Smørgrav esac 130217d15b25SDag-Erling Smørgrav fi 130317d15b25SDag-Erling Smørgrav rm -rf conftest* 130417d15b25SDag-Erling Smørgrav ;; 130517d15b25SDag-Erling Smørgrav*-*-irix6*) 1306986ba33cSDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1307986ba33cSDag-Erling Smørgrav # options accordingly. 130817d15b25SDag-Erling Smørgrav echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 130917d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1310986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_prog_gnu_ld"; then 131117d15b25SDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 131217d15b25SDag-Erling Smørgrav *32-bit*) 131317d15b25SDag-Erling Smørgrav LD="${LD-ld} -melf32bsmip" 131417d15b25SDag-Erling Smørgrav ;; 131517d15b25SDag-Erling Smørgrav *N32*) 131617d15b25SDag-Erling Smørgrav LD="${LD-ld} -melf32bmipn32" 131717d15b25SDag-Erling Smørgrav ;; 131817d15b25SDag-Erling Smørgrav *64-bit*) 131917d15b25SDag-Erling Smørgrav LD="${LD-ld} -melf64bmip" 132017d15b25SDag-Erling Smørgrav ;; 132117d15b25SDag-Erling Smørgrav esac 132217d15b25SDag-Erling Smørgrav else 132317d15b25SDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 132417d15b25SDag-Erling Smørgrav *32-bit*) 132517d15b25SDag-Erling Smørgrav LD="${LD-ld} -32" 132617d15b25SDag-Erling Smørgrav ;; 132717d15b25SDag-Erling Smørgrav *N32*) 132817d15b25SDag-Erling Smørgrav LD="${LD-ld} -n32" 132917d15b25SDag-Erling Smørgrav ;; 133017d15b25SDag-Erling Smørgrav *64-bit*) 133117d15b25SDag-Erling Smørgrav LD="${LD-ld} -64" 133217d15b25SDag-Erling Smørgrav ;; 133317d15b25SDag-Erling Smørgrav esac 133417d15b25SDag-Erling Smørgrav fi 133517d15b25SDag-Erling Smørgrav fi 133617d15b25SDag-Erling Smørgrav rm -rf conftest* 133717d15b25SDag-Erling Smørgrav ;; 133817d15b25SDag-Erling Smørgrav 1339986ba33cSDag-Erling Smørgravmips64*-*linux*) 1340986ba33cSDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1341986ba33cSDag-Erling Smørgrav # options accordingly. 1342986ba33cSDag-Erling Smørgrav echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1343986ba33cSDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 1344986ba33cSDag-Erling Smørgrav emul=elf 1345986ba33cSDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 1346986ba33cSDag-Erling Smørgrav *32-bit*) 1347986ba33cSDag-Erling Smørgrav emul="${emul}32" 1348986ba33cSDag-Erling Smørgrav ;; 1349986ba33cSDag-Erling Smørgrav *64-bit*) 1350986ba33cSDag-Erling Smørgrav emul="${emul}64" 1351986ba33cSDag-Erling Smørgrav ;; 1352986ba33cSDag-Erling Smørgrav esac 1353986ba33cSDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 1354986ba33cSDag-Erling Smørgrav *MSB*) 1355986ba33cSDag-Erling Smørgrav emul="${emul}btsmip" 1356986ba33cSDag-Erling Smørgrav ;; 1357986ba33cSDag-Erling Smørgrav *LSB*) 1358986ba33cSDag-Erling Smørgrav emul="${emul}ltsmip" 1359986ba33cSDag-Erling Smørgrav ;; 1360986ba33cSDag-Erling Smørgrav esac 1361986ba33cSDag-Erling Smørgrav case `/usr/bin/file conftest.$ac_objext` in 1362986ba33cSDag-Erling Smørgrav *N32*) 1363986ba33cSDag-Erling Smørgrav emul="${emul}n32" 1364986ba33cSDag-Erling Smørgrav ;; 1365986ba33cSDag-Erling Smørgrav esac 1366986ba33cSDag-Erling Smørgrav LD="${LD-ld} -m $emul" 1367986ba33cSDag-Erling Smørgrav fi 1368986ba33cSDag-Erling Smørgrav rm -rf conftest* 1369986ba33cSDag-Erling Smørgrav ;; 1370986ba33cSDag-Erling Smørgrav 1371986ba33cSDag-Erling Smørgravx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 137217d15b25SDag-Erling Smørgravs390*-*linux*|s390*-*tpf*|sparc*-*linux*) 1373986ba33cSDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1374986ba33cSDag-Erling Smørgrav # options accordingly. Note that the listed cases only cover the 1375986ba33cSDag-Erling Smørgrav # situations where additional linker options are needed (such as when 1376986ba33cSDag-Erling Smørgrav # doing 32-bit compilation for a host where ld defaults to 64-bit, or 1377986ba33cSDag-Erling Smørgrav # vice versa); the common cases where no linker options are needed do 1378986ba33cSDag-Erling Smørgrav # not appear in the list. 137917d15b25SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 138017d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 138117d15b25SDag-Erling Smørgrav case `/usr/bin/file conftest.o` in 138217d15b25SDag-Erling Smørgrav *32-bit*) 138317d15b25SDag-Erling Smørgrav case $host in 138417d15b25SDag-Erling Smørgrav x86_64-*kfreebsd*-gnu) 138517d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_i386_fbsd" 138617d15b25SDag-Erling Smørgrav ;; 138717d15b25SDag-Erling Smørgrav x86_64-*linux*) 1388986ba33cSDag-Erling Smørgrav case `/usr/bin/file conftest.o` in 1389986ba33cSDag-Erling Smørgrav *x86-64*) 1390986ba33cSDag-Erling Smørgrav LD="${LD-ld} -m elf32_x86_64" 1391986ba33cSDag-Erling Smørgrav ;; 1392986ba33cSDag-Erling Smørgrav *) 139317d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_i386" 139417d15b25SDag-Erling Smørgrav ;; 1395986ba33cSDag-Erling Smørgrav esac 1396986ba33cSDag-Erling Smørgrav ;; 1397986ba33cSDag-Erling Smørgrav powerpc64le-*linux*) 1398986ba33cSDag-Erling Smørgrav LD="${LD-ld} -m elf32lppclinux" 1399986ba33cSDag-Erling Smørgrav ;; 1400986ba33cSDag-Erling Smørgrav powerpc64-*linux*) 140117d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf32ppclinux" 140217d15b25SDag-Erling Smørgrav ;; 140317d15b25SDag-Erling Smørgrav s390x-*linux*) 140417d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_s390" 140517d15b25SDag-Erling Smørgrav ;; 140617d15b25SDag-Erling Smørgrav sparc64-*linux*) 140717d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf32_sparc" 140817d15b25SDag-Erling Smørgrav ;; 140917d15b25SDag-Erling Smørgrav esac 141017d15b25SDag-Erling Smørgrav ;; 141117d15b25SDag-Erling Smørgrav *64-bit*) 141217d15b25SDag-Erling Smørgrav case $host in 141317d15b25SDag-Erling Smørgrav x86_64-*kfreebsd*-gnu) 141417d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64_fbsd" 141517d15b25SDag-Erling Smørgrav ;; 141617d15b25SDag-Erling Smørgrav x86_64-*linux*) 141717d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64" 141817d15b25SDag-Erling Smørgrav ;; 1419986ba33cSDag-Erling Smørgrav powerpcle-*linux*) 1420986ba33cSDag-Erling Smørgrav LD="${LD-ld} -m elf64lppc" 1421986ba33cSDag-Erling Smørgrav ;; 1422986ba33cSDag-Erling Smørgrav powerpc-*linux*) 142317d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf64ppc" 142417d15b25SDag-Erling Smørgrav ;; 142517d15b25SDag-Erling Smørgrav s390*-*linux*|s390*-*tpf*) 142617d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf64_s390" 142717d15b25SDag-Erling Smørgrav ;; 142817d15b25SDag-Erling Smørgrav sparc*-*linux*) 142917d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf64_sparc" 143017d15b25SDag-Erling Smørgrav ;; 143117d15b25SDag-Erling Smørgrav esac 143217d15b25SDag-Erling Smørgrav ;; 143317d15b25SDag-Erling Smørgrav esac 143417d15b25SDag-Erling Smørgrav fi 143517d15b25SDag-Erling Smørgrav rm -rf conftest* 143617d15b25SDag-Erling Smørgrav ;; 143717d15b25SDag-Erling Smørgrav 143817d15b25SDag-Erling Smørgrav*-*-sco3.2v5*) 143917d15b25SDag-Erling Smørgrav # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1440986ba33cSDag-Erling Smørgrav SAVE_CFLAGS=$CFLAGS 144117d15b25SDag-Erling Smørgrav CFLAGS="$CFLAGS -belf" 144217d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 144317d15b25SDag-Erling Smørgrav [AC_LANG_PUSH(C) 144417d15b25SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 144517d15b25SDag-Erling Smørgrav AC_LANG_POP]) 1446986ba33cSDag-Erling Smørgrav if test yes != "$lt_cv_cc_needs_belf"; then 144717d15b25SDag-Erling Smørgrav # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1448986ba33cSDag-Erling Smørgrav CFLAGS=$SAVE_CFLAGS 144917d15b25SDag-Erling Smørgrav fi 145017d15b25SDag-Erling Smørgrav ;; 145117d15b25SDag-Erling Smørgrav*-*solaris*) 1452986ba33cSDag-Erling Smørgrav # Find out what ABI is being produced by ac_compile, and set linker 1453986ba33cSDag-Erling Smørgrav # options accordingly. 145417d15b25SDag-Erling Smørgrav echo 'int i;' > conftest.$ac_ext 145517d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 145617d15b25SDag-Erling Smørgrav case `/usr/bin/file conftest.o` in 145717d15b25SDag-Erling Smørgrav *64-bit*) 145817d15b25SDag-Erling Smørgrav case $lt_cv_prog_gnu_ld in 145917d15b25SDag-Erling Smørgrav yes*) 146017d15b25SDag-Erling Smørgrav case $host in 1461986ba33cSDag-Erling Smørgrav i?86-*-solaris*|x86_64-*-solaris*) 146217d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf_x86_64" 146317d15b25SDag-Erling Smørgrav ;; 146417d15b25SDag-Erling Smørgrav sparc*-*-solaris*) 146517d15b25SDag-Erling Smørgrav LD="${LD-ld} -m elf64_sparc" 146617d15b25SDag-Erling Smørgrav ;; 146717d15b25SDag-Erling Smørgrav esac 146817d15b25SDag-Erling Smørgrav # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 146917d15b25SDag-Erling Smørgrav if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 1470986ba33cSDag-Erling Smørgrav LD=${LD-ld}_sol2 147117d15b25SDag-Erling Smørgrav fi 147217d15b25SDag-Erling Smørgrav ;; 147317d15b25SDag-Erling Smørgrav *) 147417d15b25SDag-Erling Smørgrav if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 147517d15b25SDag-Erling Smørgrav LD="${LD-ld} -64" 147617d15b25SDag-Erling Smørgrav fi 147717d15b25SDag-Erling Smørgrav ;; 147817d15b25SDag-Erling Smørgrav esac 147917d15b25SDag-Erling Smørgrav ;; 148017d15b25SDag-Erling Smørgrav esac 148117d15b25SDag-Erling Smørgrav fi 148217d15b25SDag-Erling Smørgrav rm -rf conftest* 148317d15b25SDag-Erling Smørgrav ;; 148417d15b25SDag-Erling Smørgravesac 148517d15b25SDag-Erling Smørgrav 1486986ba33cSDag-Erling Smørgravneed_locks=$enable_libtool_lock 148717d15b25SDag-Erling Smørgrav])# _LT_ENABLE_LOCK 148817d15b25SDag-Erling Smørgrav 148917d15b25SDag-Erling Smørgrav 149017d15b25SDag-Erling Smørgrav# _LT_PROG_AR 149117d15b25SDag-Erling Smørgrav# ----------- 149217d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_AR], 149317d15b25SDag-Erling Smørgrav[AC_CHECK_TOOLS(AR, [ar], false) 149417d15b25SDag-Erling Smørgrav: ${AR=ar} 1495*5afab0e5SDag-Erling Smørgrav: ${AR_FLAGS=cr} 149617d15b25SDag-Erling Smørgrav_LT_DECL([], [AR], [1], [The archiver]) 149717d15b25SDag-Erling Smørgrav_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) 149817d15b25SDag-Erling Smørgrav 149917d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 150017d15b25SDag-Erling Smørgrav [lt_cv_ar_at_file=no 150117d15b25SDag-Erling Smørgrav AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 150217d15b25SDag-Erling Smørgrav [echo conftest.$ac_objext > conftest.lst 150317d15b25SDag-Erling Smørgrav lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 150417d15b25SDag-Erling Smørgrav AC_TRY_EVAL([lt_ar_try]) 1505986ba33cSDag-Erling Smørgrav if test 0 -eq "$ac_status"; then 150617d15b25SDag-Erling Smørgrav # Ensure the archiver fails upon bogus file names. 150717d15b25SDag-Erling Smørgrav rm -f conftest.$ac_objext libconftest.a 150817d15b25SDag-Erling Smørgrav AC_TRY_EVAL([lt_ar_try]) 1509986ba33cSDag-Erling Smørgrav if test 0 -ne "$ac_status"; then 151017d15b25SDag-Erling Smørgrav lt_cv_ar_at_file=@ 151117d15b25SDag-Erling Smørgrav fi 151217d15b25SDag-Erling Smørgrav fi 151317d15b25SDag-Erling Smørgrav rm -f conftest.* libconftest.a 151417d15b25SDag-Erling Smørgrav ]) 151517d15b25SDag-Erling Smørgrav ]) 151617d15b25SDag-Erling Smørgrav 1517986ba33cSDag-Erling Smørgravif test no = "$lt_cv_ar_at_file"; then 151817d15b25SDag-Erling Smørgrav archiver_list_spec= 151917d15b25SDag-Erling Smørgravelse 152017d15b25SDag-Erling Smørgrav archiver_list_spec=$lt_cv_ar_at_file 152117d15b25SDag-Erling Smørgravfi 152217d15b25SDag-Erling Smørgrav_LT_DECL([], [archiver_list_spec], [1], 152317d15b25SDag-Erling Smørgrav [How to feed a file listing to the archiver]) 152417d15b25SDag-Erling Smørgrav])# _LT_PROG_AR 152517d15b25SDag-Erling Smørgrav 152617d15b25SDag-Erling Smørgrav 152717d15b25SDag-Erling Smørgrav# _LT_CMD_OLD_ARCHIVE 152817d15b25SDag-Erling Smørgrav# ------------------- 152917d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_OLD_ARCHIVE], 153017d15b25SDag-Erling Smørgrav[_LT_PROG_AR 153117d15b25SDag-Erling Smørgrav 153217d15b25SDag-Erling SmørgravAC_CHECK_TOOL(STRIP, strip, :) 153317d15b25SDag-Erling Smørgravtest -z "$STRIP" && STRIP=: 153417d15b25SDag-Erling Smørgrav_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 153517d15b25SDag-Erling Smørgrav 153617d15b25SDag-Erling SmørgravAC_CHECK_TOOL(RANLIB, ranlib, :) 153717d15b25SDag-Erling Smørgravtest -z "$RANLIB" && RANLIB=: 153817d15b25SDag-Erling Smørgrav_LT_DECL([], [RANLIB], [1], 153917d15b25SDag-Erling Smørgrav [Commands used to install an old-style archive]) 154017d15b25SDag-Erling Smørgrav 154117d15b25SDag-Erling Smørgrav# Determine commands to create old-style static archives. 154217d15b25SDag-Erling Smørgravold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 154317d15b25SDag-Erling Smørgravold_postinstall_cmds='chmod 644 $oldlib' 154417d15b25SDag-Erling Smørgravold_postuninstall_cmds= 154517d15b25SDag-Erling Smørgrav 154617d15b25SDag-Erling Smørgravif test -n "$RANLIB"; then 154717d15b25SDag-Erling Smørgrav case $host_os in 1548986ba33cSDag-Erling Smørgrav bitrig* | openbsd*) 154917d15b25SDag-Erling Smørgrav old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" 155017d15b25SDag-Erling Smørgrav ;; 155117d15b25SDag-Erling Smørgrav *) 155217d15b25SDag-Erling Smørgrav old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 155317d15b25SDag-Erling Smørgrav ;; 155417d15b25SDag-Erling Smørgrav esac 155517d15b25SDag-Erling Smørgrav old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 155617d15b25SDag-Erling Smørgravfi 155717d15b25SDag-Erling Smørgrav 155817d15b25SDag-Erling Smørgravcase $host_os in 155917d15b25SDag-Erling Smørgrav darwin*) 156017d15b25SDag-Erling Smørgrav lock_old_archive_extraction=yes ;; 156117d15b25SDag-Erling Smørgrav *) 156217d15b25SDag-Erling Smørgrav lock_old_archive_extraction=no ;; 156317d15b25SDag-Erling Smørgravesac 156417d15b25SDag-Erling Smørgrav_LT_DECL([], [old_postinstall_cmds], [2]) 156517d15b25SDag-Erling Smørgrav_LT_DECL([], [old_postuninstall_cmds], [2]) 156617d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_cmds], [2], 156717d15b25SDag-Erling Smørgrav [Commands used to build an old-style archive]) 156817d15b25SDag-Erling Smørgrav_LT_DECL([], [lock_old_archive_extraction], [0], 156917d15b25SDag-Erling Smørgrav [Whether to use a lock for old archive extraction]) 157017d15b25SDag-Erling Smørgrav])# _LT_CMD_OLD_ARCHIVE 157117d15b25SDag-Erling Smørgrav 157217d15b25SDag-Erling Smørgrav 157317d15b25SDag-Erling Smørgrav# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 157417d15b25SDag-Erling Smørgrav# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 157517d15b25SDag-Erling Smørgrav# ---------------------------------------------------------------- 157617d15b25SDag-Erling Smørgrav# Check whether the given compiler option works 157717d15b25SDag-Erling SmørgravAC_DEFUN([_LT_COMPILER_OPTION], 157817d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 157917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 158017d15b25SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2], 158117d15b25SDag-Erling Smørgrav [$2=no 158217d15b25SDag-Erling Smørgrav m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 158317d15b25SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1584986ba33cSDag-Erling Smørgrav lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment 158517d15b25SDag-Erling Smørgrav # Insert the option either (1) after the last *FLAGS variable, or 158617d15b25SDag-Erling Smørgrav # (2) before a word containing "conftest.", or (3) at the end. 158717d15b25SDag-Erling Smørgrav # Note that $ac_compile itself does not contain backslashes and begins 158817d15b25SDag-Erling Smørgrav # with a dollar sign (not a hyphen), so the echo should work correctly. 158917d15b25SDag-Erling Smørgrav # The option is referenced via a variable to avoid confusing sed. 159017d15b25SDag-Erling Smørgrav lt_compile=`echo "$ac_compile" | $SED \ 159117d15b25SDag-Erling Smørgrav -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 159217d15b25SDag-Erling Smørgrav -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 159317d15b25SDag-Erling Smørgrav -e 's:$: $lt_compiler_flag:'` 159417d15b25SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 159517d15b25SDag-Erling Smørgrav (eval "$lt_compile" 2>conftest.err) 159617d15b25SDag-Erling Smørgrav ac_status=$? 159717d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 159817d15b25SDag-Erling Smørgrav echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 159917d15b25SDag-Erling Smørgrav if (exit $ac_status) && test -s "$ac_outfile"; then 160017d15b25SDag-Erling Smørgrav # The compiler can only warn and ignore the option if not recognized 160117d15b25SDag-Erling Smørgrav # So say no if there are warnings other than the usual output. 160217d15b25SDag-Erling Smørgrav $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 160317d15b25SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 160417d15b25SDag-Erling Smørgrav if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 160517d15b25SDag-Erling Smørgrav $2=yes 160617d15b25SDag-Erling Smørgrav fi 160717d15b25SDag-Erling Smørgrav fi 160817d15b25SDag-Erling Smørgrav $RM conftest* 160917d15b25SDag-Erling Smørgrav]) 161017d15b25SDag-Erling Smørgrav 1611986ba33cSDag-Erling Smørgravif test yes = "[$]$2"; then 161217d15b25SDag-Erling Smørgrav m4_if([$5], , :, [$5]) 161317d15b25SDag-Erling Smørgravelse 161417d15b25SDag-Erling Smørgrav m4_if([$6], , :, [$6]) 161517d15b25SDag-Erling Smørgravfi 161617d15b25SDag-Erling Smørgrav])# _LT_COMPILER_OPTION 161717d15b25SDag-Erling Smørgrav 161817d15b25SDag-Erling Smørgrav# Old name: 161917d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 162017d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 162117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 162217d15b25SDag-Erling Smørgrav 162317d15b25SDag-Erling Smørgrav 162417d15b25SDag-Erling Smørgrav# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 162517d15b25SDag-Erling Smørgrav# [ACTION-SUCCESS], [ACTION-FAILURE]) 162617d15b25SDag-Erling Smørgrav# ---------------------------------------------------- 162717d15b25SDag-Erling Smørgrav# Check whether the given linker option works 162817d15b25SDag-Erling SmørgravAC_DEFUN([_LT_LINKER_OPTION], 162917d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 163017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 163117d15b25SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2], 163217d15b25SDag-Erling Smørgrav [$2=no 1633986ba33cSDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 163417d15b25SDag-Erling Smørgrav LDFLAGS="$LDFLAGS $3" 163517d15b25SDag-Erling Smørgrav echo "$lt_simple_link_test_code" > conftest.$ac_ext 163617d15b25SDag-Erling Smørgrav if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 163717d15b25SDag-Erling Smørgrav # The linker can only warn and ignore the option if not recognized 163817d15b25SDag-Erling Smørgrav # So say no if there are warnings 163917d15b25SDag-Erling Smørgrav if test -s conftest.err; then 164017d15b25SDag-Erling Smørgrav # Append any errors to the config.log. 164117d15b25SDag-Erling Smørgrav cat conftest.err 1>&AS_MESSAGE_LOG_FD 164217d15b25SDag-Erling Smørgrav $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 164317d15b25SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 164417d15b25SDag-Erling Smørgrav if diff conftest.exp conftest.er2 >/dev/null; then 164517d15b25SDag-Erling Smørgrav $2=yes 164617d15b25SDag-Erling Smørgrav fi 164717d15b25SDag-Erling Smørgrav else 164817d15b25SDag-Erling Smørgrav $2=yes 164917d15b25SDag-Erling Smørgrav fi 165017d15b25SDag-Erling Smørgrav fi 165117d15b25SDag-Erling Smørgrav $RM -r conftest* 1652986ba33cSDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 165317d15b25SDag-Erling Smørgrav]) 165417d15b25SDag-Erling Smørgrav 1655986ba33cSDag-Erling Smørgravif test yes = "[$]$2"; then 165617d15b25SDag-Erling Smørgrav m4_if([$4], , :, [$4]) 165717d15b25SDag-Erling Smørgravelse 165817d15b25SDag-Erling Smørgrav m4_if([$5], , :, [$5]) 165917d15b25SDag-Erling Smørgravfi 166017d15b25SDag-Erling Smørgrav])# _LT_LINKER_OPTION 166117d15b25SDag-Erling Smørgrav 166217d15b25SDag-Erling Smørgrav# Old name: 166317d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 166417d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 166517d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 166617d15b25SDag-Erling Smørgrav 166717d15b25SDag-Erling Smørgrav 166817d15b25SDag-Erling Smørgrav# LT_CMD_MAX_LEN 166917d15b25SDag-Erling Smørgrav#--------------- 167017d15b25SDag-Erling SmørgravAC_DEFUN([LT_CMD_MAX_LEN], 167117d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 167217d15b25SDag-Erling Smørgrav# find the maximum length of command line arguments 167317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([the maximum length of command line arguments]) 167417d15b25SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 167517d15b25SDag-Erling Smørgrav i=0 1676986ba33cSDag-Erling Smørgrav teststring=ABCD 167717d15b25SDag-Erling Smørgrav 167817d15b25SDag-Erling Smørgrav case $build_os in 167917d15b25SDag-Erling Smørgrav msdosdjgpp*) 168017d15b25SDag-Erling Smørgrav # On DJGPP, this test can blow up pretty badly due to problems in libc 168117d15b25SDag-Erling Smørgrav # (any single argument exceeding 2000 bytes causes a buffer overrun 168217d15b25SDag-Erling Smørgrav # during glob expansion). Even if it were fixed, the result of this 168317d15b25SDag-Erling Smørgrav # check would be larger than it should be. 168417d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=12288; # 12K is about right 168517d15b25SDag-Erling Smørgrav ;; 168617d15b25SDag-Erling Smørgrav 168717d15b25SDag-Erling Smørgrav gnu*) 168817d15b25SDag-Erling Smørgrav # Under GNU Hurd, this test is not required because there is 168917d15b25SDag-Erling Smørgrav # no limit to the length of command line arguments. 169017d15b25SDag-Erling Smørgrav # Libtool will interpret -1 as no limit whatsoever 169117d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=-1; 169217d15b25SDag-Erling Smørgrav ;; 169317d15b25SDag-Erling Smørgrav 169417d15b25SDag-Erling Smørgrav cygwin* | mingw* | cegcc*) 169517d15b25SDag-Erling Smørgrav # On Win9x/ME, this test blows up -- it succeeds, but takes 169617d15b25SDag-Erling Smørgrav # about 5 minutes as the teststring grows exponentially. 169717d15b25SDag-Erling Smørgrav # Worse, since 9x/ME are not pre-emptively multitasking, 169817d15b25SDag-Erling Smørgrav # you end up with a "frozen" computer, even though with patience 169917d15b25SDag-Erling Smørgrav # the test eventually succeeds (with a max line length of 256k). 170017d15b25SDag-Erling Smørgrav # Instead, let's just punt: use the minimum linelength reported by 170117d15b25SDag-Erling Smørgrav # all of the supported platforms: 8192 (on NT/2K/XP). 170217d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 170317d15b25SDag-Erling Smørgrav ;; 170417d15b25SDag-Erling Smørgrav 170517d15b25SDag-Erling Smørgrav mint*) 170617d15b25SDag-Erling Smørgrav # On MiNT this can take a long time and run out of memory. 170717d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 170817d15b25SDag-Erling Smørgrav ;; 170917d15b25SDag-Erling Smørgrav 171017d15b25SDag-Erling Smørgrav amigaos*) 171117d15b25SDag-Erling Smørgrav # On AmigaOS with pdksh, this test takes hours, literally. 171217d15b25SDag-Erling Smørgrav # So we just punt and use a minimum line length of 8192. 171317d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192; 171417d15b25SDag-Erling Smørgrav ;; 171517d15b25SDag-Erling Smørgrav 1716986ba33cSDag-Erling Smørgrav bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) 171717d15b25SDag-Erling Smørgrav # This has been around since 386BSD, at least. Likely further. 171817d15b25SDag-Erling Smørgrav if test -x /sbin/sysctl; then 171917d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 172017d15b25SDag-Erling Smørgrav elif test -x /usr/sbin/sysctl; then 172117d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 172217d15b25SDag-Erling Smørgrav else 172317d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 172417d15b25SDag-Erling Smørgrav fi 172517d15b25SDag-Erling Smørgrav # And add a safety zone 172617d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 172717d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 172817d15b25SDag-Erling Smørgrav ;; 172917d15b25SDag-Erling Smørgrav 173017d15b25SDag-Erling Smørgrav interix*) 173117d15b25SDag-Erling Smørgrav # We know the value 262144 and hardcode it with a safety zone (like BSD) 173217d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=196608 173317d15b25SDag-Erling Smørgrav ;; 173417d15b25SDag-Erling Smørgrav 173517d15b25SDag-Erling Smørgrav os2*) 173617d15b25SDag-Erling Smørgrav # The test takes a long time on OS/2. 173717d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=8192 173817d15b25SDag-Erling Smørgrav ;; 173917d15b25SDag-Erling Smørgrav 174017d15b25SDag-Erling Smørgrav osf*) 174117d15b25SDag-Erling Smørgrav # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 174217d15b25SDag-Erling Smørgrav # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 174317d15b25SDag-Erling Smørgrav # nice to cause kernel panics so lets avoid the loop below. 174417d15b25SDag-Erling Smørgrav # First set a reasonable default. 174517d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=16384 174617d15b25SDag-Erling Smørgrav # 174717d15b25SDag-Erling Smørgrav if test -x /sbin/sysconfig; then 174817d15b25SDag-Erling Smørgrav case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 174917d15b25SDag-Erling Smørgrav *1*) lt_cv_sys_max_cmd_len=-1 ;; 175017d15b25SDag-Erling Smørgrav esac 175117d15b25SDag-Erling Smørgrav fi 175217d15b25SDag-Erling Smørgrav ;; 175317d15b25SDag-Erling Smørgrav sco3.2v5*) 175417d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=102400 175517d15b25SDag-Erling Smørgrav ;; 175617d15b25SDag-Erling Smørgrav sysv5* | sco5v6* | sysv4.2uw2*) 175717d15b25SDag-Erling Smørgrav kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 175817d15b25SDag-Erling Smørgrav if test -n "$kargmax"; then 175917d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 176017d15b25SDag-Erling Smørgrav else 176117d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=32768 176217d15b25SDag-Erling Smørgrav fi 176317d15b25SDag-Erling Smørgrav ;; 176417d15b25SDag-Erling Smørgrav *) 176517d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1766986ba33cSDag-Erling Smørgrav if test -n "$lt_cv_sys_max_cmd_len" && \ 1767986ba33cSDag-Erling Smørgrav test undefined != "$lt_cv_sys_max_cmd_len"; then 176817d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 176917d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 177017d15b25SDag-Erling Smørgrav else 177117d15b25SDag-Erling Smørgrav # Make teststring a little bigger before we do anything with it. 177217d15b25SDag-Erling Smørgrav # a 1K string should be a reasonable start. 177317d15b25SDag-Erling Smørgrav for i in 1 2 3 4 5 6 7 8; do 177417d15b25SDag-Erling Smørgrav teststring=$teststring$teststring 177517d15b25SDag-Erling Smørgrav done 177617d15b25SDag-Erling Smørgrav SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 177717d15b25SDag-Erling Smørgrav # If test is not a shell built-in, we'll probably end up computing a 177817d15b25SDag-Erling Smørgrav # maximum length that is only half of the actual maximum length, but 177917d15b25SDag-Erling Smørgrav # we can't tell. 1780986ba33cSDag-Erling Smørgrav while { test X`env echo "$teststring$teststring" 2>/dev/null` \ 178117d15b25SDag-Erling Smørgrav = "X$teststring$teststring"; } >/dev/null 2>&1 && 1782986ba33cSDag-Erling Smørgrav test 17 != "$i" # 1/2 MB should be enough 178317d15b25SDag-Erling Smørgrav do 178417d15b25SDag-Erling Smørgrav i=`expr $i + 1` 178517d15b25SDag-Erling Smørgrav teststring=$teststring$teststring 178617d15b25SDag-Erling Smørgrav done 178717d15b25SDag-Erling Smørgrav # Only check the string length outside the loop. 178817d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 178917d15b25SDag-Erling Smørgrav teststring= 179017d15b25SDag-Erling Smørgrav # Add a significant safety factor because C++ compilers can tack on 179117d15b25SDag-Erling Smørgrav # massive amounts of additional arguments before passing them to the 179217d15b25SDag-Erling Smørgrav # linker. It appears as though 1/2 is a usable value. 179317d15b25SDag-Erling Smørgrav lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 179417d15b25SDag-Erling Smørgrav fi 179517d15b25SDag-Erling Smørgrav ;; 179617d15b25SDag-Erling Smørgrav esac 179717d15b25SDag-Erling Smørgrav]) 1798986ba33cSDag-Erling Smørgravif test -n "$lt_cv_sys_max_cmd_len"; then 179917d15b25SDag-Erling Smørgrav AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 180017d15b25SDag-Erling Smørgravelse 180117d15b25SDag-Erling Smørgrav AC_MSG_RESULT(none) 180217d15b25SDag-Erling Smørgravfi 180317d15b25SDag-Erling Smørgravmax_cmd_len=$lt_cv_sys_max_cmd_len 180417d15b25SDag-Erling Smørgrav_LT_DECL([], [max_cmd_len], [0], 180517d15b25SDag-Erling Smørgrav [What is the maximum length of a command?]) 180617d15b25SDag-Erling Smørgrav])# LT_CMD_MAX_LEN 180717d15b25SDag-Erling Smørgrav 180817d15b25SDag-Erling Smørgrav# Old name: 180917d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 181017d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 181117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 181217d15b25SDag-Erling Smørgrav 181317d15b25SDag-Erling Smørgrav 181417d15b25SDag-Erling Smørgrav# _LT_HEADER_DLFCN 181517d15b25SDag-Erling Smørgrav# ---------------- 181617d15b25SDag-Erling Smørgravm4_defun([_LT_HEADER_DLFCN], 181717d15b25SDag-Erling Smørgrav[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 181817d15b25SDag-Erling Smørgrav])# _LT_HEADER_DLFCN 181917d15b25SDag-Erling Smørgrav 182017d15b25SDag-Erling Smørgrav 182117d15b25SDag-Erling Smørgrav# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 182217d15b25SDag-Erling Smørgrav# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 182317d15b25SDag-Erling Smørgrav# ---------------------------------------------------------------- 182417d15b25SDag-Erling Smørgravm4_defun([_LT_TRY_DLOPEN_SELF], 182517d15b25SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl 1826986ba33cSDag-Erling Smørgravif test yes = "$cross_compiling"; then : 182717d15b25SDag-Erling Smørgrav [$4] 182817d15b25SDag-Erling Smørgravelse 182917d15b25SDag-Erling Smørgrav lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 183017d15b25SDag-Erling Smørgrav lt_status=$lt_dlunknown 183117d15b25SDag-Erling Smørgrav cat > conftest.$ac_ext <<_LT_EOF 183217d15b25SDag-Erling Smørgrav[#line $LINENO "configure" 183317d15b25SDag-Erling Smørgrav#include "confdefs.h" 183417d15b25SDag-Erling Smørgrav 183517d15b25SDag-Erling Smørgrav#if HAVE_DLFCN_H 183617d15b25SDag-Erling Smørgrav#include <dlfcn.h> 183717d15b25SDag-Erling Smørgrav#endif 183817d15b25SDag-Erling Smørgrav 183917d15b25SDag-Erling Smørgrav#include <stdio.h> 184017d15b25SDag-Erling Smørgrav 184117d15b25SDag-Erling Smørgrav#ifdef RTLD_GLOBAL 184217d15b25SDag-Erling Smørgrav# define LT_DLGLOBAL RTLD_GLOBAL 184317d15b25SDag-Erling Smørgrav#else 184417d15b25SDag-Erling Smørgrav# ifdef DL_GLOBAL 184517d15b25SDag-Erling Smørgrav# define LT_DLGLOBAL DL_GLOBAL 184617d15b25SDag-Erling Smørgrav# else 184717d15b25SDag-Erling Smørgrav# define LT_DLGLOBAL 0 184817d15b25SDag-Erling Smørgrav# endif 184917d15b25SDag-Erling Smørgrav#endif 185017d15b25SDag-Erling Smørgrav 185117d15b25SDag-Erling Smørgrav/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 185217d15b25SDag-Erling Smørgrav find out it does not work in some platform. */ 185317d15b25SDag-Erling Smørgrav#ifndef LT_DLLAZY_OR_NOW 185417d15b25SDag-Erling Smørgrav# ifdef RTLD_LAZY 185517d15b25SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW RTLD_LAZY 185617d15b25SDag-Erling Smørgrav# else 185717d15b25SDag-Erling Smørgrav# ifdef DL_LAZY 185817d15b25SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW DL_LAZY 185917d15b25SDag-Erling Smørgrav# else 186017d15b25SDag-Erling Smørgrav# ifdef RTLD_NOW 186117d15b25SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW RTLD_NOW 186217d15b25SDag-Erling Smørgrav# else 186317d15b25SDag-Erling Smørgrav# ifdef DL_NOW 186417d15b25SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW DL_NOW 186517d15b25SDag-Erling Smørgrav# else 186617d15b25SDag-Erling Smørgrav# define LT_DLLAZY_OR_NOW 0 186717d15b25SDag-Erling Smørgrav# endif 186817d15b25SDag-Erling Smørgrav# endif 186917d15b25SDag-Erling Smørgrav# endif 187017d15b25SDag-Erling Smørgrav# endif 187117d15b25SDag-Erling Smørgrav#endif 187217d15b25SDag-Erling Smørgrav 1873986ba33cSDag-Erling Smørgrav/* When -fvisibility=hidden is used, assume the code has been annotated 187417d15b25SDag-Erling Smørgrav correspondingly for the symbols needed. */ 1875986ba33cSDag-Erling Smørgrav#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 187617d15b25SDag-Erling Smørgravint fnord () __attribute__((visibility("default"))); 187717d15b25SDag-Erling Smørgrav#endif 187817d15b25SDag-Erling Smørgrav 187917d15b25SDag-Erling Smørgravint fnord () { return 42; } 188017d15b25SDag-Erling Smørgravint main () 188117d15b25SDag-Erling Smørgrav{ 188217d15b25SDag-Erling Smørgrav void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 188317d15b25SDag-Erling Smørgrav int status = $lt_dlunknown; 188417d15b25SDag-Erling Smørgrav 188517d15b25SDag-Erling Smørgrav if (self) 188617d15b25SDag-Erling Smørgrav { 188717d15b25SDag-Erling Smørgrav if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 188817d15b25SDag-Erling Smørgrav else 188917d15b25SDag-Erling Smørgrav { 189017d15b25SDag-Erling Smørgrav if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 189117d15b25SDag-Erling Smørgrav else puts (dlerror ()); 189217d15b25SDag-Erling Smørgrav } 189317d15b25SDag-Erling Smørgrav /* dlclose (self); */ 189417d15b25SDag-Erling Smørgrav } 189517d15b25SDag-Erling Smørgrav else 189617d15b25SDag-Erling Smørgrav puts (dlerror ()); 189717d15b25SDag-Erling Smørgrav 189817d15b25SDag-Erling Smørgrav return status; 189917d15b25SDag-Erling Smørgrav}] 190017d15b25SDag-Erling Smørgrav_LT_EOF 1901986ba33cSDag-Erling Smørgrav if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then 190217d15b25SDag-Erling Smørgrav (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 190317d15b25SDag-Erling Smørgrav lt_status=$? 190417d15b25SDag-Erling Smørgrav case x$lt_status in 190517d15b25SDag-Erling Smørgrav x$lt_dlno_uscore) $1 ;; 190617d15b25SDag-Erling Smørgrav x$lt_dlneed_uscore) $2 ;; 190717d15b25SDag-Erling Smørgrav x$lt_dlunknown|x*) $3 ;; 190817d15b25SDag-Erling Smørgrav esac 190917d15b25SDag-Erling Smørgrav else : 191017d15b25SDag-Erling Smørgrav # compilation failed 191117d15b25SDag-Erling Smørgrav $3 191217d15b25SDag-Erling Smørgrav fi 191317d15b25SDag-Erling Smørgravfi 191417d15b25SDag-Erling Smørgravrm -fr conftest* 191517d15b25SDag-Erling Smørgrav])# _LT_TRY_DLOPEN_SELF 191617d15b25SDag-Erling Smørgrav 191717d15b25SDag-Erling Smørgrav 191817d15b25SDag-Erling Smørgrav# LT_SYS_DLOPEN_SELF 191917d15b25SDag-Erling Smørgrav# ------------------ 192017d15b25SDag-Erling SmørgravAC_DEFUN([LT_SYS_DLOPEN_SELF], 192117d15b25SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl 1922986ba33cSDag-Erling Smørgravif test yes != "$enable_dlopen"; then 192317d15b25SDag-Erling Smørgrav enable_dlopen=unknown 192417d15b25SDag-Erling Smørgrav enable_dlopen_self=unknown 192517d15b25SDag-Erling Smørgrav enable_dlopen_self_static=unknown 192617d15b25SDag-Erling Smørgravelse 192717d15b25SDag-Erling Smørgrav lt_cv_dlopen=no 192817d15b25SDag-Erling Smørgrav lt_cv_dlopen_libs= 192917d15b25SDag-Erling Smørgrav 193017d15b25SDag-Erling Smørgrav case $host_os in 193117d15b25SDag-Erling Smørgrav beos*) 1932986ba33cSDag-Erling Smørgrav lt_cv_dlopen=load_add_on 193317d15b25SDag-Erling Smørgrav lt_cv_dlopen_libs= 193417d15b25SDag-Erling Smørgrav lt_cv_dlopen_self=yes 193517d15b25SDag-Erling Smørgrav ;; 193617d15b25SDag-Erling Smørgrav 193717d15b25SDag-Erling Smørgrav mingw* | pw32* | cegcc*) 1938986ba33cSDag-Erling Smørgrav lt_cv_dlopen=LoadLibrary 193917d15b25SDag-Erling Smørgrav lt_cv_dlopen_libs= 194017d15b25SDag-Erling Smørgrav ;; 194117d15b25SDag-Erling Smørgrav 194217d15b25SDag-Erling Smørgrav cygwin*) 1943986ba33cSDag-Erling Smørgrav lt_cv_dlopen=dlopen 194417d15b25SDag-Erling Smørgrav lt_cv_dlopen_libs= 194517d15b25SDag-Erling Smørgrav ;; 194617d15b25SDag-Erling Smørgrav 194717d15b25SDag-Erling Smørgrav darwin*) 194817d15b25SDag-Erling Smørgrav # if libdl is installed we need to link against it 194917d15b25SDag-Erling Smørgrav AC_CHECK_LIB([dl], [dlopen], 1950986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ 1951986ba33cSDag-Erling Smørgrav lt_cv_dlopen=dyld 195217d15b25SDag-Erling Smørgrav lt_cv_dlopen_libs= 195317d15b25SDag-Erling Smørgrav lt_cv_dlopen_self=yes 195417d15b25SDag-Erling Smørgrav ]) 195517d15b25SDag-Erling Smørgrav ;; 195617d15b25SDag-Erling Smørgrav 1957986ba33cSDag-Erling Smørgrav tpf*) 1958986ba33cSDag-Erling Smørgrav # Don't try to run any link tests for TPF. We know it's impossible 1959986ba33cSDag-Erling Smørgrav # because TPF is a cross-compiler, and we know how we open DSOs. 1960986ba33cSDag-Erling Smørgrav lt_cv_dlopen=dlopen 1961986ba33cSDag-Erling Smørgrav lt_cv_dlopen_libs= 1962986ba33cSDag-Erling Smørgrav lt_cv_dlopen_self=no 1963986ba33cSDag-Erling Smørgrav ;; 1964986ba33cSDag-Erling Smørgrav 196517d15b25SDag-Erling Smørgrav *) 196617d15b25SDag-Erling Smørgrav AC_CHECK_FUNC([shl_load], 1967986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=shl_load], 196817d15b25SDag-Erling Smørgrav [AC_CHECK_LIB([dld], [shl_load], 1969986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], 197017d15b25SDag-Erling Smørgrav [AC_CHECK_FUNC([dlopen], 1971986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=dlopen], 197217d15b25SDag-Erling Smørgrav [AC_CHECK_LIB([dl], [dlopen], 1973986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], 197417d15b25SDag-Erling Smørgrav [AC_CHECK_LIB([svld], [dlopen], 1975986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], 197617d15b25SDag-Erling Smørgrav [AC_CHECK_LIB([dld], [dld_link], 1977986ba33cSDag-Erling Smørgrav [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) 197817d15b25SDag-Erling Smørgrav ]) 197917d15b25SDag-Erling Smørgrav ]) 198017d15b25SDag-Erling Smørgrav ]) 198117d15b25SDag-Erling Smørgrav ]) 198217d15b25SDag-Erling Smørgrav ]) 198317d15b25SDag-Erling Smørgrav ;; 198417d15b25SDag-Erling Smørgrav esac 198517d15b25SDag-Erling Smørgrav 1986986ba33cSDag-Erling Smørgrav if test no = "$lt_cv_dlopen"; then 198717d15b25SDag-Erling Smørgrav enable_dlopen=no 1988986ba33cSDag-Erling Smørgrav else 1989986ba33cSDag-Erling Smørgrav enable_dlopen=yes 199017d15b25SDag-Erling Smørgrav fi 199117d15b25SDag-Erling Smørgrav 199217d15b25SDag-Erling Smørgrav case $lt_cv_dlopen in 199317d15b25SDag-Erling Smørgrav dlopen) 1994986ba33cSDag-Erling Smørgrav save_CPPFLAGS=$CPPFLAGS 1995986ba33cSDag-Erling Smørgrav test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 199617d15b25SDag-Erling Smørgrav 1997986ba33cSDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 199817d15b25SDag-Erling Smørgrav wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 199917d15b25SDag-Erling Smørgrav 2000986ba33cSDag-Erling Smørgrav save_LIBS=$LIBS 200117d15b25SDag-Erling Smørgrav LIBS="$lt_cv_dlopen_libs $LIBS" 200217d15b25SDag-Erling Smørgrav 200317d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([whether a program can dlopen itself], 200417d15b25SDag-Erling Smørgrav lt_cv_dlopen_self, [dnl 200517d15b25SDag-Erling Smørgrav _LT_TRY_DLOPEN_SELF( 200617d15b25SDag-Erling Smørgrav lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 200717d15b25SDag-Erling Smørgrav lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 200817d15b25SDag-Erling Smørgrav ]) 200917d15b25SDag-Erling Smørgrav 2010986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_dlopen_self"; then 201117d15b25SDag-Erling Smørgrav wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 201217d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 201317d15b25SDag-Erling Smørgrav lt_cv_dlopen_self_static, [dnl 201417d15b25SDag-Erling Smørgrav _LT_TRY_DLOPEN_SELF( 201517d15b25SDag-Erling Smørgrav lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 201617d15b25SDag-Erling Smørgrav lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 201717d15b25SDag-Erling Smørgrav ]) 201817d15b25SDag-Erling Smørgrav fi 201917d15b25SDag-Erling Smørgrav 2020986ba33cSDag-Erling Smørgrav CPPFLAGS=$save_CPPFLAGS 2021986ba33cSDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 2022986ba33cSDag-Erling Smørgrav LIBS=$save_LIBS 202317d15b25SDag-Erling Smørgrav ;; 202417d15b25SDag-Erling Smørgrav esac 202517d15b25SDag-Erling Smørgrav 202617d15b25SDag-Erling Smørgrav case $lt_cv_dlopen_self in 202717d15b25SDag-Erling Smørgrav yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 202817d15b25SDag-Erling Smørgrav *) enable_dlopen_self=unknown ;; 202917d15b25SDag-Erling Smørgrav esac 203017d15b25SDag-Erling Smørgrav 203117d15b25SDag-Erling Smørgrav case $lt_cv_dlopen_self_static in 203217d15b25SDag-Erling Smørgrav yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 203317d15b25SDag-Erling Smørgrav *) enable_dlopen_self_static=unknown ;; 203417d15b25SDag-Erling Smørgrav esac 203517d15b25SDag-Erling Smørgravfi 203617d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_support], [enable_dlopen], [0], 203717d15b25SDag-Erling Smørgrav [Whether dlopen is supported]) 203817d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 203917d15b25SDag-Erling Smørgrav [Whether dlopen of programs is supported]) 204017d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 204117d15b25SDag-Erling Smørgrav [Whether dlopen of statically linked programs is supported]) 204217d15b25SDag-Erling Smørgrav])# LT_SYS_DLOPEN_SELF 204317d15b25SDag-Erling Smørgrav 204417d15b25SDag-Erling Smørgrav# Old name: 204517d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 204617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 204717d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 204817d15b25SDag-Erling Smørgrav 204917d15b25SDag-Erling Smørgrav 205017d15b25SDag-Erling Smørgrav# _LT_COMPILER_C_O([TAGNAME]) 205117d15b25SDag-Erling Smørgrav# --------------------------- 205217d15b25SDag-Erling Smørgrav# Check to see if options -c and -o are simultaneously supported by compiler. 205317d15b25SDag-Erling Smørgrav# This macro does not hard code the compiler like AC_PROG_CC_C_O. 205417d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_C_O], 205517d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl 205617d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 205717d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 205817d15b25SDag-Erling SmørgravAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 205917d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 206017d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 206117d15b25SDag-Erling Smørgrav $RM -r conftest 2>/dev/null 206217d15b25SDag-Erling Smørgrav mkdir conftest 206317d15b25SDag-Erling Smørgrav cd conftest 206417d15b25SDag-Erling Smørgrav mkdir out 206517d15b25SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 206617d15b25SDag-Erling Smørgrav 206717d15b25SDag-Erling Smørgrav lt_compiler_flag="-o out/conftest2.$ac_objext" 206817d15b25SDag-Erling Smørgrav # Insert the option either (1) after the last *FLAGS variable, or 206917d15b25SDag-Erling Smørgrav # (2) before a word containing "conftest.", or (3) at the end. 207017d15b25SDag-Erling Smørgrav # Note that $ac_compile itself does not contain backslashes and begins 207117d15b25SDag-Erling Smørgrav # with a dollar sign (not a hyphen), so the echo should work correctly. 207217d15b25SDag-Erling Smørgrav lt_compile=`echo "$ac_compile" | $SED \ 207317d15b25SDag-Erling Smørgrav -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 207417d15b25SDag-Erling Smørgrav -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 207517d15b25SDag-Erling Smørgrav -e 's:$: $lt_compiler_flag:'` 207617d15b25SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 207717d15b25SDag-Erling Smørgrav (eval "$lt_compile" 2>out/conftest.err) 207817d15b25SDag-Erling Smørgrav ac_status=$? 207917d15b25SDag-Erling Smørgrav cat out/conftest.err >&AS_MESSAGE_LOG_FD 208017d15b25SDag-Erling Smørgrav echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 208117d15b25SDag-Erling Smørgrav if (exit $ac_status) && test -s out/conftest2.$ac_objext 208217d15b25SDag-Erling Smørgrav then 208317d15b25SDag-Erling Smørgrav # The compiler can only warn and ignore the option if not recognized 208417d15b25SDag-Erling Smørgrav # So say no if there are warnings 208517d15b25SDag-Erling Smørgrav $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 208617d15b25SDag-Erling Smørgrav $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 208717d15b25SDag-Erling Smørgrav if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 208817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 208917d15b25SDag-Erling Smørgrav fi 209017d15b25SDag-Erling Smørgrav fi 209117d15b25SDag-Erling Smørgrav chmod u+w . 2>&AS_MESSAGE_LOG_FD 209217d15b25SDag-Erling Smørgrav $RM conftest* 209317d15b25SDag-Erling Smørgrav # SGI C++ compiler will create directory out/ii_files/ for 209417d15b25SDag-Erling Smørgrav # template instantiation 209517d15b25SDag-Erling Smørgrav test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 209617d15b25SDag-Erling Smørgrav $RM out/* && rmdir out 209717d15b25SDag-Erling Smørgrav cd .. 209817d15b25SDag-Erling Smørgrav $RM -r conftest 209917d15b25SDag-Erling Smørgrav $RM conftest* 210017d15b25SDag-Erling Smørgrav]) 210117d15b25SDag-Erling Smørgrav_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 210217d15b25SDag-Erling Smørgrav [Does compiler simultaneously support -c and -o options?]) 210317d15b25SDag-Erling Smørgrav])# _LT_COMPILER_C_O 210417d15b25SDag-Erling Smørgrav 210517d15b25SDag-Erling Smørgrav 210617d15b25SDag-Erling Smørgrav# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 210717d15b25SDag-Erling Smørgrav# ---------------------------------- 210817d15b25SDag-Erling Smørgrav# Check to see if we can do hard links to lock some files if needed 210917d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_FILE_LOCKS], 211017d15b25SDag-Erling Smørgrav[m4_require([_LT_ENABLE_LOCK])dnl 211117d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 211217d15b25SDag-Erling Smørgrav_LT_COMPILER_C_O([$1]) 211317d15b25SDag-Erling Smørgrav 2114986ba33cSDag-Erling Smørgravhard_links=nottested 2115986ba33cSDag-Erling Smørgravif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then 211617d15b25SDag-Erling Smørgrav # do not overwrite the value of need_locks provided by the user 211717d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([if we can lock with hard links]) 211817d15b25SDag-Erling Smørgrav hard_links=yes 211917d15b25SDag-Erling Smørgrav $RM conftest* 212017d15b25SDag-Erling Smørgrav ln conftest.a conftest.b 2>/dev/null && hard_links=no 212117d15b25SDag-Erling Smørgrav touch conftest.a 212217d15b25SDag-Erling Smørgrav ln conftest.a conftest.b 2>&5 || hard_links=no 212317d15b25SDag-Erling Smørgrav ln conftest.a conftest.b 2>/dev/null && hard_links=no 212417d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$hard_links]) 2125986ba33cSDag-Erling Smørgrav if test no = "$hard_links"; then 2126986ba33cSDag-Erling Smørgrav AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) 212717d15b25SDag-Erling Smørgrav need_locks=warn 212817d15b25SDag-Erling Smørgrav fi 212917d15b25SDag-Erling Smørgravelse 213017d15b25SDag-Erling Smørgrav need_locks=no 213117d15b25SDag-Erling Smørgravfi 213217d15b25SDag-Erling Smørgrav_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 213317d15b25SDag-Erling Smørgrav])# _LT_COMPILER_FILE_LOCKS 213417d15b25SDag-Erling Smørgrav 213517d15b25SDag-Erling Smørgrav 213617d15b25SDag-Erling Smørgrav# _LT_CHECK_OBJDIR 213717d15b25SDag-Erling Smørgrav# ---------------- 213817d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_OBJDIR], 213917d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 214017d15b25SDag-Erling Smørgrav[rm -f .libs 2>/dev/null 214117d15b25SDag-Erling Smørgravmkdir .libs 2>/dev/null 214217d15b25SDag-Erling Smørgravif test -d .libs; then 214317d15b25SDag-Erling Smørgrav lt_cv_objdir=.libs 214417d15b25SDag-Erling Smørgravelse 214517d15b25SDag-Erling Smørgrav # MS-DOS does not allow filenames that begin with a dot. 214617d15b25SDag-Erling Smørgrav lt_cv_objdir=_libs 214717d15b25SDag-Erling Smørgravfi 214817d15b25SDag-Erling Smørgravrmdir .libs 2>/dev/null]) 214917d15b25SDag-Erling Smørgravobjdir=$lt_cv_objdir 215017d15b25SDag-Erling Smørgrav_LT_DECL([], [objdir], [0], 215117d15b25SDag-Erling Smørgrav [The name of the directory that contains temporary libtool files])dnl 215217d15b25SDag-Erling Smørgravm4_pattern_allow([LT_OBJDIR])dnl 2153986ba33cSDag-Erling SmørgravAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", 2154986ba33cSDag-Erling Smørgrav [Define to the sub-directory where libtool stores uninstalled libraries.]) 215517d15b25SDag-Erling Smørgrav])# _LT_CHECK_OBJDIR 215617d15b25SDag-Erling Smørgrav 215717d15b25SDag-Erling Smørgrav 215817d15b25SDag-Erling Smørgrav# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 215917d15b25SDag-Erling Smørgrav# -------------------------------------- 216017d15b25SDag-Erling Smørgrav# Check hardcoding attributes. 216117d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 216217d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([how to hardcode library paths into programs]) 216317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_action, $1)= 216417d15b25SDag-Erling Smørgravif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 216517d15b25SDag-Erling Smørgrav test -n "$_LT_TAGVAR(runpath_var, $1)" || 2166986ba33cSDag-Erling Smørgrav test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then 216717d15b25SDag-Erling Smørgrav 216817d15b25SDag-Erling Smørgrav # We can hardcode non-existent directories. 2169986ba33cSDag-Erling Smørgrav if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && 217017d15b25SDag-Erling Smørgrav # If the only mechanism to avoid hardcoding is shlibpath_var, we 217117d15b25SDag-Erling Smørgrav # have to relink, otherwise we might link with an installed library 217217d15b25SDag-Erling Smørgrav # when we should be linking with a yet-to-be-installed one 2173986ba33cSDag-Erling Smørgrav ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && 2174986ba33cSDag-Erling Smørgrav test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then 217517d15b25SDag-Erling Smørgrav # Linking always hardcodes the temporary library directory. 217617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=relink 217717d15b25SDag-Erling Smørgrav else 217817d15b25SDag-Erling Smørgrav # We can link without hardcoding, and we can hardcode nonexisting dirs. 217917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=immediate 218017d15b25SDag-Erling Smørgrav fi 218117d15b25SDag-Erling Smørgravelse 218217d15b25SDag-Erling Smørgrav # We cannot hardcode anything, or else we can only hardcode existing 218317d15b25SDag-Erling Smørgrav # directories. 218417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_action, $1)=unsupported 218517d15b25SDag-Erling Smørgravfi 218617d15b25SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 218717d15b25SDag-Erling Smørgrav 2188986ba33cSDag-Erling Smørgravif test relink = "$_LT_TAGVAR(hardcode_action, $1)" || 2189986ba33cSDag-Erling Smørgrav test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then 219017d15b25SDag-Erling Smørgrav # Fast installation is not supported 219117d15b25SDag-Erling Smørgrav enable_fast_install=no 2192986ba33cSDag-Erling Smørgravelif test yes = "$shlibpath_overrides_runpath" || 2193986ba33cSDag-Erling Smørgrav test no = "$enable_shared"; then 219417d15b25SDag-Erling Smørgrav # Fast installation is not necessary 219517d15b25SDag-Erling Smørgrav enable_fast_install=needless 219617d15b25SDag-Erling Smørgravfi 219717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_action], [0], 219817d15b25SDag-Erling Smørgrav [How to hardcode a shared library path into an executable]) 219917d15b25SDag-Erling Smørgrav])# _LT_LINKER_HARDCODE_LIBPATH 220017d15b25SDag-Erling Smørgrav 220117d15b25SDag-Erling Smørgrav 220217d15b25SDag-Erling Smørgrav# _LT_CMD_STRIPLIB 220317d15b25SDag-Erling Smørgrav# ---------------- 220417d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_STRIPLIB], 220517d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 220617d15b25SDag-Erling Smørgravstriplib= 220717d15b25SDag-Erling Smørgravold_striplib= 220817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([whether stripping libraries is possible]) 220917d15b25SDag-Erling Smørgravif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 221017d15b25SDag-Erling Smørgrav test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 221117d15b25SDag-Erling Smørgrav test -z "$striplib" && striplib="$STRIP --strip-unneeded" 221217d15b25SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 221317d15b25SDag-Erling Smørgravelse 221417d15b25SDag-Erling Smørgrav# FIXME - insert some real tests, host_os isn't really good enough 221517d15b25SDag-Erling Smørgrav case $host_os in 221617d15b25SDag-Erling Smørgrav darwin*) 221717d15b25SDag-Erling Smørgrav if test -n "$STRIP"; then 221817d15b25SDag-Erling Smørgrav striplib="$STRIP -x" 221917d15b25SDag-Erling Smørgrav old_striplib="$STRIP -S" 222017d15b25SDag-Erling Smørgrav AC_MSG_RESULT([yes]) 222117d15b25SDag-Erling Smørgrav else 222217d15b25SDag-Erling Smørgrav AC_MSG_RESULT([no]) 222317d15b25SDag-Erling Smørgrav fi 222417d15b25SDag-Erling Smørgrav ;; 222517d15b25SDag-Erling Smørgrav *) 222617d15b25SDag-Erling Smørgrav AC_MSG_RESULT([no]) 222717d15b25SDag-Erling Smørgrav ;; 222817d15b25SDag-Erling Smørgrav esac 222917d15b25SDag-Erling Smørgravfi 223017d15b25SDag-Erling Smørgrav_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 223117d15b25SDag-Erling Smørgrav_LT_DECL([], [striplib], [1]) 223217d15b25SDag-Erling Smørgrav])# _LT_CMD_STRIPLIB 223317d15b25SDag-Erling Smørgrav 223417d15b25SDag-Erling Smørgrav 2235986ba33cSDag-Erling Smørgrav# _LT_PREPARE_MUNGE_PATH_LIST 2236986ba33cSDag-Erling Smørgrav# --------------------------- 2237986ba33cSDag-Erling Smørgrav# Make sure func_munge_path_list() is defined correctly. 2238986ba33cSDag-Erling Smørgravm4_defun([_LT_PREPARE_MUNGE_PATH_LIST], 2239986ba33cSDag-Erling Smørgrav[[# func_munge_path_list VARIABLE PATH 2240986ba33cSDag-Erling Smørgrav# ----------------------------------- 2241986ba33cSDag-Erling Smørgrav# VARIABLE is name of variable containing _space_ separated list of 2242986ba33cSDag-Erling Smørgrav# directories to be munged by the contents of PATH, which is string 2243986ba33cSDag-Erling Smørgrav# having a format: 2244986ba33cSDag-Erling Smørgrav# "DIR[:DIR]:" 2245986ba33cSDag-Erling Smørgrav# string "DIR[ DIR]" will be prepended to VARIABLE 2246986ba33cSDag-Erling Smørgrav# ":DIR[:DIR]" 2247986ba33cSDag-Erling Smørgrav# string "DIR[ DIR]" will be appended to VARIABLE 2248986ba33cSDag-Erling Smørgrav# "DIRP[:DIRP]::[DIRA:]DIRA" 2249986ba33cSDag-Erling Smørgrav# string "DIRP[ DIRP]" will be prepended to VARIABLE and string 2250986ba33cSDag-Erling Smørgrav# "DIRA[ DIRA]" will be appended to VARIABLE 2251986ba33cSDag-Erling Smørgrav# "DIR[:DIR]" 2252986ba33cSDag-Erling Smørgrav# VARIABLE will be replaced by "DIR[ DIR]" 2253986ba33cSDag-Erling Smørgravfunc_munge_path_list () 2254986ba33cSDag-Erling Smørgrav{ 2255986ba33cSDag-Erling Smørgrav case x@S|@2 in 2256986ba33cSDag-Erling Smørgrav x) 2257986ba33cSDag-Erling Smørgrav ;; 2258986ba33cSDag-Erling Smørgrav *:) 2259986ba33cSDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" 2260986ba33cSDag-Erling Smørgrav ;; 2261986ba33cSDag-Erling Smørgrav x:*) 2262986ba33cSDag-Erling Smørgrav eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" 2263986ba33cSDag-Erling Smørgrav ;; 2264986ba33cSDag-Erling Smørgrav *::*) 2265986ba33cSDag-Erling Smørgrav eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" 2266986ba33cSDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" 2267986ba33cSDag-Erling Smørgrav ;; 2268986ba33cSDag-Erling Smørgrav *) 2269986ba33cSDag-Erling Smørgrav eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" 2270986ba33cSDag-Erling Smørgrav ;; 2271986ba33cSDag-Erling Smørgrav esac 2272986ba33cSDag-Erling Smørgrav} 2273986ba33cSDag-Erling Smørgrav]])# _LT_PREPARE_PATH_LIST 2274986ba33cSDag-Erling Smørgrav 2275986ba33cSDag-Erling Smørgrav 227617d15b25SDag-Erling Smørgrav# _LT_SYS_DYNAMIC_LINKER([TAG]) 227717d15b25SDag-Erling Smørgrav# ----------------------------- 227817d15b25SDag-Erling Smørgrav# PORTME Fill in your ld.so characteristics 227917d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_DYNAMIC_LINKER], 228017d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 228117d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 228217d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 228317d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])dnl 228417d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 228517d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl 2286986ba33cSDag-Erling Smørgravm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl 228717d15b25SDag-Erling SmørgravAC_MSG_CHECKING([dynamic linker characteristics]) 228817d15b25SDag-Erling Smørgravm4_if([$1], 228917d15b25SDag-Erling Smørgrav [], [ 2290986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then 229117d15b25SDag-Erling Smørgrav case $host_os in 2292986ba33cSDag-Erling Smørgrav darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 2293986ba33cSDag-Erling Smørgrav *) lt_awk_arg='/^libraries:/' ;; 229417d15b25SDag-Erling Smørgrav esac 229517d15b25SDag-Erling Smørgrav case $host_os in 2296986ba33cSDag-Erling Smørgrav mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; 2297986ba33cSDag-Erling Smørgrav *) lt_sed_strip_eq='s|=/|/|g' ;; 229817d15b25SDag-Erling Smørgrav esac 229917d15b25SDag-Erling Smørgrav lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 230017d15b25SDag-Erling Smørgrav case $lt_search_path_spec in 230117d15b25SDag-Erling Smørgrav *\;*) 230217d15b25SDag-Erling Smørgrav # if the path contains ";" then we assume it to be the separator 230317d15b25SDag-Erling Smørgrav # otherwise default to the standard path separator (i.e. ":") - it is 230417d15b25SDag-Erling Smørgrav # assumed that no part of a normal pathname contains ";" but that should 230517d15b25SDag-Erling Smørgrav # okay in the real world where ";" in dirpaths is itself problematic. 230617d15b25SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 230717d15b25SDag-Erling Smørgrav ;; 230817d15b25SDag-Erling Smørgrav *) 230917d15b25SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 231017d15b25SDag-Erling Smørgrav ;; 231117d15b25SDag-Erling Smørgrav esac 231217d15b25SDag-Erling Smørgrav # Ok, now we have the path, separated by spaces, we can step through it 2313986ba33cSDag-Erling Smørgrav # and add multilib dir if necessary... 231417d15b25SDag-Erling Smørgrav lt_tmp_lt_search_path_spec= 2315986ba33cSDag-Erling Smørgrav lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 2316986ba33cSDag-Erling Smørgrav # ...but if some path component already ends with the multilib dir we assume 2317986ba33cSDag-Erling Smørgrav # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). 2318986ba33cSDag-Erling Smørgrav case "$lt_multi_os_dir; $lt_search_path_spec " in 2319986ba33cSDag-Erling Smørgrav "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 2320986ba33cSDag-Erling Smørgrav lt_multi_os_dir= 2321986ba33cSDag-Erling Smørgrav ;; 2322986ba33cSDag-Erling Smørgrav esac 232317d15b25SDag-Erling Smørgrav for lt_sys_path in $lt_search_path_spec; do 2324986ba33cSDag-Erling Smørgrav if test -d "$lt_sys_path$lt_multi_os_dir"; then 2325986ba33cSDag-Erling Smørgrav lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" 2326986ba33cSDag-Erling Smørgrav elif test -n "$lt_multi_os_dir"; then 232717d15b25SDag-Erling Smørgrav test -d "$lt_sys_path" && \ 232817d15b25SDag-Erling Smørgrav lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 232917d15b25SDag-Erling Smørgrav fi 233017d15b25SDag-Erling Smørgrav done 233117d15b25SDag-Erling Smørgrav lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 233217d15b25SDag-Erling SmørgravBEGIN {RS = " "; FS = "/|\n";} { 233317d15b25SDag-Erling Smørgrav lt_foo = ""; 233417d15b25SDag-Erling Smørgrav lt_count = 0; 233517d15b25SDag-Erling Smørgrav for (lt_i = NF; lt_i > 0; lt_i--) { 233617d15b25SDag-Erling Smørgrav if ($lt_i != "" && $lt_i != ".") { 233717d15b25SDag-Erling Smørgrav if ($lt_i == "..") { 233817d15b25SDag-Erling Smørgrav lt_count++; 233917d15b25SDag-Erling Smørgrav } else { 234017d15b25SDag-Erling Smørgrav if (lt_count == 0) { 234117d15b25SDag-Erling Smørgrav lt_foo = "/" $lt_i lt_foo; 234217d15b25SDag-Erling Smørgrav } else { 234317d15b25SDag-Erling Smørgrav lt_count--; 234417d15b25SDag-Erling Smørgrav } 234517d15b25SDag-Erling Smørgrav } 234617d15b25SDag-Erling Smørgrav } 234717d15b25SDag-Erling Smørgrav } 234817d15b25SDag-Erling Smørgrav if (lt_foo != "") { lt_freq[[lt_foo]]++; } 234917d15b25SDag-Erling Smørgrav if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 235017d15b25SDag-Erling Smørgrav}'` 235117d15b25SDag-Erling Smørgrav # AWK program above erroneously prepends '/' to C:/dos/paths 235217d15b25SDag-Erling Smørgrav # for these hosts. 235317d15b25SDag-Erling Smørgrav case $host_os in 235417d15b25SDag-Erling Smørgrav mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 2355986ba33cSDag-Erling Smørgrav $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; 235617d15b25SDag-Erling Smørgrav esac 235717d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 235817d15b25SDag-Erling Smørgravelse 235917d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 236017d15b25SDag-Erling Smørgravfi]) 236117d15b25SDag-Erling Smørgravlibrary_names_spec= 236217d15b25SDag-Erling Smørgravlibname_spec='lib$name' 236317d15b25SDag-Erling Smørgravsoname_spec= 2364986ba33cSDag-Erling Smørgravshrext_cmds=.so 236517d15b25SDag-Erling Smørgravpostinstall_cmds= 236617d15b25SDag-Erling Smørgravpostuninstall_cmds= 236717d15b25SDag-Erling Smørgravfinish_cmds= 236817d15b25SDag-Erling Smørgravfinish_eval= 236917d15b25SDag-Erling Smørgravshlibpath_var= 237017d15b25SDag-Erling Smørgravshlibpath_overrides_runpath=unknown 237117d15b25SDag-Erling Smørgravversion_type=none 237217d15b25SDag-Erling Smørgravdynamic_linker="$host_os ld.so" 237317d15b25SDag-Erling Smørgravsys_lib_dlsearch_path_spec="/lib /usr/lib" 237417d15b25SDag-Erling Smørgravneed_lib_prefix=unknown 237517d15b25SDag-Erling Smørgravhardcode_into_libs=no 237617d15b25SDag-Erling Smørgrav 237717d15b25SDag-Erling Smørgrav# when you set need_version to no, make sure it does not cause -set_version 237817d15b25SDag-Erling Smørgrav# flags to be left without arguments 237917d15b25SDag-Erling Smørgravneed_version=unknown 238017d15b25SDag-Erling Smørgrav 2381986ba33cSDag-Erling SmørgravAC_ARG_VAR([LT_SYS_LIBRARY_PATH], 2382986ba33cSDag-Erling Smørgrav[User-defined run-time library search path.]) 2383986ba33cSDag-Erling Smørgrav 238417d15b25SDag-Erling Smørgravcase $host_os in 238517d15b25SDag-Erling Smørgravaix3*) 238617d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2387986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 238817d15b25SDag-Erling Smørgrav shlibpath_var=LIBPATH 238917d15b25SDag-Erling Smørgrav 239017d15b25SDag-Erling Smørgrav # AIX 3 has no versioning support, so we append a major version to the name. 2391986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 239217d15b25SDag-Erling Smørgrav ;; 239317d15b25SDag-Erling Smørgrav 239417d15b25SDag-Erling Smørgravaix[[4-9]]*) 239517d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 239617d15b25SDag-Erling Smørgrav need_lib_prefix=no 239717d15b25SDag-Erling Smørgrav need_version=no 239817d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 2399986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 240017d15b25SDag-Erling Smørgrav # AIX 5 supports IA64 2401986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 240217d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 240317d15b25SDag-Erling Smørgrav else 240417d15b25SDag-Erling Smørgrav # With GCC up to 2.95.x, collect2 would create an import file 240517d15b25SDag-Erling Smørgrav # for dependence libraries. The import file would start with 2406986ba33cSDag-Erling Smørgrav # the line '#! .'. This would cause the generated library to 2407986ba33cSDag-Erling Smørgrav # depend on '.', always an invalid library. This was fixed in 240817d15b25SDag-Erling Smørgrav # development snapshots of GCC prior to 3.0. 240917d15b25SDag-Erling Smørgrav case $host_os in 241017d15b25SDag-Erling Smørgrav aix4 | aix4.[[01]] | aix4.[[01]].*) 241117d15b25SDag-Erling Smørgrav if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 241217d15b25SDag-Erling Smørgrav echo ' yes ' 2413986ba33cSDag-Erling Smørgrav echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then 241417d15b25SDag-Erling Smørgrav : 241517d15b25SDag-Erling Smørgrav else 241617d15b25SDag-Erling Smørgrav can_build_shared=no 241717d15b25SDag-Erling Smørgrav fi 241817d15b25SDag-Erling Smørgrav ;; 241917d15b25SDag-Erling Smørgrav esac 2420986ba33cSDag-Erling Smørgrav # Using Import Files as archive members, it is possible to support 2421986ba33cSDag-Erling Smørgrav # filename-based versioning of shared library archives on AIX. While 2422986ba33cSDag-Erling Smørgrav # this would work for both with and without runtime linking, it will 2423986ba33cSDag-Erling Smørgrav # prevent static linking of such archives. So we do filename-based 2424986ba33cSDag-Erling Smørgrav # shared library versioning with .so extension only, which is used 2425986ba33cSDag-Erling Smørgrav # when both runtime linking and shared linking is enabled. 2426986ba33cSDag-Erling Smørgrav # Unfortunately, runtime linking may impact performance, so we do 2427986ba33cSDag-Erling Smørgrav # not want this to be the default eventually. Also, we use the 2428986ba33cSDag-Erling Smørgrav # versioned .so libs for executables only if there is the -brtl 2429986ba33cSDag-Erling Smørgrav # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 2430986ba33cSDag-Erling Smørgrav # To allow for filename-based versioning support, we need to create 2431986ba33cSDag-Erling Smørgrav # libNAME.so.V as an archive file, containing: 2432986ba33cSDag-Erling Smørgrav # *) an Import File, referring to the versioned filename of the 2433986ba33cSDag-Erling Smørgrav # archive as well as the shared archive member, telling the 2434986ba33cSDag-Erling Smørgrav # bitwidth (32 or 64) of that shared object, and providing the 2435986ba33cSDag-Erling Smørgrav # list of exported symbols of that shared object, eventually 2436986ba33cSDag-Erling Smørgrav # decorated with the 'weak' keyword 2437986ba33cSDag-Erling Smørgrav # *) the shared object with the F_LOADONLY flag set, to really avoid 2438986ba33cSDag-Erling Smørgrav # it being seen by the linker. 2439986ba33cSDag-Erling Smørgrav # At run time we better use the real file rather than another symlink, 2440986ba33cSDag-Erling Smørgrav # but for link time we create the symlink libNAME.so -> libNAME.so.V 2441986ba33cSDag-Erling Smørgrav 2442986ba33cSDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 244317d15b25SDag-Erling Smørgrav # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 244417d15b25SDag-Erling Smørgrav # soname into executable. Probably we can add versioning support to 244517d15b25SDag-Erling Smørgrav # collect2, so additional links can be useful in future. 2446986ba33cSDag-Erling Smørgrav aix,yes) # traditional libtool 2447986ba33cSDag-Erling Smørgrav dynamic_linker='AIX unversionable lib.so' 244817d15b25SDag-Erling Smørgrav # If using run time linking (on AIX 4.2 or later) use lib<name>.so 244917d15b25SDag-Erling Smørgrav # instead of lib<name>.a to let people know that these are not 245017d15b25SDag-Erling Smørgrav # typical AIX shared libraries. 2451986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2452986ba33cSDag-Erling Smørgrav ;; 2453986ba33cSDag-Erling Smørgrav aix,no) # traditional AIX only 2454986ba33cSDag-Erling Smørgrav dynamic_linker='AIX lib.a[(]lib.so.V[)]' 245517d15b25SDag-Erling Smørgrav # We preserve .a as extension for shared libraries through AIX4.2 245617d15b25SDag-Erling Smørgrav # and later when we are not doing run time linking. 2457986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release.a $libname.a' 2458986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2459986ba33cSDag-Erling Smørgrav ;; 2460986ba33cSDag-Erling Smørgrav svr4,*) # full svr4 only 2461986ba33cSDag-Erling Smørgrav dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" 2462986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2463986ba33cSDag-Erling Smørgrav # We do not specify a path in Import Files, so LIBPATH fires. 2464986ba33cSDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2465986ba33cSDag-Erling Smørgrav ;; 2466986ba33cSDag-Erling Smørgrav *,yes) # both, prefer svr4 2467986ba33cSDag-Erling Smørgrav dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" 2468986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2469986ba33cSDag-Erling Smørgrav # unpreferred sharedlib libNAME.a needs extra handling 2470986ba33cSDag-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"' 2471986ba33cSDag-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"' 2472986ba33cSDag-Erling Smørgrav # We do not specify a path in Import Files, so LIBPATH fires. 2473986ba33cSDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2474986ba33cSDag-Erling Smørgrav ;; 2475986ba33cSDag-Erling Smørgrav *,no) # both, prefer aix 2476986ba33cSDag-Erling Smørgrav dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" 2477986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release.a $libname.a' 2478986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2479986ba33cSDag-Erling Smørgrav # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling 2480986ba33cSDag-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)' 2481986ba33cSDag-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"' 2482986ba33cSDag-Erling Smørgrav ;; 2483986ba33cSDag-Erling Smørgrav esac 248417d15b25SDag-Erling Smørgrav shlibpath_var=LIBPATH 248517d15b25SDag-Erling Smørgrav fi 248617d15b25SDag-Erling Smørgrav ;; 248717d15b25SDag-Erling Smørgrav 248817d15b25SDag-Erling Smørgravamigaos*) 248917d15b25SDag-Erling Smørgrav case $host_cpu in 249017d15b25SDag-Erling Smørgrav powerpc) 249117d15b25SDag-Erling Smørgrav # Since July 2007 AmigaOS4 officially supports .so libraries. 249217d15b25SDag-Erling Smørgrav # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 2493986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 249417d15b25SDag-Erling Smørgrav ;; 249517d15b25SDag-Erling Smørgrav m68k) 249617d15b25SDag-Erling Smørgrav library_names_spec='$libname.ixlibrary $libname.a' 249717d15b25SDag-Erling Smørgrav # Create ${libname}_ixlibrary.a entries in /sys/libs. 2498986ba33cSDag-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' 249917d15b25SDag-Erling Smørgrav ;; 250017d15b25SDag-Erling Smørgrav esac 250117d15b25SDag-Erling Smørgrav ;; 250217d15b25SDag-Erling Smørgrav 250317d15b25SDag-Erling Smørgravbeos*) 2504986ba33cSDag-Erling Smørgrav library_names_spec='$libname$shared_ext' 250517d15b25SDag-Erling Smørgrav dynamic_linker="$host_os ld.so" 250617d15b25SDag-Erling Smørgrav shlibpath_var=LIBRARY_PATH 250717d15b25SDag-Erling Smørgrav ;; 250817d15b25SDag-Erling Smørgrav 250917d15b25SDag-Erling Smørgravbsdi[[45]]*) 251017d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 251117d15b25SDag-Erling Smørgrav need_version=no 2512986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2513986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 251417d15b25SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 251517d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 251617d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 251717d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 251817d15b25SDag-Erling Smørgrav # the default ld.so.conf also contains /usr/contrib/lib and 251917d15b25SDag-Erling Smørgrav # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 252017d15b25SDag-Erling Smørgrav # libtool to hard-code these into programs 252117d15b25SDag-Erling Smørgrav ;; 252217d15b25SDag-Erling Smørgrav 252317d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 252417d15b25SDag-Erling Smørgrav version_type=windows 2525986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 252617d15b25SDag-Erling Smørgrav need_version=no 252717d15b25SDag-Erling Smørgrav need_lib_prefix=no 252817d15b25SDag-Erling Smørgrav 252917d15b25SDag-Erling Smørgrav case $GCC,$cc_basename in 253017d15b25SDag-Erling Smørgrav yes,*) 253117d15b25SDag-Erling Smørgrav # gcc 253217d15b25SDag-Erling Smørgrav library_names_spec='$libname.dll.a' 253317d15b25SDag-Erling Smørgrav # DLL is installed to $(libdir)/../bin by postinstall_cmds 2534986ba33cSDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2535986ba33cSDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 253617d15b25SDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 253717d15b25SDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 253817d15b25SDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname~ 253917d15b25SDag-Erling Smørgrav chmod a+x \$dldir/$dlname~ 254017d15b25SDag-Erling Smørgrav if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 254117d15b25SDag-Erling Smørgrav eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 254217d15b25SDag-Erling Smørgrav fi' 254317d15b25SDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 254417d15b25SDag-Erling Smørgrav dlpath=$dir/\$dldll~ 254517d15b25SDag-Erling Smørgrav $RM \$dlpath' 254617d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 254717d15b25SDag-Erling Smørgrav 254817d15b25SDag-Erling Smørgrav case $host_os in 254917d15b25SDag-Erling Smørgrav cygwin*) 255017d15b25SDag-Erling Smørgrav # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2551986ba33cSDag-Erling Smørgrav soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 255217d15b25SDag-Erling Smørgravm4_if([$1], [],[ 255317d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 255417d15b25SDag-Erling Smørgrav ;; 255517d15b25SDag-Erling Smørgrav mingw* | cegcc*) 255617d15b25SDag-Erling Smørgrav # MinGW DLLs use traditional 'lib' prefix 2557986ba33cSDag-Erling Smørgrav soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 255817d15b25SDag-Erling Smørgrav ;; 255917d15b25SDag-Erling Smørgrav pw32*) 256017d15b25SDag-Erling Smørgrav # pw32 DLLs use 'pw' prefix rather than 'lib' 2561986ba33cSDag-Erling Smørgrav library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 256217d15b25SDag-Erling Smørgrav ;; 256317d15b25SDag-Erling Smørgrav esac 256417d15b25SDag-Erling Smørgrav dynamic_linker='Win32 ld.exe' 256517d15b25SDag-Erling Smørgrav ;; 256617d15b25SDag-Erling Smørgrav 256717d15b25SDag-Erling Smørgrav *,cl*) 256817d15b25SDag-Erling Smørgrav # Native MSVC 256917d15b25SDag-Erling Smørgrav libname_spec='$name' 2570986ba33cSDag-Erling Smørgrav soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2571986ba33cSDag-Erling Smørgrav library_names_spec='$libname.dll.lib' 257217d15b25SDag-Erling Smørgrav 257317d15b25SDag-Erling Smørgrav case $build_os in 257417d15b25SDag-Erling Smørgrav mingw*) 257517d15b25SDag-Erling Smørgrav sys_lib_search_path_spec= 257617d15b25SDag-Erling Smørgrav lt_save_ifs=$IFS 257717d15b25SDag-Erling Smørgrav IFS=';' 257817d15b25SDag-Erling Smørgrav for lt_path in $LIB 257917d15b25SDag-Erling Smørgrav do 258017d15b25SDag-Erling Smørgrav IFS=$lt_save_ifs 258117d15b25SDag-Erling Smørgrav # Let DOS variable expansion print the short 8.3 style file name. 258217d15b25SDag-Erling Smørgrav lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 258317d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 258417d15b25SDag-Erling Smørgrav done 258517d15b25SDag-Erling Smørgrav IFS=$lt_save_ifs 258617d15b25SDag-Erling Smørgrav # Convert to MSYS style. 258717d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 258817d15b25SDag-Erling Smørgrav ;; 258917d15b25SDag-Erling Smørgrav cygwin*) 259017d15b25SDag-Erling Smørgrav # Convert to unix form, then to dos form, then back to unix form 259117d15b25SDag-Erling Smørgrav # but this time dos style (no spaces!) so that the unix form looks 259217d15b25SDag-Erling Smørgrav # like /cygdrive/c/PROGRA~1:/cygdr... 259317d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 259417d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 259517d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 259617d15b25SDag-Erling Smørgrav ;; 259717d15b25SDag-Erling Smørgrav *) 2598986ba33cSDag-Erling Smørgrav sys_lib_search_path_spec=$LIB 259917d15b25SDag-Erling Smørgrav if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 260017d15b25SDag-Erling Smørgrav # It is most probably a Windows format PATH. 260117d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 260217d15b25SDag-Erling Smørgrav else 260317d15b25SDag-Erling Smørgrav sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 260417d15b25SDag-Erling Smørgrav fi 260517d15b25SDag-Erling Smørgrav # FIXME: find the short name or the path components, as spaces are 260617d15b25SDag-Erling Smørgrav # common. (e.g. "Program Files" -> "PROGRA~1") 260717d15b25SDag-Erling Smørgrav ;; 260817d15b25SDag-Erling Smørgrav esac 260917d15b25SDag-Erling Smørgrav 261017d15b25SDag-Erling Smørgrav # DLL is installed to $(libdir)/../bin by postinstall_cmds 2611986ba33cSDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2612986ba33cSDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 261317d15b25SDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 261417d15b25SDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 261517d15b25SDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname' 261617d15b25SDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 261717d15b25SDag-Erling Smørgrav dlpath=$dir/\$dldll~ 261817d15b25SDag-Erling Smørgrav $RM \$dlpath' 261917d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 262017d15b25SDag-Erling Smørgrav dynamic_linker='Win32 link.exe' 262117d15b25SDag-Erling Smørgrav ;; 262217d15b25SDag-Erling Smørgrav 262317d15b25SDag-Erling Smørgrav *) 262417d15b25SDag-Erling Smørgrav # Assume MSVC wrapper 2625986ba33cSDag-Erling Smørgrav library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' 262617d15b25SDag-Erling Smørgrav dynamic_linker='Win32 ld.exe' 262717d15b25SDag-Erling Smørgrav ;; 262817d15b25SDag-Erling Smørgrav esac 262917d15b25SDag-Erling Smørgrav # FIXME: first we should search . and the directory the executable is in 263017d15b25SDag-Erling Smørgrav shlibpath_var=PATH 263117d15b25SDag-Erling Smørgrav ;; 263217d15b25SDag-Erling Smørgrav 263317d15b25SDag-Erling Smørgravdarwin* | rhapsody*) 263417d15b25SDag-Erling Smørgrav dynamic_linker="$host_os dyld" 263517d15b25SDag-Erling Smørgrav version_type=darwin 263617d15b25SDag-Erling Smørgrav need_lib_prefix=no 263717d15b25SDag-Erling Smørgrav need_version=no 2638986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 2639986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$major$shared_ext' 264017d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 264117d15b25SDag-Erling Smørgrav shlibpath_var=DYLD_LIBRARY_PATH 264217d15b25SDag-Erling Smørgrav shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 264317d15b25SDag-Erling Smørgravm4_if([$1], [],[ 264417d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 264517d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 264617d15b25SDag-Erling Smørgrav ;; 264717d15b25SDag-Erling Smørgrav 264817d15b25SDag-Erling Smørgravdgux*) 264917d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 265017d15b25SDag-Erling Smørgrav need_lib_prefix=no 265117d15b25SDag-Erling Smørgrav need_version=no 2652986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2653986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 265417d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 265517d15b25SDag-Erling Smørgrav ;; 265617d15b25SDag-Erling Smørgrav 265717d15b25SDag-Erling Smørgravfreebsd* | dragonfly*) 265817d15b25SDag-Erling Smørgrav # DragonFly does not have aout. When/if they implement a new 265917d15b25SDag-Erling Smørgrav # versioning mechanism, adjust this. 266017d15b25SDag-Erling Smørgrav if test -x /usr/bin/objformat; then 266117d15b25SDag-Erling Smørgrav objformat=`/usr/bin/objformat` 266217d15b25SDag-Erling Smørgrav else 266317d15b25SDag-Erling Smørgrav case $host_os in 266417d15b25SDag-Erling Smørgrav freebsd[[23]].*) objformat=aout ;; 266517d15b25SDag-Erling Smørgrav *) objformat=elf ;; 266617d15b25SDag-Erling Smørgrav esac 266717d15b25SDag-Erling Smørgrav fi 266817d15b25SDag-Erling Smørgrav version_type=freebsd-$objformat 266917d15b25SDag-Erling Smørgrav case $version_type in 267017d15b25SDag-Erling Smørgrav freebsd-elf*) 2671986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2672986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 267317d15b25SDag-Erling Smørgrav need_version=no 267417d15b25SDag-Erling Smørgrav need_lib_prefix=no 267517d15b25SDag-Erling Smørgrav ;; 267617d15b25SDag-Erling Smørgrav freebsd-*) 2677986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 267817d15b25SDag-Erling Smørgrav need_version=yes 267917d15b25SDag-Erling Smørgrav ;; 268017d15b25SDag-Erling Smørgrav esac 268117d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 268217d15b25SDag-Erling Smørgrav case $host_os in 268317d15b25SDag-Erling Smørgrav freebsd2.*) 268417d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 268517d15b25SDag-Erling Smørgrav ;; 268617d15b25SDag-Erling Smørgrav freebsd3.[[01]]* | freebsdelf3.[[01]]*) 268717d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 268817d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 268917d15b25SDag-Erling Smørgrav ;; 269017d15b25SDag-Erling Smørgrav freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 269117d15b25SDag-Erling Smørgrav freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 269217d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 269317d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 269417d15b25SDag-Erling Smørgrav ;; 269517d15b25SDag-Erling Smørgrav *) # from 4.6 on, and DragonFly 269617d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 269717d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 269817d15b25SDag-Erling Smørgrav ;; 269917d15b25SDag-Erling Smørgrav esac 270017d15b25SDag-Erling Smørgrav ;; 270117d15b25SDag-Erling Smørgrav 270217d15b25SDag-Erling Smørgravhaiku*) 270317d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 270417d15b25SDag-Erling Smørgrav need_lib_prefix=no 270517d15b25SDag-Erling Smørgrav need_version=no 270617d15b25SDag-Erling Smørgrav dynamic_linker="$host_os runtime_loader" 2707986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2708986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 270917d15b25SDag-Erling Smørgrav shlibpath_var=LIBRARY_PATH 2710986ba33cSDag-Erling Smørgrav shlibpath_overrides_runpath=no 271117d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 271217d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 271317d15b25SDag-Erling Smørgrav ;; 271417d15b25SDag-Erling Smørgrav 271517d15b25SDag-Erling Smørgravhpux9* | hpux10* | hpux11*) 271617d15b25SDag-Erling Smørgrav # Give a soname corresponding to the major version so that dld.sl refuses to 271717d15b25SDag-Erling Smørgrav # link against other versions. 271817d15b25SDag-Erling Smørgrav version_type=sunos 271917d15b25SDag-Erling Smørgrav need_lib_prefix=no 272017d15b25SDag-Erling Smørgrav need_version=no 272117d15b25SDag-Erling Smørgrav case $host_cpu in 272217d15b25SDag-Erling Smørgrav ia64*) 272317d15b25SDag-Erling Smørgrav shrext_cmds='.so' 272417d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 272517d15b25SDag-Erling Smørgrav dynamic_linker="$host_os dld.so" 272617d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 272717d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2728986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2729986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2730986ba33cSDag-Erling Smørgrav if test 32 = "$HPUX_IA64_MODE"; then 273117d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 2732986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib/hpux32 273317d15b25SDag-Erling Smørgrav else 273417d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 2735986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib/hpux64 273617d15b25SDag-Erling Smørgrav fi 273717d15b25SDag-Erling Smørgrav ;; 273817d15b25SDag-Erling Smørgrav hppa*64*) 273917d15b25SDag-Erling Smørgrav shrext_cmds='.sl' 274017d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 274117d15b25SDag-Erling Smørgrav dynamic_linker="$host_os dld.sl" 274217d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 274317d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2744986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2745986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 274617d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 274717d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 274817d15b25SDag-Erling Smørgrav ;; 274917d15b25SDag-Erling Smørgrav *) 275017d15b25SDag-Erling Smørgrav shrext_cmds='.sl' 275117d15b25SDag-Erling Smørgrav dynamic_linker="$host_os dld.sl" 275217d15b25SDag-Erling Smørgrav shlibpath_var=SHLIB_PATH 275317d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2754986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2755986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 275617d15b25SDag-Erling Smørgrav ;; 275717d15b25SDag-Erling Smørgrav esac 275817d15b25SDag-Erling Smørgrav # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 275917d15b25SDag-Erling Smørgrav postinstall_cmds='chmod 555 $lib' 276017d15b25SDag-Erling Smørgrav # or fails outright, so override atomically: 276117d15b25SDag-Erling Smørgrav install_override_mode=555 276217d15b25SDag-Erling Smørgrav ;; 276317d15b25SDag-Erling Smørgrav 276417d15b25SDag-Erling Smørgravinterix[[3-9]]*) 276517d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 276617d15b25SDag-Erling Smørgrav need_lib_prefix=no 276717d15b25SDag-Erling Smørgrav need_version=no 2768986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2769986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 277017d15b25SDag-Erling Smørgrav dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 277117d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 277217d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 277317d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 277417d15b25SDag-Erling Smørgrav ;; 277517d15b25SDag-Erling Smørgrav 277617d15b25SDag-Erling Smørgravirix5* | irix6* | nonstopux*) 277717d15b25SDag-Erling Smørgrav case $host_os in 277817d15b25SDag-Erling Smørgrav nonstopux*) version_type=nonstopux ;; 277917d15b25SDag-Erling Smørgrav *) 2780986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_prog_gnu_ld"; then 278117d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 278217d15b25SDag-Erling Smørgrav else 278317d15b25SDag-Erling Smørgrav version_type=irix 278417d15b25SDag-Erling Smørgrav fi ;; 278517d15b25SDag-Erling Smørgrav esac 278617d15b25SDag-Erling Smørgrav need_lib_prefix=no 278717d15b25SDag-Erling Smørgrav need_version=no 2788986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2789986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' 279017d15b25SDag-Erling Smørgrav case $host_os in 279117d15b25SDag-Erling Smørgrav irix5* | nonstopux*) 279217d15b25SDag-Erling Smørgrav libsuff= shlibsuff= 279317d15b25SDag-Erling Smørgrav ;; 279417d15b25SDag-Erling Smørgrav *) 279517d15b25SDag-Erling Smørgrav case $LD in # libtool.m4 will add one of these switches to LD 279617d15b25SDag-Erling Smørgrav *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 279717d15b25SDag-Erling Smørgrav libsuff= shlibsuff= libmagic=32-bit;; 279817d15b25SDag-Erling Smørgrav *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 279917d15b25SDag-Erling Smørgrav libsuff=32 shlibsuff=N32 libmagic=N32;; 280017d15b25SDag-Erling Smørgrav *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 280117d15b25SDag-Erling Smørgrav libsuff=64 shlibsuff=64 libmagic=64-bit;; 280217d15b25SDag-Erling Smørgrav *) libsuff= shlibsuff= libmagic=never-match;; 280317d15b25SDag-Erling Smørgrav esac 280417d15b25SDag-Erling Smørgrav ;; 280517d15b25SDag-Erling Smørgrav esac 280617d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 280717d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 2808986ba33cSDag-Erling Smørgrav sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" 2809986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" 281017d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 281117d15b25SDag-Erling Smørgrav ;; 281217d15b25SDag-Erling Smørgrav 281317d15b25SDag-Erling Smørgrav# No shared lib support for Linux oldld, aout, or coff. 281417d15b25SDag-Erling Smørgravlinux*oldld* | linux*aout* | linux*coff*) 281517d15b25SDag-Erling Smørgrav dynamic_linker=no 281617d15b25SDag-Erling Smørgrav ;; 281717d15b25SDag-Erling Smørgrav 2818986ba33cSDag-Erling Smørgravlinux*android*) 2819986ba33cSDag-Erling Smørgrav version_type=none # Android doesn't support versioned libraries. 2820986ba33cSDag-Erling Smørgrav need_lib_prefix=no 2821986ba33cSDag-Erling Smørgrav need_version=no 2822986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext' 2823986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext' 2824986ba33cSDag-Erling Smørgrav finish_cmds= 2825986ba33cSDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 2826986ba33cSDag-Erling Smørgrav shlibpath_overrides_runpath=yes 2827986ba33cSDag-Erling Smørgrav 2828986ba33cSDag-Erling Smørgrav # This implies no fast_install, which is unacceptable. 2829986ba33cSDag-Erling Smørgrav # Some rework will be needed to allow for fast_install 2830986ba33cSDag-Erling Smørgrav # before this can be enabled. 2831986ba33cSDag-Erling Smørgrav hardcode_into_libs=yes 2832986ba33cSDag-Erling Smørgrav 2833986ba33cSDag-Erling Smørgrav dynamic_linker='Android linker' 2834986ba33cSDag-Erling Smørgrav # Don't embed -rpath directories since the linker doesn't support them. 2835986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 2836986ba33cSDag-Erling Smørgrav ;; 2837986ba33cSDag-Erling Smørgrav 283817d15b25SDag-Erling Smørgrav# This must be glibc/ELF. 2839986ba33cSDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 284017d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 284117d15b25SDag-Erling Smørgrav need_lib_prefix=no 284217d15b25SDag-Erling Smørgrav need_version=no 2843986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2844986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 284517d15b25SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 284617d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 284717d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 284817d15b25SDag-Erling Smørgrav 284917d15b25SDag-Erling Smørgrav # Some binutils ld are patched to set DT_RUNPATH 285017d15b25SDag-Erling Smørgrav AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 285117d15b25SDag-Erling Smørgrav [lt_cv_shlibpath_overrides_runpath=no 285217d15b25SDag-Erling Smørgrav save_LDFLAGS=$LDFLAGS 285317d15b25SDag-Erling Smørgrav save_libdir=$libdir 285417d15b25SDag-Erling Smørgrav eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 285517d15b25SDag-Erling Smørgrav LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 285617d15b25SDag-Erling Smørgrav AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 285717d15b25SDag-Erling Smørgrav [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 285817d15b25SDag-Erling Smørgrav [lt_cv_shlibpath_overrides_runpath=yes])]) 285917d15b25SDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS 286017d15b25SDag-Erling Smørgrav libdir=$save_libdir 286117d15b25SDag-Erling Smørgrav ]) 286217d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 286317d15b25SDag-Erling Smørgrav 286417d15b25SDag-Erling Smørgrav # This implies no fast_install, which is unacceptable. 286517d15b25SDag-Erling Smørgrav # Some rework will be needed to allow for fast_install 286617d15b25SDag-Erling Smørgrav # before this can be enabled. 286717d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 286817d15b25SDag-Erling Smørgrav 2869986ba33cSDag-Erling Smørgrav # Ideally, we could use ldconfig to report *all* directores which are 2870986ba33cSDag-Erling Smørgrav # searched for libraries, however this is still not possible. Aside from not 2871986ba33cSDag-Erling Smørgrav # being certain /sbin/ldconfig is available, command 2872986ba33cSDag-Erling Smørgrav # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, 2873986ba33cSDag-Erling Smørgrav # even though it is searched at run-time. Try to do the best guess by 2874986ba33cSDag-Erling Smørgrav # appending ld.so.conf contents (and includes) to the search path. 287517d15b25SDag-Erling Smørgrav if test -f /etc/ld.so.conf; then 287617d15b25SDag-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' ' '` 287717d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 287817d15b25SDag-Erling Smørgrav fi 287917d15b25SDag-Erling Smørgrav 288017d15b25SDag-Erling Smørgrav # We used to test for /lib/ld.so.1 and disable shared libraries on 288117d15b25SDag-Erling Smørgrav # powerpc, because MkLinux only supported shared libraries with the 288217d15b25SDag-Erling Smørgrav # GNU dynamic linker. Since this was broken with cross compilers, 288317d15b25SDag-Erling Smørgrav # most powerpc-linux boxes support dynamic linking these days and 288417d15b25SDag-Erling Smørgrav # people can always --disable-shared, the test was removed, and we 288517d15b25SDag-Erling Smørgrav # assume the GNU/Linux dynamic linker is in use. 288617d15b25SDag-Erling Smørgrav dynamic_linker='GNU/Linux ld.so' 288717d15b25SDag-Erling Smørgrav ;; 288817d15b25SDag-Erling Smørgrav 288917d15b25SDag-Erling Smørgravnetbsdelf*-gnu) 289017d15b25SDag-Erling Smørgrav version_type=linux 289117d15b25SDag-Erling Smørgrav need_lib_prefix=no 289217d15b25SDag-Erling Smørgrav need_version=no 289317d15b25SDag-Erling Smørgrav library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 289417d15b25SDag-Erling Smørgrav soname_spec='${libname}${release}${shared_ext}$major' 289517d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 289617d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 289717d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 289817d15b25SDag-Erling Smørgrav dynamic_linker='NetBSD ld.elf_so' 289917d15b25SDag-Erling Smørgrav ;; 290017d15b25SDag-Erling Smørgrav 290117d15b25SDag-Erling Smørgravnetbsd*) 290217d15b25SDag-Erling Smørgrav version_type=sunos 290317d15b25SDag-Erling Smørgrav need_lib_prefix=no 290417d15b25SDag-Erling Smørgrav need_version=no 290517d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 2906986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 290717d15b25SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 290817d15b25SDag-Erling Smørgrav dynamic_linker='NetBSD (a.out) ld.so' 290917d15b25SDag-Erling Smørgrav else 2910986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2911986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 291217d15b25SDag-Erling Smørgrav dynamic_linker='NetBSD ld.elf_so' 291317d15b25SDag-Erling Smørgrav fi 291417d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 291517d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 291617d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 291717d15b25SDag-Erling Smørgrav ;; 291817d15b25SDag-Erling Smørgrav 291917d15b25SDag-Erling Smørgravnewsos6) 292017d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 2921986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 292217d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 292317d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 292417d15b25SDag-Erling Smørgrav ;; 292517d15b25SDag-Erling Smørgrav 292617d15b25SDag-Erling Smørgrav*nto* | *qnx*) 292717d15b25SDag-Erling Smørgrav version_type=qnx 292817d15b25SDag-Erling Smørgrav need_lib_prefix=no 292917d15b25SDag-Erling Smørgrav need_version=no 2930986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2931986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 293217d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 293317d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 293417d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 293517d15b25SDag-Erling Smørgrav dynamic_linker='ldqnx.so' 293617d15b25SDag-Erling Smørgrav ;; 293717d15b25SDag-Erling Smørgrav 2938986ba33cSDag-Erling Smørgravopenbsd* | bitrig*) 293917d15b25SDag-Erling Smørgrav version_type=sunos 2940986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=/usr/lib 294117d15b25SDag-Erling Smørgrav need_lib_prefix=no 2942986ba33cSDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 2943986ba33cSDag-Erling Smørgrav need_version=no 2944986ba33cSDag-Erling Smørgrav else 2945986ba33cSDag-Erling Smørgrav need_version=yes 2946986ba33cSDag-Erling Smørgrav fi 2947986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 294817d15b25SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 294917d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 295017d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 295117d15b25SDag-Erling Smørgrav ;; 295217d15b25SDag-Erling Smørgrav 295317d15b25SDag-Erling Smørgravos2*) 295417d15b25SDag-Erling Smørgrav libname_spec='$name' 2955986ba33cSDag-Erling Smørgrav version_type=windows 2956986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 2957986ba33cSDag-Erling Smørgrav need_version=no 295817d15b25SDag-Erling Smørgrav need_lib_prefix=no 2959986ba33cSDag-Erling Smørgrav # OS/2 can only load a DLL with a base name of 8 characters or less. 2960986ba33cSDag-Erling Smørgrav soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; 2961986ba33cSDag-Erling Smørgrav v=$($ECHO $release$versuffix | tr -d .-); 2962986ba33cSDag-Erling Smørgrav n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); 2963986ba33cSDag-Erling Smørgrav $ECHO $n$v`$shared_ext' 2964986ba33cSDag-Erling Smørgrav library_names_spec='${libname}_dll.$libext' 296517d15b25SDag-Erling Smørgrav dynamic_linker='OS/2 ld.exe' 2966986ba33cSDag-Erling Smørgrav shlibpath_var=BEGINLIBPATH 2967986ba33cSDag-Erling Smørgrav sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2968986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2969986ba33cSDag-Erling Smørgrav postinstall_cmds='base_file=`basename \$file`~ 2970986ba33cSDag-Erling Smørgrav dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ 2971986ba33cSDag-Erling Smørgrav dldir=$destdir/`dirname \$dlpath`~ 2972986ba33cSDag-Erling Smørgrav test -d \$dldir || mkdir -p \$dldir~ 2973986ba33cSDag-Erling Smørgrav $install_prog $dir/$dlname \$dldir/$dlname~ 2974986ba33cSDag-Erling Smørgrav chmod a+x \$dldir/$dlname~ 2975986ba33cSDag-Erling Smørgrav if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2976986ba33cSDag-Erling Smørgrav eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2977986ba33cSDag-Erling Smørgrav fi' 2978986ba33cSDag-Erling Smørgrav postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ 2979986ba33cSDag-Erling Smørgrav dlpath=$dir/\$dldll~ 2980986ba33cSDag-Erling Smørgrav $RM \$dlpath' 298117d15b25SDag-Erling Smørgrav ;; 298217d15b25SDag-Erling Smørgrav 298317d15b25SDag-Erling Smørgravosf3* | osf4* | osf5*) 298417d15b25SDag-Erling Smørgrav version_type=osf 298517d15b25SDag-Erling Smørgrav need_lib_prefix=no 298617d15b25SDag-Erling Smørgrav need_version=no 2987986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 2988986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 298917d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 299017d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 2991986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 299217d15b25SDag-Erling Smørgrav ;; 299317d15b25SDag-Erling Smørgrav 299417d15b25SDag-Erling Smørgravrdos*) 299517d15b25SDag-Erling Smørgrav dynamic_linker=no 299617d15b25SDag-Erling Smørgrav ;; 299717d15b25SDag-Erling Smørgrav 299817d15b25SDag-Erling Smørgravsolaris*) 299917d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 300017d15b25SDag-Erling Smørgrav need_lib_prefix=no 300117d15b25SDag-Erling Smørgrav need_version=no 3002986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3003986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 300417d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 300517d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 300617d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 300717d15b25SDag-Erling Smørgrav # ldd complains unless libraries are executable 300817d15b25SDag-Erling Smørgrav postinstall_cmds='chmod +x $lib' 300917d15b25SDag-Erling Smørgrav ;; 301017d15b25SDag-Erling Smørgrav 301117d15b25SDag-Erling Smørgravsunos4*) 301217d15b25SDag-Erling Smørgrav version_type=sunos 3013986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 301417d15b25SDag-Erling Smørgrav finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 301517d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 301617d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 3017986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 301817d15b25SDag-Erling Smørgrav need_lib_prefix=no 301917d15b25SDag-Erling Smørgrav fi 302017d15b25SDag-Erling Smørgrav need_version=yes 302117d15b25SDag-Erling Smørgrav ;; 302217d15b25SDag-Erling Smørgrav 302317d15b25SDag-Erling Smørgravsysv4 | sysv4.3*) 302417d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3025986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3026986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 302717d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 302817d15b25SDag-Erling Smørgrav case $host_vendor in 302917d15b25SDag-Erling Smørgrav sni) 303017d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 303117d15b25SDag-Erling Smørgrav need_lib_prefix=no 303217d15b25SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 303317d15b25SDag-Erling Smørgrav ;; 303417d15b25SDag-Erling Smørgrav siemens) 303517d15b25SDag-Erling Smørgrav need_lib_prefix=no 303617d15b25SDag-Erling Smørgrav ;; 303717d15b25SDag-Erling Smørgrav motorola) 303817d15b25SDag-Erling Smørgrav need_lib_prefix=no 303917d15b25SDag-Erling Smørgrav need_version=no 304017d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 304117d15b25SDag-Erling Smørgrav sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 304217d15b25SDag-Erling Smørgrav ;; 304317d15b25SDag-Erling Smørgrav esac 304417d15b25SDag-Erling Smørgrav ;; 304517d15b25SDag-Erling Smørgrav 304617d15b25SDag-Erling Smørgravsysv4*MP*) 304717d15b25SDag-Erling Smørgrav if test -d /usr/nec; then 304817d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3049986ba33cSDag-Erling Smørgrav library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' 3050986ba33cSDag-Erling Smørgrav soname_spec='$libname$shared_ext.$major' 305117d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 305217d15b25SDag-Erling Smørgrav fi 305317d15b25SDag-Erling Smørgrav ;; 305417d15b25SDag-Erling Smørgrav 305517d15b25SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3056986ba33cSDag-Erling Smørgrav version_type=sco 305717d15b25SDag-Erling Smørgrav need_lib_prefix=no 305817d15b25SDag-Erling Smørgrav need_version=no 3059986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' 3060986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 306117d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 306217d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=yes 306317d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 3064986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 306517d15b25SDag-Erling Smørgrav sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 306617d15b25SDag-Erling Smørgrav else 306717d15b25SDag-Erling Smørgrav sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 306817d15b25SDag-Erling Smørgrav case $host_os in 306917d15b25SDag-Erling Smørgrav sco3.2v5*) 307017d15b25SDag-Erling Smørgrav sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 307117d15b25SDag-Erling Smørgrav ;; 307217d15b25SDag-Erling Smørgrav esac 307317d15b25SDag-Erling Smørgrav fi 307417d15b25SDag-Erling Smørgrav sys_lib_dlsearch_path_spec='/usr/lib' 307517d15b25SDag-Erling Smørgrav ;; 307617d15b25SDag-Erling Smørgrav 307717d15b25SDag-Erling Smørgravtpf*) 307817d15b25SDag-Erling Smørgrav # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 307917d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 308017d15b25SDag-Erling Smørgrav need_lib_prefix=no 308117d15b25SDag-Erling Smørgrav need_version=no 3082986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 308317d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 308417d15b25SDag-Erling Smørgrav shlibpath_overrides_runpath=no 308517d15b25SDag-Erling Smørgrav hardcode_into_libs=yes 308617d15b25SDag-Erling Smørgrav ;; 308717d15b25SDag-Erling Smørgrav 308817d15b25SDag-Erling Smørgravuts4*) 308917d15b25SDag-Erling Smørgrav version_type=linux # correct to gnu/linux during the next big refactor 3090986ba33cSDag-Erling Smørgrav library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3091986ba33cSDag-Erling Smørgrav soname_spec='$libname$release$shared_ext$major' 309217d15b25SDag-Erling Smørgrav shlibpath_var=LD_LIBRARY_PATH 309317d15b25SDag-Erling Smørgrav ;; 309417d15b25SDag-Erling Smørgrav 309517d15b25SDag-Erling Smørgrav*) 309617d15b25SDag-Erling Smørgrav dynamic_linker=no 309717d15b25SDag-Erling Smørgrav ;; 309817d15b25SDag-Erling Smørgravesac 309917d15b25SDag-Erling SmørgravAC_MSG_RESULT([$dynamic_linker]) 3100986ba33cSDag-Erling Smørgravtest no = "$dynamic_linker" && can_build_shared=no 310117d15b25SDag-Erling Smørgrav 310217d15b25SDag-Erling Smørgravvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 3103986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then 310417d15b25SDag-Erling Smørgrav variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 310517d15b25SDag-Erling Smørgravfi 310617d15b25SDag-Erling Smørgrav 3107986ba33cSDag-Erling Smørgravif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 3108986ba33cSDag-Erling Smørgrav sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 310917d15b25SDag-Erling Smørgravfi 3110986ba33cSDag-Erling Smørgrav 3111986ba33cSDag-Erling Smørgravif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 3112986ba33cSDag-Erling Smørgrav sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 311317d15b25SDag-Erling Smørgravfi 311417d15b25SDag-Erling Smørgrav 3115986ba33cSDag-Erling Smørgrav# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 3116986ba33cSDag-Erling Smørgravconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 3117986ba33cSDag-Erling Smørgrav 3118986ba33cSDag-Erling Smørgrav# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 3119986ba33cSDag-Erling Smørgravfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" 3120986ba33cSDag-Erling Smørgrav 3121986ba33cSDag-Erling Smørgrav# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool 3122986ba33cSDag-Erling Smørgravconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 3123986ba33cSDag-Erling Smørgrav 312417d15b25SDag-Erling Smørgrav_LT_DECL([], [variables_saved_for_relink], [1], 312517d15b25SDag-Erling Smørgrav [Variables whose values should be saved in libtool wrapper scripts and 312617d15b25SDag-Erling Smørgrav restored at link time]) 312717d15b25SDag-Erling Smørgrav_LT_DECL([], [need_lib_prefix], [0], 312817d15b25SDag-Erling Smørgrav [Do we need the "lib" prefix for modules?]) 312917d15b25SDag-Erling Smørgrav_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 313017d15b25SDag-Erling Smørgrav_LT_DECL([], [version_type], [0], [Library versioning type]) 313117d15b25SDag-Erling Smørgrav_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 313217d15b25SDag-Erling Smørgrav_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 313317d15b25SDag-Erling Smørgrav_LT_DECL([], [shlibpath_overrides_runpath], [0], 313417d15b25SDag-Erling Smørgrav [Is shlibpath searched before the hard-coded library search path?]) 313517d15b25SDag-Erling Smørgrav_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 313617d15b25SDag-Erling Smørgrav_LT_DECL([], [library_names_spec], [1], 313717d15b25SDag-Erling Smørgrav [[List of archive names. First name is the real one, the rest are links. 313817d15b25SDag-Erling Smørgrav The last name is the one that the linker finds with -lNAME]]) 313917d15b25SDag-Erling Smørgrav_LT_DECL([], [soname_spec], [1], 314017d15b25SDag-Erling Smørgrav [[The coded name of the library, if different from the real name]]) 314117d15b25SDag-Erling Smørgrav_LT_DECL([], [install_override_mode], [1], 314217d15b25SDag-Erling Smørgrav [Permission mode override for installation of shared libraries]) 314317d15b25SDag-Erling Smørgrav_LT_DECL([], [postinstall_cmds], [2], 314417d15b25SDag-Erling Smørgrav [Command to use after installation of a shared archive]) 314517d15b25SDag-Erling Smørgrav_LT_DECL([], [postuninstall_cmds], [2], 314617d15b25SDag-Erling Smørgrav [Command to use after uninstallation of a shared archive]) 314717d15b25SDag-Erling Smørgrav_LT_DECL([], [finish_cmds], [2], 314817d15b25SDag-Erling Smørgrav [Commands used to finish a libtool library installation in a directory]) 314917d15b25SDag-Erling Smørgrav_LT_DECL([], [finish_eval], [1], 315017d15b25SDag-Erling Smørgrav [[As "finish_cmds", except a single script fragment to be evaled but 315117d15b25SDag-Erling Smørgrav not shown]]) 315217d15b25SDag-Erling Smørgrav_LT_DECL([], [hardcode_into_libs], [0], 315317d15b25SDag-Erling Smørgrav [Whether we should hardcode library paths into libraries]) 315417d15b25SDag-Erling Smørgrav_LT_DECL([], [sys_lib_search_path_spec], [2], 315517d15b25SDag-Erling Smørgrav [Compile-time system search path for libraries]) 3156986ba33cSDag-Erling Smørgrav_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], 3157986ba33cSDag-Erling Smørgrav [Detected run-time system search path for libraries]) 3158986ba33cSDag-Erling Smørgrav_LT_DECL([], [configure_time_lt_sys_library_path], [2], 3159986ba33cSDag-Erling Smørgrav [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) 316017d15b25SDag-Erling Smørgrav])# _LT_SYS_DYNAMIC_LINKER 316117d15b25SDag-Erling Smørgrav 316217d15b25SDag-Erling Smørgrav 316317d15b25SDag-Erling Smørgrav# _LT_PATH_TOOL_PREFIX(TOOL) 316417d15b25SDag-Erling Smørgrav# -------------------------- 3165986ba33cSDag-Erling Smørgrav# find a file program that can recognize shared library 316617d15b25SDag-Erling SmørgravAC_DEFUN([_LT_PATH_TOOL_PREFIX], 316717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl 316817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([for $1]) 316917d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 317017d15b25SDag-Erling Smørgrav[case $MAGIC_CMD in 317117d15b25SDag-Erling Smørgrav[[\\/*] | ?:[\\/]*]) 3172986ba33cSDag-Erling Smørgrav lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. 317317d15b25SDag-Erling Smørgrav ;; 317417d15b25SDag-Erling Smørgrav*) 3175986ba33cSDag-Erling Smørgrav lt_save_MAGIC_CMD=$MAGIC_CMD 3176986ba33cSDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 317717d15b25SDag-Erling Smørgravdnl $ac_dummy forces splitting on constant user-supplied paths. 317817d15b25SDag-Erling Smørgravdnl POSIX.2 word splitting is done only on the output of word expansions, 317917d15b25SDag-Erling Smørgravdnl not every word. This closes a longstanding sh security hole. 318017d15b25SDag-Erling Smørgrav ac_dummy="m4_if([$2], , $PATH, [$2])" 318117d15b25SDag-Erling Smørgrav for ac_dir in $ac_dummy; do 3182986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 318317d15b25SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 3184986ba33cSDag-Erling Smørgrav if test -f "$ac_dir/$1"; then 3185986ba33cSDag-Erling Smørgrav lt_cv_path_MAGIC_CMD=$ac_dir/"$1" 318617d15b25SDag-Erling Smørgrav if test -n "$file_magic_test_file"; then 318717d15b25SDag-Erling Smørgrav case $deplibs_check_method in 318817d15b25SDag-Erling Smørgrav "file_magic "*) 318917d15b25SDag-Erling Smørgrav file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 3190986ba33cSDag-Erling Smørgrav MAGIC_CMD=$lt_cv_path_MAGIC_CMD 319117d15b25SDag-Erling Smørgrav if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 319217d15b25SDag-Erling Smørgrav $EGREP "$file_magic_regex" > /dev/null; then 319317d15b25SDag-Erling Smørgrav : 319417d15b25SDag-Erling Smørgrav else 319517d15b25SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 319617d15b25SDag-Erling Smørgrav 319717d15b25SDag-Erling Smørgrav*** Warning: the command libtool uses to detect shared libraries, 319817d15b25SDag-Erling Smørgrav*** $file_magic_cmd, produces output that libtool cannot recognize. 319917d15b25SDag-Erling Smørgrav*** The result is that libtool may fail to recognize shared libraries 320017d15b25SDag-Erling Smørgrav*** as such. This will affect the creation of libtool libraries that 320117d15b25SDag-Erling Smørgrav*** depend on shared libraries, but programs linked with such libtool 320217d15b25SDag-Erling Smørgrav*** libraries will work regardless of this problem. Nevertheless, you 320317d15b25SDag-Erling Smørgrav*** may want to report the problem to your system manager and/or to 320417d15b25SDag-Erling Smørgrav*** bug-libtool@gnu.org 320517d15b25SDag-Erling Smørgrav 320617d15b25SDag-Erling Smørgrav_LT_EOF 320717d15b25SDag-Erling Smørgrav fi ;; 320817d15b25SDag-Erling Smørgrav esac 320917d15b25SDag-Erling Smørgrav fi 321017d15b25SDag-Erling Smørgrav break 321117d15b25SDag-Erling Smørgrav fi 321217d15b25SDag-Erling Smørgrav done 3213986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 3214986ba33cSDag-Erling Smørgrav MAGIC_CMD=$lt_save_MAGIC_CMD 321517d15b25SDag-Erling Smørgrav ;; 321617d15b25SDag-Erling Smørgravesac]) 3217986ba33cSDag-Erling SmørgravMAGIC_CMD=$lt_cv_path_MAGIC_CMD 321817d15b25SDag-Erling Smørgravif test -n "$MAGIC_CMD"; then 321917d15b25SDag-Erling Smørgrav AC_MSG_RESULT($MAGIC_CMD) 322017d15b25SDag-Erling Smørgravelse 322117d15b25SDag-Erling Smørgrav AC_MSG_RESULT(no) 322217d15b25SDag-Erling Smørgravfi 322317d15b25SDag-Erling Smørgrav_LT_DECL([], [MAGIC_CMD], [0], 322417d15b25SDag-Erling Smørgrav [Used to examine libraries when file_magic_cmd begins with "file"])dnl 322517d15b25SDag-Erling Smørgrav])# _LT_PATH_TOOL_PREFIX 322617d15b25SDag-Erling Smørgrav 322717d15b25SDag-Erling Smørgrav# Old name: 322817d15b25SDag-Erling SmørgravAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 322917d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 323017d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 323117d15b25SDag-Erling Smørgrav 323217d15b25SDag-Erling Smørgrav 323317d15b25SDag-Erling Smørgrav# _LT_PATH_MAGIC 323417d15b25SDag-Erling Smørgrav# -------------- 3235986ba33cSDag-Erling Smørgrav# find a file program that can recognize a shared library 323617d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_MAGIC], 323717d15b25SDag-Erling Smørgrav[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 323817d15b25SDag-Erling Smørgravif test -z "$lt_cv_path_MAGIC_CMD"; then 323917d15b25SDag-Erling Smørgrav if test -n "$ac_tool_prefix"; then 324017d15b25SDag-Erling Smørgrav _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 324117d15b25SDag-Erling Smørgrav else 324217d15b25SDag-Erling Smørgrav MAGIC_CMD=: 324317d15b25SDag-Erling Smørgrav fi 324417d15b25SDag-Erling Smørgravfi 324517d15b25SDag-Erling Smørgrav])# _LT_PATH_MAGIC 324617d15b25SDag-Erling Smørgrav 324717d15b25SDag-Erling Smørgrav 324817d15b25SDag-Erling Smørgrav# LT_PATH_LD 324917d15b25SDag-Erling Smørgrav# ---------- 325017d15b25SDag-Erling Smørgrav# find the pathname to the GNU or non-GNU linker 325117d15b25SDag-Erling SmørgravAC_DEFUN([LT_PATH_LD], 325217d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 325317d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_HOST])dnl 325417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 325517d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 325617d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 325717d15b25SDag-Erling Smørgravm4_require([_LT_PROG_ECHO_BACKSLASH])dnl 325817d15b25SDag-Erling Smørgrav 325917d15b25SDag-Erling SmørgravAC_ARG_WITH([gnu-ld], 326017d15b25SDag-Erling Smørgrav [AS_HELP_STRING([--with-gnu-ld], 326117d15b25SDag-Erling Smørgrav [assume the C compiler uses GNU ld @<:@default=no@:>@])], 3262986ba33cSDag-Erling Smørgrav [test no = "$withval" || with_gnu_ld=yes], 326317d15b25SDag-Erling Smørgrav [with_gnu_ld=no])dnl 326417d15b25SDag-Erling Smørgrav 326517d15b25SDag-Erling Smørgravac_prog=ld 3266986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then 326717d15b25SDag-Erling Smørgrav # Check if gcc -print-prog-name=ld gives a path. 326817d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([for ld used by $CC]) 326917d15b25SDag-Erling Smørgrav case $host in 327017d15b25SDag-Erling Smørgrav *-*-mingw*) 3271986ba33cSDag-Erling Smørgrav # gcc leaves a trailing carriage return, which upsets mingw 327217d15b25SDag-Erling Smørgrav ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 327317d15b25SDag-Erling Smørgrav *) 327417d15b25SDag-Erling Smørgrav ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 327517d15b25SDag-Erling Smørgrav esac 327617d15b25SDag-Erling Smørgrav case $ac_prog in 327717d15b25SDag-Erling Smørgrav # Accept absolute paths. 327817d15b25SDag-Erling Smørgrav [[\\/]]* | ?:[[\\/]]*) 327917d15b25SDag-Erling Smørgrav re_direlt='/[[^/]][[^/]]*/\.\./' 328017d15b25SDag-Erling Smørgrav # Canonicalize the pathname of ld 328117d15b25SDag-Erling Smørgrav ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 328217d15b25SDag-Erling Smørgrav while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 328317d15b25SDag-Erling Smørgrav ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 328417d15b25SDag-Erling Smørgrav done 3285986ba33cSDag-Erling Smørgrav test -z "$LD" && LD=$ac_prog 328617d15b25SDag-Erling Smørgrav ;; 328717d15b25SDag-Erling Smørgrav "") 328817d15b25SDag-Erling Smørgrav # If it fails, then pretend we aren't using GCC. 328917d15b25SDag-Erling Smørgrav ac_prog=ld 329017d15b25SDag-Erling Smørgrav ;; 329117d15b25SDag-Erling Smørgrav *) 329217d15b25SDag-Erling Smørgrav # If it is relative, then search for the first ld in PATH. 329317d15b25SDag-Erling Smørgrav with_gnu_ld=unknown 329417d15b25SDag-Erling Smørgrav ;; 329517d15b25SDag-Erling Smørgrav esac 3296986ba33cSDag-Erling Smørgravelif test yes = "$with_gnu_ld"; then 329717d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([for GNU ld]) 329817d15b25SDag-Erling Smørgravelse 329917d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([for non-GNU ld]) 330017d15b25SDag-Erling Smørgravfi 330117d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_LD, 330217d15b25SDag-Erling Smørgrav[if test -z "$LD"; then 3303986ba33cSDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 330417d15b25SDag-Erling Smørgrav for ac_dir in $PATH; do 3305986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 330617d15b25SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 330717d15b25SDag-Erling Smørgrav if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 3308986ba33cSDag-Erling Smørgrav lt_cv_path_LD=$ac_dir/$ac_prog 330917d15b25SDag-Erling Smørgrav # Check to see if the program is GNU ld. I'd rather use --version, 331017d15b25SDag-Erling Smørgrav # but apparently some variants of GNU ld only accept -v. 331117d15b25SDag-Erling Smørgrav # Break only if it was the GNU/non-GNU ld that we prefer. 331217d15b25SDag-Erling Smørgrav case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 331317d15b25SDag-Erling Smørgrav *GNU* | *'with BFD'*) 3314986ba33cSDag-Erling Smørgrav test no != "$with_gnu_ld" && break 331517d15b25SDag-Erling Smørgrav ;; 331617d15b25SDag-Erling Smørgrav *) 3317986ba33cSDag-Erling Smørgrav test yes != "$with_gnu_ld" && break 331817d15b25SDag-Erling Smørgrav ;; 331917d15b25SDag-Erling Smørgrav esac 332017d15b25SDag-Erling Smørgrav fi 332117d15b25SDag-Erling Smørgrav done 3322986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 332317d15b25SDag-Erling Smørgravelse 3324986ba33cSDag-Erling Smørgrav lt_cv_path_LD=$LD # Let the user override the test with a path. 332517d15b25SDag-Erling Smørgravfi]) 3326986ba33cSDag-Erling SmørgravLD=$lt_cv_path_LD 332717d15b25SDag-Erling Smørgravif test -n "$LD"; then 332817d15b25SDag-Erling Smørgrav AC_MSG_RESULT($LD) 332917d15b25SDag-Erling Smørgravelse 333017d15b25SDag-Erling Smørgrav AC_MSG_RESULT(no) 333117d15b25SDag-Erling Smørgravfi 333217d15b25SDag-Erling Smørgravtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 333317d15b25SDag-Erling Smørgrav_LT_PATH_LD_GNU 333417d15b25SDag-Erling SmørgravAC_SUBST([LD]) 333517d15b25SDag-Erling Smørgrav 333617d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 333717d15b25SDag-Erling Smørgrav])# LT_PATH_LD 333817d15b25SDag-Erling Smørgrav 333917d15b25SDag-Erling Smørgrav# Old names: 334017d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 334117d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 334217d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 334317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LD], []) 334417d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LD], []) 334517d15b25SDag-Erling Smørgrav 334617d15b25SDag-Erling Smørgrav 334717d15b25SDag-Erling Smørgrav# _LT_PATH_LD_GNU 334817d15b25SDag-Erling Smørgrav#- -------------- 334917d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_LD_GNU], 335017d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 335117d15b25SDag-Erling Smørgrav[# I'd rather use --version here, but apparently some GNU lds only accept -v. 335217d15b25SDag-Erling Smørgravcase `$LD -v 2>&1 </dev/null` in 335317d15b25SDag-Erling Smørgrav*GNU* | *'with BFD'*) 335417d15b25SDag-Erling Smørgrav lt_cv_prog_gnu_ld=yes 335517d15b25SDag-Erling Smørgrav ;; 335617d15b25SDag-Erling Smørgrav*) 335717d15b25SDag-Erling Smørgrav lt_cv_prog_gnu_ld=no 335817d15b25SDag-Erling Smørgrav ;; 335917d15b25SDag-Erling Smørgravesac]) 336017d15b25SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld 336117d15b25SDag-Erling Smørgrav])# _LT_PATH_LD_GNU 336217d15b25SDag-Erling Smørgrav 336317d15b25SDag-Erling Smørgrav 336417d15b25SDag-Erling Smørgrav# _LT_CMD_RELOAD 336517d15b25SDag-Erling Smørgrav# -------------- 336617d15b25SDag-Erling Smørgrav# find reload flag for linker 336717d15b25SDag-Erling Smørgrav# -- PORTME Some linkers may need a different reload flag. 336817d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_RELOAD], 336917d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([for $LD option to reload object files], 337017d15b25SDag-Erling Smørgrav lt_cv_ld_reload_flag, 337117d15b25SDag-Erling Smørgrav [lt_cv_ld_reload_flag='-r']) 337217d15b25SDag-Erling Smørgravreload_flag=$lt_cv_ld_reload_flag 337317d15b25SDag-Erling Smørgravcase $reload_flag in 337417d15b25SDag-Erling Smørgrav"" | " "*) ;; 337517d15b25SDag-Erling Smørgrav*) reload_flag=" $reload_flag" ;; 337617d15b25SDag-Erling Smørgravesac 337717d15b25SDag-Erling Smørgravreload_cmds='$LD$reload_flag -o $output$reload_objs' 337817d15b25SDag-Erling Smørgravcase $host_os in 337917d15b25SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 3380986ba33cSDag-Erling Smørgrav if test yes != "$GCC"; then 338117d15b25SDag-Erling Smørgrav reload_cmds=false 338217d15b25SDag-Erling Smørgrav fi 338317d15b25SDag-Erling Smørgrav ;; 338417d15b25SDag-Erling Smørgrav darwin*) 3385986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 3386986ba33cSDag-Erling Smørgrav reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 338717d15b25SDag-Erling Smørgrav else 338817d15b25SDag-Erling Smørgrav reload_cmds='$LD$reload_flag -o $output$reload_objs' 338917d15b25SDag-Erling Smørgrav fi 339017d15b25SDag-Erling Smørgrav ;; 339117d15b25SDag-Erling Smørgravesac 339217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 339317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [reload_cmds], [2])dnl 339417d15b25SDag-Erling Smørgrav])# _LT_CMD_RELOAD 339517d15b25SDag-Erling Smørgrav 339617d15b25SDag-Erling Smørgrav 3397986ba33cSDag-Erling Smørgrav# _LT_PATH_DD 3398986ba33cSDag-Erling Smørgrav# ----------- 3399986ba33cSDag-Erling Smørgrav# find a working dd 3400986ba33cSDag-Erling Smørgravm4_defun([_LT_PATH_DD], 3401986ba33cSDag-Erling Smørgrav[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], 3402986ba33cSDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i 3403986ba33cSDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i 3404986ba33cSDag-Erling Smørgrav: ${lt_DD:=$DD} 3405986ba33cSDag-Erling SmørgravAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], 3406986ba33cSDag-Erling Smørgrav[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3407986ba33cSDag-Erling Smørgrav cmp -s conftest.i conftest.out \ 3408986ba33cSDag-Erling Smørgrav && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 3409986ba33cSDag-Erling Smørgravfi]) 3410986ba33cSDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out]) 3411986ba33cSDag-Erling Smørgrav])# _LT_PATH_DD 3412986ba33cSDag-Erling Smørgrav 3413986ba33cSDag-Erling Smørgrav 3414986ba33cSDag-Erling Smørgrav# _LT_CMD_TRUNCATE 3415986ba33cSDag-Erling Smørgrav# ---------------- 3416986ba33cSDag-Erling Smørgrav# find command to truncate a binary pipe 3417986ba33cSDag-Erling Smørgravm4_defun([_LT_CMD_TRUNCATE], 3418986ba33cSDag-Erling Smørgrav[m4_require([_LT_PATH_DD]) 3419986ba33cSDag-Erling SmørgravAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], 3420986ba33cSDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i 3421986ba33cSDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i 3422986ba33cSDag-Erling Smørgravlt_cv_truncate_bin= 3423986ba33cSDag-Erling Smørgravif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3424986ba33cSDag-Erling Smørgrav cmp -s conftest.i conftest.out \ 3425986ba33cSDag-Erling Smørgrav && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 3426986ba33cSDag-Erling Smørgravfi 3427986ba33cSDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out 3428986ba33cSDag-Erling Smørgravtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) 3429986ba33cSDag-Erling Smørgrav_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], 3430986ba33cSDag-Erling Smørgrav [Command to truncate a binary pipe]) 3431986ba33cSDag-Erling Smørgrav])# _LT_CMD_TRUNCATE 3432986ba33cSDag-Erling Smørgrav 3433986ba33cSDag-Erling Smørgrav 343417d15b25SDag-Erling Smørgrav# _LT_CHECK_MAGIC_METHOD 343517d15b25SDag-Erling Smørgrav# ---------------------- 343617d15b25SDag-Erling Smørgrav# how to check for library dependencies 343717d15b25SDag-Erling Smørgrav# -- PORTME fill in with the dynamic library characteristics 343817d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_MAGIC_METHOD], 343917d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 344017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP]) 344117d15b25SDag-Erling SmørgravAC_CACHE_CHECK([how to recognize dependent libraries], 344217d15b25SDag-Erling Smørgravlt_cv_deplibs_check_method, 344317d15b25SDag-Erling Smørgrav[lt_cv_file_magic_cmd='$MAGIC_CMD' 344417d15b25SDag-Erling Smørgravlt_cv_file_magic_test_file= 344517d15b25SDag-Erling Smørgravlt_cv_deplibs_check_method='unknown' 344617d15b25SDag-Erling Smørgrav# Need to set the preceding variable on all platforms that support 344717d15b25SDag-Erling Smørgrav# interlibrary dependencies. 344817d15b25SDag-Erling Smørgrav# 'none' -- dependencies not supported. 3449986ba33cSDag-Erling Smørgrav# 'unknown' -- same as none, but documents that we really don't know. 345017d15b25SDag-Erling Smørgrav# 'pass_all' -- all dependencies passed with no checks. 345117d15b25SDag-Erling Smørgrav# 'test_compile' -- check by making test program. 345217d15b25SDag-Erling Smørgrav# 'file_magic [[regex]]' -- check by looking for files in library path 3453986ba33cSDag-Erling Smørgrav# that responds to the $file_magic_cmd with a given extended regex. 3454986ba33cSDag-Erling Smørgrav# If you have 'file' or equivalent on your system and you're not sure 3455986ba33cSDag-Erling Smørgrav# whether 'pass_all' will *always* work, you probably want this one. 345617d15b25SDag-Erling Smørgrav 345717d15b25SDag-Erling Smørgravcase $host_os in 345817d15b25SDag-Erling Smørgravaix[[4-9]]*) 345917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 346017d15b25SDag-Erling Smørgrav ;; 346117d15b25SDag-Erling Smørgrav 346217d15b25SDag-Erling Smørgravbeos*) 346317d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 346417d15b25SDag-Erling Smørgrav ;; 346517d15b25SDag-Erling Smørgrav 346617d15b25SDag-Erling Smørgravbsdi[[45]]*) 346717d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 346817d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='/usr/bin/file -L' 346917d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/shlib/libc.so 347017d15b25SDag-Erling Smørgrav ;; 347117d15b25SDag-Erling Smørgrav 347217d15b25SDag-Erling Smørgravcygwin*) 347317d15b25SDag-Erling Smørgrav # func_win32_libid is a shell function defined in ltmain.sh 347417d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 347517d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='func_win32_libid' 347617d15b25SDag-Erling Smørgrav ;; 347717d15b25SDag-Erling Smørgrav 347817d15b25SDag-Erling Smørgravmingw* | pw32*) 347917d15b25SDag-Erling Smørgrav # Base MSYS/MinGW do not provide the 'file' command needed by 348017d15b25SDag-Erling Smørgrav # func_win32_libid shell function, so use a weaker test based on 'objdump', 348117d15b25SDag-Erling Smørgrav # unless we find 'file', for example because we are cross-compiling. 3482986ba33cSDag-Erling Smørgrav if ( file / ) >/dev/null 2>&1; then 348317d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 348417d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='func_win32_libid' 348517d15b25SDag-Erling Smørgrav else 348617d15b25SDag-Erling Smørgrav # Keep this pattern in sync with the one in func_win32_libid. 348717d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' 348817d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='$OBJDUMP -f' 348917d15b25SDag-Erling Smørgrav fi 349017d15b25SDag-Erling Smørgrav ;; 349117d15b25SDag-Erling Smørgrav 349217d15b25SDag-Erling Smørgravcegcc*) 349317d15b25SDag-Erling Smørgrav # use the weaker test based on 'objdump'. See mingw*. 349417d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 349517d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='$OBJDUMP -f' 349617d15b25SDag-Erling Smørgrav ;; 349717d15b25SDag-Erling Smørgrav 349817d15b25SDag-Erling Smørgravdarwin* | rhapsody*) 349917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 350017d15b25SDag-Erling Smørgrav ;; 350117d15b25SDag-Erling Smørgrav 350217d15b25SDag-Erling Smørgravfreebsd* | dragonfly*) 350317d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 350417d15b25SDag-Erling Smørgrav case $host_cpu in 350517d15b25SDag-Erling Smørgrav i*86 ) 350617d15b25SDag-Erling Smørgrav # Not sure whether the presence of OpenBSD here was a mistake. 350717d15b25SDag-Erling Smørgrav # Let's accept both of them until this is cleared up. 350817d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 350917d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd=/usr/bin/file 351017d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 351117d15b25SDag-Erling Smørgrav ;; 351217d15b25SDag-Erling Smørgrav esac 351317d15b25SDag-Erling Smørgrav else 351417d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 351517d15b25SDag-Erling Smørgrav fi 351617d15b25SDag-Erling Smørgrav ;; 351717d15b25SDag-Erling Smørgrav 351817d15b25SDag-Erling Smørgravhaiku*) 351917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 352017d15b25SDag-Erling Smørgrav ;; 352117d15b25SDag-Erling Smørgrav 352217d15b25SDag-Erling Smørgravhpux10.20* | hpux11*) 352317d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd=/usr/bin/file 352417d15b25SDag-Erling Smørgrav case $host_cpu in 352517d15b25SDag-Erling Smørgrav ia64*) 352617d15b25SDag-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' 352717d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 352817d15b25SDag-Erling Smørgrav ;; 352917d15b25SDag-Erling Smørgrav hppa*64*) 353017d15b25SDag-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]'] 353117d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 353217d15b25SDag-Erling Smørgrav ;; 353317d15b25SDag-Erling Smørgrav *) 353417d15b25SDag-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' 353517d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/libc.sl 353617d15b25SDag-Erling Smørgrav ;; 353717d15b25SDag-Erling Smørgrav esac 353817d15b25SDag-Erling Smørgrav ;; 353917d15b25SDag-Erling Smørgrav 354017d15b25SDag-Erling Smørgravinterix[[3-9]]*) 354117d15b25SDag-Erling Smørgrav # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 354217d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 354317d15b25SDag-Erling Smørgrav ;; 354417d15b25SDag-Erling Smørgrav 354517d15b25SDag-Erling Smørgravirix5* | irix6* | nonstopux*) 354617d15b25SDag-Erling Smørgrav case $LD in 354717d15b25SDag-Erling Smørgrav *-32|*"-32 ") libmagic=32-bit;; 354817d15b25SDag-Erling Smørgrav *-n32|*"-n32 ") libmagic=N32;; 354917d15b25SDag-Erling Smørgrav *-64|*"-64 ") libmagic=64-bit;; 355017d15b25SDag-Erling Smørgrav *) libmagic=never-match;; 355117d15b25SDag-Erling Smørgrav esac 355217d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 355317d15b25SDag-Erling Smørgrav ;; 355417d15b25SDag-Erling Smørgrav 355517d15b25SDag-Erling Smørgrav# This must be glibc/ELF. 3556986ba33cSDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 355717d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 355817d15b25SDag-Erling Smørgrav ;; 355917d15b25SDag-Erling Smørgrav 356017d15b25SDag-Erling Smørgravnetbsd* | netbsdelf*-gnu) 356117d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 356217d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 356317d15b25SDag-Erling Smørgrav else 356417d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 356517d15b25SDag-Erling Smørgrav fi 356617d15b25SDag-Erling Smørgrav ;; 356717d15b25SDag-Erling Smørgrav 356817d15b25SDag-Erling Smørgravnewos6*) 356917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 357017d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd=/usr/bin/file 357117d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/usr/lib/libnls.so 357217d15b25SDag-Erling Smørgrav ;; 357317d15b25SDag-Erling Smørgrav 357417d15b25SDag-Erling Smørgrav*nto* | *qnx*) 357517d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 357617d15b25SDag-Erling Smørgrav ;; 357717d15b25SDag-Erling Smørgrav 3578986ba33cSDag-Erling Smørgravopenbsd* | bitrig*) 3579986ba33cSDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 358017d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 358117d15b25SDag-Erling Smørgrav else 358217d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 358317d15b25SDag-Erling Smørgrav fi 358417d15b25SDag-Erling Smørgrav ;; 358517d15b25SDag-Erling Smørgrav 358617d15b25SDag-Erling Smørgravosf3* | osf4* | osf5*) 358717d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 358817d15b25SDag-Erling Smørgrav ;; 358917d15b25SDag-Erling Smørgrav 359017d15b25SDag-Erling Smørgravrdos*) 359117d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 359217d15b25SDag-Erling Smørgrav ;; 359317d15b25SDag-Erling Smørgrav 359417d15b25SDag-Erling Smørgravsolaris*) 359517d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 359617d15b25SDag-Erling Smørgrav ;; 359717d15b25SDag-Erling Smørgrav 359817d15b25SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 359917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 360017d15b25SDag-Erling Smørgrav ;; 360117d15b25SDag-Erling Smørgrav 360217d15b25SDag-Erling Smørgravsysv4 | sysv4.3*) 360317d15b25SDag-Erling Smørgrav case $host_vendor in 360417d15b25SDag-Erling Smørgrav motorola) 360517d15b25SDag-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]]' 360617d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 360717d15b25SDag-Erling Smørgrav ;; 360817d15b25SDag-Erling Smørgrav ncr) 360917d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 361017d15b25SDag-Erling Smørgrav ;; 361117d15b25SDag-Erling Smørgrav sequent) 361217d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='/bin/file' 361317d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 361417d15b25SDag-Erling Smørgrav ;; 361517d15b25SDag-Erling Smørgrav sni) 361617d15b25SDag-Erling Smørgrav lt_cv_file_magic_cmd='/bin/file' 361717d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 361817d15b25SDag-Erling Smørgrav lt_cv_file_magic_test_file=/lib/libc.so 361917d15b25SDag-Erling Smørgrav ;; 362017d15b25SDag-Erling Smørgrav siemens) 362117d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 362217d15b25SDag-Erling Smørgrav ;; 362317d15b25SDag-Erling Smørgrav pc) 362417d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 362517d15b25SDag-Erling Smørgrav ;; 362617d15b25SDag-Erling Smørgrav esac 362717d15b25SDag-Erling Smørgrav ;; 362817d15b25SDag-Erling Smørgrav 362917d15b25SDag-Erling Smørgravtpf*) 363017d15b25SDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 363117d15b25SDag-Erling Smørgrav ;; 3632986ba33cSDag-Erling Smørgravos2*) 3633986ba33cSDag-Erling Smørgrav lt_cv_deplibs_check_method=pass_all 3634986ba33cSDag-Erling Smørgrav ;; 363517d15b25SDag-Erling Smørgravesac 363617d15b25SDag-Erling Smørgrav]) 363717d15b25SDag-Erling Smørgrav 363817d15b25SDag-Erling Smørgravfile_magic_glob= 363917d15b25SDag-Erling Smørgravwant_nocaseglob=no 364017d15b25SDag-Erling Smørgravif test "$build" = "$host"; then 364117d15b25SDag-Erling Smørgrav case $host_os in 364217d15b25SDag-Erling Smørgrav mingw* | pw32*) 364317d15b25SDag-Erling Smørgrav if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 364417d15b25SDag-Erling Smørgrav want_nocaseglob=yes 364517d15b25SDag-Erling Smørgrav else 364617d15b25SDag-Erling Smørgrav file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 364717d15b25SDag-Erling Smørgrav fi 364817d15b25SDag-Erling Smørgrav ;; 364917d15b25SDag-Erling Smørgrav esac 365017d15b25SDag-Erling Smørgravfi 365117d15b25SDag-Erling Smørgrav 365217d15b25SDag-Erling Smørgravfile_magic_cmd=$lt_cv_file_magic_cmd 365317d15b25SDag-Erling Smørgravdeplibs_check_method=$lt_cv_deplibs_check_method 365417d15b25SDag-Erling Smørgravtest -z "$deplibs_check_method" && deplibs_check_method=unknown 365517d15b25SDag-Erling Smørgrav 365617d15b25SDag-Erling Smørgrav_LT_DECL([], [deplibs_check_method], [1], 365717d15b25SDag-Erling Smørgrav [Method to check whether dependent libraries are shared objects]) 365817d15b25SDag-Erling Smørgrav_LT_DECL([], [file_magic_cmd], [1], 365917d15b25SDag-Erling Smørgrav [Command to use when deplibs_check_method = "file_magic"]) 366017d15b25SDag-Erling Smørgrav_LT_DECL([], [file_magic_glob], [1], 366117d15b25SDag-Erling Smørgrav [How to find potential files when deplibs_check_method = "file_magic"]) 366217d15b25SDag-Erling Smørgrav_LT_DECL([], [want_nocaseglob], [1], 366317d15b25SDag-Erling Smørgrav [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 366417d15b25SDag-Erling Smørgrav])# _LT_CHECK_MAGIC_METHOD 366517d15b25SDag-Erling Smørgrav 366617d15b25SDag-Erling Smørgrav 366717d15b25SDag-Erling Smørgrav# LT_PATH_NM 366817d15b25SDag-Erling Smørgrav# ---------- 366917d15b25SDag-Erling Smørgrav# find the pathname to a BSD- or MS-compatible name lister 367017d15b25SDag-Erling SmørgravAC_DEFUN([LT_PATH_NM], 367117d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl 367217d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 367317d15b25SDag-Erling Smørgrav[if test -n "$NM"; then 367417d15b25SDag-Erling Smørgrav # Let the user override the test. 3675986ba33cSDag-Erling Smørgrav lt_cv_path_NM=$NM 367617d15b25SDag-Erling Smørgravelse 3677986ba33cSDag-Erling Smørgrav lt_nm_to_check=${ac_tool_prefix}nm 367817d15b25SDag-Erling Smørgrav if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 367917d15b25SDag-Erling Smørgrav lt_nm_to_check="$lt_nm_to_check nm" 368017d15b25SDag-Erling Smørgrav fi 368117d15b25SDag-Erling Smørgrav for lt_tmp_nm in $lt_nm_to_check; do 3682986ba33cSDag-Erling Smørgrav lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 368317d15b25SDag-Erling Smørgrav for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3684986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 368517d15b25SDag-Erling Smørgrav test -z "$ac_dir" && ac_dir=. 3686986ba33cSDag-Erling Smørgrav tmp_nm=$ac_dir/$lt_tmp_nm 368717d15b25SDag-Erling Smørgrav if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 368817d15b25SDag-Erling Smørgrav # Check to see if the nm accepts a BSD-compat flag. 3689986ba33cSDag-Erling Smørgrav # Adding the 'sed 1q' prevents false positives on HP-UX, which says: 369017d15b25SDag-Erling Smørgrav # nm: unknown option "B" ignored 369117d15b25SDag-Erling Smørgrav # Tru64's nm complains that /dev/null is an invalid object file 3692986ba33cSDag-Erling Smørgrav # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 3693986ba33cSDag-Erling Smørgrav case $build_os in 3694986ba33cSDag-Erling Smørgrav mingw*) lt_bad_file=conftest.nm/nofile ;; 3695986ba33cSDag-Erling Smørgrav *) lt_bad_file=/dev/null ;; 3696986ba33cSDag-Erling Smørgrav esac 3697986ba33cSDag-Erling Smørgrav case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in 3698986ba33cSDag-Erling Smørgrav *$lt_bad_file* | *'Invalid file or object type'*) 369917d15b25SDag-Erling Smørgrav lt_cv_path_NM="$tmp_nm -B" 3700986ba33cSDag-Erling Smørgrav break 2 370117d15b25SDag-Erling Smørgrav ;; 370217d15b25SDag-Erling Smørgrav *) 370317d15b25SDag-Erling Smørgrav case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 370417d15b25SDag-Erling Smørgrav */dev/null*) 370517d15b25SDag-Erling Smørgrav lt_cv_path_NM="$tmp_nm -p" 3706986ba33cSDag-Erling Smørgrav break 2 370717d15b25SDag-Erling Smørgrav ;; 370817d15b25SDag-Erling Smørgrav *) 370917d15b25SDag-Erling Smørgrav lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 371017d15b25SDag-Erling Smørgrav continue # so that we can try to find one that supports BSD flags 371117d15b25SDag-Erling Smørgrav ;; 371217d15b25SDag-Erling Smørgrav esac 371317d15b25SDag-Erling Smørgrav ;; 371417d15b25SDag-Erling Smørgrav esac 371517d15b25SDag-Erling Smørgrav fi 371617d15b25SDag-Erling Smørgrav done 3717986ba33cSDag-Erling Smørgrav IFS=$lt_save_ifs 371817d15b25SDag-Erling Smørgrav done 371917d15b25SDag-Erling Smørgrav : ${lt_cv_path_NM=no} 372017d15b25SDag-Erling Smørgravfi]) 3721986ba33cSDag-Erling Smørgravif test no != "$lt_cv_path_NM"; then 3722986ba33cSDag-Erling Smørgrav NM=$lt_cv_path_NM 372317d15b25SDag-Erling Smørgravelse 372417d15b25SDag-Erling Smørgrav # Didn't find any BSD compatible name lister, look for dumpbin. 372517d15b25SDag-Erling Smørgrav if test -n "$DUMPBIN"; then : 372617d15b25SDag-Erling Smørgrav # Let the user override the test. 372717d15b25SDag-Erling Smørgrav else 372817d15b25SDag-Erling Smørgrav AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 3729986ba33cSDag-Erling Smørgrav case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in 373017d15b25SDag-Erling Smørgrav *COFF*) 3731986ba33cSDag-Erling Smørgrav DUMPBIN="$DUMPBIN -symbols -headers" 373217d15b25SDag-Erling Smørgrav ;; 373317d15b25SDag-Erling Smørgrav *) 373417d15b25SDag-Erling Smørgrav DUMPBIN=: 373517d15b25SDag-Erling Smørgrav ;; 373617d15b25SDag-Erling Smørgrav esac 373717d15b25SDag-Erling Smørgrav fi 373817d15b25SDag-Erling Smørgrav AC_SUBST([DUMPBIN]) 3739986ba33cSDag-Erling Smørgrav if test : != "$DUMPBIN"; then 3740986ba33cSDag-Erling Smørgrav NM=$DUMPBIN 374117d15b25SDag-Erling Smørgrav fi 374217d15b25SDag-Erling Smørgravfi 374317d15b25SDag-Erling Smørgravtest -z "$NM" && NM=nm 374417d15b25SDag-Erling SmørgravAC_SUBST([NM]) 374517d15b25SDag-Erling Smørgrav_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 374617d15b25SDag-Erling Smørgrav 374717d15b25SDag-Erling SmørgravAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 374817d15b25SDag-Erling Smørgrav [lt_cv_nm_interface="BSD nm" 374917d15b25SDag-Erling Smørgrav echo "int some_variable = 0;" > conftest.$ac_ext 375017d15b25SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 375117d15b25SDag-Erling Smørgrav (eval "$ac_compile" 2>conftest.err) 375217d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 375317d15b25SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 375417d15b25SDag-Erling Smørgrav (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 375517d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 375617d15b25SDag-Erling Smørgrav (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 375717d15b25SDag-Erling Smørgrav cat conftest.out >&AS_MESSAGE_LOG_FD 375817d15b25SDag-Erling Smørgrav if $GREP 'External.*some_variable' conftest.out > /dev/null; then 375917d15b25SDag-Erling Smørgrav lt_cv_nm_interface="MS dumpbin" 376017d15b25SDag-Erling Smørgrav fi 376117d15b25SDag-Erling Smørgrav rm -f conftest*]) 376217d15b25SDag-Erling Smørgrav])# LT_PATH_NM 376317d15b25SDag-Erling Smørgrav 376417d15b25SDag-Erling Smørgrav# Old names: 376517d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 376617d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 376717d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 376817d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_NM], []) 376917d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_NM], []) 377017d15b25SDag-Erling Smørgrav 377117d15b25SDag-Erling Smørgrav# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 377217d15b25SDag-Erling Smørgrav# -------------------------------- 377317d15b25SDag-Erling Smørgrav# how to determine the name of the shared library 377417d15b25SDag-Erling Smørgrav# associated with a specific link library. 377517d15b25SDag-Erling Smørgrav# -- PORTME fill in with the dynamic library characteristics 377617d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 377717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP]) 377817d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP]) 377917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_DLLTOOL]) 378017d15b25SDag-Erling SmørgravAC_CACHE_CHECK([how to associate runtime and link libraries], 378117d15b25SDag-Erling Smørgravlt_cv_sharedlib_from_linklib_cmd, 378217d15b25SDag-Erling Smørgrav[lt_cv_sharedlib_from_linklib_cmd='unknown' 378317d15b25SDag-Erling Smørgrav 378417d15b25SDag-Erling Smørgravcase $host_os in 378517d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 3786986ba33cSDag-Erling Smørgrav # two different shell functions defined in ltmain.sh; 3787986ba33cSDag-Erling Smørgrav # decide which one to use based on capabilities of $DLLTOOL 378817d15b25SDag-Erling Smørgrav case `$DLLTOOL --help 2>&1` in 378917d15b25SDag-Erling Smørgrav *--identify-strict*) 379017d15b25SDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 379117d15b25SDag-Erling Smørgrav ;; 379217d15b25SDag-Erling Smørgrav *) 379317d15b25SDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 379417d15b25SDag-Erling Smørgrav ;; 379517d15b25SDag-Erling Smørgrav esac 379617d15b25SDag-Erling Smørgrav ;; 379717d15b25SDag-Erling Smørgrav*) 379817d15b25SDag-Erling Smørgrav # fallback: assume linklib IS sharedlib 3799986ba33cSDag-Erling Smørgrav lt_cv_sharedlib_from_linklib_cmd=$ECHO 380017d15b25SDag-Erling Smørgrav ;; 380117d15b25SDag-Erling Smørgravesac 380217d15b25SDag-Erling Smørgrav]) 380317d15b25SDag-Erling Smørgravsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 380417d15b25SDag-Erling Smørgravtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 380517d15b25SDag-Erling Smørgrav 380617d15b25SDag-Erling Smørgrav_LT_DECL([], [sharedlib_from_linklib_cmd], [1], 380717d15b25SDag-Erling Smørgrav [Command to associate shared and link libraries]) 380817d15b25SDag-Erling Smørgrav])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 380917d15b25SDag-Erling Smørgrav 381017d15b25SDag-Erling Smørgrav 381117d15b25SDag-Erling Smørgrav# _LT_PATH_MANIFEST_TOOL 381217d15b25SDag-Erling Smørgrav# ---------------------- 381317d15b25SDag-Erling Smørgrav# locate the manifest tool 381417d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_MANIFEST_TOOL], 381517d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 381617d15b25SDag-Erling Smørgravtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 381717d15b25SDag-Erling SmørgravAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], 381817d15b25SDag-Erling Smørgrav [lt_cv_path_mainfest_tool=no 381917d15b25SDag-Erling Smørgrav echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 382017d15b25SDag-Erling Smørgrav $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 382117d15b25SDag-Erling Smørgrav cat conftest.err >&AS_MESSAGE_LOG_FD 382217d15b25SDag-Erling Smørgrav if $GREP 'Manifest Tool' conftest.out > /dev/null; then 382317d15b25SDag-Erling Smørgrav lt_cv_path_mainfest_tool=yes 382417d15b25SDag-Erling Smørgrav fi 382517d15b25SDag-Erling Smørgrav rm -f conftest*]) 3826986ba33cSDag-Erling Smørgravif test yes != "$lt_cv_path_mainfest_tool"; then 382717d15b25SDag-Erling Smørgrav MANIFEST_TOOL=: 382817d15b25SDag-Erling Smørgravfi 382917d15b25SDag-Erling Smørgrav_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 383017d15b25SDag-Erling Smørgrav])# _LT_PATH_MANIFEST_TOOL 383117d15b25SDag-Erling Smørgrav 383217d15b25SDag-Erling Smørgrav 3833986ba33cSDag-Erling Smørgrav# _LT_DLL_DEF_P([FILE]) 3834986ba33cSDag-Erling Smørgrav# --------------------- 3835986ba33cSDag-Erling Smørgrav# True iff FILE is a Windows DLL '.def' file. 3836986ba33cSDag-Erling Smørgrav# Keep in sync with func_dll_def_p in the libtool script 3837986ba33cSDag-Erling SmørgravAC_DEFUN([_LT_DLL_DEF_P], 3838986ba33cSDag-Erling Smørgrav[dnl 3839986ba33cSDag-Erling Smørgrav test DEF = "`$SED -n dnl 3840986ba33cSDag-Erling Smørgrav -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace 3841986ba33cSDag-Erling Smørgrav -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments 3842986ba33cSDag-Erling Smørgrav -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl 3843986ba33cSDag-Erling Smørgrav -e q dnl Only consider the first "real" line 3844986ba33cSDag-Erling Smørgrav $1`" dnl 3845986ba33cSDag-Erling Smørgrav])# _LT_DLL_DEF_P 3846986ba33cSDag-Erling Smørgrav 3847986ba33cSDag-Erling Smørgrav 384817d15b25SDag-Erling Smørgrav# LT_LIB_M 384917d15b25SDag-Erling Smørgrav# -------- 385017d15b25SDag-Erling Smørgrav# check for math library 385117d15b25SDag-Erling SmørgravAC_DEFUN([LT_LIB_M], 385217d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 385317d15b25SDag-Erling SmørgravLIBM= 385417d15b25SDag-Erling Smørgravcase $host in 385517d15b25SDag-Erling Smørgrav*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) 385617d15b25SDag-Erling Smørgrav # These system don't have libm, or don't need it 385717d15b25SDag-Erling Smørgrav ;; 385817d15b25SDag-Erling Smørgrav*-ncr-sysv4.3*) 3859986ba33cSDag-Erling Smørgrav AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) 386017d15b25SDag-Erling Smørgrav AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 386117d15b25SDag-Erling Smørgrav ;; 386217d15b25SDag-Erling Smørgrav*) 3863986ba33cSDag-Erling Smørgrav AC_CHECK_LIB(m, cos, LIBM=-lm) 386417d15b25SDag-Erling Smørgrav ;; 386517d15b25SDag-Erling Smørgravesac 386617d15b25SDag-Erling SmørgravAC_SUBST([LIBM]) 386717d15b25SDag-Erling Smørgrav])# LT_LIB_M 386817d15b25SDag-Erling Smørgrav 386917d15b25SDag-Erling Smørgrav# Old name: 387017d15b25SDag-Erling SmørgravAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 387117d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 387217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_CHECK_LIBM], []) 387317d15b25SDag-Erling Smørgrav 387417d15b25SDag-Erling Smørgrav 387517d15b25SDag-Erling Smørgrav# _LT_COMPILER_NO_RTTI([TAGNAME]) 387617d15b25SDag-Erling Smørgrav# ------------------------------- 387717d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_NO_RTTI], 387817d15b25SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl 387917d15b25SDag-Erling Smørgrav 388017d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 388117d15b25SDag-Erling Smørgrav 3882986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then 388317d15b25SDag-Erling Smørgrav case $cc_basename in 388417d15b25SDag-Erling Smørgrav nvcc*) 388517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 388617d15b25SDag-Erling Smørgrav *) 388717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 388817d15b25SDag-Erling Smørgrav esac 388917d15b25SDag-Erling Smørgrav 389017d15b25SDag-Erling Smørgrav _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 389117d15b25SDag-Erling Smørgrav lt_cv_prog_compiler_rtti_exceptions, 389217d15b25SDag-Erling Smørgrav [-fno-rtti -fno-exceptions], [], 389317d15b25SDag-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"]) 389417d15b25SDag-Erling Smørgravfi 389517d15b25SDag-Erling Smørgrav_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 389617d15b25SDag-Erling Smørgrav [Compiler flag to turn off builtin functions]) 389717d15b25SDag-Erling Smørgrav])# _LT_COMPILER_NO_RTTI 389817d15b25SDag-Erling Smørgrav 389917d15b25SDag-Erling Smørgrav 390017d15b25SDag-Erling Smørgrav# _LT_CMD_GLOBAL_SYMBOLS 390117d15b25SDag-Erling Smørgrav# ---------------------- 390217d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 390317d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 390417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl 390517d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_AWK])dnl 390617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 390717d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl 390817d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 390917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 391017d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 391117d15b25SDag-Erling Smørgrav 391217d15b25SDag-Erling Smørgrav# Check for command to grab the raw symbol name followed by C symbol from nm. 391317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 391417d15b25SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 391517d15b25SDag-Erling Smørgrav[ 391617d15b25SDag-Erling Smørgrav# These are sane defaults that work on at least a few old systems. 391717d15b25SDag-Erling Smørgrav# [They come from Ultrix. What could be older than Ultrix?!! ;)] 391817d15b25SDag-Erling Smørgrav 391917d15b25SDag-Erling Smørgrav# Character class describing NM global symbol codes. 392017d15b25SDag-Erling Smørgravsymcode='[[BCDEGRST]]' 392117d15b25SDag-Erling Smørgrav 392217d15b25SDag-Erling Smørgrav# Regexp to match symbols that can be accessed directly from C. 392317d15b25SDag-Erling Smørgravsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 392417d15b25SDag-Erling Smørgrav 392517d15b25SDag-Erling Smørgrav# Define system-specific variables. 392617d15b25SDag-Erling Smørgravcase $host_os in 392717d15b25SDag-Erling Smørgravaix*) 392817d15b25SDag-Erling Smørgrav symcode='[[BCDT]]' 392917d15b25SDag-Erling Smørgrav ;; 393017d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*) 393117d15b25SDag-Erling Smørgrav symcode='[[ABCDGISTW]]' 393217d15b25SDag-Erling Smørgrav ;; 393317d15b25SDag-Erling Smørgravhpux*) 3934986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 393517d15b25SDag-Erling Smørgrav symcode='[[ABCDEGRST]]' 393617d15b25SDag-Erling Smørgrav fi 393717d15b25SDag-Erling Smørgrav ;; 393817d15b25SDag-Erling Smørgravirix* | nonstopux*) 393917d15b25SDag-Erling Smørgrav symcode='[[BCDEGRST]]' 394017d15b25SDag-Erling Smørgrav ;; 394117d15b25SDag-Erling Smørgravosf*) 394217d15b25SDag-Erling Smørgrav symcode='[[BCDEGQRST]]' 394317d15b25SDag-Erling Smørgrav ;; 394417d15b25SDag-Erling Smørgravsolaris*) 394517d15b25SDag-Erling Smørgrav symcode='[[BDRT]]' 394617d15b25SDag-Erling Smørgrav ;; 394717d15b25SDag-Erling Smørgravsco3.2v5*) 394817d15b25SDag-Erling Smørgrav symcode='[[DT]]' 394917d15b25SDag-Erling Smørgrav ;; 395017d15b25SDag-Erling Smørgravsysv4.2uw2*) 395117d15b25SDag-Erling Smørgrav symcode='[[DT]]' 395217d15b25SDag-Erling Smørgrav ;; 395317d15b25SDag-Erling Smørgravsysv5* | sco5v6* | unixware* | OpenUNIX*) 395417d15b25SDag-Erling Smørgrav symcode='[[ABDT]]' 395517d15b25SDag-Erling Smørgrav ;; 395617d15b25SDag-Erling Smørgravsysv4) 395717d15b25SDag-Erling Smørgrav symcode='[[DFNSTU]]' 395817d15b25SDag-Erling Smørgrav ;; 395917d15b25SDag-Erling Smørgravesac 396017d15b25SDag-Erling Smørgrav 396117d15b25SDag-Erling Smørgrav# If we're using GNU nm, then use its standard symbol codes. 396217d15b25SDag-Erling Smørgravcase `$NM -V 2>&1` in 396317d15b25SDag-Erling Smørgrav*GNU* | *'with BFD'*) 396417d15b25SDag-Erling Smørgrav symcode='[[ABCDGIRSTW]]' ;; 396517d15b25SDag-Erling Smørgravesac 396617d15b25SDag-Erling Smørgrav 3967986ba33cSDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then 3968986ba33cSDag-Erling Smørgrav # Gets list of data symbols to import. 3969986ba33cSDag-Erling Smørgrav lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" 3970986ba33cSDag-Erling Smørgrav # Adjust the below global symbol transforms to fixup imported variables. 3971986ba33cSDag-Erling Smørgrav lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" 3972986ba33cSDag-Erling Smørgrav lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" 3973986ba33cSDag-Erling Smørgrav lt_c_name_lib_hook="\ 3974986ba33cSDag-Erling Smørgrav -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ 3975986ba33cSDag-Erling Smørgrav -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" 3976986ba33cSDag-Erling Smørgravelse 3977986ba33cSDag-Erling Smørgrav # Disable hooks by default. 3978986ba33cSDag-Erling Smørgrav lt_cv_sys_global_symbol_to_import= 3979986ba33cSDag-Erling Smørgrav lt_cdecl_hook= 3980986ba33cSDag-Erling Smørgrav lt_c_name_hook= 3981986ba33cSDag-Erling Smørgrav lt_c_name_lib_hook= 3982986ba33cSDag-Erling Smørgravfi 3983986ba33cSDag-Erling Smørgrav 398417d15b25SDag-Erling Smørgrav# Transform an extracted symbol line into a proper C declaration. 398517d15b25SDag-Erling Smørgrav# Some systems (esp. on ia64) link data and code symbols differently, 398617d15b25SDag-Erling Smørgrav# so use this general approach. 3987986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_cdecl="sed -n"\ 3988986ba33cSDag-Erling Smørgrav$lt_cdecl_hook\ 3989986ba33cSDag-Erling Smørgrav" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ 3990986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" 399117d15b25SDag-Erling Smørgrav 399217d15b25SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name and symbol address 3993986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_c_name_address="sed -n"\ 3994986ba33cSDag-Erling Smørgrav$lt_c_name_hook\ 3995986ba33cSDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 3996986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" 3997986ba33cSDag-Erling Smørgrav 3998986ba33cSDag-Erling Smørgrav# Transform an extracted symbol line into symbol name with lib prefix and 3999986ba33cSDag-Erling Smørgrav# symbol address. 4000986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ 4001986ba33cSDag-Erling Smørgrav$lt_c_name_lib_hook\ 4002986ba33cSDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 4003986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ 4004986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" 400517d15b25SDag-Erling Smørgrav 400617d15b25SDag-Erling Smørgrav# Handle CRLF in mingw tool chain 400717d15b25SDag-Erling Smørgravopt_cr= 400817d15b25SDag-Erling Smørgravcase $build_os in 400917d15b25SDag-Erling Smørgravmingw*) 401017d15b25SDag-Erling Smørgrav opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 401117d15b25SDag-Erling Smørgrav ;; 401217d15b25SDag-Erling Smørgravesac 401317d15b25SDag-Erling Smørgrav 401417d15b25SDag-Erling Smørgrav# Try without a prefix underscore, then with it. 401517d15b25SDag-Erling Smørgravfor ac_symprfx in "" "_"; do 401617d15b25SDag-Erling Smørgrav 401717d15b25SDag-Erling Smørgrav # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 401817d15b25SDag-Erling Smørgrav symxfrm="\\1 $ac_symprfx\\2 \\2" 401917d15b25SDag-Erling Smørgrav 402017d15b25SDag-Erling Smørgrav # Write the raw and C identifiers. 402117d15b25SDag-Erling Smørgrav if test "$lt_cv_nm_interface" = "MS dumpbin"; then 4022986ba33cSDag-Erling Smørgrav # Fake it for dumpbin and say T for any non-static function, 4023986ba33cSDag-Erling Smørgrav # D for any global variable and I for any imported variable. 402417d15b25SDag-Erling Smørgrav # Also find C++ and __fastcall symbols from MSVC++, 402517d15b25SDag-Erling Smørgrav # which start with @ or ?. 402617d15b25SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe="$AWK ['"\ 402717d15b25SDag-Erling Smørgrav" {last_section=section; section=\$ 3};"\ 402817d15b25SDag-Erling Smørgrav" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 402917d15b25SDag-Erling Smørgrav" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 4030986ba33cSDag-Erling Smørgrav" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ 4031986ba33cSDag-Erling Smørgrav" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ 4032986ba33cSDag-Erling Smørgrav" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ 403317d15b25SDag-Erling Smørgrav" \$ 0!~/External *\|/{next};"\ 403417d15b25SDag-Erling Smørgrav" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 403517d15b25SDag-Erling Smørgrav" {if(hide[section]) next};"\ 4036986ba33cSDag-Erling Smørgrav" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ 403717d15b25SDag-Erling Smørgrav" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ 4038986ba33cSDag-Erling Smørgrav" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ 4039986ba33cSDag-Erling Smørgrav" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ 404017d15b25SDag-Erling Smørgrav" ' prfx=^$ac_symprfx]" 404117d15b25SDag-Erling Smørgrav else 404217d15b25SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 404317d15b25SDag-Erling Smørgrav fi 404417d15b25SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" 404517d15b25SDag-Erling Smørgrav 404617d15b25SDag-Erling Smørgrav # Check to see that the pipe works correctly. 404717d15b25SDag-Erling Smørgrav pipe_works=no 404817d15b25SDag-Erling Smørgrav 404917d15b25SDag-Erling Smørgrav rm -f conftest* 405017d15b25SDag-Erling Smørgrav cat > conftest.$ac_ext <<_LT_EOF 405117d15b25SDag-Erling Smørgrav#ifdef __cplusplus 405217d15b25SDag-Erling Smørgravextern "C" { 405317d15b25SDag-Erling Smørgrav#endif 405417d15b25SDag-Erling Smørgravchar nm_test_var; 405517d15b25SDag-Erling Smørgravvoid nm_test_func(void); 405617d15b25SDag-Erling Smørgravvoid nm_test_func(void){} 405717d15b25SDag-Erling Smørgrav#ifdef __cplusplus 405817d15b25SDag-Erling Smørgrav} 405917d15b25SDag-Erling Smørgrav#endif 406017d15b25SDag-Erling Smørgravint main(){nm_test_var='a';nm_test_func();return(0);} 406117d15b25SDag-Erling Smørgrav_LT_EOF 406217d15b25SDag-Erling Smørgrav 406317d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile); then 406417d15b25SDag-Erling Smørgrav # Now try to grab the symbols. 406517d15b25SDag-Erling Smørgrav nlist=conftest.nm 4066*5afab0e5SDag-Erling Smørgrav $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD 4067*5afab0e5SDag-Erling Smørgrav if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then 406817d15b25SDag-Erling Smørgrav # Try sorting and uniquifying the output. 406917d15b25SDag-Erling Smørgrav if sort "$nlist" | uniq > "$nlist"T; then 407017d15b25SDag-Erling Smørgrav mv -f "$nlist"T "$nlist" 407117d15b25SDag-Erling Smørgrav else 407217d15b25SDag-Erling Smørgrav rm -f "$nlist"T 407317d15b25SDag-Erling Smørgrav fi 407417d15b25SDag-Erling Smørgrav 407517d15b25SDag-Erling Smørgrav # Make sure that we snagged all the symbols we need. 407617d15b25SDag-Erling Smørgrav if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 407717d15b25SDag-Erling Smørgrav if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 407817d15b25SDag-Erling Smørgrav cat <<_LT_EOF > conftest.$ac_ext 407917d15b25SDag-Erling Smørgrav/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 4080986ba33cSDag-Erling Smørgrav#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 4081986ba33cSDag-Erling Smørgrav/* DATA imports from DLLs on WIN32 can't be const, because runtime 408217d15b25SDag-Erling Smørgrav relocations are performed -- see ld's documentation on pseudo-relocs. */ 408317d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST 4084986ba33cSDag-Erling Smørgrav#elif defined __osf__ 408517d15b25SDag-Erling Smørgrav/* This system does not cope well with relocations in const data. */ 408617d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST 408717d15b25SDag-Erling Smørgrav#else 408817d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST const 408917d15b25SDag-Erling Smørgrav#endif 409017d15b25SDag-Erling Smørgrav 409117d15b25SDag-Erling Smørgrav#ifdef __cplusplus 409217d15b25SDag-Erling Smørgravextern "C" { 409317d15b25SDag-Erling Smørgrav#endif 409417d15b25SDag-Erling Smørgrav 409517d15b25SDag-Erling Smørgrav_LT_EOF 409617d15b25SDag-Erling Smørgrav # Now generate the symbol file. 409717d15b25SDag-Erling Smørgrav eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 409817d15b25SDag-Erling Smørgrav 409917d15b25SDag-Erling Smørgrav cat <<_LT_EOF >> conftest.$ac_ext 410017d15b25SDag-Erling Smørgrav 410117d15b25SDag-Erling Smørgrav/* The mapping between symbol names and symbols. */ 410217d15b25SDag-Erling SmørgravLT@&t@_DLSYM_CONST struct { 410317d15b25SDag-Erling Smørgrav const char *name; 410417d15b25SDag-Erling Smørgrav void *address; 410517d15b25SDag-Erling Smørgrav} 410617d15b25SDag-Erling Smørgravlt__PROGRAM__LTX_preloaded_symbols[[]] = 410717d15b25SDag-Erling Smørgrav{ 410817d15b25SDag-Erling Smørgrav { "@PROGRAM@", (void *) 0 }, 410917d15b25SDag-Erling Smørgrav_LT_EOF 4110986ba33cSDag-Erling Smørgrav $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 411117d15b25SDag-Erling Smørgrav cat <<\_LT_EOF >> conftest.$ac_ext 411217d15b25SDag-Erling Smørgrav {0, (void *) 0} 411317d15b25SDag-Erling Smørgrav}; 411417d15b25SDag-Erling Smørgrav 411517d15b25SDag-Erling Smørgrav/* This works around a problem in FreeBSD linker */ 411617d15b25SDag-Erling Smørgrav#ifdef FREEBSD_WORKAROUND 411717d15b25SDag-Erling Smørgravstatic const void *lt_preloaded_setup() { 411817d15b25SDag-Erling Smørgrav return lt__PROGRAM__LTX_preloaded_symbols; 411917d15b25SDag-Erling Smørgrav} 412017d15b25SDag-Erling Smørgrav#endif 412117d15b25SDag-Erling Smørgrav 412217d15b25SDag-Erling Smørgrav#ifdef __cplusplus 412317d15b25SDag-Erling Smørgrav} 412417d15b25SDag-Erling Smørgrav#endif 412517d15b25SDag-Erling Smørgrav_LT_EOF 412617d15b25SDag-Erling Smørgrav # Now try linking the two files. 412717d15b25SDag-Erling Smørgrav mv conftest.$ac_objext conftstm.$ac_objext 412817d15b25SDag-Erling Smørgrav lt_globsym_save_LIBS=$LIBS 412917d15b25SDag-Erling Smørgrav lt_globsym_save_CFLAGS=$CFLAGS 4130986ba33cSDag-Erling Smørgrav LIBS=conftstm.$ac_objext 413117d15b25SDag-Erling Smørgrav CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 4132986ba33cSDag-Erling Smørgrav if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then 413317d15b25SDag-Erling Smørgrav pipe_works=yes 413417d15b25SDag-Erling Smørgrav fi 413517d15b25SDag-Erling Smørgrav LIBS=$lt_globsym_save_LIBS 413617d15b25SDag-Erling Smørgrav CFLAGS=$lt_globsym_save_CFLAGS 413717d15b25SDag-Erling Smørgrav else 413817d15b25SDag-Erling Smørgrav echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 413917d15b25SDag-Erling Smørgrav fi 414017d15b25SDag-Erling Smørgrav else 414117d15b25SDag-Erling Smørgrav echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 414217d15b25SDag-Erling Smørgrav fi 414317d15b25SDag-Erling Smørgrav else 414417d15b25SDag-Erling Smørgrav echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 414517d15b25SDag-Erling Smørgrav fi 414617d15b25SDag-Erling Smørgrav else 414717d15b25SDag-Erling Smørgrav echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 414817d15b25SDag-Erling Smørgrav cat conftest.$ac_ext >&5 414917d15b25SDag-Erling Smørgrav fi 415017d15b25SDag-Erling Smørgrav rm -rf conftest* conftst* 415117d15b25SDag-Erling Smørgrav 415217d15b25SDag-Erling Smørgrav # Do not use the global_symbol_pipe unless it works. 4153986ba33cSDag-Erling Smørgrav if test yes = "$pipe_works"; then 415417d15b25SDag-Erling Smørgrav break 415517d15b25SDag-Erling Smørgrav else 415617d15b25SDag-Erling Smørgrav lt_cv_sys_global_symbol_pipe= 415717d15b25SDag-Erling Smørgrav fi 415817d15b25SDag-Erling Smørgravdone 415917d15b25SDag-Erling Smørgrav]) 416017d15b25SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe"; then 416117d15b25SDag-Erling Smørgrav lt_cv_sys_global_symbol_to_cdecl= 416217d15b25SDag-Erling Smørgravfi 416317d15b25SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 416417d15b25SDag-Erling Smørgrav AC_MSG_RESULT(failed) 416517d15b25SDag-Erling Smørgravelse 416617d15b25SDag-Erling Smørgrav AC_MSG_RESULT(ok) 416717d15b25SDag-Erling Smørgravfi 416817d15b25SDag-Erling Smørgrav 416917d15b25SDag-Erling Smørgrav# Response file support. 417017d15b25SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then 417117d15b25SDag-Erling Smørgrav nm_file_list_spec='@' 417217d15b25SDag-Erling Smørgravelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 417317d15b25SDag-Erling Smørgrav nm_file_list_spec='@' 417417d15b25SDag-Erling Smørgravfi 417517d15b25SDag-Erling Smørgrav 417617d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 417717d15b25SDag-Erling Smørgrav [Take the output of nm and produce a listing of raw symbols and C names]) 417817d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 417917d15b25SDag-Erling Smørgrav [Transform the output of nm in a proper C declaration]) 4180986ba33cSDag-Erling Smørgrav_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], 4181986ba33cSDag-Erling Smørgrav [Transform the output of nm into a list of symbols to manually relocate]) 418217d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address], 418317d15b25SDag-Erling Smørgrav [lt_cv_sys_global_symbol_to_c_name_address], [1], 418417d15b25SDag-Erling Smørgrav [Transform the output of nm in a C name address pair]) 418517d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 418617d15b25SDag-Erling Smørgrav [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 418717d15b25SDag-Erling Smørgrav [Transform the output of nm in a C name address pair when lib prefix is needed]) 4188986ba33cSDag-Erling Smørgrav_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], 4189986ba33cSDag-Erling Smørgrav [The name lister interface]) 419017d15b25SDag-Erling Smørgrav_LT_DECL([], [nm_file_list_spec], [1], 419117d15b25SDag-Erling Smørgrav [Specify filename containing input files for $NM]) 419217d15b25SDag-Erling Smørgrav]) # _LT_CMD_GLOBAL_SYMBOLS 419317d15b25SDag-Erling Smørgrav 419417d15b25SDag-Erling Smørgrav 419517d15b25SDag-Erling Smørgrav# _LT_COMPILER_PIC([TAGNAME]) 419617d15b25SDag-Erling Smørgrav# --------------------------- 419717d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_PIC], 419817d15b25SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl 419917d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_wl, $1)= 420017d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)= 420117d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_static, $1)= 420217d15b25SDag-Erling Smørgrav 420317d15b25SDag-Erling Smørgravm4_if([$1], [CXX], [ 420417d15b25SDag-Erling Smørgrav # C++ specific cases for pic, static, wl, etc. 4205986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 420617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 420717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 420817d15b25SDag-Erling Smørgrav 420917d15b25SDag-Erling Smørgrav case $host_os in 421017d15b25SDag-Erling Smørgrav aix*) 421117d15b25SDag-Erling Smørgrav # All AIX code is PIC. 4212986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 421317d15b25SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 421417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 421517d15b25SDag-Erling Smørgrav fi 4216986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 421717d15b25SDag-Erling Smørgrav ;; 421817d15b25SDag-Erling Smørgrav 421917d15b25SDag-Erling Smørgrav amigaos*) 422017d15b25SDag-Erling Smørgrav case $host_cpu in 422117d15b25SDag-Erling Smørgrav powerpc) 422217d15b25SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 422317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 422417d15b25SDag-Erling Smørgrav ;; 422517d15b25SDag-Erling Smørgrav m68k) 422617d15b25SDag-Erling Smørgrav # FIXME: we need at least 68020 code to build shared libraries, but 4227986ba33cSDag-Erling Smørgrav # adding the '-m68020' flag to GCC prevents building anything better, 4228986ba33cSDag-Erling Smørgrav # like '-m68040'. 422917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 423017d15b25SDag-Erling Smørgrav ;; 423117d15b25SDag-Erling Smørgrav esac 423217d15b25SDag-Erling Smørgrav ;; 423317d15b25SDag-Erling Smørgrav 423417d15b25SDag-Erling Smørgrav beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 423517d15b25SDag-Erling Smørgrav # PIC is the default for these OSes. 423617d15b25SDag-Erling Smørgrav ;; 423717d15b25SDag-Erling Smørgrav mingw* | cygwin* | os2* | pw32* | cegcc*) 423817d15b25SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 423917d15b25SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 424017d15b25SDag-Erling Smørgrav # Although the cygwin gcc ignores -fPIC, still need this for old-style 424117d15b25SDag-Erling Smørgrav # (--disable-auto-import) libraries 424217d15b25SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 424317d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4244986ba33cSDag-Erling Smørgrav case $host_os in 4245986ba33cSDag-Erling Smørgrav os2*) 4246986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4247986ba33cSDag-Erling Smørgrav ;; 4248986ba33cSDag-Erling Smørgrav esac 424917d15b25SDag-Erling Smørgrav ;; 425017d15b25SDag-Erling Smørgrav darwin* | rhapsody*) 425117d15b25SDag-Erling Smørgrav # PIC is the default on this platform 425217d15b25SDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 425317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 425417d15b25SDag-Erling Smørgrav ;; 425517d15b25SDag-Erling Smørgrav *djgpp*) 425617d15b25SDag-Erling Smørgrav # DJGPP does not support shared libraries at all 425717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 425817d15b25SDag-Erling Smørgrav ;; 425917d15b25SDag-Erling Smørgrav haiku*) 426017d15b25SDag-Erling Smørgrav # PIC is the default for Haiku. 426117d15b25SDag-Erling Smørgrav # The "-static" flag exists, but is broken. 426217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)= 426317d15b25SDag-Erling Smørgrav ;; 426417d15b25SDag-Erling Smørgrav interix[[3-9]]*) 426517d15b25SDag-Erling Smørgrav # Interix 3.x gcc -fpic/-fPIC options generate broken code. 426617d15b25SDag-Erling Smørgrav # Instead, we relocate shared libraries at runtime. 426717d15b25SDag-Erling Smørgrav ;; 426817d15b25SDag-Erling Smørgrav sysv4*MP*) 426917d15b25SDag-Erling Smørgrav if test -d /usr/nec; then 427017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 427117d15b25SDag-Erling Smørgrav fi 427217d15b25SDag-Erling Smørgrav ;; 427317d15b25SDag-Erling Smørgrav hpux*) 427417d15b25SDag-Erling Smørgrav # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 427517d15b25SDag-Erling Smørgrav # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 427617d15b25SDag-Erling Smørgrav # sets the default TLS model and affects inlining. 427717d15b25SDag-Erling Smørgrav case $host_cpu in 427817d15b25SDag-Erling Smørgrav hppa*64*) 427917d15b25SDag-Erling Smørgrav ;; 428017d15b25SDag-Erling Smørgrav *) 428117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 428217d15b25SDag-Erling Smørgrav ;; 428317d15b25SDag-Erling Smørgrav esac 428417d15b25SDag-Erling Smørgrav ;; 428517d15b25SDag-Erling Smørgrav *qnx* | *nto*) 428617d15b25SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 428717d15b25SDag-Erling Smørgrav # it will coredump. 428817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 428917d15b25SDag-Erling Smørgrav ;; 429017d15b25SDag-Erling Smørgrav *) 429117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 429217d15b25SDag-Erling Smørgrav ;; 429317d15b25SDag-Erling Smørgrav esac 429417d15b25SDag-Erling Smørgrav else 429517d15b25SDag-Erling Smørgrav case $host_os in 429617d15b25SDag-Erling Smørgrav aix[[4-9]]*) 429717d15b25SDag-Erling Smørgrav # All AIX code is PIC. 4298986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 429917d15b25SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 430017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 430117d15b25SDag-Erling Smørgrav else 430217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 430317d15b25SDag-Erling Smørgrav fi 430417d15b25SDag-Erling Smørgrav ;; 430517d15b25SDag-Erling Smørgrav chorus*) 430617d15b25SDag-Erling Smørgrav case $cc_basename in 430717d15b25SDag-Erling Smørgrav cxch68*) 430817d15b25SDag-Erling Smørgrav # Green Hills C++ Compiler 430917d15b25SDag-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" 431017d15b25SDag-Erling Smørgrav ;; 431117d15b25SDag-Erling Smørgrav esac 431217d15b25SDag-Erling Smørgrav ;; 431317d15b25SDag-Erling Smørgrav mingw* | cygwin* | os2* | pw32* | cegcc*) 431417d15b25SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 431517d15b25SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 431617d15b25SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 431717d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 431817d15b25SDag-Erling Smørgrav ;; 431917d15b25SDag-Erling Smørgrav dgux*) 432017d15b25SDag-Erling Smørgrav case $cc_basename in 432117d15b25SDag-Erling Smørgrav ec++*) 432217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 432317d15b25SDag-Erling Smørgrav ;; 432417d15b25SDag-Erling Smørgrav ghcx*) 432517d15b25SDag-Erling Smørgrav # Green Hills C++ Compiler 432617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 432717d15b25SDag-Erling Smørgrav ;; 432817d15b25SDag-Erling Smørgrav *) 432917d15b25SDag-Erling Smørgrav ;; 433017d15b25SDag-Erling Smørgrav esac 433117d15b25SDag-Erling Smørgrav ;; 433217d15b25SDag-Erling Smørgrav freebsd* | dragonfly*) 433317d15b25SDag-Erling Smørgrav # FreeBSD uses GNU C++ 433417d15b25SDag-Erling Smørgrav ;; 433517d15b25SDag-Erling Smørgrav hpux9* | hpux10* | hpux11*) 433617d15b25SDag-Erling Smørgrav case $cc_basename in 433717d15b25SDag-Erling Smørgrav CC*) 433817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4339986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4340986ba33cSDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 434117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 434217d15b25SDag-Erling Smørgrav fi 434317d15b25SDag-Erling Smørgrav ;; 434417d15b25SDag-Erling Smørgrav aCC*) 434517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4346986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 434717d15b25SDag-Erling Smørgrav case $host_cpu in 434817d15b25SDag-Erling Smørgrav hppa*64*|ia64*) 434917d15b25SDag-Erling Smørgrav # +Z the default 435017d15b25SDag-Erling Smørgrav ;; 435117d15b25SDag-Erling Smørgrav *) 435217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 435317d15b25SDag-Erling Smørgrav ;; 435417d15b25SDag-Erling Smørgrav esac 435517d15b25SDag-Erling Smørgrav ;; 435617d15b25SDag-Erling Smørgrav *) 435717d15b25SDag-Erling Smørgrav ;; 435817d15b25SDag-Erling Smørgrav esac 435917d15b25SDag-Erling Smørgrav ;; 436017d15b25SDag-Erling Smørgrav interix*) 436117d15b25SDag-Erling Smørgrav # This is c89, which is MS Visual C++ (no shared libs) 436217d15b25SDag-Erling Smørgrav # Anyone wants to do a port? 436317d15b25SDag-Erling Smørgrav ;; 436417d15b25SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 436517d15b25SDag-Erling Smørgrav case $cc_basename in 436617d15b25SDag-Erling Smørgrav CC*) 436717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 436817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 436917d15b25SDag-Erling Smørgrav # CC pic flag -KPIC is the default. 437017d15b25SDag-Erling Smørgrav ;; 437117d15b25SDag-Erling Smørgrav *) 437217d15b25SDag-Erling Smørgrav ;; 437317d15b25SDag-Erling Smørgrav esac 437417d15b25SDag-Erling Smørgrav ;; 4375986ba33cSDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 437617d15b25SDag-Erling Smørgrav case $cc_basename in 437717d15b25SDag-Erling Smørgrav KCC*) 437817d15b25SDag-Erling Smørgrav # KAI C++ Compiler 437917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 438017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 438117d15b25SDag-Erling Smørgrav ;; 438217d15b25SDag-Erling Smørgrav ecpc* ) 4383986ba33cSDag-Erling Smørgrav # old Intel C++ for x86_64, which still supported -KPIC. 438417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 438517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 438617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 438717d15b25SDag-Erling Smørgrav ;; 438817d15b25SDag-Erling Smørgrav icpc* ) 438917d15b25SDag-Erling Smørgrav # Intel C++, used to be incompatible with GCC. 439017d15b25SDag-Erling Smørgrav # ICC 10 doesn't accept -KPIC any more. 439117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 439217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 439317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 439417d15b25SDag-Erling Smørgrav ;; 439517d15b25SDag-Erling Smørgrav pgCC* | pgcpp*) 439617d15b25SDag-Erling Smørgrav # Portland Group C++ compiler 439717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 439817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 439917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 440017d15b25SDag-Erling Smørgrav ;; 440117d15b25SDag-Erling Smørgrav cxx*) 440217d15b25SDag-Erling Smørgrav # Compaq C++ 440317d15b25SDag-Erling Smørgrav # Make sure the PIC flag is empty. It appears that all Alpha 440417d15b25SDag-Erling Smørgrav # Linux and Compaq Tru64 Unix objects are PIC. 440517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 440617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 440717d15b25SDag-Erling Smørgrav ;; 440817d15b25SDag-Erling Smørgrav xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 440917d15b25SDag-Erling Smørgrav # IBM XL 8.0, 9.0 on PPC and BlueGene 441017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 441117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 441217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 441317d15b25SDag-Erling Smørgrav ;; 441417d15b25SDag-Erling Smørgrav *) 441517d15b25SDag-Erling Smørgrav case `$CC -V 2>&1 | sed 5q` in 441617d15b25SDag-Erling Smørgrav *Sun\ C*) 441717d15b25SDag-Erling Smørgrav # Sun C++ 5.9 441817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 441917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 442017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 442117d15b25SDag-Erling Smørgrav ;; 442217d15b25SDag-Erling Smørgrav esac 442317d15b25SDag-Erling Smørgrav ;; 442417d15b25SDag-Erling Smørgrav esac 442517d15b25SDag-Erling Smørgrav ;; 442617d15b25SDag-Erling Smørgrav lynxos*) 442717d15b25SDag-Erling Smørgrav ;; 442817d15b25SDag-Erling Smørgrav m88k*) 442917d15b25SDag-Erling Smørgrav ;; 443017d15b25SDag-Erling Smørgrav mvs*) 443117d15b25SDag-Erling Smørgrav case $cc_basename in 443217d15b25SDag-Erling Smørgrav cxx*) 443317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 443417d15b25SDag-Erling Smørgrav ;; 443517d15b25SDag-Erling Smørgrav *) 443617d15b25SDag-Erling Smørgrav ;; 443717d15b25SDag-Erling Smørgrav esac 443817d15b25SDag-Erling Smørgrav ;; 443917d15b25SDag-Erling Smørgrav netbsd* | netbsdelf*-gnu) 444017d15b25SDag-Erling Smørgrav ;; 444117d15b25SDag-Erling Smørgrav *qnx* | *nto*) 444217d15b25SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 444317d15b25SDag-Erling Smørgrav # it will coredump. 444417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 444517d15b25SDag-Erling Smørgrav ;; 444617d15b25SDag-Erling Smørgrav osf3* | osf4* | osf5*) 444717d15b25SDag-Erling Smørgrav case $cc_basename in 444817d15b25SDag-Erling Smørgrav KCC*) 444917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 445017d15b25SDag-Erling Smørgrav ;; 445117d15b25SDag-Erling Smørgrav RCC*) 445217d15b25SDag-Erling Smørgrav # Rational C++ 2.4.1 445317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 445417d15b25SDag-Erling Smørgrav ;; 445517d15b25SDag-Erling Smørgrav cxx*) 445617d15b25SDag-Erling Smørgrav # Digital/Compaq C++ 445717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 445817d15b25SDag-Erling Smørgrav # Make sure the PIC flag is empty. It appears that all Alpha 445917d15b25SDag-Erling Smørgrav # Linux and Compaq Tru64 Unix objects are PIC. 446017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 446117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 446217d15b25SDag-Erling Smørgrav ;; 446317d15b25SDag-Erling Smørgrav *) 446417d15b25SDag-Erling Smørgrav ;; 446517d15b25SDag-Erling Smørgrav esac 446617d15b25SDag-Erling Smørgrav ;; 446717d15b25SDag-Erling Smørgrav psos*) 446817d15b25SDag-Erling Smørgrav ;; 446917d15b25SDag-Erling Smørgrav solaris*) 447017d15b25SDag-Erling Smørgrav case $cc_basename in 447117d15b25SDag-Erling Smørgrav CC* | sunCC*) 447217d15b25SDag-Erling Smørgrav # Sun C++ 4.2, 5.x and Centerline C++ 447317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 447417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 447517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 447617d15b25SDag-Erling Smørgrav ;; 447717d15b25SDag-Erling Smørgrav gcx*) 447817d15b25SDag-Erling Smørgrav # Green Hills C++ Compiler 447917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 448017d15b25SDag-Erling Smørgrav ;; 448117d15b25SDag-Erling Smørgrav *) 448217d15b25SDag-Erling Smørgrav ;; 448317d15b25SDag-Erling Smørgrav esac 448417d15b25SDag-Erling Smørgrav ;; 448517d15b25SDag-Erling Smørgrav sunos4*) 448617d15b25SDag-Erling Smørgrav case $cc_basename in 448717d15b25SDag-Erling Smørgrav CC*) 448817d15b25SDag-Erling Smørgrav # Sun C++ 4.x 448917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 449017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 449117d15b25SDag-Erling Smørgrav ;; 449217d15b25SDag-Erling Smørgrav lcc*) 449317d15b25SDag-Erling Smørgrav # Lucid 449417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 449517d15b25SDag-Erling Smørgrav ;; 449617d15b25SDag-Erling Smørgrav *) 449717d15b25SDag-Erling Smørgrav ;; 449817d15b25SDag-Erling Smørgrav esac 449917d15b25SDag-Erling Smørgrav ;; 450017d15b25SDag-Erling Smørgrav sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 450117d15b25SDag-Erling Smørgrav case $cc_basename in 450217d15b25SDag-Erling Smørgrav CC*) 450317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 450417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 450517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 450617d15b25SDag-Erling Smørgrav ;; 450717d15b25SDag-Erling Smørgrav esac 450817d15b25SDag-Erling Smørgrav ;; 450917d15b25SDag-Erling Smørgrav tandem*) 451017d15b25SDag-Erling Smørgrav case $cc_basename in 451117d15b25SDag-Erling Smørgrav NCC*) 451217d15b25SDag-Erling Smørgrav # NonStop-UX NCC 3.20 451317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 451417d15b25SDag-Erling Smørgrav ;; 451517d15b25SDag-Erling Smørgrav *) 451617d15b25SDag-Erling Smørgrav ;; 451717d15b25SDag-Erling Smørgrav esac 451817d15b25SDag-Erling Smørgrav ;; 451917d15b25SDag-Erling Smørgrav vxworks*) 452017d15b25SDag-Erling Smørgrav ;; 452117d15b25SDag-Erling Smørgrav *) 452217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 452317d15b25SDag-Erling Smørgrav ;; 452417d15b25SDag-Erling Smørgrav esac 452517d15b25SDag-Erling Smørgrav fi 452617d15b25SDag-Erling Smørgrav], 452717d15b25SDag-Erling Smørgrav[ 4528986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 452917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 453017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 453117d15b25SDag-Erling Smørgrav 453217d15b25SDag-Erling Smørgrav case $host_os in 453317d15b25SDag-Erling Smørgrav aix*) 453417d15b25SDag-Erling Smørgrav # All AIX code is PIC. 4535986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 453617d15b25SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 453717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 453817d15b25SDag-Erling Smørgrav fi 4539986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 454017d15b25SDag-Erling Smørgrav ;; 454117d15b25SDag-Erling Smørgrav 454217d15b25SDag-Erling Smørgrav amigaos*) 454317d15b25SDag-Erling Smørgrav case $host_cpu in 454417d15b25SDag-Erling Smørgrav powerpc) 454517d15b25SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 454617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 454717d15b25SDag-Erling Smørgrav ;; 454817d15b25SDag-Erling Smørgrav m68k) 454917d15b25SDag-Erling Smørgrav # FIXME: we need at least 68020 code to build shared libraries, but 4550986ba33cSDag-Erling Smørgrav # adding the '-m68020' flag to GCC prevents building anything better, 4551986ba33cSDag-Erling Smørgrav # like '-m68040'. 455217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 455317d15b25SDag-Erling Smørgrav ;; 455417d15b25SDag-Erling Smørgrav esac 455517d15b25SDag-Erling Smørgrav ;; 455617d15b25SDag-Erling Smørgrav 455717d15b25SDag-Erling Smørgrav beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 455817d15b25SDag-Erling Smørgrav # PIC is the default for these OSes. 455917d15b25SDag-Erling Smørgrav ;; 456017d15b25SDag-Erling Smørgrav 456117d15b25SDag-Erling Smørgrav mingw* | cygwin* | pw32* | os2* | cegcc*) 456217d15b25SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 456317d15b25SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 456417d15b25SDag-Erling Smørgrav # Although the cygwin gcc ignores -fPIC, still need this for old-style 456517d15b25SDag-Erling Smørgrav # (--disable-auto-import) libraries 456617d15b25SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 456717d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4568986ba33cSDag-Erling Smørgrav case $host_os in 4569986ba33cSDag-Erling Smørgrav os2*) 4570986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4571986ba33cSDag-Erling Smørgrav ;; 4572986ba33cSDag-Erling Smørgrav esac 457317d15b25SDag-Erling Smørgrav ;; 457417d15b25SDag-Erling Smørgrav 457517d15b25SDag-Erling Smørgrav darwin* | rhapsody*) 457617d15b25SDag-Erling Smørgrav # PIC is the default on this platform 457717d15b25SDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 457817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 457917d15b25SDag-Erling Smørgrav ;; 458017d15b25SDag-Erling Smørgrav 458117d15b25SDag-Erling Smørgrav haiku*) 458217d15b25SDag-Erling Smørgrav # PIC is the default for Haiku. 458317d15b25SDag-Erling Smørgrav # The "-static" flag exists, but is broken. 458417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)= 458517d15b25SDag-Erling Smørgrav ;; 458617d15b25SDag-Erling Smørgrav 458717d15b25SDag-Erling Smørgrav hpux*) 458817d15b25SDag-Erling Smørgrav # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 458917d15b25SDag-Erling Smørgrav # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 459017d15b25SDag-Erling Smørgrav # sets the default TLS model and affects inlining. 459117d15b25SDag-Erling Smørgrav case $host_cpu in 459217d15b25SDag-Erling Smørgrav hppa*64*) 459317d15b25SDag-Erling Smørgrav # +Z the default 459417d15b25SDag-Erling Smørgrav ;; 459517d15b25SDag-Erling Smørgrav *) 459617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 459717d15b25SDag-Erling Smørgrav ;; 459817d15b25SDag-Erling Smørgrav esac 459917d15b25SDag-Erling Smørgrav ;; 460017d15b25SDag-Erling Smørgrav 460117d15b25SDag-Erling Smørgrav interix[[3-9]]*) 460217d15b25SDag-Erling Smørgrav # Interix 3.x gcc -fpic/-fPIC options generate broken code. 460317d15b25SDag-Erling Smørgrav # Instead, we relocate shared libraries at runtime. 460417d15b25SDag-Erling Smørgrav ;; 460517d15b25SDag-Erling Smørgrav 460617d15b25SDag-Erling Smørgrav msdosdjgpp*) 460717d15b25SDag-Erling Smørgrav # Just because we use GCC doesn't mean we suddenly get shared libraries 460817d15b25SDag-Erling Smørgrav # on systems that don't support them. 460917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 461017d15b25SDag-Erling Smørgrav enable_shared=no 461117d15b25SDag-Erling Smørgrav ;; 461217d15b25SDag-Erling Smørgrav 461317d15b25SDag-Erling Smørgrav *nto* | *qnx*) 461417d15b25SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 461517d15b25SDag-Erling Smørgrav # it will coredump. 461617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 461717d15b25SDag-Erling Smørgrav ;; 461817d15b25SDag-Erling Smørgrav 461917d15b25SDag-Erling Smørgrav sysv4*MP*) 462017d15b25SDag-Erling Smørgrav if test -d /usr/nec; then 462117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 462217d15b25SDag-Erling Smørgrav fi 462317d15b25SDag-Erling Smørgrav ;; 462417d15b25SDag-Erling Smørgrav 462517d15b25SDag-Erling Smørgrav *) 462617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 462717d15b25SDag-Erling Smørgrav ;; 462817d15b25SDag-Erling Smørgrav esac 462917d15b25SDag-Erling Smørgrav 463017d15b25SDag-Erling Smørgrav case $cc_basename in 463117d15b25SDag-Erling Smørgrav nvcc*) # Cuda Compiler Driver 2.2 463217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 463317d15b25SDag-Erling Smørgrav if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 463417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 463517d15b25SDag-Erling Smørgrav fi 463617d15b25SDag-Erling Smørgrav ;; 463717d15b25SDag-Erling Smørgrav esac 463817d15b25SDag-Erling Smørgrav else 463917d15b25SDag-Erling Smørgrav # PORTME Check for flag to pass linker flags through the system compiler. 464017d15b25SDag-Erling Smørgrav case $host_os in 464117d15b25SDag-Erling Smørgrav aix*) 464217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4643986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 464417d15b25SDag-Erling Smørgrav # AIX 5 now supports IA64 processor 464517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 464617d15b25SDag-Erling Smørgrav else 464717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 464817d15b25SDag-Erling Smørgrav fi 464917d15b25SDag-Erling Smørgrav ;; 465017d15b25SDag-Erling Smørgrav 4651986ba33cSDag-Erling Smørgrav darwin* | rhapsody*) 4652986ba33cSDag-Erling Smørgrav # PIC is the default on this platform 4653986ba33cSDag-Erling Smørgrav # Common symbols not allowed in MH_DYLIB files 4654986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4655986ba33cSDag-Erling Smørgrav case $cc_basename in 4656986ba33cSDag-Erling Smørgrav nagfor*) 4657986ba33cSDag-Erling Smørgrav # NAG Fortran compiler 4658986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4659986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4660986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4661986ba33cSDag-Erling Smørgrav ;; 4662986ba33cSDag-Erling Smørgrav esac 4663986ba33cSDag-Erling Smørgrav ;; 4664986ba33cSDag-Erling Smørgrav 466517d15b25SDag-Erling Smørgrav mingw* | cygwin* | pw32* | os2* | cegcc*) 466617d15b25SDag-Erling Smørgrav # This hack is so that the source file can tell whether it is being 466717d15b25SDag-Erling Smørgrav # built for inclusion in a dll (and should export symbols for example). 466817d15b25SDag-Erling Smørgrav m4_if([$1], [GCJ], [], 466917d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4670986ba33cSDag-Erling Smørgrav case $host_os in 4671986ba33cSDag-Erling Smørgrav os2*) 4672986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4673986ba33cSDag-Erling Smørgrav ;; 4674986ba33cSDag-Erling Smørgrav esac 467517d15b25SDag-Erling Smørgrav ;; 467617d15b25SDag-Erling Smørgrav 467717d15b25SDag-Erling Smørgrav hpux9* | hpux10* | hpux11*) 467817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 467917d15b25SDag-Erling Smørgrav # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 468017d15b25SDag-Erling Smørgrav # not for PA HP-UX. 468117d15b25SDag-Erling Smørgrav case $host_cpu in 468217d15b25SDag-Erling Smørgrav hppa*64*|ia64*) 468317d15b25SDag-Erling Smørgrav # +Z the default 468417d15b25SDag-Erling Smørgrav ;; 468517d15b25SDag-Erling Smørgrav *) 468617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 468717d15b25SDag-Erling Smørgrav ;; 468817d15b25SDag-Erling Smørgrav esac 468917d15b25SDag-Erling Smørgrav # Is there a better lt_prog_compiler_static that works with the bundled CC? 4690986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 469117d15b25SDag-Erling Smørgrav ;; 469217d15b25SDag-Erling Smørgrav 469317d15b25SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 469417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 469517d15b25SDag-Erling Smørgrav # PIC (with -KPIC) is the default. 469617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 469717d15b25SDag-Erling Smørgrav ;; 469817d15b25SDag-Erling Smørgrav 4699986ba33cSDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 470017d15b25SDag-Erling Smørgrav case $cc_basename in 4701986ba33cSDag-Erling Smørgrav # old Intel for x86_64, which still supported -KPIC. 470217d15b25SDag-Erling Smørgrav ecc*) 470317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 470417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 470517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 470617d15b25SDag-Erling Smørgrav ;; 4707*5afab0e5SDag-Erling Smørgrav # flang / f18. f95 an alias for gfortran or flang on Debian 4708*5afab0e5SDag-Erling Smørgrav flang* | f18* | f95*) 4709*5afab0e5SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4710*5afab0e5SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4711*5afab0e5SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4712*5afab0e5SDag-Erling Smørgrav ;; 471317d15b25SDag-Erling Smørgrav # icc used to be incompatible with GCC. 471417d15b25SDag-Erling Smørgrav # ICC 10 doesn't accept -KPIC any more. 471517d15b25SDag-Erling Smørgrav icc* | ifort*) 471617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 471717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 471817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 471917d15b25SDag-Erling Smørgrav ;; 472017d15b25SDag-Erling Smørgrav # Lahey Fortran 8.1. 472117d15b25SDag-Erling Smørgrav lf95*) 472217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 472317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 472417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 472517d15b25SDag-Erling Smørgrav ;; 472617d15b25SDag-Erling Smørgrav nagfor*) 472717d15b25SDag-Erling Smørgrav # NAG Fortran compiler 472817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 472917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 473017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 473117d15b25SDag-Erling Smørgrav ;; 4732986ba33cSDag-Erling Smørgrav tcc*) 4733986ba33cSDag-Erling Smørgrav # Fabrice Bellard et al's Tiny C Compiler 4734986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4735986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4736986ba33cSDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4737986ba33cSDag-Erling Smørgrav ;; 473817d15b25SDag-Erling Smørgrav pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 473917d15b25SDag-Erling Smørgrav # Portland Group compilers (*not* the Pentium gcc compiler, 474017d15b25SDag-Erling Smørgrav # which looks to be a dead project) 474117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 474217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 474317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 474417d15b25SDag-Erling Smørgrav ;; 474517d15b25SDag-Erling Smørgrav ccc*) 474617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 474717d15b25SDag-Erling Smørgrav # All Alpha code is PIC. 474817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 474917d15b25SDag-Erling Smørgrav ;; 475017d15b25SDag-Erling Smørgrav xl* | bgxl* | bgf* | mpixl*) 475117d15b25SDag-Erling Smørgrav # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 475217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 475317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 475417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 475517d15b25SDag-Erling Smørgrav ;; 475617d15b25SDag-Erling Smørgrav *) 475717d15b25SDag-Erling Smørgrav case `$CC -V 2>&1 | sed 5q` in 475817d15b25SDag-Erling Smørgrav *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 475917d15b25SDag-Erling Smørgrav # Sun Fortran 8.3 passes all unrecognized flags to the linker 476017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 476117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 476217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 476317d15b25SDag-Erling Smørgrav ;; 476417d15b25SDag-Erling Smørgrav *Sun\ F* | *Sun*Fortran*) 476517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 476617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 476717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 476817d15b25SDag-Erling Smørgrav ;; 476917d15b25SDag-Erling Smørgrav *Sun\ C*) 477017d15b25SDag-Erling Smørgrav # Sun C 5.9 477117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 477217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 477317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 477417d15b25SDag-Erling Smørgrav ;; 477517d15b25SDag-Erling Smørgrav *Intel*\ [[CF]]*Compiler*) 477617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 477717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 477817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 477917d15b25SDag-Erling Smørgrav ;; 478017d15b25SDag-Erling Smørgrav *Portland\ Group*) 478117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 478217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 478317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 478417d15b25SDag-Erling Smørgrav ;; 478517d15b25SDag-Erling Smørgrav esac 478617d15b25SDag-Erling Smørgrav ;; 478717d15b25SDag-Erling Smørgrav esac 478817d15b25SDag-Erling Smørgrav ;; 478917d15b25SDag-Erling Smørgrav 479017d15b25SDag-Erling Smørgrav newsos6) 479117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 479217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 479317d15b25SDag-Erling Smørgrav ;; 479417d15b25SDag-Erling Smørgrav 479517d15b25SDag-Erling Smørgrav *nto* | *qnx*) 479617d15b25SDag-Erling Smørgrav # QNX uses GNU C++, but need to define -shared option too, otherwise 479717d15b25SDag-Erling Smørgrav # it will coredump. 479817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 479917d15b25SDag-Erling Smørgrav ;; 480017d15b25SDag-Erling Smørgrav 480117d15b25SDag-Erling Smørgrav osf3* | osf4* | osf5*) 480217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 480317d15b25SDag-Erling Smørgrav # All OSF/1 code is PIC. 480417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 480517d15b25SDag-Erling Smørgrav ;; 480617d15b25SDag-Erling Smørgrav 480717d15b25SDag-Erling Smørgrav rdos*) 480817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 480917d15b25SDag-Erling Smørgrav ;; 481017d15b25SDag-Erling Smørgrav 481117d15b25SDag-Erling Smørgrav solaris*) 481217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 481317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 481417d15b25SDag-Erling Smørgrav case $cc_basename in 481517d15b25SDag-Erling Smørgrav f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 481617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 481717d15b25SDag-Erling Smørgrav *) 481817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 481917d15b25SDag-Erling Smørgrav esac 482017d15b25SDag-Erling Smørgrav ;; 482117d15b25SDag-Erling Smørgrav 482217d15b25SDag-Erling Smørgrav sunos4*) 482317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 482417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 482517d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 482617d15b25SDag-Erling Smørgrav ;; 482717d15b25SDag-Erling Smørgrav 482817d15b25SDag-Erling Smørgrav sysv4 | sysv4.2uw2* | sysv4.3*) 482917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 483017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 483117d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 483217d15b25SDag-Erling Smørgrav ;; 483317d15b25SDag-Erling Smørgrav 483417d15b25SDag-Erling Smørgrav sysv4*MP*) 483517d15b25SDag-Erling Smørgrav if test -d /usr/nec; then 483617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 483717d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 483817d15b25SDag-Erling Smørgrav fi 483917d15b25SDag-Erling Smørgrav ;; 484017d15b25SDag-Erling Smørgrav 484117d15b25SDag-Erling Smørgrav sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 484217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 484317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 484417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 484517d15b25SDag-Erling Smørgrav ;; 484617d15b25SDag-Erling Smørgrav 484717d15b25SDag-Erling Smørgrav unicos*) 484817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 484917d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 485017d15b25SDag-Erling Smørgrav ;; 485117d15b25SDag-Erling Smørgrav 485217d15b25SDag-Erling Smørgrav uts4*) 485317d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 485417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 485517d15b25SDag-Erling Smørgrav ;; 485617d15b25SDag-Erling Smørgrav 485717d15b25SDag-Erling Smørgrav *) 485817d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 485917d15b25SDag-Erling Smørgrav ;; 486017d15b25SDag-Erling Smørgrav esac 486117d15b25SDag-Erling Smørgrav fi 486217d15b25SDag-Erling Smørgrav]) 486317d15b25SDag-Erling Smørgravcase $host_os in 4864986ba33cSDag-Erling Smørgrav # For platforms that do not support PIC, -DPIC is meaningless: 486517d15b25SDag-Erling Smørgrav *djgpp*) 486617d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_pic, $1)= 486717d15b25SDag-Erling Smørgrav ;; 486817d15b25SDag-Erling Smørgrav *) 486917d15b25SDag-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],[])])" 487017d15b25SDag-Erling Smørgrav ;; 487117d15b25SDag-Erling Smørgravesac 487217d15b25SDag-Erling Smørgrav 487317d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for $compiler option to produce PIC], 487417d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 487517d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 487617d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 487717d15b25SDag-Erling Smørgrav 487817d15b25SDag-Erling Smørgrav# 487917d15b25SDag-Erling Smørgrav# Check to make sure the PIC flag actually works. 488017d15b25SDag-Erling Smørgrav# 488117d15b25SDag-Erling Smørgravif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 488217d15b25SDag-Erling Smørgrav _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 488317d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 488417d15b25SDag-Erling Smørgrav [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 488517d15b25SDag-Erling Smørgrav [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 488617d15b25SDag-Erling Smørgrav "" | " "*) ;; 488717d15b25SDag-Erling Smørgrav *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 488817d15b25SDag-Erling Smørgrav esac], 488917d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 489017d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 489117d15b25SDag-Erling Smørgravfi 489217d15b25SDag-Erling Smørgrav_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 489317d15b25SDag-Erling Smørgrav [Additional compiler flags for building library objects]) 489417d15b25SDag-Erling Smørgrav 489517d15b25SDag-Erling Smørgrav_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 489617d15b25SDag-Erling Smørgrav [How to pass a linker flag through the compiler]) 489717d15b25SDag-Erling Smørgrav# 489817d15b25SDag-Erling Smørgrav# Check to make sure the static flag actually works. 489917d15b25SDag-Erling Smørgrav# 490017d15b25SDag-Erling Smørgravwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 490117d15b25SDag-Erling Smørgrav_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 490217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 490317d15b25SDag-Erling Smørgrav $lt_tmp_static_flag, 490417d15b25SDag-Erling Smørgrav [], 490517d15b25SDag-Erling Smørgrav [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 490617d15b25SDag-Erling Smørgrav_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 490717d15b25SDag-Erling Smørgrav [Compiler flag to prevent dynamic linking]) 490817d15b25SDag-Erling Smørgrav])# _LT_COMPILER_PIC 490917d15b25SDag-Erling Smørgrav 491017d15b25SDag-Erling Smørgrav 491117d15b25SDag-Erling Smørgrav# _LT_LINKER_SHLIBS([TAGNAME]) 491217d15b25SDag-Erling Smørgrav# ---------------------------- 491317d15b25SDag-Erling Smørgrav# See if the linker supports building shared libraries. 491417d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_SHLIBS], 491517d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PATH_LD])dnl 491617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl 491717d15b25SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl 491817d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl 491917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 492017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl 492117d15b25SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 492217d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl 492317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 492417d15b25SDag-Erling Smørgravm4_if([$1], [CXX], [ 492517d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 492617d15b25SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 492717d15b25SDag-Erling Smørgrav case $host_os in 492817d15b25SDag-Erling Smørgrav aix[[4-9]]*) 492917d15b25SDag-Erling Smørgrav # If we're using GNU nm, then we don't want the "-C" option. 4930986ba33cSDag-Erling Smørgrav # -C means demangle to GNU nm, but means don't demangle to AIX nm. 4931986ba33cSDag-Erling Smørgrav # Without the "-l" option, or with the "-B" option, AIX nm treats 4932986ba33cSDag-Erling Smørgrav # weak defined symbols like other global defined symbols, whereas 4933986ba33cSDag-Erling Smørgrav # GNU nm marks them as "W". 4934986ba33cSDag-Erling Smørgrav # While the 'weak' keyword is ignored in the Export File, we need 4935986ba33cSDag-Erling Smørgrav # it in the Import File for the 'aix-soname' feature, so we have 4936986ba33cSDag-Erling Smørgrav # to replace the "-B" option with "-P" for AIX nm. 493717d15b25SDag-Erling Smørgrav if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4938986ba33cSDag-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' 493917d15b25SDag-Erling Smørgrav else 4940986ba33cSDag-Erling Smørgrav _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' 494117d15b25SDag-Erling Smørgrav fi 494217d15b25SDag-Erling Smørgrav ;; 494317d15b25SDag-Erling Smørgrav pw32*) 4944986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds 494517d15b25SDag-Erling Smørgrav ;; 494617d15b25SDag-Erling Smørgrav cygwin* | mingw* | cegcc*) 494717d15b25SDag-Erling Smørgrav case $cc_basename in 494817d15b25SDag-Erling Smørgrav cl*) 494917d15b25SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 495017d15b25SDag-Erling Smørgrav ;; 495117d15b25SDag-Erling Smørgrav *) 495217d15b25SDag-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' 495317d15b25SDag-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'] 495417d15b25SDag-Erling Smørgrav ;; 495517d15b25SDag-Erling Smørgrav esac 495617d15b25SDag-Erling Smørgrav ;; 495717d15b25SDag-Erling Smørgrav linux* | k*bsd*-gnu | gnu*) 495817d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=no 495917d15b25SDag-Erling Smørgrav ;; 496017d15b25SDag-Erling Smørgrav *) 496117d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 496217d15b25SDag-Erling Smørgrav ;; 496317d15b25SDag-Erling Smørgrav esac 496417d15b25SDag-Erling Smørgrav], [ 496517d15b25SDag-Erling Smørgrav runpath_var= 496617d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)= 496717d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 496817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)= 496917d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)= 497017d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=no 497117d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 497217d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)= 497317d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 497417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_automatic, $1)=no 497517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 497617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 497717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 497817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 497917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=no 498017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 498117d15b25SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=no 498217d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=unknown 498317d15b25SDag-Erling Smørgrav _LT_TAGVAR(module_cmds, $1)= 498417d15b25SDag-Erling Smørgrav _LT_TAGVAR(module_expsym_cmds, $1)= 498517d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_new_cmds, $1)= 498617d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 498717d15b25SDag-Erling Smørgrav _LT_TAGVAR(thread_safe_flag_spec, $1)= 498817d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 498917d15b25SDag-Erling Smørgrav # include_expsyms should be a list of space-separated symbols to be *always* 499017d15b25SDag-Erling Smørgrav # included in the symbol list 499117d15b25SDag-Erling Smørgrav _LT_TAGVAR(include_expsyms, $1)= 499217d15b25SDag-Erling Smørgrav # exclude_expsyms can be an extended regexp of symbols to exclude 4993986ba33cSDag-Erling Smørgrav # it will be wrapped by ' (' and ')$', so one must not match beginning or 4994986ba33cSDag-Erling Smørgrav # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', 4995986ba33cSDag-Erling Smørgrav # as well as any symbol that contains 'd'. 499617d15b25SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 499717d15b25SDag-Erling Smørgrav # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 499817d15b25SDag-Erling Smørgrav # platforms (ab)use it in PIC code, but their linkers get confused if 499917d15b25SDag-Erling Smørgrav # the symbol is explicitly referenced. Since portable code cannot 500017d15b25SDag-Erling Smørgrav # rely on this symbol name, it's probably fine to never include it in 500117d15b25SDag-Erling Smørgrav # preloaded symbol tables. 500217d15b25SDag-Erling Smørgrav # Exclude shared library initialization/finalization symbols. 500317d15b25SDag-Erling Smørgravdnl Note also adjust exclude_expsyms for C++ above. 500417d15b25SDag-Erling Smørgrav extract_expsyms_cmds= 500517d15b25SDag-Erling Smørgrav 500617d15b25SDag-Erling Smørgrav case $host_os in 500717d15b25SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 500817d15b25SDag-Erling Smørgrav # FIXME: the MSVC++ port hasn't been tested in a loooong time 500917d15b25SDag-Erling Smørgrav # When not using gcc, we currently assume that we are using 501017d15b25SDag-Erling Smørgrav # Microsoft Visual C++. 5011986ba33cSDag-Erling Smørgrav if test yes != "$GCC"; then 501217d15b25SDag-Erling Smørgrav with_gnu_ld=no 501317d15b25SDag-Erling Smørgrav fi 501417d15b25SDag-Erling Smørgrav ;; 501517d15b25SDag-Erling Smørgrav interix*) 501617d15b25SDag-Erling Smørgrav # we just hope/assume this is gcc and not c89 (= MSVC++) 501717d15b25SDag-Erling Smørgrav with_gnu_ld=yes 501817d15b25SDag-Erling Smørgrav ;; 5019986ba33cSDag-Erling Smørgrav openbsd* | bitrig*) 502017d15b25SDag-Erling Smørgrav with_gnu_ld=no 502117d15b25SDag-Erling Smørgrav ;; 502217d15b25SDag-Erling Smørgrav linux* | k*bsd*-gnu | gnu*) 502317d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=no 502417d15b25SDag-Erling Smørgrav ;; 502517d15b25SDag-Erling Smørgrav esac 502617d15b25SDag-Erling Smørgrav 502717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 502817d15b25SDag-Erling Smørgrav 502917d15b25SDag-Erling Smørgrav # On some targets, GNU ld is compatible enough with the native linker 503017d15b25SDag-Erling Smørgrav # that we're better off using the native interface for both. 503117d15b25SDag-Erling Smørgrav lt_use_gnu_ld_interface=no 5032986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 503317d15b25SDag-Erling Smørgrav case $host_os in 503417d15b25SDag-Erling Smørgrav aix*) 503517d15b25SDag-Erling Smørgrav # The AIX port of GNU ld has always aspired to compatibility 503617d15b25SDag-Erling Smørgrav # with the native linker. However, as the warning in the GNU ld 503717d15b25SDag-Erling Smørgrav # block says, versions before 2.19.5* couldn't really create working 503817d15b25SDag-Erling Smørgrav # shared libraries, regardless of the interface used. 503917d15b25SDag-Erling Smørgrav case `$LD -v 2>&1` in 504017d15b25SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 504117d15b25SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 504217d15b25SDag-Erling Smørgrav *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 504317d15b25SDag-Erling Smørgrav *) 504417d15b25SDag-Erling Smørgrav lt_use_gnu_ld_interface=yes 504517d15b25SDag-Erling Smørgrav ;; 504617d15b25SDag-Erling Smørgrav esac 504717d15b25SDag-Erling Smørgrav ;; 504817d15b25SDag-Erling Smørgrav *) 504917d15b25SDag-Erling Smørgrav lt_use_gnu_ld_interface=yes 505017d15b25SDag-Erling Smørgrav ;; 505117d15b25SDag-Erling Smørgrav esac 505217d15b25SDag-Erling Smørgrav fi 505317d15b25SDag-Erling Smørgrav 5054986ba33cSDag-Erling Smørgrav if test yes = "$lt_use_gnu_ld_interface"; then 505517d15b25SDag-Erling Smørgrav # If archive_cmds runs LD, not CC, wlarc should be empty 5056986ba33cSDag-Erling Smørgrav wlarc='$wl' 505717d15b25SDag-Erling Smørgrav 505817d15b25SDag-Erling Smørgrav # Set some defaults for GNU ld with shared library support. These 505917d15b25SDag-Erling Smørgrav # are reset later if shared libraries are not supported. Putting them 506017d15b25SDag-Erling Smørgrav # here allows them to be overridden if necessary. 506117d15b25SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 5062986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5063986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 506417d15b25SDag-Erling Smørgrav # ancient GNU ld didn't support --whole-archive et. al. 506517d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 5066986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 506717d15b25SDag-Erling Smørgrav else 506817d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 506917d15b25SDag-Erling Smørgrav fi 507017d15b25SDag-Erling Smørgrav supports_anon_versioning=no 5071986ba33cSDag-Erling Smørgrav case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in 507217d15b25SDag-Erling Smørgrav *GNU\ gold*) supports_anon_versioning=yes ;; 507317d15b25SDag-Erling Smørgrav *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 507417d15b25SDag-Erling Smørgrav *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 507517d15b25SDag-Erling Smørgrav *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 507617d15b25SDag-Erling Smørgrav *\ 2.11.*) ;; # other 2.11 versions 507717d15b25SDag-Erling Smørgrav *) supports_anon_versioning=yes ;; 507817d15b25SDag-Erling Smørgrav esac 507917d15b25SDag-Erling Smørgrav 508017d15b25SDag-Erling Smørgrav # See if GNU ld supports shared libraries. 508117d15b25SDag-Erling Smørgrav case $host_os in 508217d15b25SDag-Erling Smørgrav aix[[3-9]]*) 508317d15b25SDag-Erling Smørgrav # On AIX/PPC, the GNU linker is very broken 5084986ba33cSDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 508517d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 508617d15b25SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 508717d15b25SDag-Erling Smørgrav 508817d15b25SDag-Erling Smørgrav*** Warning: the GNU linker, at least up to release 2.19, is reported 508917d15b25SDag-Erling Smørgrav*** to be unable to reliably create shared libraries on AIX. 509017d15b25SDag-Erling Smørgrav*** Therefore, libtool is disabling shared libraries support. If you 509117d15b25SDag-Erling Smørgrav*** really care for shared libraries, you may want to install binutils 509217d15b25SDag-Erling Smørgrav*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 509317d15b25SDag-Erling Smørgrav*** You will then need to restart the configuration process. 509417d15b25SDag-Erling Smørgrav 509517d15b25SDag-Erling Smørgrav_LT_EOF 509617d15b25SDag-Erling Smørgrav fi 509717d15b25SDag-Erling Smørgrav ;; 509817d15b25SDag-Erling Smørgrav 509917d15b25SDag-Erling Smørgrav amigaos*) 510017d15b25SDag-Erling Smørgrav case $host_cpu in 510117d15b25SDag-Erling Smørgrav powerpc) 510217d15b25SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 5103986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 510417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='' 510517d15b25SDag-Erling Smørgrav ;; 510617d15b25SDag-Erling Smørgrav m68k) 510717d15b25SDag-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)' 510817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 510917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 511017d15b25SDag-Erling Smørgrav ;; 511117d15b25SDag-Erling Smørgrav esac 511217d15b25SDag-Erling Smørgrav ;; 511317d15b25SDag-Erling Smørgrav 511417d15b25SDag-Erling Smørgrav beos*) 511517d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 511617d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 511717d15b25SDag-Erling Smørgrav # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 511817d15b25SDag-Erling Smørgrav # support --undefined. This deserves some investigation. FIXME 5119986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 512017d15b25SDag-Erling Smørgrav else 512117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 512217d15b25SDag-Erling Smørgrav fi 512317d15b25SDag-Erling Smørgrav ;; 512417d15b25SDag-Erling Smørgrav 512517d15b25SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 512617d15b25SDag-Erling Smørgrav # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 512717d15b25SDag-Erling Smørgrav # as there is no search path for DLLs. 512817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5129986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 513017d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 513117d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 513217d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 513317d15b25SDag-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' 513417d15b25SDag-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'] 513517d15b25SDag-Erling Smørgrav 513617d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 5137986ba33cSDag-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' 5138986ba33cSDag-Erling Smørgrav # If the export-symbols file already is a .def file, use it as 5139986ba33cSDag-Erling Smørgrav # is; otherwise, prepend EXPORTS... 5140986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 514117d15b25SDag-Erling Smørgrav cp $export_symbols $output_objdir/$soname.def; 514217d15b25SDag-Erling Smørgrav else 514317d15b25SDag-Erling Smørgrav echo EXPORTS > $output_objdir/$soname.def; 514417d15b25SDag-Erling Smørgrav cat $export_symbols >> $output_objdir/$soname.def; 514517d15b25SDag-Erling Smørgrav fi~ 5146986ba33cSDag-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' 514717d15b25SDag-Erling Smørgrav else 514817d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 514917d15b25SDag-Erling Smørgrav fi 515017d15b25SDag-Erling Smørgrav ;; 515117d15b25SDag-Erling Smørgrav 515217d15b25SDag-Erling Smørgrav haiku*) 5153986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 515417d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 515517d15b25SDag-Erling Smørgrav ;; 515617d15b25SDag-Erling Smørgrav 5157986ba33cSDag-Erling Smørgrav os2*) 5158986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5159986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5160986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5161986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 5162986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5163986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5164986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5165986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5166986ba33cSDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 5167986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5168986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5169986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5170986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5171986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5172986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5173986ba33cSDag-Erling Smørgrav prefix_cmds="$SED"~ 5174986ba33cSDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 5175986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 5176986ba33cSDag-Erling Smørgrav fi~ 5177986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 5178986ba33cSDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 5179986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5180986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5181986ba33cSDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 5182986ba33cSDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5183986ba33cSDag-Erling Smørgrav ;; 5184986ba33cSDag-Erling Smørgrav 518517d15b25SDag-Erling Smørgrav interix[[3-9]]*) 518617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 518717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5188986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5189986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 519017d15b25SDag-Erling Smørgrav # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 519117d15b25SDag-Erling Smørgrav # Instead, shared libraries are loaded at an image base (0x10000000 by 519217d15b25SDag-Erling Smørgrav # default) and relocated if they conflict, which is a slow very memory 519317d15b25SDag-Erling Smørgrav # consuming and fragmenting process. To avoid this, we pick a random, 519417d15b25SDag-Erling Smørgrav # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 519517d15b25SDag-Erling Smørgrav # time. Moving up from 0x10000000 also allows more sbrk(2) space. 5196986ba33cSDag-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' 5197986ba33cSDag-Erling Smørgrav _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' 519817d15b25SDag-Erling Smørgrav ;; 519917d15b25SDag-Erling Smørgrav 520017d15b25SDag-Erling Smørgrav gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 520117d15b25SDag-Erling Smørgrav tmp_diet=no 5202986ba33cSDag-Erling Smørgrav if test linux-dietlibc = "$host_os"; then 520317d15b25SDag-Erling Smørgrav case $cc_basename in 520417d15b25SDag-Erling Smørgrav diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 520517d15b25SDag-Erling Smørgrav esac 520617d15b25SDag-Erling Smørgrav fi 520717d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 5208986ba33cSDag-Erling Smørgrav && test no = "$tmp_diet" 520917d15b25SDag-Erling Smørgrav then 521017d15b25SDag-Erling Smørgrav tmp_addflag=' $pic_flag' 521117d15b25SDag-Erling Smørgrav tmp_sharedflag='-shared' 521217d15b25SDag-Erling Smørgrav case $cc_basename,$host_cpu in 521317d15b25SDag-Erling Smørgrav pgcc*) # Portland Group C compiler 5214986ba33cSDag-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' 521517d15b25SDag-Erling Smørgrav tmp_addflag=' $pic_flag' 521617d15b25SDag-Erling Smørgrav ;; 521717d15b25SDag-Erling Smørgrav pgf77* | pgf90* | pgf95* | pgfortran*) 521817d15b25SDag-Erling Smørgrav # Portland Group f77 and f90 compilers 5219986ba33cSDag-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' 522017d15b25SDag-Erling Smørgrav tmp_addflag=' $pic_flag -Mnomain' ;; 522117d15b25SDag-Erling Smørgrav ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 522217d15b25SDag-Erling Smørgrav tmp_addflag=' -i_dynamic' ;; 522317d15b25SDag-Erling Smørgrav efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 522417d15b25SDag-Erling Smørgrav tmp_addflag=' -i_dynamic -nofor_main' ;; 522517d15b25SDag-Erling Smørgrav ifc* | ifort*) # Intel Fortran compiler 522617d15b25SDag-Erling Smørgrav tmp_addflag=' -nofor_main' ;; 522717d15b25SDag-Erling Smørgrav lf95*) # Lahey Fortran 8.1 522817d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 522917d15b25SDag-Erling Smørgrav tmp_sharedflag='--shared' ;; 5230986ba33cSDag-Erling Smørgrav nagfor*) # NAGFOR 5.3 5231986ba33cSDag-Erling Smørgrav tmp_sharedflag='-Wl,-shared' ;; 523217d15b25SDag-Erling Smørgrav xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 523317d15b25SDag-Erling Smørgrav tmp_sharedflag='-qmkshrobj' 523417d15b25SDag-Erling Smørgrav tmp_addflag= ;; 523517d15b25SDag-Erling Smørgrav nvcc*) # Cuda Compiler Driver 2.2 5236986ba33cSDag-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' 523717d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 523817d15b25SDag-Erling Smørgrav ;; 523917d15b25SDag-Erling Smørgrav esac 524017d15b25SDag-Erling Smørgrav case `$CC -V 2>&1 | sed 5q` in 524117d15b25SDag-Erling Smørgrav *Sun\ C*) # Sun C 5.9 5242986ba33cSDag-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' 524317d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 524417d15b25SDag-Erling Smørgrav tmp_sharedflag='-G' ;; 524517d15b25SDag-Erling Smørgrav *Sun\ F*) # Sun Fortran 8.3 524617d15b25SDag-Erling Smørgrav tmp_sharedflag='-G' ;; 524717d15b25SDag-Erling Smørgrav esac 5248986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 524917d15b25SDag-Erling Smørgrav 5250986ba33cSDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 525117d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 525217d15b25SDag-Erling Smørgrav cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 525317d15b25SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 5254986ba33cSDag-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' 525517d15b25SDag-Erling Smørgrav fi 525617d15b25SDag-Erling Smørgrav 525717d15b25SDag-Erling Smørgrav case $cc_basename in 5258986ba33cSDag-Erling Smørgrav tcc*) 5259986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' 5260986ba33cSDag-Erling Smørgrav ;; 526117d15b25SDag-Erling Smørgrav xlf* | bgf* | bgxlf* | mpixlf*) 526217d15b25SDag-Erling Smørgrav # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 526317d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 5264986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 526517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 5266986ba33cSDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 526717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 526817d15b25SDag-Erling Smørgrav cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 526917d15b25SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 527017d15b25SDag-Erling Smørgrav $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 527117d15b25SDag-Erling Smørgrav fi 527217d15b25SDag-Erling Smørgrav ;; 527317d15b25SDag-Erling Smørgrav esac 527417d15b25SDag-Erling Smørgrav else 527517d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 527617d15b25SDag-Erling Smørgrav fi 527717d15b25SDag-Erling Smørgrav ;; 527817d15b25SDag-Erling Smørgrav 527917d15b25SDag-Erling Smørgrav netbsd* | netbsdelf*-gnu) 528017d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 528117d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 528217d15b25SDag-Erling Smørgrav wlarc= 528317d15b25SDag-Erling Smørgrav else 5284986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5285986ba33cSDag-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' 528617d15b25SDag-Erling Smørgrav fi 528717d15b25SDag-Erling Smørgrav ;; 528817d15b25SDag-Erling Smørgrav 528917d15b25SDag-Erling Smørgrav solaris*) 529017d15b25SDag-Erling Smørgrav if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 529117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 529217d15b25SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 529317d15b25SDag-Erling Smørgrav 529417d15b25SDag-Erling Smørgrav*** Warning: The releases 2.8.* of the GNU linker cannot reliably 529517d15b25SDag-Erling Smørgrav*** create shared libraries on Solaris systems. Therefore, libtool 529617d15b25SDag-Erling Smørgrav*** is disabling shared libraries support. We urge you to upgrade GNU 529717d15b25SDag-Erling Smørgrav*** binutils to release 2.9.1 or newer. Another option is to modify 529817d15b25SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is 529917d15b25SDag-Erling Smørgrav*** used, and then restart. 530017d15b25SDag-Erling Smørgrav 530117d15b25SDag-Erling Smørgrav_LT_EOF 530217d15b25SDag-Erling Smørgrav elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5303986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5304986ba33cSDag-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' 530517d15b25SDag-Erling Smørgrav else 530617d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 530717d15b25SDag-Erling Smørgrav fi 530817d15b25SDag-Erling Smørgrav ;; 530917d15b25SDag-Erling Smørgrav 531017d15b25SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 531117d15b25SDag-Erling Smørgrav case `$LD -v 2>&1` in 531217d15b25SDag-Erling Smørgrav *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 531317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 531417d15b25SDag-Erling Smørgrav cat <<_LT_EOF 1>&2 531517d15b25SDag-Erling Smørgrav 531617d15b25SDag-Erling Smørgrav*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 531717d15b25SDag-Erling Smørgrav*** reliably create shared libraries on SCO systems. Therefore, libtool 531817d15b25SDag-Erling Smørgrav*** is disabling shared libraries support. We urge you to upgrade GNU 531917d15b25SDag-Erling Smørgrav*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 532017d15b25SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is 532117d15b25SDag-Erling Smørgrav*** used, and then restart. 532217d15b25SDag-Erling Smørgrav 532317d15b25SDag-Erling Smørgrav_LT_EOF 532417d15b25SDag-Erling Smørgrav ;; 532517d15b25SDag-Erling Smørgrav *) 532617d15b25SDag-Erling Smørgrav # For security reasons, it is highly recommended that you always 532717d15b25SDag-Erling Smørgrav # use absolute paths for naming shared libraries, and exclude the 532817d15b25SDag-Erling Smørgrav # DT_RUNPATH tag from executables and libraries. But doing so 532917d15b25SDag-Erling Smørgrav # requires that you compile everything twice, which is a pain. 533017d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5331986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5332986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5333986ba33cSDag-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' 533417d15b25SDag-Erling Smørgrav else 533517d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 533617d15b25SDag-Erling Smørgrav fi 533717d15b25SDag-Erling Smørgrav ;; 533817d15b25SDag-Erling Smørgrav esac 533917d15b25SDag-Erling Smørgrav ;; 534017d15b25SDag-Erling Smørgrav 534117d15b25SDag-Erling Smørgrav sunos4*) 534217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 534317d15b25SDag-Erling Smørgrav wlarc= 534417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 534517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 534617d15b25SDag-Erling Smørgrav ;; 534717d15b25SDag-Erling Smørgrav 534817d15b25SDag-Erling Smørgrav *) 534917d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5350986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5351986ba33cSDag-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' 535217d15b25SDag-Erling Smørgrav else 535317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 535417d15b25SDag-Erling Smørgrav fi 535517d15b25SDag-Erling Smørgrav ;; 535617d15b25SDag-Erling Smørgrav esac 535717d15b25SDag-Erling Smørgrav 5358986ba33cSDag-Erling Smørgrav if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then 535917d15b25SDag-Erling Smørgrav runpath_var= 536017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 536117d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)= 536217d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 536317d15b25SDag-Erling Smørgrav fi 536417d15b25SDag-Erling Smørgrav else 536517d15b25SDag-Erling Smørgrav # PORTME fill in a description of your system's linker (not GNU ld) 536617d15b25SDag-Erling Smørgrav case $host_os in 536717d15b25SDag-Erling Smørgrav aix3*) 536817d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 536917d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 537017d15b25SDag-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' 537117d15b25SDag-Erling Smørgrav # Note: this linker hardcodes the directories in LIBPATH if there 537217d15b25SDag-Erling Smørgrav # are no directories specified by -L. 537317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5374986ba33cSDag-Erling Smørgrav if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 537517d15b25SDag-Erling Smørgrav # Neither direct hardcoding nor static linking is supported with a 537617d15b25SDag-Erling Smørgrav # broken collect2. 537717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 537817d15b25SDag-Erling Smørgrav fi 537917d15b25SDag-Erling Smørgrav ;; 538017d15b25SDag-Erling Smørgrav 538117d15b25SDag-Erling Smørgrav aix[[4-9]]*) 5382986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 538317d15b25SDag-Erling Smørgrav # On IA64, the linker does run time linking by default, so we don't 538417d15b25SDag-Erling Smørgrav # have to do anything special. 538517d15b25SDag-Erling Smørgrav aix_use_runtimelinking=no 538617d15b25SDag-Erling Smørgrav exp_sym_flag='-Bexport' 5387986ba33cSDag-Erling Smørgrav no_entry_flag= 538817d15b25SDag-Erling Smørgrav else 538917d15b25SDag-Erling Smørgrav # If we're using GNU nm, then we don't want the "-C" option. 5390986ba33cSDag-Erling Smørgrav # -C means demangle to GNU nm, but means don't demangle to AIX nm. 5391986ba33cSDag-Erling Smørgrav # Without the "-l" option, or with the "-B" option, AIX nm treats 5392986ba33cSDag-Erling Smørgrav # weak defined symbols like other global defined symbols, whereas 5393986ba33cSDag-Erling Smørgrav # GNU nm marks them as "W". 5394986ba33cSDag-Erling Smørgrav # While the 'weak' keyword is ignored in the Export File, we need 5395986ba33cSDag-Erling Smørgrav # it in the Import File for the 'aix-soname' feature, so we have 5396986ba33cSDag-Erling Smørgrav # to replace the "-B" option with "-P" for AIX nm. 539717d15b25SDag-Erling Smørgrav if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 5398986ba33cSDag-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' 539917d15b25SDag-Erling Smørgrav else 5400986ba33cSDag-Erling Smørgrav _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' 540117d15b25SDag-Erling Smørgrav fi 540217d15b25SDag-Erling Smørgrav aix_use_runtimelinking=no 540317d15b25SDag-Erling Smørgrav 540417d15b25SDag-Erling Smørgrav # Test if we are trying to use run time linking or normal 540517d15b25SDag-Erling Smørgrav # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5406986ba33cSDag-Erling Smørgrav # have runtime linking enabled, and use it for executables. 5407986ba33cSDag-Erling Smørgrav # For shared libraries, we enable/disable runtime linking 5408986ba33cSDag-Erling Smørgrav # depending on the kind of the shared library created - 5409986ba33cSDag-Erling Smørgrav # when "with_aix_soname,aix_use_runtimelinking" is: 5410986ba33cSDag-Erling Smørgrav # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 5411986ba33cSDag-Erling Smørgrav # "aix,yes" lib.so shared, rtl:yes, for executables 5412986ba33cSDag-Erling Smørgrav # lib.a static archive 5413986ba33cSDag-Erling Smørgrav # "both,no" lib.so.V(shr.o) shared, rtl:yes 5414986ba33cSDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no, for executables 5415986ba33cSDag-Erling Smørgrav # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 5416986ba33cSDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no 5417986ba33cSDag-Erling Smørgrav # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 5418986ba33cSDag-Erling Smørgrav # lib.a static archive 541917d15b25SDag-Erling Smørgrav case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 542017d15b25SDag-Erling Smørgrav for ld_flag in $LDFLAGS; do 5421986ba33cSDag-Erling Smørgrav if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 542217d15b25SDag-Erling Smørgrav aix_use_runtimelinking=yes 542317d15b25SDag-Erling Smørgrav break 542417d15b25SDag-Erling Smørgrav fi 542517d15b25SDag-Erling Smørgrav done 5426986ba33cSDag-Erling Smørgrav if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 5427986ba33cSDag-Erling Smørgrav # With aix-soname=svr4, we create the lib.so.V shared archives only, 5428986ba33cSDag-Erling Smørgrav # so we don't have lib.a shared libs to link our executables. 5429986ba33cSDag-Erling Smørgrav # We have to force runtime linking in this case. 5430986ba33cSDag-Erling Smørgrav aix_use_runtimelinking=yes 5431986ba33cSDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-brtl" 5432986ba33cSDag-Erling Smørgrav fi 543317d15b25SDag-Erling Smørgrav ;; 543417d15b25SDag-Erling Smørgrav esac 543517d15b25SDag-Erling Smørgrav 543617d15b25SDag-Erling Smørgrav exp_sym_flag='-bexport' 543717d15b25SDag-Erling Smørgrav no_entry_flag='-bnoentry' 543817d15b25SDag-Erling Smørgrav fi 543917d15b25SDag-Erling Smørgrav 544017d15b25SDag-Erling Smørgrav # When large executables or shared objects are built, AIX ld can 544117d15b25SDag-Erling Smørgrav # have problems creating the table of contents. If linking a library 544217d15b25SDag-Erling Smørgrav # or program results in "error TOC overflow" add -mminimal-toc to 544317d15b25SDag-Erling Smørgrav # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 544417d15b25SDag-Erling Smørgrav # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 544517d15b25SDag-Erling Smørgrav 544617d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='' 544717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 544817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 544917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 545017d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 5451986ba33cSDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 5452986ba33cSDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 5453986ba33cSDag-Erling Smørgrav aix,*) ;; # traditional, no import file 5454986ba33cSDag-Erling Smørgrav svr4,* | *,yes) # use import file 5455986ba33cSDag-Erling Smørgrav # The Import File defines what to hardcode. 5456986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 5457986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 5458986ba33cSDag-Erling Smørgrav ;; 5459986ba33cSDag-Erling Smørgrav esac 546017d15b25SDag-Erling Smørgrav 5461986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 546217d15b25SDag-Erling Smørgrav case $host_os in aix4.[[012]]|aix4.[[012]].*) 546317d15b25SDag-Erling Smørgrav # We only want to do this on AIX 4.2 and lower, the check 546417d15b25SDag-Erling Smørgrav # below for broken collect2 doesn't work under 4.3+ 5465986ba33cSDag-Erling Smørgrav collect2name=`$CC -print-prog-name=collect2` 546617d15b25SDag-Erling Smørgrav if test -f "$collect2name" && 546717d15b25SDag-Erling Smørgrav strings "$collect2name" | $GREP resolve_lib_name >/dev/null 546817d15b25SDag-Erling Smørgrav then 546917d15b25SDag-Erling Smørgrav # We have reworked collect2 547017d15b25SDag-Erling Smørgrav : 547117d15b25SDag-Erling Smørgrav else 547217d15b25SDag-Erling Smørgrav # We have old collect2 547317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 547417d15b25SDag-Erling Smørgrav # It fails to find uninstalled libraries when the uninstalled 547517d15b25SDag-Erling Smørgrav # path is not listed in the libpath. Setting hardcode_minus_L 547617d15b25SDag-Erling Smørgrav # to unsupported forces relinking 547717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 547817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 547917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 548017d15b25SDag-Erling Smørgrav fi 548117d15b25SDag-Erling Smørgrav ;; 548217d15b25SDag-Erling Smørgrav esac 548317d15b25SDag-Erling Smørgrav shared_flag='-shared' 5484986ba33cSDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 5485986ba33cSDag-Erling Smørgrav shared_flag="$shared_flag "'$wl-G' 548617d15b25SDag-Erling Smørgrav fi 5487986ba33cSDag-Erling Smørgrav # Need to ensure runtime linking is disabled for the traditional 5488986ba33cSDag-Erling Smørgrav # shared library, or the linker may eventually find shared libraries 5489986ba33cSDag-Erling Smørgrav # /with/ Import File - we do not want to mix them. 5490986ba33cSDag-Erling Smørgrav shared_flag_aix='-shared' 5491986ba33cSDag-Erling Smørgrav shared_flag_svr4='-shared $wl-G' 549217d15b25SDag-Erling Smørgrav else 549317d15b25SDag-Erling Smørgrav # not using gcc 5494986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 549517d15b25SDag-Erling Smørgrav # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 549617d15b25SDag-Erling Smørgrav # chokes on -Wl,-G. The following line is correct: 549717d15b25SDag-Erling Smørgrav shared_flag='-G' 549817d15b25SDag-Erling Smørgrav else 5499986ba33cSDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 5500986ba33cSDag-Erling Smørgrav shared_flag='$wl-G' 550117d15b25SDag-Erling Smørgrav else 5502986ba33cSDag-Erling Smørgrav shared_flag='$wl-bM:SRE' 550317d15b25SDag-Erling Smørgrav fi 5504986ba33cSDag-Erling Smørgrav shared_flag_aix='$wl-bM:SRE' 5505986ba33cSDag-Erling Smørgrav shared_flag_svr4='$wl-G' 550617d15b25SDag-Erling Smørgrav fi 550717d15b25SDag-Erling Smørgrav fi 550817d15b25SDag-Erling Smørgrav 5509986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 551017d15b25SDag-Erling Smørgrav # It seems that -bexpall does not export symbols beginning with 551117d15b25SDag-Erling Smørgrav # underscore (_), so it is better to generate a list of symbols to export. 551217d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 5513986ba33cSDag-Erling Smørgrav if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 551417d15b25SDag-Erling Smørgrav # Warning - without using the other runtime loading flags (-brtl), 551517d15b25SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 551617d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 551717d15b25SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 551817d15b25SDag-Erling Smørgrav # empty executable. 551917d15b25SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 5520986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 5521986ba33cSDag-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 552217d15b25SDag-Erling Smørgrav else 5523986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 5524986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 552517d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5526986ba33cSDag-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" 552717d15b25SDag-Erling Smørgrav else 552817d15b25SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 552917d15b25SDag-Erling Smørgrav # empty executable. 553017d15b25SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 5531986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 553217d15b25SDag-Erling Smørgrav # Warning - without using the other run time loading flags, 553317d15b25SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 5534986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 5535986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 5536986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 553717d15b25SDag-Erling Smørgrav # We only use this code for GNU lds that support --whole-archive. 5538986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 553917d15b25SDag-Erling Smørgrav else 554017d15b25SDag-Erling Smørgrav # Exported symbols can be pulled into shared objects from archives 554117d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 554217d15b25SDag-Erling Smørgrav fi 554317d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5544986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 5545986ba33cSDag-Erling Smørgrav # -brtl affects multiple linker settings, -berok does not and is overridden later 5546986ba33cSDag-Erling Smørgrav compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 5547986ba33cSDag-Erling Smørgrav if test svr4 != "$with_aix_soname"; then 554817d15b25SDag-Erling Smørgrav # This is similar to how AIX traditionally builds its shared libraries. 5549986ba33cSDag-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' 5550986ba33cSDag-Erling Smørgrav fi 5551986ba33cSDag-Erling Smørgrav if test aix != "$with_aix_soname"; then 5552986ba33cSDag-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' 5553986ba33cSDag-Erling Smørgrav else 5554986ba33cSDag-Erling Smørgrav # used by -dlpreopen to get the symbols 5555986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 5556986ba33cSDag-Erling Smørgrav fi 5557986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 555817d15b25SDag-Erling Smørgrav fi 555917d15b25SDag-Erling Smørgrav fi 556017d15b25SDag-Erling Smørgrav ;; 556117d15b25SDag-Erling Smørgrav 556217d15b25SDag-Erling Smørgrav amigaos*) 556317d15b25SDag-Erling Smørgrav case $host_cpu in 556417d15b25SDag-Erling Smørgrav powerpc) 556517d15b25SDag-Erling Smørgrav # see comment about AmigaOS4 .so support 5566986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 556717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='' 556817d15b25SDag-Erling Smørgrav ;; 556917d15b25SDag-Erling Smørgrav m68k) 557017d15b25SDag-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)' 557117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 557217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 557317d15b25SDag-Erling Smørgrav ;; 557417d15b25SDag-Erling Smørgrav esac 557517d15b25SDag-Erling Smørgrav ;; 557617d15b25SDag-Erling Smørgrav 557717d15b25SDag-Erling Smørgrav bsdi[[45]]*) 557817d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 557917d15b25SDag-Erling Smørgrav ;; 558017d15b25SDag-Erling Smørgrav 558117d15b25SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 558217d15b25SDag-Erling Smørgrav # When not using gcc, we currently assume that we are using 558317d15b25SDag-Erling Smørgrav # Microsoft Visual C++. 558417d15b25SDag-Erling Smørgrav # hardcode_libdir_flag_spec is actually meaningless, as there is 558517d15b25SDag-Erling Smørgrav # no search path for DLLs. 558617d15b25SDag-Erling Smørgrav case $cc_basename in 558717d15b25SDag-Erling Smørgrav cl*) 558817d15b25SDag-Erling Smørgrav # Native MSVC 558917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 559017d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 559117d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 559217d15b25SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='@' 559317d15b25SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 559417d15b25SDag-Erling Smørgrav libext=lib 559517d15b25SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 5596986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 559717d15b25SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 5598986ba33cSDag-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=' 5599986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 5600986ba33cSDag-Erling Smørgrav cp "$export_symbols" "$output_objdir/$soname.def"; 5601986ba33cSDag-Erling Smørgrav echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 560217d15b25SDag-Erling Smørgrav else 5603986ba33cSDag-Erling Smørgrav $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 560417d15b25SDag-Erling Smørgrav fi~ 560517d15b25SDag-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"~ 560617d15b25SDag-Erling Smørgrav linknames=' 560717d15b25SDag-Erling Smørgrav # The linker will not automatically build a static lib if we build a DLL. 560817d15b25SDag-Erling Smørgrav # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 560917d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 561017d15b25SDag-Erling Smørgrav _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 561117d15b25SDag-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' 561217d15b25SDag-Erling Smørgrav # Don't use ranlib 561317d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 561417d15b25SDag-Erling Smørgrav _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 561517d15b25SDag-Erling Smørgrav lt_tool_outputfile="@TOOL_OUTPUT@"~ 561617d15b25SDag-Erling Smørgrav case $lt_outputfile in 561717d15b25SDag-Erling Smørgrav *.exe|*.EXE) ;; 561817d15b25SDag-Erling Smørgrav *) 5619986ba33cSDag-Erling Smørgrav lt_outputfile=$lt_outputfile.exe 5620986ba33cSDag-Erling Smørgrav lt_tool_outputfile=$lt_tool_outputfile.exe 562117d15b25SDag-Erling Smørgrav ;; 562217d15b25SDag-Erling Smørgrav esac~ 5623986ba33cSDag-Erling Smørgrav if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 562417d15b25SDag-Erling Smørgrav $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 562517d15b25SDag-Erling Smørgrav $RM "$lt_outputfile.manifest"; 562617d15b25SDag-Erling Smørgrav fi' 562717d15b25SDag-Erling Smørgrav ;; 562817d15b25SDag-Erling Smørgrav *) 562917d15b25SDag-Erling Smørgrav # Assume MSVC wrapper 563017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 563117d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 563217d15b25SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 563317d15b25SDag-Erling Smørgrav libext=lib 563417d15b25SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 5635986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 563617d15b25SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 563717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 563817d15b25SDag-Erling Smørgrav # The linker will automatically build a .lib file if we build a DLL. 563917d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 564017d15b25SDag-Erling Smørgrav # FIXME: Should let the user specify the lib program. 564117d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 564217d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 564317d15b25SDag-Erling Smørgrav ;; 564417d15b25SDag-Erling Smørgrav esac 564517d15b25SDag-Erling Smørgrav ;; 564617d15b25SDag-Erling Smørgrav 564717d15b25SDag-Erling Smørgrav darwin* | rhapsody*) 564817d15b25SDag-Erling Smørgrav _LT_DARWIN_LINKER_FEATURES($1) 564917d15b25SDag-Erling Smørgrav ;; 565017d15b25SDag-Erling Smørgrav 565117d15b25SDag-Erling Smørgrav dgux*) 565217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 565317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 565417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 565517d15b25SDag-Erling Smørgrav ;; 565617d15b25SDag-Erling Smørgrav 565717d15b25SDag-Erling Smørgrav # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 565817d15b25SDag-Erling Smørgrav # support. Future versions do this automatically, but an explicit c++rt0.o 565917d15b25SDag-Erling Smørgrav # does not break anything, and helps significantly (at the cost of a little 566017d15b25SDag-Erling Smørgrav # extra space). 566117d15b25SDag-Erling Smørgrav freebsd2.2*) 566217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 566317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 566417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 566517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 566617d15b25SDag-Erling Smørgrav ;; 566717d15b25SDag-Erling Smørgrav 566817d15b25SDag-Erling Smørgrav # Unfortunately, older versions of FreeBSD 2 do not have this feature. 566917d15b25SDag-Erling Smørgrav freebsd2.*) 567017d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 567117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 567217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 567317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 567417d15b25SDag-Erling Smørgrav ;; 567517d15b25SDag-Erling Smørgrav 567617d15b25SDag-Erling Smørgrav # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 567717d15b25SDag-Erling Smørgrav freebsd* | dragonfly*) 567817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 567917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 568017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 568117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 568217d15b25SDag-Erling Smørgrav ;; 568317d15b25SDag-Erling Smørgrav 568417d15b25SDag-Erling Smørgrav hpux9*) 5685986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5686986ba33cSDag-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' 568717d15b25SDag-Erling Smørgrav else 5688986ba33cSDag-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' 568917d15b25SDag-Erling Smørgrav fi 5690986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 569117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 569217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 569317d15b25SDag-Erling Smørgrav 569417d15b25SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 569517d15b25SDag-Erling Smørgrav # but as the default location of the library. 569617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 5697986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 569817d15b25SDag-Erling Smørgrav ;; 569917d15b25SDag-Erling Smørgrav 570017d15b25SDag-Erling Smørgrav hpux10*) 5701986ba33cSDag-Erling Smørgrav if test yes,no = "$GCC,$with_gnu_ld"; then 5702986ba33cSDag-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' 570317d15b25SDag-Erling Smørgrav else 570417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 570517d15b25SDag-Erling Smørgrav fi 5706986ba33cSDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 5707986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 570817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 570917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 571017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5711986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 571217d15b25SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 571317d15b25SDag-Erling Smørgrav # but as the default location of the library. 571417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 571517d15b25SDag-Erling Smørgrav fi 571617d15b25SDag-Erling Smørgrav ;; 571717d15b25SDag-Erling Smørgrav 571817d15b25SDag-Erling Smørgrav hpux11*) 5719986ba33cSDag-Erling Smørgrav if test yes,no = "$GCC,$with_gnu_ld"; then 572017d15b25SDag-Erling Smørgrav case $host_cpu in 572117d15b25SDag-Erling Smørgrav hppa*64*) 5722986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 572317d15b25SDag-Erling Smørgrav ;; 572417d15b25SDag-Erling Smørgrav ia64*) 5725986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 572617d15b25SDag-Erling Smørgrav ;; 572717d15b25SDag-Erling Smørgrav *) 5728986ba33cSDag-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' 572917d15b25SDag-Erling Smørgrav ;; 573017d15b25SDag-Erling Smørgrav esac 573117d15b25SDag-Erling Smørgrav else 573217d15b25SDag-Erling Smørgrav case $host_cpu in 573317d15b25SDag-Erling Smørgrav hppa*64*) 5734986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 573517d15b25SDag-Erling Smørgrav ;; 573617d15b25SDag-Erling Smørgrav ia64*) 5737986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 573817d15b25SDag-Erling Smørgrav ;; 573917d15b25SDag-Erling Smørgrav *) 574017d15b25SDag-Erling Smørgrav m4_if($1, [], [ 574117d15b25SDag-Erling Smørgrav # Older versions of the 11.00 compiler do not understand -b yet 574217d15b25SDag-Erling Smørgrav # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 574317d15b25SDag-Erling Smørgrav _LT_LINKER_OPTION([if $CC understands -b], 574417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 5745986ba33cSDag-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'], 574617d15b25SDag-Erling Smørgrav [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 5747986ba33cSDag-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']) 574817d15b25SDag-Erling Smørgrav ;; 574917d15b25SDag-Erling Smørgrav esac 575017d15b25SDag-Erling Smørgrav fi 5751986ba33cSDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 5752986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 575317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 575417d15b25SDag-Erling Smørgrav 575517d15b25SDag-Erling Smørgrav case $host_cpu in 575617d15b25SDag-Erling Smørgrav hppa*64*|ia64*) 575717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 575817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 575917d15b25SDag-Erling Smørgrav ;; 576017d15b25SDag-Erling Smørgrav *) 576117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 576217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5763986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 576417d15b25SDag-Erling Smørgrav 576517d15b25SDag-Erling Smørgrav # hardcode_minus_L: Not really in the search PATH, 576617d15b25SDag-Erling Smørgrav # but as the default location of the library. 576717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 576817d15b25SDag-Erling Smørgrav ;; 576917d15b25SDag-Erling Smørgrav esac 577017d15b25SDag-Erling Smørgrav fi 577117d15b25SDag-Erling Smørgrav ;; 577217d15b25SDag-Erling Smørgrav 577317d15b25SDag-Erling Smørgrav irix5* | irix6* | nonstopux*) 5774986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5775986ba33cSDag-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' 577617d15b25SDag-Erling Smørgrav # Try to use the -exported_symbol ld option, if it does not 577717d15b25SDag-Erling Smørgrav # work, assume that -exports_file does not work either and 577817d15b25SDag-Erling Smørgrav # implicitly export all symbols. 577917d15b25SDag-Erling Smørgrav # This should be the same for all languages, so no per-tag cache variable. 578017d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 578117d15b25SDag-Erling Smørgrav [lt_cv_irix_exported_symbol], 5782986ba33cSDag-Erling Smørgrav [save_LDFLAGS=$LDFLAGS 5783986ba33cSDag-Erling Smørgrav LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 578417d15b25SDag-Erling Smørgrav AC_LINK_IFELSE( 578517d15b25SDag-Erling Smørgrav [AC_LANG_SOURCE( 578617d15b25SDag-Erling Smørgrav [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 578717d15b25SDag-Erling Smørgrav [C++], [[int foo (void) { return 0; }]], 578817d15b25SDag-Erling Smørgrav [Fortran 77], [[ 578917d15b25SDag-Erling Smørgrav subroutine foo 579017d15b25SDag-Erling Smørgrav end]], 579117d15b25SDag-Erling Smørgrav [Fortran], [[ 579217d15b25SDag-Erling Smørgrav subroutine foo 579317d15b25SDag-Erling Smørgrav end]])])], 579417d15b25SDag-Erling Smørgrav [lt_cv_irix_exported_symbol=yes], 579517d15b25SDag-Erling Smørgrav [lt_cv_irix_exported_symbol=no]) 5796986ba33cSDag-Erling Smørgrav LDFLAGS=$save_LDFLAGS]) 5797986ba33cSDag-Erling Smørgrav if test yes = "$lt_cv_irix_exported_symbol"; then 5798986ba33cSDag-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' 579917d15b25SDag-Erling Smørgrav fi 5800986ba33cSDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=no 580117d15b25SDag-Erling Smørgrav else 5802986ba33cSDag-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' 5803986ba33cSDag-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' 580417d15b25SDag-Erling Smørgrav fi 580517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5806986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 580717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 580817d15b25SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=yes 580917d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 581017d15b25SDag-Erling Smørgrav ;; 581117d15b25SDag-Erling Smørgrav 5812986ba33cSDag-Erling Smørgrav linux*) 5813986ba33cSDag-Erling Smørgrav case $cc_basename in 5814986ba33cSDag-Erling Smørgrav tcc*) 5815986ba33cSDag-Erling Smørgrav # Fabrice Bellard et al's Tiny C Compiler 5816986ba33cSDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 5817986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5818986ba33cSDag-Erling Smørgrav ;; 5819986ba33cSDag-Erling Smørgrav esac 5820986ba33cSDag-Erling Smørgrav ;; 5821986ba33cSDag-Erling Smørgrav 582217d15b25SDag-Erling Smørgrav netbsd* | netbsdelf*-gnu) 582317d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 582417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 582517d15b25SDag-Erling Smørgrav else 582617d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 582717d15b25SDag-Erling Smørgrav fi 582817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 582917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 583017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 583117d15b25SDag-Erling Smørgrav ;; 583217d15b25SDag-Erling Smørgrav 583317d15b25SDag-Erling Smørgrav newsos6) 583417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 583517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 5836986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 583717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 583817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 583917d15b25SDag-Erling Smørgrav ;; 584017d15b25SDag-Erling Smørgrav 584117d15b25SDag-Erling Smørgrav *nto* | *qnx*) 584217d15b25SDag-Erling Smørgrav ;; 584317d15b25SDag-Erling Smørgrav 5844986ba33cSDag-Erling Smørgrav openbsd* | bitrig*) 584517d15b25SDag-Erling Smørgrav if test -f /usr/libexec/ld.so; then 584617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 584717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 584817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5849986ba33cSDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 585017d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5851986ba33cSDag-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' 5852986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5853986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 585417d15b25SDag-Erling Smørgrav else 585517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5856986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 585717d15b25SDag-Erling Smørgrav fi 585817d15b25SDag-Erling Smørgrav else 585917d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 586017d15b25SDag-Erling Smørgrav fi 586117d15b25SDag-Erling Smørgrav ;; 586217d15b25SDag-Erling Smørgrav 586317d15b25SDag-Erling Smørgrav os2*) 586417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 586517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 586617d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5867986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 5868986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5869986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5870986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5871986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5872986ba33cSDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 5873986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5874986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5875986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5876986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5877986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5878986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 5879986ba33cSDag-Erling Smørgrav prefix_cmds="$SED"~ 5880986ba33cSDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 5881986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 5882986ba33cSDag-Erling Smørgrav fi~ 5883986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 5884986ba33cSDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 5885986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5886986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 5887986ba33cSDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 5888986ba33cSDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 588917d15b25SDag-Erling Smørgrav ;; 589017d15b25SDag-Erling Smørgrav 589117d15b25SDag-Erling Smørgrav osf3*) 5892986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5893986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 5894986ba33cSDag-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' 589517d15b25SDag-Erling Smørgrav else 589617d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5897986ba33cSDag-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' 589817d15b25SDag-Erling Smørgrav fi 589917d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5900986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 590117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 590217d15b25SDag-Erling Smørgrav ;; 590317d15b25SDag-Erling Smørgrav 590417d15b25SDag-Erling Smørgrav osf4* | osf5*) # as osf3* with the addition of -msym flag 5905986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5906986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 5907986ba33cSDag-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' 5908986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 590917d15b25SDag-Erling Smørgrav else 591017d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 5911986ba33cSDag-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' 591217d15b25SDag-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~ 5913986ba33cSDag-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' 591417d15b25SDag-Erling Smørgrav 591517d15b25SDag-Erling Smørgrav # Both c and cxx compiler support -rpath directly 591617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 591717d15b25SDag-Erling Smørgrav fi 591817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 591917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 592017d15b25SDag-Erling Smørgrav ;; 592117d15b25SDag-Erling Smørgrav 592217d15b25SDag-Erling Smørgrav solaris*) 592317d15b25SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 5924986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5925986ba33cSDag-Erling Smørgrav wlarc='$wl' 5926986ba33cSDag-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' 592717d15b25SDag-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~ 5928986ba33cSDag-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' 592917d15b25SDag-Erling Smørgrav else 593017d15b25SDag-Erling Smørgrav case `$CC -V 2>&1` in 593117d15b25SDag-Erling Smørgrav *"Compilers 5.0"*) 593217d15b25SDag-Erling Smørgrav wlarc='' 5933986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' 593417d15b25SDag-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~ 5935986ba33cSDag-Erling Smørgrav $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 593617d15b25SDag-Erling Smørgrav ;; 593717d15b25SDag-Erling Smørgrav *) 5938986ba33cSDag-Erling Smørgrav wlarc='$wl' 5939986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' 594017d15b25SDag-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~ 5941986ba33cSDag-Erling Smørgrav $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 594217d15b25SDag-Erling Smørgrav ;; 594317d15b25SDag-Erling Smørgrav esac 594417d15b25SDag-Erling Smørgrav fi 594517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 594617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 594717d15b25SDag-Erling Smørgrav case $host_os in 594817d15b25SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 594917d15b25SDag-Erling Smørgrav *) 595017d15b25SDag-Erling Smørgrav # The compiler driver will combine and reorder linker options, 5951986ba33cSDag-Erling Smørgrav # but understands '-z linker_flag'. GCC discards it without '$wl', 595217d15b25SDag-Erling Smørgrav # but is careful enough not to reorder. 595317d15b25SDag-Erling Smørgrav # Supported since Solaris 2.6 (maybe 2.5.1?) 5954986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 5955986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 595617d15b25SDag-Erling Smørgrav else 595717d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 595817d15b25SDag-Erling Smørgrav fi 595917d15b25SDag-Erling Smørgrav ;; 596017d15b25SDag-Erling Smørgrav esac 596117d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 596217d15b25SDag-Erling Smørgrav ;; 596317d15b25SDag-Erling Smørgrav 596417d15b25SDag-Erling Smørgrav sunos4*) 5965986ba33cSDag-Erling Smørgrav if test sequent = "$host_vendor"; then 596617d15b25SDag-Erling Smørgrav # Use $CC to link under sequent, because it throws in some extra .o 596717d15b25SDag-Erling Smørgrav # files that make .init and .fini sections work. 5968986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 596917d15b25SDag-Erling Smørgrav else 597017d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 597117d15b25SDag-Erling Smørgrav fi 597217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 597317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 597417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 597517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 597617d15b25SDag-Erling Smørgrav ;; 597717d15b25SDag-Erling Smørgrav 597817d15b25SDag-Erling Smørgrav sysv4) 597917d15b25SDag-Erling Smørgrav case $host_vendor in 598017d15b25SDag-Erling Smørgrav sni) 598117d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 598217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 598317d15b25SDag-Erling Smørgrav ;; 598417d15b25SDag-Erling Smørgrav siemens) 598517d15b25SDag-Erling Smørgrav ## LD is ld it makes a PLAMLIB 598617d15b25SDag-Erling Smørgrav ## CC just makes a GrossModule. 598717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 598817d15b25SDag-Erling Smørgrav _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 598917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 599017d15b25SDag-Erling Smørgrav ;; 599117d15b25SDag-Erling Smørgrav motorola) 599217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 599317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 599417d15b25SDag-Erling Smørgrav ;; 599517d15b25SDag-Erling Smørgrav esac 599617d15b25SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 599717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 599817d15b25SDag-Erling Smørgrav ;; 599917d15b25SDag-Erling Smørgrav 600017d15b25SDag-Erling Smørgrav sysv4.3*) 600117d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 600217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 600317d15b25SDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 600417d15b25SDag-Erling Smørgrav ;; 600517d15b25SDag-Erling Smørgrav 600617d15b25SDag-Erling Smørgrav sysv4*MP*) 600717d15b25SDag-Erling Smørgrav if test -d /usr/nec; then 600817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 600917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 601017d15b25SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 601117d15b25SDag-Erling Smørgrav hardcode_runpath_var=yes 601217d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 601317d15b25SDag-Erling Smørgrav fi 601417d15b25SDag-Erling Smørgrav ;; 601517d15b25SDag-Erling Smørgrav 601617d15b25SDag-Erling Smørgrav sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6017986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 601817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 601917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 602017d15b25SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 602117d15b25SDag-Erling Smørgrav 6022986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 6023986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6024986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602517d15b25SDag-Erling Smørgrav else 6026986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6027986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602817d15b25SDag-Erling Smørgrav fi 602917d15b25SDag-Erling Smørgrav ;; 603017d15b25SDag-Erling Smørgrav 603117d15b25SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6*) 6032986ba33cSDag-Erling Smørgrav # Note: We CANNOT use -z defs as we might desire, because we do not 603317d15b25SDag-Erling Smørgrav # link with -lc, and that would cause any symbols used from libc to 603417d15b25SDag-Erling Smørgrav # always be unresolved, which means just about no library would 603517d15b25SDag-Erling Smørgrav # ever link correctly. If we're not using GNU ld we use -z text 603617d15b25SDag-Erling Smørgrav # though, which does catch some bad symbols but isn't as heavy-handed 603717d15b25SDag-Erling Smørgrav # as -z defs. 6038986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 6039986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 604017d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 604117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6042986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 604317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 604417d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6045986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 604617d15b25SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 604717d15b25SDag-Erling Smørgrav 6048986ba33cSDag-Erling Smørgrav if test yes = "$GCC"; then 6049986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6050986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 605117d15b25SDag-Erling Smørgrav else 6052986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6053986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 605417d15b25SDag-Erling Smørgrav fi 605517d15b25SDag-Erling Smørgrav ;; 605617d15b25SDag-Erling Smørgrav 605717d15b25SDag-Erling Smørgrav uts4*) 605817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 605917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 606017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 606117d15b25SDag-Erling Smørgrav ;; 606217d15b25SDag-Erling Smørgrav 606317d15b25SDag-Erling Smørgrav *) 606417d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 606517d15b25SDag-Erling Smørgrav ;; 606617d15b25SDag-Erling Smørgrav esac 606717d15b25SDag-Erling Smørgrav 6068986ba33cSDag-Erling Smørgrav if test sni = "$host_vendor"; then 606917d15b25SDag-Erling Smørgrav case $host in 607017d15b25SDag-Erling Smørgrav sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 6071986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' 607217d15b25SDag-Erling Smørgrav ;; 607317d15b25SDag-Erling Smørgrav esac 607417d15b25SDag-Erling Smørgrav fi 607517d15b25SDag-Erling Smørgrav fi 607617d15b25SDag-Erling Smørgrav]) 607717d15b25SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6078986ba33cSDag-Erling Smørgravtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 607917d15b25SDag-Erling Smørgrav 608017d15b25SDag-Erling Smørgrav_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 608117d15b25SDag-Erling Smørgrav 608217d15b25SDag-Erling Smørgrav_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 608317d15b25SDag-Erling Smørgrav_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 608417d15b25SDag-Erling Smørgrav_LT_DECL([], [extract_expsyms_cmds], [2], 608517d15b25SDag-Erling Smørgrav [The commands to extract the exported symbol list from a shared archive]) 608617d15b25SDag-Erling Smørgrav 608717d15b25SDag-Erling Smørgrav# 608817d15b25SDag-Erling Smørgrav# Do we need to explicitly link libc? 608917d15b25SDag-Erling Smørgrav# 609017d15b25SDag-Erling Smørgravcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 609117d15b25SDag-Erling Smørgravx|xyes) 609217d15b25SDag-Erling Smørgrav # Assume -lc should be added 609317d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 609417d15b25SDag-Erling Smørgrav 6095986ba33cSDag-Erling Smørgrav if test yes,yes = "$GCC,$enable_shared"; then 609617d15b25SDag-Erling Smørgrav case $_LT_TAGVAR(archive_cmds, $1) in 609717d15b25SDag-Erling Smørgrav *'~'*) 609817d15b25SDag-Erling Smørgrav # FIXME: we may have to deal with multi-command sequences. 609917d15b25SDag-Erling Smørgrav ;; 610017d15b25SDag-Erling Smørgrav '$CC '*) 610117d15b25SDag-Erling Smørgrav # Test whether the compiler implicitly links with -lc since on some 610217d15b25SDag-Erling Smørgrav # systems, -lgcc has to come before -lc. If gcc already passes -lc 610317d15b25SDag-Erling Smørgrav # to ld, don't add -lc before -lgcc. 610417d15b25SDag-Erling Smørgrav AC_CACHE_CHECK([whether -lc should be explicitly linked in], 610517d15b25SDag-Erling Smørgrav [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 610617d15b25SDag-Erling Smørgrav [$RM conftest* 610717d15b25SDag-Erling Smørgrav echo "$lt_simple_compile_test_code" > conftest.$ac_ext 610817d15b25SDag-Erling Smørgrav 610917d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 611017d15b25SDag-Erling Smørgrav soname=conftest 611117d15b25SDag-Erling Smørgrav lib=conftest 611217d15b25SDag-Erling Smørgrav libobjs=conftest.$ac_objext 611317d15b25SDag-Erling Smørgrav deplibs= 611417d15b25SDag-Erling Smørgrav wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 611517d15b25SDag-Erling Smørgrav pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 611617d15b25SDag-Erling Smørgrav compiler_flags=-v 611717d15b25SDag-Erling Smørgrav linker_flags=-v 611817d15b25SDag-Erling Smørgrav verstring= 611917d15b25SDag-Erling Smørgrav output_objdir=. 612017d15b25SDag-Erling Smørgrav libname=conftest 612117d15b25SDag-Erling Smørgrav lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 612217d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)= 612317d15b25SDag-Erling Smørgrav if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 612417d15b25SDag-Erling Smørgrav then 612517d15b25SDag-Erling Smørgrav lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 612617d15b25SDag-Erling Smørgrav else 612717d15b25SDag-Erling Smørgrav lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 612817d15b25SDag-Erling Smørgrav fi 612917d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 613017d15b25SDag-Erling Smørgrav else 613117d15b25SDag-Erling Smørgrav cat conftest.err 1>&5 613217d15b25SDag-Erling Smørgrav fi 613317d15b25SDag-Erling Smørgrav $RM conftest* 613417d15b25SDag-Erling Smørgrav ]) 613517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 613617d15b25SDag-Erling Smørgrav ;; 613717d15b25SDag-Erling Smørgrav esac 613817d15b25SDag-Erling Smørgrav fi 613917d15b25SDag-Erling Smørgrav ;; 614017d15b25SDag-Erling Smørgravesac 614117d15b25SDag-Erling Smørgrav 614217d15b25SDag-Erling Smørgrav_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 614317d15b25SDag-Erling Smørgrav [Whether or not to add -lc for building shared libraries]) 614417d15b25SDag-Erling Smørgrav_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 614517d15b25SDag-Erling Smørgrav [enable_shared_with_static_runtimes], [0], 614617d15b25SDag-Erling Smørgrav [Whether or not to disallow shared libs when runtime libs are static]) 614717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 614817d15b25SDag-Erling Smørgrav [Compiler flag to allow reflexive dlopens]) 614917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [whole_archive_flag_spec], [1], 615017d15b25SDag-Erling Smørgrav [Compiler flag to generate shared objects directly from archives]) 615117d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_needs_object], [1], 615217d15b25SDag-Erling Smørgrav [Whether the compiler copes with passing no objects directly]) 615317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 615417d15b25SDag-Erling Smørgrav [Create an old-style archive from a shared archive]) 615517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 615617d15b25SDag-Erling Smørgrav [Create a temporary old-style archive to link instead of a shared archive]) 615717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 615817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [archive_expsym_cmds], [2]) 615917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [module_cmds], [2], 616017d15b25SDag-Erling Smørgrav [Commands used to build a loadable module if different from building 616117d15b25SDag-Erling Smørgrav a shared archive.]) 616217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [module_expsym_cmds], [2]) 616317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [with_gnu_ld], [1], 616417d15b25SDag-Erling Smørgrav [Whether we are building with GNU ld or not]) 616517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [allow_undefined_flag], [1], 616617d15b25SDag-Erling Smørgrav [Flag that allows shared libraries with undefined symbols to be built]) 616717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [no_undefined_flag], [1], 616817d15b25SDag-Erling Smørgrav [Flag that enforces no undefined symbols]) 616917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 617017d15b25SDag-Erling Smørgrav [Flag to hardcode $libdir into a binary during linking. 617117d15b25SDag-Erling Smørgrav This must work even if $libdir does not exist]) 617217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_separator], [1], 617317d15b25SDag-Erling Smørgrav [Whether we need a single "-rpath" flag with a separated argument]) 617417d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct], [0], 6175986ba33cSDag-Erling Smørgrav [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 617617d15b25SDag-Erling Smørgrav DIR into the resulting binary]) 617717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct_absolute], [0], 6178986ba33cSDag-Erling Smørgrav [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 617917d15b25SDag-Erling Smørgrav DIR into the resulting binary and the resulting library dependency is 6180986ba33cSDag-Erling Smørgrav "absolute", i.e impossible to change by setting $shlibpath_var if the 618117d15b25SDag-Erling Smørgrav library is relocated]) 618217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_minus_L], [0], 618317d15b25SDag-Erling Smørgrav [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 618417d15b25SDag-Erling Smørgrav into the resulting binary]) 618517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 618617d15b25SDag-Erling Smørgrav [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 618717d15b25SDag-Erling Smørgrav into the resulting binary]) 618817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_automatic], [0], 618917d15b25SDag-Erling Smørgrav [Set to "yes" if building a shared library automatically hardcodes DIR 619017d15b25SDag-Erling Smørgrav into the library and all subsequent libraries and executables linked 619117d15b25SDag-Erling Smørgrav against it]) 619217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [inherit_rpath], [0], 619317d15b25SDag-Erling Smørgrav [Set to yes if linker adds runtime paths of dependent libraries 619417d15b25SDag-Erling Smørgrav to runtime path list]) 619517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [link_all_deplibs], [0], 619617d15b25SDag-Erling Smørgrav [Whether libtool must link a program against all its dependency libraries]) 619717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [always_export_symbols], [0], 619817d15b25SDag-Erling Smørgrav [Set to "yes" if exported symbols are required]) 619917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [export_symbols_cmds], [2], 620017d15b25SDag-Erling Smørgrav [The commands to list exported symbols]) 620117d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [exclude_expsyms], [1], 620217d15b25SDag-Erling Smørgrav [Symbols that should not be listed in the preloaded symbols]) 620317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [include_expsyms], [1], 620417d15b25SDag-Erling Smørgrav [Symbols that must always be exported]) 620517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [prelink_cmds], [2], 620617d15b25SDag-Erling Smørgrav [Commands necessary for linking programs (against libraries) with templates]) 620717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postlink_cmds], [2], 620817d15b25SDag-Erling Smørgrav [Commands necessary for finishing linking programs]) 620917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [file_list_spec], [1], 621017d15b25SDag-Erling Smørgrav [Specify filename containing input files]) 621117d15b25SDag-Erling Smørgravdnl FIXME: Not yet implemented 621217d15b25SDag-Erling Smørgravdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 621317d15b25SDag-Erling Smørgravdnl [Compiler flag to generate thread safe objects]) 621417d15b25SDag-Erling Smørgrav])# _LT_LINKER_SHLIBS 621517d15b25SDag-Erling Smørgrav 621617d15b25SDag-Erling Smørgrav 621717d15b25SDag-Erling Smørgrav# _LT_LANG_C_CONFIG([TAG]) 621817d15b25SDag-Erling Smørgrav# ------------------------ 621917d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a C compiler are suitably 622017d15b25SDag-Erling Smørgrav# defined. These variables are subsequently used by _LT_CONFIG to write 6221986ba33cSDag-Erling Smørgrav# the compiler configuration to 'libtool'. 622217d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_C_CONFIG], 622317d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl 6224986ba33cSDag-Erling Smørgravlt_save_CC=$CC 622517d15b25SDag-Erling SmørgravAC_LANG_PUSH(C) 622617d15b25SDag-Erling Smørgrav 622717d15b25SDag-Erling Smørgrav# Source file extension for C test sources. 622817d15b25SDag-Erling Smørgravac_ext=c 622917d15b25SDag-Erling Smørgrav 623017d15b25SDag-Erling Smørgrav# Object file extension for compiled C test sources. 623117d15b25SDag-Erling Smørgravobjext=o 623217d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 623317d15b25SDag-Erling Smørgrav 623417d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests 623517d15b25SDag-Erling Smørgravlt_simple_compile_test_code="int some_variable = 0;" 623617d15b25SDag-Erling Smørgrav 623717d15b25SDag-Erling Smørgrav# Code to be used in simple link tests 623817d15b25SDag-Erling Smørgravlt_simple_link_test_code='int main(){return(0);}' 623917d15b25SDag-Erling Smørgrav 624017d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER 624117d15b25SDag-Erling Smørgrav# Save the default compiler, since it gets overwritten when the other 624217d15b25SDag-Erling Smørgrav# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 624317d15b25SDag-Erling Smørgravcompiler_DEFAULT=$CC 624417d15b25SDag-Erling Smørgrav 624517d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 624617d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 624717d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 624817d15b25SDag-Erling Smørgrav 624917d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR: 625017d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change 625117d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly 625217d15b25SDag-Erling Smørgrav## what you are doing... 625317d15b25SDag-Erling Smørgravif test -n "$compiler"; then 625417d15b25SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 625517d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 625617d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 625717d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 625817d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 625917d15b25SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 626017d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 626117d15b25SDag-Erling Smørgrav LT_SYS_DLOPEN_SELF 626217d15b25SDag-Erling Smørgrav _LT_CMD_STRIPLIB 626317d15b25SDag-Erling Smørgrav 6264986ba33cSDag-Erling Smørgrav # Report what library types will actually be built 626517d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 626617d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 626717d15b25SDag-Erling Smørgrav 626817d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 6269986ba33cSDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 627017d15b25SDag-Erling Smørgrav 627117d15b25SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 627217d15b25SDag-Erling Smørgrav # are all built from PIC. 627317d15b25SDag-Erling Smørgrav case $host_os in 627417d15b25SDag-Erling Smørgrav aix3*) 6275986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 627617d15b25SDag-Erling Smørgrav if test -n "$RANLIB"; then 627717d15b25SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 627817d15b25SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 627917d15b25SDag-Erling Smørgrav fi 628017d15b25SDag-Erling Smørgrav ;; 628117d15b25SDag-Erling Smørgrav 628217d15b25SDag-Erling Smørgrav aix[[4-9]]*) 6283986ba33cSDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 6284986ba33cSDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 6285986ba33cSDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 6286986ba33cSDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 6287986ba33cSDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 6288986ba33cSDag-Erling Smørgrav esac 628917d15b25SDag-Erling Smørgrav fi 629017d15b25SDag-Erling Smørgrav ;; 629117d15b25SDag-Erling Smørgrav esac 629217d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 629317d15b25SDag-Erling Smørgrav 629417d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 629517d15b25SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 6296986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 629717d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 629817d15b25SDag-Erling Smørgrav 629917d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 630017d15b25SDag-Erling Smørgravfi 630117d15b25SDag-Erling SmørgravAC_LANG_POP 6302986ba33cSDag-Erling SmørgravCC=$lt_save_CC 630317d15b25SDag-Erling Smørgrav])# _LT_LANG_C_CONFIG 630417d15b25SDag-Erling Smørgrav 630517d15b25SDag-Erling Smørgrav 630617d15b25SDag-Erling Smørgrav# _LT_LANG_CXX_CONFIG([TAG]) 630717d15b25SDag-Erling Smørgrav# -------------------------- 630817d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a C++ compiler are suitably 630917d15b25SDag-Erling Smørgrav# defined. These variables are subsequently used by _LT_CONFIG to write 6310986ba33cSDag-Erling Smørgrav# the compiler configuration to 'libtool'. 631117d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_CXX_CONFIG], 631217d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 631317d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl 631417d15b25SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl 6315986ba33cSDag-Erling Smørgravif test -n "$CXX" && ( test no != "$CXX" && 6316986ba33cSDag-Erling Smørgrav ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 6317986ba33cSDag-Erling Smørgrav (test g++ != "$CXX"))); then 631817d15b25SDag-Erling Smørgrav AC_PROG_CXXCPP 631917d15b25SDag-Erling Smørgravelse 632017d15b25SDag-Erling Smørgrav _lt_caught_CXX_error=yes 632117d15b25SDag-Erling Smørgravfi 632217d15b25SDag-Erling Smørgrav 632317d15b25SDag-Erling SmørgravAC_LANG_PUSH(C++) 632417d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 632517d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 632617d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 632717d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 632817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler_needs_object, $1)=no 632917d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 633017d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 633117d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 633217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 633317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 633417d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 633517d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 633617d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 633717d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 633817d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 633917d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 634017d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 634117d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 634217d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 634317d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 634417d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 634517d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 634617d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 634717d15b25SDag-Erling Smørgrav 634817d15b25SDag-Erling Smørgrav# Source file extension for C++ test sources. 634917d15b25SDag-Erling Smørgravac_ext=cpp 635017d15b25SDag-Erling Smørgrav 635117d15b25SDag-Erling Smørgrav# Object file extension for compiled C++ test sources. 635217d15b25SDag-Erling Smørgravobjext=o 635317d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 635417d15b25SDag-Erling Smørgrav 635517d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 635617d15b25SDag-Erling Smørgrav# the CXX compiler isn't working. Some variables (like enable_shared) 635717d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 635817d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 6359986ba33cSDag-Erling Smørgravif test yes != "$_lt_caught_CXX_error"; then 636017d15b25SDag-Erling Smørgrav # Code to be used in simple compile tests 636117d15b25SDag-Erling Smørgrav lt_simple_compile_test_code="int some_variable = 0;" 636217d15b25SDag-Erling Smørgrav 636317d15b25SDag-Erling Smørgrav # Code to be used in simple link tests 636417d15b25SDag-Erling Smørgrav lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 636517d15b25SDag-Erling Smørgrav 636617d15b25SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 636717d15b25SDag-Erling Smørgrav _LT_TAG_COMPILER 636817d15b25SDag-Erling Smørgrav 636917d15b25SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 637017d15b25SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 637117d15b25SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 637217d15b25SDag-Erling Smørgrav 637317d15b25SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 637417d15b25SDag-Erling Smørgrav lt_save_CC=$CC 637517d15b25SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 637617d15b25SDag-Erling Smørgrav lt_save_LD=$LD 637717d15b25SDag-Erling Smørgrav lt_save_GCC=$GCC 637817d15b25SDag-Erling Smørgrav GCC=$GXX 637917d15b25SDag-Erling Smørgrav lt_save_with_gnu_ld=$with_gnu_ld 638017d15b25SDag-Erling Smørgrav lt_save_path_LD=$lt_cv_path_LD 638117d15b25SDag-Erling Smørgrav if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 638217d15b25SDag-Erling Smørgrav lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 638317d15b25SDag-Erling Smørgrav else 638417d15b25SDag-Erling Smørgrav $as_unset lt_cv_prog_gnu_ld 638517d15b25SDag-Erling Smørgrav fi 638617d15b25SDag-Erling Smørgrav if test -n "${lt_cv_path_LDCXX+set}"; then 638717d15b25SDag-Erling Smørgrav lt_cv_path_LD=$lt_cv_path_LDCXX 638817d15b25SDag-Erling Smørgrav else 638917d15b25SDag-Erling Smørgrav $as_unset lt_cv_path_LD 639017d15b25SDag-Erling Smørgrav fi 639117d15b25SDag-Erling Smørgrav test -z "${LDCXX+set}" || LD=$LDCXX 639217d15b25SDag-Erling Smørgrav CC=${CXX-"c++"} 639317d15b25SDag-Erling Smørgrav CFLAGS=$CXXFLAGS 639417d15b25SDag-Erling Smørgrav compiler=$CC 639517d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 639617d15b25SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 639717d15b25SDag-Erling Smørgrav 639817d15b25SDag-Erling Smørgrav if test -n "$compiler"; then 639917d15b25SDag-Erling Smørgrav # We don't want -fno-exception when compiling C++ code, so set the 640017d15b25SDag-Erling Smørgrav # no_builtin_flag separately 6401986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 640217d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 640317d15b25SDag-Erling Smørgrav else 640417d15b25SDag-Erling Smørgrav _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 640517d15b25SDag-Erling Smørgrav fi 640617d15b25SDag-Erling Smørgrav 6407986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 640817d15b25SDag-Erling Smørgrav # Set up default GNU C++ configuration 640917d15b25SDag-Erling Smørgrav 641017d15b25SDag-Erling Smørgrav LT_PATH_LD 641117d15b25SDag-Erling Smørgrav 641217d15b25SDag-Erling Smørgrav # Check if GNU C++ uses GNU ld as the underlying linker, since the 641317d15b25SDag-Erling Smørgrav # archiving commands below assume that GNU ld is being used. 6414986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 6415986ba33cSDag-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' 6416986ba33cSDag-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' 641717d15b25SDag-Erling Smørgrav 6418986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6419986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 642017d15b25SDag-Erling Smørgrav 642117d15b25SDag-Erling Smørgrav # If archive_cmds runs LD, not CC, wlarc should be empty 642217d15b25SDag-Erling Smørgrav # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 642317d15b25SDag-Erling Smørgrav # investigate it a little bit more. (MM) 6424986ba33cSDag-Erling Smørgrav wlarc='$wl' 642517d15b25SDag-Erling Smørgrav 642617d15b25SDag-Erling Smørgrav # ancient GNU ld didn't support --whole-archive et. al. 642717d15b25SDag-Erling Smørgrav if eval "`$CC -print-prog-name=ld` --help 2>&1" | 642817d15b25SDag-Erling Smørgrav $GREP 'no-whole-archive' > /dev/null; then 6429986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 643017d15b25SDag-Erling Smørgrav else 643117d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)= 643217d15b25SDag-Erling Smørgrav fi 643317d15b25SDag-Erling Smørgrav else 643417d15b25SDag-Erling Smørgrav with_gnu_ld=no 643517d15b25SDag-Erling Smørgrav wlarc= 643617d15b25SDag-Erling Smørgrav 643717d15b25SDag-Erling Smørgrav # A generic and very simple default shared library creation 643817d15b25SDag-Erling Smørgrav # command for GNU C++ for the case where it uses the native 643917d15b25SDag-Erling Smørgrav # linker, instead of GNU ld. If possible, this setting should 644017d15b25SDag-Erling Smørgrav # overridden to take advantage of the native linker features on 644117d15b25SDag-Erling Smørgrav # the platform it is being used on. 644217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 644317d15b25SDag-Erling Smørgrav fi 644417d15b25SDag-Erling Smørgrav 644517d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 644617d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 644717d15b25SDag-Erling Smørgrav # linking a shared library. 644817d15b25SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' 644917d15b25SDag-Erling Smørgrav 645017d15b25SDag-Erling Smørgrav else 645117d15b25SDag-Erling Smørgrav GXX=no 645217d15b25SDag-Erling Smørgrav with_gnu_ld=no 645317d15b25SDag-Erling Smørgrav wlarc= 645417d15b25SDag-Erling Smørgrav fi 645517d15b25SDag-Erling Smørgrav 645617d15b25SDag-Erling Smørgrav # PORTME: fill in a description of your system's C++ link characteristics 645717d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 645817d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 645917d15b25SDag-Erling Smørgrav case $host_os in 646017d15b25SDag-Erling Smørgrav aix3*) 646117d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 646217d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 646317d15b25SDag-Erling Smørgrav ;; 646417d15b25SDag-Erling Smørgrav aix[[4-9]]*) 6465986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 646617d15b25SDag-Erling Smørgrav # On IA64, the linker does run time linking by default, so we don't 646717d15b25SDag-Erling Smørgrav # have to do anything special. 646817d15b25SDag-Erling Smørgrav aix_use_runtimelinking=no 646917d15b25SDag-Erling Smørgrav exp_sym_flag='-Bexport' 6470986ba33cSDag-Erling Smørgrav no_entry_flag= 647117d15b25SDag-Erling Smørgrav else 647217d15b25SDag-Erling Smørgrav aix_use_runtimelinking=no 647317d15b25SDag-Erling Smørgrav 647417d15b25SDag-Erling Smørgrav # Test if we are trying to use run time linking or normal 647517d15b25SDag-Erling Smørgrav # AIX style linking. If -brtl is somewhere in LDFLAGS, we 6476986ba33cSDag-Erling Smørgrav # have runtime linking enabled, and use it for executables. 6477986ba33cSDag-Erling Smørgrav # For shared libraries, we enable/disable runtime linking 6478986ba33cSDag-Erling Smørgrav # depending on the kind of the shared library created - 6479986ba33cSDag-Erling Smørgrav # when "with_aix_soname,aix_use_runtimelinking" is: 6480986ba33cSDag-Erling Smørgrav # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 6481986ba33cSDag-Erling Smørgrav # "aix,yes" lib.so shared, rtl:yes, for executables 6482986ba33cSDag-Erling Smørgrav # lib.a static archive 6483986ba33cSDag-Erling Smørgrav # "both,no" lib.so.V(shr.o) shared, rtl:yes 6484986ba33cSDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no, for executables 6485986ba33cSDag-Erling Smørgrav # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 6486986ba33cSDag-Erling Smørgrav # lib.a(lib.so.V) shared, rtl:no 6487986ba33cSDag-Erling Smørgrav # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 6488986ba33cSDag-Erling Smørgrav # lib.a static archive 648917d15b25SDag-Erling Smørgrav case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 649017d15b25SDag-Erling Smørgrav for ld_flag in $LDFLAGS; do 649117d15b25SDag-Erling Smørgrav case $ld_flag in 649217d15b25SDag-Erling Smørgrav *-brtl*) 649317d15b25SDag-Erling Smørgrav aix_use_runtimelinking=yes 649417d15b25SDag-Erling Smørgrav break 649517d15b25SDag-Erling Smørgrav ;; 649617d15b25SDag-Erling Smørgrav esac 649717d15b25SDag-Erling Smørgrav done 6498986ba33cSDag-Erling Smørgrav if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 6499986ba33cSDag-Erling Smørgrav # With aix-soname=svr4, we create the lib.so.V shared archives only, 6500986ba33cSDag-Erling Smørgrav # so we don't have lib.a shared libs to link our executables. 6501986ba33cSDag-Erling Smørgrav # We have to force runtime linking in this case. 6502986ba33cSDag-Erling Smørgrav aix_use_runtimelinking=yes 6503986ba33cSDag-Erling Smørgrav LDFLAGS="$LDFLAGS -Wl,-brtl" 6504986ba33cSDag-Erling Smørgrav fi 650517d15b25SDag-Erling Smørgrav ;; 650617d15b25SDag-Erling Smørgrav esac 650717d15b25SDag-Erling Smørgrav 650817d15b25SDag-Erling Smørgrav exp_sym_flag='-bexport' 650917d15b25SDag-Erling Smørgrav no_entry_flag='-bnoentry' 651017d15b25SDag-Erling Smørgrav fi 651117d15b25SDag-Erling Smørgrav 651217d15b25SDag-Erling Smørgrav # When large executables or shared objects are built, AIX ld can 651317d15b25SDag-Erling Smørgrav # have problems creating the table of contents. If linking a library 651417d15b25SDag-Erling Smørgrav # or program results in "error TOC overflow" add -mminimal-toc to 651517d15b25SDag-Erling Smørgrav # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 651617d15b25SDag-Erling Smørgrav # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 651717d15b25SDag-Erling Smørgrav 651817d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='' 651917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 652017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 652117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 652217d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 6523986ba33cSDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 6524986ba33cSDag-Erling Smørgrav case $with_aix_soname,$aix_use_runtimelinking in 6525986ba33cSDag-Erling Smørgrav aix,*) ;; # no import file 6526986ba33cSDag-Erling Smørgrav svr4,* | *,yes) # use import file 6527986ba33cSDag-Erling Smørgrav # The Import File defines what to hardcode. 6528986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 6529986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=no 6530986ba33cSDag-Erling Smørgrav ;; 6531986ba33cSDag-Erling Smørgrav esac 653217d15b25SDag-Erling Smørgrav 6533986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 653417d15b25SDag-Erling Smørgrav case $host_os in aix4.[[012]]|aix4.[[012]].*) 653517d15b25SDag-Erling Smørgrav # We only want to do this on AIX 4.2 and lower, the check 653617d15b25SDag-Erling Smørgrav # below for broken collect2 doesn't work under 4.3+ 6537986ba33cSDag-Erling Smørgrav collect2name=`$CC -print-prog-name=collect2` 653817d15b25SDag-Erling Smørgrav if test -f "$collect2name" && 653917d15b25SDag-Erling Smørgrav strings "$collect2name" | $GREP resolve_lib_name >/dev/null 654017d15b25SDag-Erling Smørgrav then 654117d15b25SDag-Erling Smørgrav # We have reworked collect2 654217d15b25SDag-Erling Smørgrav : 654317d15b25SDag-Erling Smørgrav else 654417d15b25SDag-Erling Smørgrav # We have old collect2 654517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=unsupported 654617d15b25SDag-Erling Smørgrav # It fails to find uninstalled libraries when the uninstalled 654717d15b25SDag-Erling Smørgrav # path is not listed in the libpath. Setting hardcode_minus_L 654817d15b25SDag-Erling Smørgrav # to unsupported forces relinking 654917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 655017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 655117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)= 655217d15b25SDag-Erling Smørgrav fi 655317d15b25SDag-Erling Smørgrav esac 655417d15b25SDag-Erling Smørgrav shared_flag='-shared' 6555986ba33cSDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 6556986ba33cSDag-Erling Smørgrav shared_flag=$shared_flag' $wl-G' 655717d15b25SDag-Erling Smørgrav fi 6558986ba33cSDag-Erling Smørgrav # Need to ensure runtime linking is disabled for the traditional 6559986ba33cSDag-Erling Smørgrav # shared library, or the linker may eventually find shared libraries 6560986ba33cSDag-Erling Smørgrav # /with/ Import File - we do not want to mix them. 6561986ba33cSDag-Erling Smørgrav shared_flag_aix='-shared' 6562986ba33cSDag-Erling Smørgrav shared_flag_svr4='-shared $wl-G' 656317d15b25SDag-Erling Smørgrav else 656417d15b25SDag-Erling Smørgrav # not using gcc 6565986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 656617d15b25SDag-Erling Smørgrav # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 656717d15b25SDag-Erling Smørgrav # chokes on -Wl,-G. The following line is correct: 656817d15b25SDag-Erling Smørgrav shared_flag='-G' 656917d15b25SDag-Erling Smørgrav else 6570986ba33cSDag-Erling Smørgrav if test yes = "$aix_use_runtimelinking"; then 6571986ba33cSDag-Erling Smørgrav shared_flag='$wl-G' 657217d15b25SDag-Erling Smørgrav else 6573986ba33cSDag-Erling Smørgrav shared_flag='$wl-bM:SRE' 657417d15b25SDag-Erling Smørgrav fi 6575986ba33cSDag-Erling Smørgrav shared_flag_aix='$wl-bM:SRE' 6576986ba33cSDag-Erling Smørgrav shared_flag_svr4='$wl-G' 657717d15b25SDag-Erling Smørgrav fi 657817d15b25SDag-Erling Smørgrav fi 657917d15b25SDag-Erling Smørgrav 6580986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 658117d15b25SDag-Erling Smørgrav # It seems that -bexpall does not export symbols beginning with 658217d15b25SDag-Erling Smørgrav # underscore (_), so it is better to generate a list of symbols to 658317d15b25SDag-Erling Smørgrav # export. 658417d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 6585986ba33cSDag-Erling Smørgrav if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 658617d15b25SDag-Erling Smørgrav # Warning - without using the other runtime loading flags (-brtl), 658717d15b25SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 6588986ba33cSDag-Erling Smørgrav # The "-G" linker flag allows undefined symbols. 6589986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' 659017d15b25SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an empty 659117d15b25SDag-Erling Smørgrav # executable. 659217d15b25SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 6593986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 659417d15b25SDag-Erling Smørgrav 6595986ba33cSDag-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 659617d15b25SDag-Erling Smørgrav else 6597986ba33cSDag-Erling Smørgrav if test ia64 = "$host_cpu"; then 6598986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 659917d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 6600986ba33cSDag-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" 660117d15b25SDag-Erling Smørgrav else 660217d15b25SDag-Erling Smørgrav # Determine the default libpath from the value encoded in an 660317d15b25SDag-Erling Smørgrav # empty executable. 660417d15b25SDag-Erling Smørgrav _LT_SYS_MODULE_PATH_AIX([$1]) 6605986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 660617d15b25SDag-Erling Smørgrav # Warning - without using the other run time loading flags, 660717d15b25SDag-Erling Smørgrav # -berok will link without error, but may produce a broken library. 6608986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 6609986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 6610986ba33cSDag-Erling Smørgrav if test yes = "$with_gnu_ld"; then 661117d15b25SDag-Erling Smørgrav # We only use this code for GNU lds that support --whole-archive. 6612986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 661317d15b25SDag-Erling Smørgrav else 661417d15b25SDag-Erling Smørgrav # Exported symbols can be pulled into shared objects from archives 661517d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 661617d15b25SDag-Erling Smørgrav fi 661717d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6618986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 6619986ba33cSDag-Erling Smørgrav # -brtl affects multiple linker settings, -berok does not and is overridden later 6620986ba33cSDag-Erling Smørgrav compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 6621986ba33cSDag-Erling Smørgrav if test svr4 != "$with_aix_soname"; then 662217d15b25SDag-Erling Smørgrav # This is similar to how AIX traditionally builds its shared 6623986ba33cSDag-Erling Smørgrav # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. 6624986ba33cSDag-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' 6625986ba33cSDag-Erling Smørgrav fi 6626986ba33cSDag-Erling Smørgrav if test aix != "$with_aix_soname"; then 6627986ba33cSDag-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' 6628986ba33cSDag-Erling Smørgrav else 6629986ba33cSDag-Erling Smørgrav # used by -dlpreopen to get the symbols 6630986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 6631986ba33cSDag-Erling Smørgrav fi 6632986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 663317d15b25SDag-Erling Smørgrav fi 663417d15b25SDag-Erling Smørgrav fi 663517d15b25SDag-Erling Smørgrav ;; 663617d15b25SDag-Erling Smørgrav 663717d15b25SDag-Erling Smørgrav beos*) 663817d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 663917d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 664017d15b25SDag-Erling Smørgrav # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 664117d15b25SDag-Erling Smørgrav # support --undefined. This deserves some investigation. FIXME 6642986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 664317d15b25SDag-Erling Smørgrav else 664417d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 664517d15b25SDag-Erling Smørgrav fi 664617d15b25SDag-Erling Smørgrav ;; 664717d15b25SDag-Erling Smørgrav 664817d15b25SDag-Erling Smørgrav chorus*) 664917d15b25SDag-Erling Smørgrav case $cc_basename in 665017d15b25SDag-Erling Smørgrav *) 665117d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 665217d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 665317d15b25SDag-Erling Smørgrav ;; 665417d15b25SDag-Erling Smørgrav esac 665517d15b25SDag-Erling Smørgrav ;; 665617d15b25SDag-Erling Smørgrav 665717d15b25SDag-Erling Smørgrav cygwin* | mingw* | pw32* | cegcc*) 665817d15b25SDag-Erling Smørgrav case $GXX,$cc_basename in 665917d15b25SDag-Erling Smørgrav ,cl* | no,cl*) 666017d15b25SDag-Erling Smørgrav # Native MSVC 666117d15b25SDag-Erling Smørgrav # hardcode_libdir_flag_spec is actually meaningless, as there is 666217d15b25SDag-Erling Smørgrav # no search path for DLLs. 666317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 666417d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 666517d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=yes 666617d15b25SDag-Erling Smørgrav _LT_TAGVAR(file_list_spec, $1)='@' 666717d15b25SDag-Erling Smørgrav # Tell ltmain to make .lib files, not .a files. 666817d15b25SDag-Erling Smørgrav libext=lib 666917d15b25SDag-Erling Smørgrav # Tell ltmain to make .dll files, not .so files. 6670986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 667117d15b25SDag-Erling Smørgrav # FIXME: Setting linknames here is a bad hack. 6672986ba33cSDag-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=' 6673986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 6674986ba33cSDag-Erling Smørgrav cp "$export_symbols" "$output_objdir/$soname.def"; 6675986ba33cSDag-Erling Smørgrav echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 667617d15b25SDag-Erling Smørgrav else 6677986ba33cSDag-Erling Smørgrav $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 667817d15b25SDag-Erling Smørgrav fi~ 667917d15b25SDag-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"~ 668017d15b25SDag-Erling Smørgrav linknames=' 668117d15b25SDag-Erling Smørgrav # The linker will not automatically build a static lib if we build a DLL. 668217d15b25SDag-Erling Smørgrav # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 668317d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 668417d15b25SDag-Erling Smørgrav # Don't use ranlib 668517d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 668617d15b25SDag-Erling Smørgrav _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 668717d15b25SDag-Erling Smørgrav lt_tool_outputfile="@TOOL_OUTPUT@"~ 668817d15b25SDag-Erling Smørgrav case $lt_outputfile in 668917d15b25SDag-Erling Smørgrav *.exe|*.EXE) ;; 669017d15b25SDag-Erling Smørgrav *) 6691986ba33cSDag-Erling Smørgrav lt_outputfile=$lt_outputfile.exe 6692986ba33cSDag-Erling Smørgrav lt_tool_outputfile=$lt_tool_outputfile.exe 669317d15b25SDag-Erling Smørgrav ;; 669417d15b25SDag-Erling Smørgrav esac~ 669517d15b25SDag-Erling Smørgrav func_to_tool_file "$lt_outputfile"~ 6696986ba33cSDag-Erling Smørgrav if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 669717d15b25SDag-Erling Smørgrav $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 669817d15b25SDag-Erling Smørgrav $RM "$lt_outputfile.manifest"; 669917d15b25SDag-Erling Smørgrav fi' 670017d15b25SDag-Erling Smørgrav ;; 670117d15b25SDag-Erling Smørgrav *) 670217d15b25SDag-Erling Smørgrav # g++ 670317d15b25SDag-Erling Smørgrav # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 670417d15b25SDag-Erling Smørgrav # as there is no search path for DLLs. 670517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6706986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 670717d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 670817d15b25SDag-Erling Smørgrav _LT_TAGVAR(always_export_symbols, $1)=no 670917d15b25SDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 671017d15b25SDag-Erling Smørgrav 671117d15b25SDag-Erling Smørgrav if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 6712986ba33cSDag-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' 6713986ba33cSDag-Erling Smørgrav # If the export-symbols file already is a .def file, use it as 6714986ba33cSDag-Erling Smørgrav # is; otherwise, prepend EXPORTS... 6715986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 671617d15b25SDag-Erling Smørgrav cp $export_symbols $output_objdir/$soname.def; 671717d15b25SDag-Erling Smørgrav else 671817d15b25SDag-Erling Smørgrav echo EXPORTS > $output_objdir/$soname.def; 671917d15b25SDag-Erling Smørgrav cat $export_symbols >> $output_objdir/$soname.def; 672017d15b25SDag-Erling Smørgrav fi~ 6721986ba33cSDag-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' 672217d15b25SDag-Erling Smørgrav else 672317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 672417d15b25SDag-Erling Smørgrav fi 672517d15b25SDag-Erling Smørgrav ;; 672617d15b25SDag-Erling Smørgrav esac 672717d15b25SDag-Erling Smørgrav ;; 672817d15b25SDag-Erling Smørgrav darwin* | rhapsody*) 672917d15b25SDag-Erling Smørgrav _LT_DARWIN_LINKER_FEATURES($1) 673017d15b25SDag-Erling Smørgrav ;; 673117d15b25SDag-Erling Smørgrav 6732986ba33cSDag-Erling Smørgrav os2*) 6733986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6734986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes 6735986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6736986ba33cSDag-Erling Smørgrav shrext_cmds=.dll 6737986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6738986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6739986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6740986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 6741986ba33cSDag-Erling Smørgrav emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 6742986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6743986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 6744986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6745986ba33cSDag-Erling Smørgrav $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6746986ba33cSDag-Erling Smørgrav $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6747986ba33cSDag-Erling Smørgrav $ECHO EXPORTS >> $output_objdir/$libname.def~ 6748986ba33cSDag-Erling Smørgrav prefix_cmds="$SED"~ 6749986ba33cSDag-Erling Smørgrav if test EXPORTS = "`$SED 1q $export_symbols`"; then 6750986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e 1d"; 6751986ba33cSDag-Erling Smørgrav fi~ 6752986ba33cSDag-Erling Smørgrav prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 6753986ba33cSDag-Erling Smørgrav cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 6754986ba33cSDag-Erling Smørgrav $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6755986ba33cSDag-Erling Smørgrav emximp -o $lib $output_objdir/$libname.def' 6756986ba33cSDag-Erling Smørgrav _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 6757986ba33cSDag-Erling Smørgrav _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6758986ba33cSDag-Erling Smørgrav ;; 6759986ba33cSDag-Erling Smørgrav 676017d15b25SDag-Erling Smørgrav dgux*) 676117d15b25SDag-Erling Smørgrav case $cc_basename in 676217d15b25SDag-Erling Smørgrav ec++*) 676317d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 676417d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 676517d15b25SDag-Erling Smørgrav ;; 676617d15b25SDag-Erling Smørgrav ghcx*) 676717d15b25SDag-Erling Smørgrav # Green Hills C++ Compiler 676817d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 676917d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 677017d15b25SDag-Erling Smørgrav ;; 677117d15b25SDag-Erling Smørgrav *) 677217d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 677317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 677417d15b25SDag-Erling Smørgrav ;; 677517d15b25SDag-Erling Smørgrav esac 677617d15b25SDag-Erling Smørgrav ;; 677717d15b25SDag-Erling Smørgrav 677817d15b25SDag-Erling Smørgrav freebsd2.*) 677917d15b25SDag-Erling Smørgrav # C++ shared libraries reported to be fairly broken before 678017d15b25SDag-Erling Smørgrav # switch to ELF 678117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 678217d15b25SDag-Erling Smørgrav ;; 678317d15b25SDag-Erling Smørgrav 678417d15b25SDag-Erling Smørgrav freebsd-elf*) 678517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 678617d15b25SDag-Erling Smørgrav ;; 678717d15b25SDag-Erling Smørgrav 678817d15b25SDag-Erling Smørgrav freebsd* | dragonfly*) 678917d15b25SDag-Erling Smørgrav # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 679017d15b25SDag-Erling Smørgrav # conventions 679117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 679217d15b25SDag-Erling Smørgrav ;; 679317d15b25SDag-Erling Smørgrav 679417d15b25SDag-Erling Smørgrav haiku*) 6795986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 679617d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 679717d15b25SDag-Erling Smørgrav ;; 679817d15b25SDag-Erling Smørgrav 679917d15b25SDag-Erling Smørgrav hpux9*) 6800986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 680117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6802986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 680317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 680417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 680517d15b25SDag-Erling Smørgrav # but as the default 680617d15b25SDag-Erling Smørgrav # location of the library. 680717d15b25SDag-Erling Smørgrav 680817d15b25SDag-Erling Smørgrav case $cc_basename in 680917d15b25SDag-Erling Smørgrav CC*) 681017d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 681117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 681217d15b25SDag-Erling Smørgrav ;; 681317d15b25SDag-Erling Smørgrav aCC*) 6814986ba33cSDag-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' 681517d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 681617d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 681717d15b25SDag-Erling Smørgrav # linking a shared library. 681817d15b25SDag-Erling Smørgrav # 681917d15b25SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 682017d15b25SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 682117d15b25SDag-Erling Smørgrav # from the output so that they don't get included in the library 682217d15b25SDag-Erling Smørgrav # dependencies. 6823986ba33cSDag-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"' 682417d15b25SDag-Erling Smørgrav ;; 682517d15b25SDag-Erling Smørgrav *) 6826986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 6827986ba33cSDag-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' 682817d15b25SDag-Erling Smørgrav else 682917d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 683017d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 683117d15b25SDag-Erling Smørgrav fi 683217d15b25SDag-Erling Smørgrav ;; 683317d15b25SDag-Erling Smørgrav esac 683417d15b25SDag-Erling Smørgrav ;; 683517d15b25SDag-Erling Smørgrav 683617d15b25SDag-Erling Smørgrav hpux10*|hpux11*) 6837986ba33cSDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 6838986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 683917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 684017d15b25SDag-Erling Smørgrav 684117d15b25SDag-Erling Smørgrav case $host_cpu in 684217d15b25SDag-Erling Smørgrav hppa*64*|ia64*) 684317d15b25SDag-Erling Smørgrav ;; 684417d15b25SDag-Erling Smørgrav *) 6845986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 684617d15b25SDag-Erling Smørgrav ;; 684717d15b25SDag-Erling Smørgrav esac 684817d15b25SDag-Erling Smørgrav fi 684917d15b25SDag-Erling Smørgrav case $host_cpu in 685017d15b25SDag-Erling Smørgrav hppa*64*|ia64*) 685117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 685217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 685317d15b25SDag-Erling Smørgrav ;; 685417d15b25SDag-Erling Smørgrav *) 685517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 685617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 685717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 685817d15b25SDag-Erling Smørgrav # but as the default 685917d15b25SDag-Erling Smørgrav # location of the library. 686017d15b25SDag-Erling Smørgrav ;; 686117d15b25SDag-Erling Smørgrav esac 686217d15b25SDag-Erling Smørgrav 686317d15b25SDag-Erling Smørgrav case $cc_basename in 686417d15b25SDag-Erling Smørgrav CC*) 686517d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 686617d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 686717d15b25SDag-Erling Smørgrav ;; 686817d15b25SDag-Erling Smørgrav aCC*) 686917d15b25SDag-Erling Smørgrav case $host_cpu in 687017d15b25SDag-Erling Smørgrav hppa*64*) 6871986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 687217d15b25SDag-Erling Smørgrav ;; 687317d15b25SDag-Erling Smørgrav ia64*) 6874986ba33cSDag-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' 687517d15b25SDag-Erling Smørgrav ;; 687617d15b25SDag-Erling Smørgrav *) 6877986ba33cSDag-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' 687817d15b25SDag-Erling Smørgrav ;; 687917d15b25SDag-Erling Smørgrav esac 688017d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 688117d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 688217d15b25SDag-Erling Smørgrav # linking a shared library. 688317d15b25SDag-Erling Smørgrav # 688417d15b25SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 688517d15b25SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 688617d15b25SDag-Erling Smørgrav # from the output so that they don't get included in the library 688717d15b25SDag-Erling Smørgrav # dependencies. 6888986ba33cSDag-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"' 688917d15b25SDag-Erling Smørgrav ;; 689017d15b25SDag-Erling Smørgrav *) 6891986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 6892986ba33cSDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 689317d15b25SDag-Erling Smørgrav case $host_cpu in 689417d15b25SDag-Erling Smørgrav hppa*64*) 6895986ba33cSDag-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' 689617d15b25SDag-Erling Smørgrav ;; 689717d15b25SDag-Erling Smørgrav ia64*) 6898986ba33cSDag-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' 689917d15b25SDag-Erling Smørgrav ;; 690017d15b25SDag-Erling Smørgrav *) 6901986ba33cSDag-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' 690217d15b25SDag-Erling Smørgrav ;; 690317d15b25SDag-Erling Smørgrav esac 690417d15b25SDag-Erling Smørgrav fi 690517d15b25SDag-Erling Smørgrav else 690617d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 690717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 690817d15b25SDag-Erling Smørgrav fi 690917d15b25SDag-Erling Smørgrav ;; 691017d15b25SDag-Erling Smørgrav esac 691117d15b25SDag-Erling Smørgrav ;; 691217d15b25SDag-Erling Smørgrav 691317d15b25SDag-Erling Smørgrav interix[[3-9]]*) 691417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=no 691517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6916986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6917986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 691817d15b25SDag-Erling Smørgrav # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 691917d15b25SDag-Erling Smørgrav # Instead, shared libraries are loaded at an image base (0x10000000 by 692017d15b25SDag-Erling Smørgrav # default) and relocated if they conflict, which is a slow very memory 692117d15b25SDag-Erling Smørgrav # consuming and fragmenting process. To avoid this, we pick a random, 692217d15b25SDag-Erling Smørgrav # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 692317d15b25SDag-Erling Smørgrav # time. Moving up from 0x10000000 also allows more sbrk(2) space. 6924986ba33cSDag-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' 6925986ba33cSDag-Erling Smørgrav _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' 692617d15b25SDag-Erling Smørgrav ;; 692717d15b25SDag-Erling Smørgrav irix5* | irix6*) 692817d15b25SDag-Erling Smørgrav case $cc_basename in 692917d15b25SDag-Erling Smørgrav CC*) 693017d15b25SDag-Erling Smørgrav # SGI C++ 6931986ba33cSDag-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' 693217d15b25SDag-Erling Smørgrav 693317d15b25SDag-Erling Smørgrav # Archives containing C++ object files must be created using 693417d15b25SDag-Erling Smørgrav # "CC -ar", where "CC" is the IRIX C++ compiler. This is 693517d15b25SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 693617d15b25SDag-Erling Smørgrav # in the archive. 693717d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 693817d15b25SDag-Erling Smørgrav ;; 693917d15b25SDag-Erling Smørgrav *) 6940986ba33cSDag-Erling Smørgrav if test yes = "$GXX"; then 6941986ba33cSDag-Erling Smørgrav if test no = "$with_gnu_ld"; then 6942986ba33cSDag-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' 694317d15b25SDag-Erling Smørgrav else 6944986ba33cSDag-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' 694517d15b25SDag-Erling Smørgrav fi 694617d15b25SDag-Erling Smørgrav fi 694717d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 694817d15b25SDag-Erling Smørgrav ;; 694917d15b25SDag-Erling Smørgrav esac 6950986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 695117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 695217d15b25SDag-Erling Smørgrav _LT_TAGVAR(inherit_rpath, $1)=yes 695317d15b25SDag-Erling Smørgrav ;; 695417d15b25SDag-Erling Smørgrav 6955986ba33cSDag-Erling Smørgrav linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 695617d15b25SDag-Erling Smørgrav case $cc_basename in 695717d15b25SDag-Erling Smørgrav KCC*) 695817d15b25SDag-Erling Smørgrav # Kuck and Associates, Inc. (KAI) C++ Compiler 695917d15b25SDag-Erling Smørgrav 696017d15b25SDag-Erling Smørgrav # KCC will only create a shared library if the output file 696117d15b25SDag-Erling Smørgrav # ends with ".so" (or ".sl" for HP-UX), so rename the library 696217d15b25SDag-Erling Smørgrav # to its proper name (with version) after linking. 6963986ba33cSDag-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' 6964986ba33cSDag-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' 696517d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 696617d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 696717d15b25SDag-Erling Smørgrav # linking a shared library. 696817d15b25SDag-Erling Smørgrav # 696917d15b25SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 697017d15b25SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 697117d15b25SDag-Erling Smørgrav # from the output so that they don't get included in the library 697217d15b25SDag-Erling Smørgrav # dependencies. 6973986ba33cSDag-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"' 697417d15b25SDag-Erling Smørgrav 6975986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6976986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 697717d15b25SDag-Erling Smørgrav 697817d15b25SDag-Erling Smørgrav # Archives containing C++ object files must be created using 697917d15b25SDag-Erling Smørgrav # "CC -Bstatic", where "CC" is the KAI C++ compiler. 698017d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 698117d15b25SDag-Erling Smørgrav ;; 698217d15b25SDag-Erling Smørgrav icpc* | ecpc* ) 698317d15b25SDag-Erling Smørgrav # Intel C++ 698417d15b25SDag-Erling Smørgrav with_gnu_ld=yes 698517d15b25SDag-Erling Smørgrav # version 8.0 and above of icpc choke on multiply defined symbols 698617d15b25SDag-Erling Smørgrav # if we add $predep_objects and $postdep_objects, however 7.1 and 698717d15b25SDag-Erling Smørgrav # earlier do not add the objects themselves. 698817d15b25SDag-Erling Smørgrav case `$CC -V 2>&1` in 698917d15b25SDag-Erling Smørgrav *"Version 7."*) 6990986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 6991986ba33cSDag-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' 699217d15b25SDag-Erling Smørgrav ;; 699317d15b25SDag-Erling Smørgrav *) # Version 8.0 or newer 699417d15b25SDag-Erling Smørgrav tmp_idyn= 699517d15b25SDag-Erling Smørgrav case $host_cpu in 699617d15b25SDag-Erling Smørgrav ia64*) tmp_idyn=' -i_dynamic';; 699717d15b25SDag-Erling Smørgrav esac 6998986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6999986ba33cSDag-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' 700017d15b25SDag-Erling Smørgrav ;; 700117d15b25SDag-Erling Smørgrav esac 700217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7003986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7004986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7005986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 700617d15b25SDag-Erling Smørgrav ;; 700717d15b25SDag-Erling Smørgrav pgCC* | pgcpp*) 700817d15b25SDag-Erling Smørgrav # Portland Group C++ compiler 700917d15b25SDag-Erling Smørgrav case `$CC -V` in 701017d15b25SDag-Erling Smørgrav *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 701117d15b25SDag-Erling Smørgrav _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 701217d15b25SDag-Erling Smørgrav rm -rf $tpldir~ 701317d15b25SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 701417d15b25SDag-Erling Smørgrav compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 701517d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 701617d15b25SDag-Erling Smørgrav rm -rf $tpldir~ 701717d15b25SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 701817d15b25SDag-Erling Smørgrav $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 701917d15b25SDag-Erling Smørgrav $RANLIB $oldlib' 702017d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 702117d15b25SDag-Erling Smørgrav rm -rf $tpldir~ 702217d15b25SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7023986ba33cSDag-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' 702417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 702517d15b25SDag-Erling Smørgrav rm -rf $tpldir~ 702617d15b25SDag-Erling Smørgrav $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7027986ba33cSDag-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' 702817d15b25SDag-Erling Smørgrav ;; 702917d15b25SDag-Erling Smørgrav *) # Version 6 and above use weak symbols 7030986ba33cSDag-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' 7031986ba33cSDag-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' 703217d15b25SDag-Erling Smørgrav ;; 703317d15b25SDag-Erling Smørgrav esac 703417d15b25SDag-Erling Smørgrav 7035986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' 7036986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7037986ba33cSDag-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' 703817d15b25SDag-Erling Smørgrav ;; 703917d15b25SDag-Erling Smørgrav cxx*) 704017d15b25SDag-Erling Smørgrav # Compaq C++ 7041986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7042986ba33cSDag-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' 704317d15b25SDag-Erling Smørgrav 704417d15b25SDag-Erling Smørgrav runpath_var=LD_RUN_PATH 704517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 704617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 704717d15b25SDag-Erling Smørgrav 704817d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 704917d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 705017d15b25SDag-Erling Smørgrav # linking a shared library. 705117d15b25SDag-Erling Smørgrav # 705217d15b25SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 705317d15b25SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 705417d15b25SDag-Erling Smørgrav # from the output so that they don't get included in the library 705517d15b25SDag-Erling Smørgrav # dependencies. 7056986ba33cSDag-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' 705717d15b25SDag-Erling Smørgrav ;; 705817d15b25SDag-Erling Smørgrav xl* | mpixl* | bgxl*) 705917d15b25SDag-Erling Smørgrav # IBM XL 8.0 on PPC, with GNU ld 7060986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7061986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7062986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 7063986ba33cSDag-Erling Smørgrav if test yes = "$supports_anon_versioning"; then 706417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 706517d15b25SDag-Erling Smørgrav cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 706617d15b25SDag-Erling Smørgrav echo "local: *; };" >> $output_objdir/$libname.ver~ 7067986ba33cSDag-Erling Smørgrav $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 706817d15b25SDag-Erling Smørgrav fi 706917d15b25SDag-Erling Smørgrav ;; 707017d15b25SDag-Erling Smørgrav *) 707117d15b25SDag-Erling Smørgrav case `$CC -V 2>&1 | sed 5q` in 707217d15b25SDag-Erling Smørgrav *Sun\ C*) 707317d15b25SDag-Erling Smørgrav # Sun C++ 5.9 707417d15b25SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7075986ba33cSDag-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' 7076986ba33cSDag-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' 707717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7078986ba33cSDag-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' 707917d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_needs_object, $1)=yes 708017d15b25SDag-Erling Smørgrav 708117d15b25SDag-Erling Smørgrav # Not sure whether something based on 708217d15b25SDag-Erling Smørgrav # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 708317d15b25SDag-Erling Smørgrav # would be better. 708417d15b25SDag-Erling Smørgrav output_verbose_link_cmd='func_echo_all' 708517d15b25SDag-Erling Smørgrav 708617d15b25SDag-Erling Smørgrav # Archives containing C++ object files must be created using 708717d15b25SDag-Erling Smørgrav # "CC -xar", where "CC" is the Sun C++ compiler. This is 708817d15b25SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 708917d15b25SDag-Erling Smørgrav # in the archive. 709017d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 709117d15b25SDag-Erling Smørgrav ;; 709217d15b25SDag-Erling Smørgrav esac 709317d15b25SDag-Erling Smørgrav ;; 709417d15b25SDag-Erling Smørgrav esac 709517d15b25SDag-Erling Smørgrav ;; 709617d15b25SDag-Erling Smørgrav 709717d15b25SDag-Erling Smørgrav lynxos*) 709817d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 709917d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 710017d15b25SDag-Erling Smørgrav ;; 710117d15b25SDag-Erling Smørgrav 710217d15b25SDag-Erling Smørgrav m88k*) 710317d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 710417d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 710517d15b25SDag-Erling Smørgrav ;; 710617d15b25SDag-Erling Smørgrav 710717d15b25SDag-Erling Smørgrav mvs*) 710817d15b25SDag-Erling Smørgrav case $cc_basename in 710917d15b25SDag-Erling Smørgrav cxx*) 711017d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 711117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 711217d15b25SDag-Erling Smørgrav ;; 711317d15b25SDag-Erling Smørgrav *) 711417d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 711517d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 711617d15b25SDag-Erling Smørgrav ;; 711717d15b25SDag-Erling Smørgrav esac 711817d15b25SDag-Erling Smørgrav ;; 711917d15b25SDag-Erling Smørgrav 712017d15b25SDag-Erling Smørgrav netbsd*) 712117d15b25SDag-Erling Smørgrav if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 712217d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 712317d15b25SDag-Erling Smørgrav wlarc= 712417d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 712517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 712617d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 712717d15b25SDag-Erling Smørgrav fi 712817d15b25SDag-Erling Smørgrav # Workaround some broken pre-1.5 toolchains 712917d15b25SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 713017d15b25SDag-Erling Smørgrav ;; 713117d15b25SDag-Erling Smørgrav 713217d15b25SDag-Erling Smørgrav *nto* | *qnx*) 713317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=yes 713417d15b25SDag-Erling Smørgrav ;; 713517d15b25SDag-Erling Smørgrav 7136986ba33cSDag-Erling Smørgrav openbsd* | bitrig*) 713717d15b25SDag-Erling Smørgrav if test -f /usr/libexec/ld.so; then 713817d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct, $1)=yes 713917d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 714017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 714117d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 7142986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7143986ba33cSDag-Erling Smørgrav if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then 7144986ba33cSDag-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' 7145986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 7146986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 714717d15b25SDag-Erling Smørgrav fi 714817d15b25SDag-Erling Smørgrav output_verbose_link_cmd=func_echo_all 714917d15b25SDag-Erling Smørgrav else 715017d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 715117d15b25SDag-Erling Smørgrav fi 715217d15b25SDag-Erling Smørgrav ;; 715317d15b25SDag-Erling Smørgrav 715417d15b25SDag-Erling Smørgrav osf3* | osf4* | osf5*) 715517d15b25SDag-Erling Smørgrav case $cc_basename in 715617d15b25SDag-Erling Smørgrav KCC*) 715717d15b25SDag-Erling Smørgrav # Kuck and Associates, Inc. (KAI) C++ Compiler 715817d15b25SDag-Erling Smørgrav 715917d15b25SDag-Erling Smørgrav # KCC will only create a shared library if the output file 716017d15b25SDag-Erling Smørgrav # ends with ".so" (or ".sl" for HP-UX), so rename the library 716117d15b25SDag-Erling Smørgrav # to its proper name (with version) after linking. 7162986ba33cSDag-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' 716317d15b25SDag-Erling Smørgrav 7164986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 716517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 716617d15b25SDag-Erling Smørgrav 716717d15b25SDag-Erling Smørgrav # Archives containing C++ object files must be created using 716817d15b25SDag-Erling Smørgrav # the KAI C++ compiler. 716917d15b25SDag-Erling Smørgrav case $host in 717017d15b25SDag-Erling Smørgrav osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 717117d15b25SDag-Erling Smørgrav *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 717217d15b25SDag-Erling Smørgrav esac 717317d15b25SDag-Erling Smørgrav ;; 717417d15b25SDag-Erling Smørgrav RCC*) 717517d15b25SDag-Erling Smørgrav # Rational C++ 2.4.1 717617d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 717717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 717817d15b25SDag-Erling Smørgrav ;; 717917d15b25SDag-Erling Smørgrav cxx*) 718017d15b25SDag-Erling Smørgrav case $host in 718117d15b25SDag-Erling Smørgrav osf3*) 7182986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 7183986ba33cSDag-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' 7184986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 718517d15b25SDag-Erling Smørgrav ;; 718617d15b25SDag-Erling Smørgrav *) 718717d15b25SDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 7188986ba33cSDag-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' 718917d15b25SDag-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~ 719017d15b25SDag-Erling Smørgrav echo "-hidden">> $lib.exp~ 7191986ba33cSDag-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~ 719217d15b25SDag-Erling Smørgrav $RM $lib.exp' 719317d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 719417d15b25SDag-Erling Smørgrav ;; 719517d15b25SDag-Erling Smørgrav esac 719617d15b25SDag-Erling Smørgrav 719717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 719817d15b25SDag-Erling Smørgrav 719917d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 720017d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 720117d15b25SDag-Erling Smørgrav # linking a shared library. 720217d15b25SDag-Erling Smørgrav # 720317d15b25SDag-Erling Smørgrav # There doesn't appear to be a way to prevent this compiler from 720417d15b25SDag-Erling Smørgrav # explicitly linking system object files so we need to strip them 720517d15b25SDag-Erling Smørgrav # from the output so that they don't get included in the library 720617d15b25SDag-Erling Smørgrav # dependencies. 7207986ba33cSDag-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"' 720817d15b25SDag-Erling Smørgrav ;; 720917d15b25SDag-Erling Smørgrav *) 7210986ba33cSDag-Erling Smørgrav if test yes,no = "$GXX,$with_gnu_ld"; then 7211986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 721217d15b25SDag-Erling Smørgrav case $host in 721317d15b25SDag-Erling Smørgrav osf3*) 7214986ba33cSDag-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' 721517d15b25SDag-Erling Smørgrav ;; 721617d15b25SDag-Erling Smørgrav *) 7217986ba33cSDag-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' 721817d15b25SDag-Erling Smørgrav ;; 721917d15b25SDag-Erling Smørgrav esac 722017d15b25SDag-Erling Smørgrav 7221986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 722217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=: 722317d15b25SDag-Erling Smørgrav 722417d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 722517d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 722617d15b25SDag-Erling Smørgrav # linking a shared library. 722717d15b25SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' 722817d15b25SDag-Erling Smørgrav 722917d15b25SDag-Erling Smørgrav else 723017d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 723117d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 723217d15b25SDag-Erling Smørgrav fi 723317d15b25SDag-Erling Smørgrav ;; 723417d15b25SDag-Erling Smørgrav esac 723517d15b25SDag-Erling Smørgrav ;; 723617d15b25SDag-Erling Smørgrav 723717d15b25SDag-Erling Smørgrav psos*) 723817d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 723917d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 724017d15b25SDag-Erling Smørgrav ;; 724117d15b25SDag-Erling Smørgrav 724217d15b25SDag-Erling Smørgrav sunos4*) 724317d15b25SDag-Erling Smørgrav case $cc_basename in 724417d15b25SDag-Erling Smørgrav CC*) 724517d15b25SDag-Erling Smørgrav # Sun C++ 4.x 724617d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 724717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 724817d15b25SDag-Erling Smørgrav ;; 724917d15b25SDag-Erling Smørgrav lcc*) 725017d15b25SDag-Erling Smørgrav # Lucid 725117d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 725217d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 725317d15b25SDag-Erling Smørgrav ;; 725417d15b25SDag-Erling Smørgrav *) 725517d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 725617d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 725717d15b25SDag-Erling Smørgrav ;; 725817d15b25SDag-Erling Smørgrav esac 725917d15b25SDag-Erling Smørgrav ;; 726017d15b25SDag-Erling Smørgrav 726117d15b25SDag-Erling Smørgrav solaris*) 726217d15b25SDag-Erling Smørgrav case $cc_basename in 726317d15b25SDag-Erling Smørgrav CC* | sunCC*) 726417d15b25SDag-Erling Smørgrav # Sun C++ 4.2, 5.x and Centerline C++ 726517d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 726617d15b25SDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7267986ba33cSDag-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' 726817d15b25SDag-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~ 7269986ba33cSDag-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' 727017d15b25SDag-Erling Smørgrav 727117d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 727217d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 727317d15b25SDag-Erling Smørgrav case $host_os in 727417d15b25SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 727517d15b25SDag-Erling Smørgrav *) 727617d15b25SDag-Erling Smørgrav # The compiler driver will combine and reorder linker options, 7277986ba33cSDag-Erling Smørgrav # but understands '-z linker_flag'. 727817d15b25SDag-Erling Smørgrav # Supported since Solaris 2.6 (maybe 2.5.1?) 727917d15b25SDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 728017d15b25SDag-Erling Smørgrav ;; 728117d15b25SDag-Erling Smørgrav esac 728217d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 728317d15b25SDag-Erling Smørgrav 728417d15b25SDag-Erling Smørgrav output_verbose_link_cmd='func_echo_all' 728517d15b25SDag-Erling Smørgrav 728617d15b25SDag-Erling Smørgrav # Archives containing C++ object files must be created using 728717d15b25SDag-Erling Smørgrav # "CC -xar", where "CC" is the Sun C++ compiler. This is 728817d15b25SDag-Erling Smørgrav # necessary to make sure instantiated templates are included 728917d15b25SDag-Erling Smørgrav # in the archive. 729017d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 729117d15b25SDag-Erling Smørgrav ;; 729217d15b25SDag-Erling Smørgrav gcx*) 729317d15b25SDag-Erling Smørgrav # Green Hills C++ Compiler 7294986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 729517d15b25SDag-Erling Smørgrav 729617d15b25SDag-Erling Smørgrav # The C++ compiler must be used to create the archive. 729717d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 729817d15b25SDag-Erling Smørgrav ;; 729917d15b25SDag-Erling Smørgrav *) 730017d15b25SDag-Erling Smørgrav # GNU C++ compiler with Solaris linker 7301986ba33cSDag-Erling Smørgrav if test yes,no = "$GXX,$with_gnu_ld"; then 7302986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' 730317d15b25SDag-Erling Smørgrav if $CC --version | $GREP -v '^2\.7' > /dev/null; then 7304986ba33cSDag-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' 730517d15b25SDag-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~ 7306986ba33cSDag-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' 730717d15b25SDag-Erling Smørgrav 730817d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 730917d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 731017d15b25SDag-Erling Smørgrav # linking a shared library. 731117d15b25SDag-Erling Smørgrav output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' 731217d15b25SDag-Erling Smørgrav else 7313986ba33cSDag-Erling Smørgrav # g++ 2.7 appears to require '-G' NOT '-shared' on this 731417d15b25SDag-Erling Smørgrav # platform. 7315986ba33cSDag-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' 731617d15b25SDag-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~ 7317986ba33cSDag-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' 731817d15b25SDag-Erling Smørgrav 731917d15b25SDag-Erling Smørgrav # Commands to make compiler produce verbose output that lists 732017d15b25SDag-Erling Smørgrav # what "hidden" libraries, object files and flags are used when 732117d15b25SDag-Erling Smørgrav # linking a shared library. 732217d15b25SDag-Erling Smørgrav output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' 732317d15b25SDag-Erling Smørgrav fi 732417d15b25SDag-Erling Smørgrav 7325986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' 732617d15b25SDag-Erling Smørgrav case $host_os in 732717d15b25SDag-Erling Smørgrav solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 732817d15b25SDag-Erling Smørgrav *) 7329986ba33cSDag-Erling Smørgrav _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 733017d15b25SDag-Erling Smørgrav ;; 733117d15b25SDag-Erling Smørgrav esac 733217d15b25SDag-Erling Smørgrav fi 733317d15b25SDag-Erling Smørgrav ;; 733417d15b25SDag-Erling Smørgrav esac 733517d15b25SDag-Erling Smørgrav ;; 733617d15b25SDag-Erling Smørgrav 733717d15b25SDag-Erling Smørgrav sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 7338986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 733917d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 734017d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 734117d15b25SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 734217d15b25SDag-Erling Smørgrav 734317d15b25SDag-Erling Smørgrav case $cc_basename in 734417d15b25SDag-Erling Smørgrav CC*) 7345986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7346986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 734717d15b25SDag-Erling Smørgrav ;; 734817d15b25SDag-Erling Smørgrav *) 7349986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7350986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 735117d15b25SDag-Erling Smørgrav ;; 735217d15b25SDag-Erling Smørgrav esac 735317d15b25SDag-Erling Smørgrav ;; 735417d15b25SDag-Erling Smørgrav 735517d15b25SDag-Erling Smørgrav sysv5* | sco3.2v5* | sco5v6*) 7356986ba33cSDag-Erling Smørgrav # Note: We CANNOT use -z defs as we might desire, because we do not 735717d15b25SDag-Erling Smørgrav # link with -lc, and that would cause any symbols used from libc to 735817d15b25SDag-Erling Smørgrav # always be unresolved, which means just about no library would 735917d15b25SDag-Erling Smørgrav # ever link correctly. If we're not using GNU ld we use -z text 736017d15b25SDag-Erling Smørgrav # though, which does catch some bad symbols but isn't as heavy-handed 736117d15b25SDag-Erling Smørgrav # as -z defs. 7362986ba33cSDag-Erling Smørgrav _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 7363986ba33cSDag-Erling Smørgrav _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 736417d15b25SDag-Erling Smørgrav _LT_TAGVAR(archive_cmds_need_lc, $1)=no 736517d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7366986ba33cSDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 736717d15b25SDag-Erling Smørgrav _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 736817d15b25SDag-Erling Smørgrav _LT_TAGVAR(link_all_deplibs, $1)=yes 7369986ba33cSDag-Erling Smørgrav _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 737017d15b25SDag-Erling Smørgrav runpath_var='LD_RUN_PATH' 737117d15b25SDag-Erling Smørgrav 737217d15b25SDag-Erling Smørgrav case $cc_basename in 737317d15b25SDag-Erling Smørgrav CC*) 7374986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7375986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 737617d15b25SDag-Erling Smørgrav _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 737717d15b25SDag-Erling Smørgrav '"$_LT_TAGVAR(old_archive_cmds, $1)" 737817d15b25SDag-Erling Smørgrav _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 737917d15b25SDag-Erling Smørgrav '"$_LT_TAGVAR(reload_cmds, $1)" 738017d15b25SDag-Erling Smørgrav ;; 738117d15b25SDag-Erling Smørgrav *) 7382986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7383986ba33cSDag-Erling Smørgrav _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 738417d15b25SDag-Erling Smørgrav ;; 738517d15b25SDag-Erling Smørgrav esac 738617d15b25SDag-Erling Smørgrav ;; 738717d15b25SDag-Erling Smørgrav 738817d15b25SDag-Erling Smørgrav tandem*) 738917d15b25SDag-Erling Smørgrav case $cc_basename in 739017d15b25SDag-Erling Smørgrav NCC*) 739117d15b25SDag-Erling Smørgrav # NonStop-UX NCC 3.20 739217d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 739317d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 739417d15b25SDag-Erling Smørgrav ;; 739517d15b25SDag-Erling Smørgrav *) 739617d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 739717d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 739817d15b25SDag-Erling Smørgrav ;; 739917d15b25SDag-Erling Smørgrav esac 740017d15b25SDag-Erling Smørgrav ;; 740117d15b25SDag-Erling Smørgrav 740217d15b25SDag-Erling Smørgrav vxworks*) 740317d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 740417d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 740517d15b25SDag-Erling Smørgrav ;; 740617d15b25SDag-Erling Smørgrav 740717d15b25SDag-Erling Smørgrav *) 740817d15b25SDag-Erling Smørgrav # FIXME: insert proper C++ library support 740917d15b25SDag-Erling Smørgrav _LT_TAGVAR(ld_shlibs, $1)=no 741017d15b25SDag-Erling Smørgrav ;; 741117d15b25SDag-Erling Smørgrav esac 741217d15b25SDag-Erling Smørgrav 741317d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 7414986ba33cSDag-Erling Smørgrav test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 741517d15b25SDag-Erling Smørgrav 7416986ba33cSDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$GXX 7417986ba33cSDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 741817d15b25SDag-Erling Smørgrav 741917d15b25SDag-Erling Smørgrav ## CAVEAT EMPTOR: 742017d15b25SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 742117d15b25SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 742217d15b25SDag-Erling Smørgrav ## what you are doing... 742317d15b25SDag-Erling Smørgrav _LT_SYS_HIDDEN_LIBDEPS($1) 742417d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 742517d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 742617d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 742717d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 742817d15b25SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 742917d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 743017d15b25SDag-Erling Smørgrav 743117d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 743217d15b25SDag-Erling Smørgrav fi # test -n "$compiler" 743317d15b25SDag-Erling Smørgrav 743417d15b25SDag-Erling Smørgrav CC=$lt_save_CC 743517d15b25SDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 743617d15b25SDag-Erling Smørgrav LDCXX=$LD 743717d15b25SDag-Erling Smørgrav LD=$lt_save_LD 743817d15b25SDag-Erling Smørgrav GCC=$lt_save_GCC 743917d15b25SDag-Erling Smørgrav with_gnu_ld=$lt_save_with_gnu_ld 744017d15b25SDag-Erling Smørgrav lt_cv_path_LDCXX=$lt_cv_path_LD 744117d15b25SDag-Erling Smørgrav lt_cv_path_LD=$lt_save_path_LD 744217d15b25SDag-Erling Smørgrav lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 744317d15b25SDag-Erling Smørgrav lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 7444986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_caught_CXX_error" 744517d15b25SDag-Erling Smørgrav 744617d15b25SDag-Erling SmørgravAC_LANG_POP 744717d15b25SDag-Erling Smørgrav])# _LT_LANG_CXX_CONFIG 744817d15b25SDag-Erling Smørgrav 744917d15b25SDag-Erling Smørgrav 745017d15b25SDag-Erling Smørgrav# _LT_FUNC_STRIPNAME_CNF 745117d15b25SDag-Erling Smørgrav# ---------------------- 745217d15b25SDag-Erling Smørgrav# func_stripname_cnf prefix suffix name 745317d15b25SDag-Erling Smørgrav# strip PREFIX and SUFFIX off of NAME. 745417d15b25SDag-Erling Smørgrav# PREFIX and SUFFIX must not contain globbing or regex special 745517d15b25SDag-Erling Smørgrav# characters, hashes, percent signs, but SUFFIX may contain a leading 745617d15b25SDag-Erling Smørgrav# dot (in which case that matches only a dot). 745717d15b25SDag-Erling Smørgrav# 745817d15b25SDag-Erling Smørgrav# This function is identical to the (non-XSI) version of func_stripname, 745917d15b25SDag-Erling Smørgrav# except this one can be used by m4 code that may be executed by configure, 746017d15b25SDag-Erling Smørgrav# rather than the libtool script. 746117d15b25SDag-Erling Smørgravm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 746217d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED]) 746317d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 746417d15b25SDag-Erling Smørgravfunc_stripname_cnf () 746517d15b25SDag-Erling Smørgrav{ 7466986ba33cSDag-Erling Smørgrav case @S|@2 in 7467986ba33cSDag-Erling Smørgrav .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; 7468986ba33cSDag-Erling Smørgrav *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; 746917d15b25SDag-Erling Smørgrav esac 747017d15b25SDag-Erling Smørgrav} # func_stripname_cnf 747117d15b25SDag-Erling Smørgrav])# _LT_FUNC_STRIPNAME_CNF 747217d15b25SDag-Erling Smørgrav 7473986ba33cSDag-Erling Smørgrav 747417d15b25SDag-Erling Smørgrav# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 747517d15b25SDag-Erling Smørgrav# --------------------------------- 747617d15b25SDag-Erling Smørgrav# Figure out "hidden" library dependencies from verbose 747717d15b25SDag-Erling Smørgrav# compiler output when linking a shared library. 747817d15b25SDag-Erling Smørgrav# Parse the compiler output and extract the necessary 747917d15b25SDag-Erling Smørgrav# objects, libraries and library flags. 748017d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 748117d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 748217d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 748317d15b25SDag-Erling Smørgrav# Dependencies to place before and after the object being linked: 748417d15b25SDag-Erling Smørgrav_LT_TAGVAR(predep_objects, $1)= 748517d15b25SDag-Erling Smørgrav_LT_TAGVAR(postdep_objects, $1)= 748617d15b25SDag-Erling Smørgrav_LT_TAGVAR(predeps, $1)= 748717d15b25SDag-Erling Smørgrav_LT_TAGVAR(postdeps, $1)= 748817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler_lib_search_path, $1)= 748917d15b25SDag-Erling Smørgrav 749017d15b25SDag-Erling Smørgravdnl we can't use the lt_simple_compile_test_code here, 749117d15b25SDag-Erling Smørgravdnl because it contains code intended for an executable, 749217d15b25SDag-Erling Smørgravdnl not a library. It's possible we should let each 749317d15b25SDag-Erling Smørgravdnl tag define a new lt_????_link_test_code variable, 749417d15b25SDag-Erling Smørgravdnl but it's only used here... 749517d15b25SDag-Erling Smørgravm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 749617d15b25SDag-Erling Smørgravint a; 749717d15b25SDag-Erling Smørgravvoid foo (void) { a = 0; } 749817d15b25SDag-Erling Smørgrav_LT_EOF 749917d15b25SDag-Erling Smørgrav], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 750017d15b25SDag-Erling Smørgravclass Foo 750117d15b25SDag-Erling Smørgrav{ 750217d15b25SDag-Erling Smørgravpublic: 750317d15b25SDag-Erling Smørgrav Foo (void) { a = 0; } 750417d15b25SDag-Erling Smørgravprivate: 750517d15b25SDag-Erling Smørgrav int a; 750617d15b25SDag-Erling Smørgrav}; 750717d15b25SDag-Erling Smørgrav_LT_EOF 750817d15b25SDag-Erling Smørgrav], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 750917d15b25SDag-Erling Smørgrav subroutine foo 751017d15b25SDag-Erling Smørgrav implicit none 751117d15b25SDag-Erling Smørgrav integer*4 a 751217d15b25SDag-Erling Smørgrav a=0 751317d15b25SDag-Erling Smørgrav return 751417d15b25SDag-Erling Smørgrav end 751517d15b25SDag-Erling Smørgrav_LT_EOF 751617d15b25SDag-Erling Smørgrav], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 751717d15b25SDag-Erling Smørgrav subroutine foo 751817d15b25SDag-Erling Smørgrav implicit none 751917d15b25SDag-Erling Smørgrav integer a 752017d15b25SDag-Erling Smørgrav a=0 752117d15b25SDag-Erling Smørgrav return 752217d15b25SDag-Erling Smørgrav end 752317d15b25SDag-Erling Smørgrav_LT_EOF 752417d15b25SDag-Erling Smørgrav], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 752517d15b25SDag-Erling Smørgravpublic class foo { 752617d15b25SDag-Erling Smørgrav private int a; 752717d15b25SDag-Erling Smørgrav public void bar (void) { 752817d15b25SDag-Erling Smørgrav a = 0; 752917d15b25SDag-Erling Smørgrav } 753017d15b25SDag-Erling Smørgrav}; 753117d15b25SDag-Erling Smørgrav_LT_EOF 753217d15b25SDag-Erling Smørgrav], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 753317d15b25SDag-Erling Smørgravpackage foo 753417d15b25SDag-Erling Smørgravfunc foo() { 753517d15b25SDag-Erling Smørgrav} 753617d15b25SDag-Erling Smørgrav_LT_EOF 753717d15b25SDag-Erling Smørgrav]) 753817d15b25SDag-Erling Smørgrav 753917d15b25SDag-Erling Smørgrav_lt_libdeps_save_CFLAGS=$CFLAGS 754017d15b25SDag-Erling Smørgravcase "$CC $CFLAGS " in #( 754117d15b25SDag-Erling Smørgrav*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 754217d15b25SDag-Erling Smørgrav*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 754317d15b25SDag-Erling Smørgrav*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 754417d15b25SDag-Erling Smørgravesac 754517d15b25SDag-Erling Smørgrav 754617d15b25SDag-Erling Smørgravdnl Parse the compiler output and extract the necessary 754717d15b25SDag-Erling Smørgravdnl objects, libraries and library flags. 754817d15b25SDag-Erling Smørgravif AC_TRY_EVAL(ac_compile); then 754917d15b25SDag-Erling Smørgrav # Parse the compiler output and extract the necessary 755017d15b25SDag-Erling Smørgrav # objects, libraries and library flags. 755117d15b25SDag-Erling Smørgrav 755217d15b25SDag-Erling Smørgrav # Sentinel used to keep track of whether or not we are before 755317d15b25SDag-Erling Smørgrav # the conftest object file. 755417d15b25SDag-Erling Smørgrav pre_test_object_deps_done=no 755517d15b25SDag-Erling Smørgrav 755617d15b25SDag-Erling Smørgrav for p in `eval "$output_verbose_link_cmd"`; do 7557986ba33cSDag-Erling Smørgrav case $prev$p in 755817d15b25SDag-Erling Smørgrav 755917d15b25SDag-Erling Smørgrav -L* | -R* | -l*) 756017d15b25SDag-Erling Smørgrav # Some compilers place space between "-{L,R}" and the path. 756117d15b25SDag-Erling Smørgrav # Remove the space. 7562986ba33cSDag-Erling Smørgrav if test x-L = "$p" || 7563986ba33cSDag-Erling Smørgrav test x-R = "$p"; then 756417d15b25SDag-Erling Smørgrav prev=$p 756517d15b25SDag-Erling Smørgrav continue 756617d15b25SDag-Erling Smørgrav fi 756717d15b25SDag-Erling Smørgrav 756817d15b25SDag-Erling Smørgrav # Expand the sysroot to ease extracting the directories later. 756917d15b25SDag-Erling Smørgrav if test -z "$prev"; then 757017d15b25SDag-Erling Smørgrav case $p in 757117d15b25SDag-Erling Smørgrav -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 757217d15b25SDag-Erling Smørgrav -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 757317d15b25SDag-Erling Smørgrav -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 757417d15b25SDag-Erling Smørgrav esac 757517d15b25SDag-Erling Smørgrav fi 757617d15b25SDag-Erling Smørgrav case $p in 757717d15b25SDag-Erling Smørgrav =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 757817d15b25SDag-Erling Smørgrav esac 7579986ba33cSDag-Erling Smørgrav if test no = "$pre_test_object_deps_done"; then 7580986ba33cSDag-Erling Smørgrav case $prev in 758117d15b25SDag-Erling Smørgrav -L | -R) 758217d15b25SDag-Erling Smørgrav # Internal compiler library paths should come after those 758317d15b25SDag-Erling Smørgrav # provided the user. The postdeps already come after the 758417d15b25SDag-Erling Smørgrav # user supplied libs so there is no need to process them. 758517d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 7586986ba33cSDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p 758717d15b25SDag-Erling Smørgrav else 7588986ba33cSDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" 758917d15b25SDag-Erling Smørgrav fi 759017d15b25SDag-Erling Smørgrav ;; 759117d15b25SDag-Erling Smørgrav # The "-l" case would never come before the object being 759217d15b25SDag-Erling Smørgrav # linked, so don't bother handling this case. 759317d15b25SDag-Erling Smørgrav esac 759417d15b25SDag-Erling Smørgrav else 759517d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(postdeps, $1)"; then 7596986ba33cSDag-Erling Smørgrav _LT_TAGVAR(postdeps, $1)=$prev$p 759717d15b25SDag-Erling Smørgrav else 7598986ba33cSDag-Erling Smørgrav _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" 759917d15b25SDag-Erling Smørgrav fi 760017d15b25SDag-Erling Smørgrav fi 760117d15b25SDag-Erling Smørgrav prev= 760217d15b25SDag-Erling Smørgrav ;; 760317d15b25SDag-Erling Smørgrav 760417d15b25SDag-Erling Smørgrav *.lto.$objext) ;; # Ignore GCC LTO objects 760517d15b25SDag-Erling Smørgrav *.$objext) 760617d15b25SDag-Erling Smørgrav # This assumes that the test object file only shows up 760717d15b25SDag-Erling Smørgrav # once in the compiler output. 760817d15b25SDag-Erling Smørgrav if test "$p" = "conftest.$objext"; then 760917d15b25SDag-Erling Smørgrav pre_test_object_deps_done=yes 761017d15b25SDag-Erling Smørgrav continue 761117d15b25SDag-Erling Smørgrav fi 761217d15b25SDag-Erling Smørgrav 7613986ba33cSDag-Erling Smørgrav if test no = "$pre_test_object_deps_done"; then 761417d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 7615986ba33cSDag-Erling Smørgrav _LT_TAGVAR(predep_objects, $1)=$p 761617d15b25SDag-Erling Smørgrav else 761717d15b25SDag-Erling Smørgrav _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 761817d15b25SDag-Erling Smørgrav fi 761917d15b25SDag-Erling Smørgrav else 762017d15b25SDag-Erling Smørgrav if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 7621986ba33cSDag-Erling Smørgrav _LT_TAGVAR(postdep_objects, $1)=$p 762217d15b25SDag-Erling Smørgrav else 762317d15b25SDag-Erling Smørgrav _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 762417d15b25SDag-Erling Smørgrav fi 762517d15b25SDag-Erling Smørgrav fi 762617d15b25SDag-Erling Smørgrav ;; 762717d15b25SDag-Erling Smørgrav 762817d15b25SDag-Erling Smørgrav *) ;; # Ignore the rest. 762917d15b25SDag-Erling Smørgrav 763017d15b25SDag-Erling Smørgrav esac 763117d15b25SDag-Erling Smørgrav done 763217d15b25SDag-Erling Smørgrav 763317d15b25SDag-Erling Smørgrav # Clean up. 763417d15b25SDag-Erling Smørgrav rm -f a.out a.exe 763517d15b25SDag-Erling Smørgravelse 763617d15b25SDag-Erling Smørgrav echo "libtool.m4: error: problem compiling $1 test program" 763717d15b25SDag-Erling Smørgravfi 763817d15b25SDag-Erling Smørgrav 763917d15b25SDag-Erling Smørgrav$RM -f confest.$objext 764017d15b25SDag-Erling SmørgravCFLAGS=$_lt_libdeps_save_CFLAGS 764117d15b25SDag-Erling Smørgrav 764217d15b25SDag-Erling Smørgrav# PORTME: override above test on systems where it is broken 764317d15b25SDag-Erling Smørgravm4_if([$1], [CXX], 764417d15b25SDag-Erling Smørgrav[case $host_os in 764517d15b25SDag-Erling Smørgravinterix[[3-9]]*) 764617d15b25SDag-Erling Smørgrav # Interix 3.5 installs completely hosed .la files for C++, so rather than 764717d15b25SDag-Erling Smørgrav # hack all around it, let's just trust "g++" to DTRT. 764817d15b25SDag-Erling Smørgrav _LT_TAGVAR(predep_objects,$1)= 764917d15b25SDag-Erling Smørgrav _LT_TAGVAR(postdep_objects,$1)= 765017d15b25SDag-Erling Smørgrav _LT_TAGVAR(postdeps,$1)= 765117d15b25SDag-Erling Smørgrav ;; 765217d15b25SDag-Erling Smørgravesac 765317d15b25SDag-Erling Smørgrav]) 765417d15b25SDag-Erling Smørgrav 765517d15b25SDag-Erling Smørgravcase " $_LT_TAGVAR(postdeps, $1) " in 765617d15b25SDag-Erling Smørgrav*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 765717d15b25SDag-Erling Smørgravesac 765817d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)= 765917d15b25SDag-Erling Smørgravif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 7660986ba33cSDag-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!^ !!'` 766117d15b25SDag-Erling Smørgravfi 766217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 766317d15b25SDag-Erling Smørgrav [The directories searched by this compiler when creating a shared library]) 766417d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [predep_objects], [1], 766517d15b25SDag-Erling Smørgrav [Dependencies to place before and after the objects being linked to 766617d15b25SDag-Erling Smørgrav create a shared library]) 766717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postdep_objects], [1]) 766817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [predeps], [1]) 766917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postdeps], [1]) 767017d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_path], [1], 767117d15b25SDag-Erling Smørgrav [The library search path used internally by the compiler when linking 767217d15b25SDag-Erling Smørgrav a shared library]) 767317d15b25SDag-Erling Smørgrav])# _LT_SYS_HIDDEN_LIBDEPS 767417d15b25SDag-Erling Smørgrav 767517d15b25SDag-Erling Smørgrav 767617d15b25SDag-Erling Smørgrav# _LT_LANG_F77_CONFIG([TAG]) 767717d15b25SDag-Erling Smørgrav# -------------------------- 767817d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran 77 compiler are 767917d15b25SDag-Erling Smørgrav# suitably defined. These variables are subsequently used by _LT_CONFIG 7680986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 768117d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_F77_CONFIG], 768217d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran 77) 7683986ba33cSDag-Erling Smørgravif test -z "$F77" || test no = "$F77"; then 768417d15b25SDag-Erling Smørgrav _lt_disable_F77=yes 768517d15b25SDag-Erling Smørgravfi 768617d15b25SDag-Erling Smørgrav 768717d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 768817d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 768917d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 769017d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 769117d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 769217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 769317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 769417d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 769517d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 769617d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 769717d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 769817d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 769917d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 770017d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 770117d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 770217d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 770317d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 770417d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 770517d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 770617d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 770717d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 770817d15b25SDag-Erling Smørgrav 770917d15b25SDag-Erling Smørgrav# Source file extension for f77 test sources. 771017d15b25SDag-Erling Smørgravac_ext=f 771117d15b25SDag-Erling Smørgrav 771217d15b25SDag-Erling Smørgrav# Object file extension for compiled f77 test sources. 771317d15b25SDag-Erling Smørgravobjext=o 771417d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 771517d15b25SDag-Erling Smørgrav 771617d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 771717d15b25SDag-Erling Smørgrav# the F77 compiler isn't working. Some variables (like enable_shared) 771817d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 771917d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 7720986ba33cSDag-Erling Smørgravif test yes != "$_lt_disable_F77"; then 772117d15b25SDag-Erling Smørgrav # Code to be used in simple compile tests 772217d15b25SDag-Erling Smørgrav lt_simple_compile_test_code="\ 772317d15b25SDag-Erling Smørgrav subroutine t 772417d15b25SDag-Erling Smørgrav return 772517d15b25SDag-Erling Smørgrav end 772617d15b25SDag-Erling Smørgrav" 772717d15b25SDag-Erling Smørgrav 772817d15b25SDag-Erling Smørgrav # Code to be used in simple link tests 772917d15b25SDag-Erling Smørgrav lt_simple_link_test_code="\ 773017d15b25SDag-Erling Smørgrav program t 773117d15b25SDag-Erling Smørgrav end 773217d15b25SDag-Erling Smørgrav" 773317d15b25SDag-Erling Smørgrav 773417d15b25SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 773517d15b25SDag-Erling Smørgrav _LT_TAG_COMPILER 773617d15b25SDag-Erling Smørgrav 773717d15b25SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 773817d15b25SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 773917d15b25SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 774017d15b25SDag-Erling Smørgrav 774117d15b25SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 7742986ba33cSDag-Erling Smørgrav lt_save_CC=$CC 774317d15b25SDag-Erling Smørgrav lt_save_GCC=$GCC 774417d15b25SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 774517d15b25SDag-Erling Smørgrav CC=${F77-"f77"} 774617d15b25SDag-Erling Smørgrav CFLAGS=$FFLAGS 774717d15b25SDag-Erling Smørgrav compiler=$CC 774817d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 774917d15b25SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 775017d15b25SDag-Erling Smørgrav GCC=$G77 775117d15b25SDag-Erling Smørgrav if test -n "$compiler"; then 775217d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 775317d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 775417d15b25SDag-Erling Smørgrav 775517d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 7756986ba33cSDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 775717d15b25SDag-Erling Smørgrav 775817d15b25SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 775917d15b25SDag-Erling Smørgrav # are all built from PIC. 776017d15b25SDag-Erling Smørgrav case $host_os in 776117d15b25SDag-Erling Smørgrav aix3*) 7762986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 776317d15b25SDag-Erling Smørgrav if test -n "$RANLIB"; then 776417d15b25SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 776517d15b25SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 776617d15b25SDag-Erling Smørgrav fi 776717d15b25SDag-Erling Smørgrav ;; 776817d15b25SDag-Erling Smørgrav aix[[4-9]]*) 7769986ba33cSDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 7770986ba33cSDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 7771986ba33cSDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 7772986ba33cSDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 7773986ba33cSDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 7774986ba33cSDag-Erling Smørgrav esac 777517d15b25SDag-Erling Smørgrav fi 777617d15b25SDag-Erling Smørgrav ;; 777717d15b25SDag-Erling Smørgrav esac 777817d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 777917d15b25SDag-Erling Smørgrav 778017d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 778117d15b25SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 7782986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 778317d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 778417d15b25SDag-Erling Smørgrav 7785986ba33cSDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$G77 7786986ba33cSDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 778717d15b25SDag-Erling Smørgrav 778817d15b25SDag-Erling Smørgrav ## CAVEAT EMPTOR: 778917d15b25SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 779017d15b25SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 779117d15b25SDag-Erling Smørgrav ## what you are doing... 779217d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 779317d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 779417d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 779517d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 779617d15b25SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 779717d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 779817d15b25SDag-Erling Smørgrav 779917d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 780017d15b25SDag-Erling Smørgrav fi # test -n "$compiler" 780117d15b25SDag-Erling Smørgrav 780217d15b25SDag-Erling Smørgrav GCC=$lt_save_GCC 7803986ba33cSDag-Erling Smørgrav CC=$lt_save_CC 7804986ba33cSDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 7805986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_disable_F77" 780617d15b25SDag-Erling Smørgrav 780717d15b25SDag-Erling SmørgravAC_LANG_POP 780817d15b25SDag-Erling Smørgrav])# _LT_LANG_F77_CONFIG 780917d15b25SDag-Erling Smørgrav 781017d15b25SDag-Erling Smørgrav 781117d15b25SDag-Erling Smørgrav# _LT_LANG_FC_CONFIG([TAG]) 781217d15b25SDag-Erling Smørgrav# ------------------------- 781317d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran compiler are 781417d15b25SDag-Erling Smørgrav# suitably defined. These variables are subsequently used by _LT_CONFIG 7815986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 781617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_FC_CONFIG], 781717d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran) 781817d15b25SDag-Erling Smørgrav 7819986ba33cSDag-Erling Smørgravif test -z "$FC" || test no = "$FC"; then 782017d15b25SDag-Erling Smørgrav _lt_disable_FC=yes 782117d15b25SDag-Erling Smørgravfi 782217d15b25SDag-Erling Smørgrav 782317d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 782417d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)= 782517d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no 782617d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)= 782717d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)= 782817d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no 782917d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no 783017d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 783117d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)= 783217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no 783317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no 783417d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no 783517d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)= 783617d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)= 783717d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown 783817d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 783917d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 784017d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 784117d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)= 784217d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)= 784317d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 784417d15b25SDag-Erling Smørgrav 784517d15b25SDag-Erling Smørgrav# Source file extension for fc test sources. 784617d15b25SDag-Erling Smørgravac_ext=${ac_fc_srcext-f} 784717d15b25SDag-Erling Smørgrav 784817d15b25SDag-Erling Smørgrav# Object file extension for compiled fc test sources. 784917d15b25SDag-Erling Smørgravobjext=o 785017d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 785117d15b25SDag-Erling Smørgrav 785217d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that 785317d15b25SDag-Erling Smørgrav# the FC compiler isn't working. Some variables (like enable_shared) 785417d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform, 785517d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler. 7856986ba33cSDag-Erling Smørgravif test yes != "$_lt_disable_FC"; then 785717d15b25SDag-Erling Smørgrav # Code to be used in simple compile tests 785817d15b25SDag-Erling Smørgrav lt_simple_compile_test_code="\ 785917d15b25SDag-Erling Smørgrav subroutine t 786017d15b25SDag-Erling Smørgrav return 786117d15b25SDag-Erling Smørgrav end 786217d15b25SDag-Erling Smørgrav" 786317d15b25SDag-Erling Smørgrav 786417d15b25SDag-Erling Smørgrav # Code to be used in simple link tests 786517d15b25SDag-Erling Smørgrav lt_simple_link_test_code="\ 786617d15b25SDag-Erling Smørgrav program t 786717d15b25SDag-Erling Smørgrav end 786817d15b25SDag-Erling Smørgrav" 786917d15b25SDag-Erling Smørgrav 787017d15b25SDag-Erling Smørgrav # ltmain only uses $CC for tagged configurations so make sure $CC is set. 787117d15b25SDag-Erling Smørgrav _LT_TAG_COMPILER 787217d15b25SDag-Erling Smørgrav 787317d15b25SDag-Erling Smørgrav # save warnings/boilerplate of simple test code 787417d15b25SDag-Erling Smørgrav _LT_COMPILER_BOILERPLATE 787517d15b25SDag-Erling Smørgrav _LT_LINKER_BOILERPLATE 787617d15b25SDag-Erling Smørgrav 787717d15b25SDag-Erling Smørgrav # Allow CC to be a program name with arguments. 7878986ba33cSDag-Erling Smørgrav lt_save_CC=$CC 787917d15b25SDag-Erling Smørgrav lt_save_GCC=$GCC 788017d15b25SDag-Erling Smørgrav lt_save_CFLAGS=$CFLAGS 788117d15b25SDag-Erling Smørgrav CC=${FC-"f95"} 788217d15b25SDag-Erling Smørgrav CFLAGS=$FCFLAGS 788317d15b25SDag-Erling Smørgrav compiler=$CC 788417d15b25SDag-Erling Smørgrav GCC=$ac_cv_fc_compiler_gnu 788517d15b25SDag-Erling Smørgrav 788617d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler, $1)=$CC 788717d15b25SDag-Erling Smørgrav _LT_CC_BASENAME([$compiler]) 788817d15b25SDag-Erling Smørgrav 788917d15b25SDag-Erling Smørgrav if test -n "$compiler"; then 789017d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([if libtool supports shared libraries]) 789117d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$can_build_shared]) 789217d15b25SDag-Erling Smørgrav 789317d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build shared libraries]) 7894986ba33cSDag-Erling Smørgrav test no = "$can_build_shared" && enable_shared=no 789517d15b25SDag-Erling Smørgrav 789617d15b25SDag-Erling Smørgrav # On AIX, shared libraries and static libraries use the same namespace, and 789717d15b25SDag-Erling Smørgrav # are all built from PIC. 789817d15b25SDag-Erling Smørgrav case $host_os in 789917d15b25SDag-Erling Smørgrav aix3*) 7900986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" && enable_static=no 790117d15b25SDag-Erling Smørgrav if test -n "$RANLIB"; then 790217d15b25SDag-Erling Smørgrav archive_cmds="$archive_cmds~\$RANLIB \$lib" 790317d15b25SDag-Erling Smørgrav postinstall_cmds='$RANLIB $lib' 790417d15b25SDag-Erling Smørgrav fi 790517d15b25SDag-Erling Smørgrav ;; 790617d15b25SDag-Erling Smørgrav aix[[4-9]]*) 7907986ba33cSDag-Erling Smørgrav if test ia64 != "$host_cpu"; then 7908986ba33cSDag-Erling Smørgrav case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 7909986ba33cSDag-Erling Smørgrav yes,aix,yes) ;; # shared object as lib.so file only 7910986ba33cSDag-Erling Smørgrav yes,svr4,*) ;; # shared object as lib.so archive member only 7911986ba33cSDag-Erling Smørgrav yes,*) enable_static=no ;; # shared object in lib.a archive as well 7912986ba33cSDag-Erling Smørgrav esac 791317d15b25SDag-Erling Smørgrav fi 791417d15b25SDag-Erling Smørgrav ;; 791517d15b25SDag-Erling Smørgrav esac 791617d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_shared]) 791717d15b25SDag-Erling Smørgrav 791817d15b25SDag-Erling Smørgrav AC_MSG_CHECKING([whether to build static libraries]) 791917d15b25SDag-Erling Smørgrav # Make sure either enable_shared or enable_static is yes. 7920986ba33cSDag-Erling Smørgrav test yes = "$enable_shared" || enable_static=yes 792117d15b25SDag-Erling Smørgrav AC_MSG_RESULT([$enable_static]) 792217d15b25SDag-Erling Smørgrav 7923986ba33cSDag-Erling Smørgrav _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu 7924986ba33cSDag-Erling Smørgrav _LT_TAGVAR(LD, $1)=$LD 792517d15b25SDag-Erling Smørgrav 792617d15b25SDag-Erling Smørgrav ## CAVEAT EMPTOR: 792717d15b25SDag-Erling Smørgrav ## There is no encapsulation within the following macros, do not change 792817d15b25SDag-Erling Smørgrav ## the running order or otherwise move them around unless you know exactly 792917d15b25SDag-Erling Smørgrav ## what you are doing... 793017d15b25SDag-Erling Smørgrav _LT_SYS_HIDDEN_LIBDEPS($1) 793117d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 793217d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 793317d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 793417d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 793517d15b25SDag-Erling Smørgrav _LT_SYS_DYNAMIC_LINKER($1) 793617d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 793717d15b25SDag-Erling Smørgrav 793817d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 793917d15b25SDag-Erling Smørgrav fi # test -n "$compiler" 794017d15b25SDag-Erling Smørgrav 794117d15b25SDag-Erling Smørgrav GCC=$lt_save_GCC 794217d15b25SDag-Erling Smørgrav CC=$lt_save_CC 794317d15b25SDag-Erling Smørgrav CFLAGS=$lt_save_CFLAGS 7944986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_disable_FC" 794517d15b25SDag-Erling Smørgrav 794617d15b25SDag-Erling SmørgravAC_LANG_POP 794717d15b25SDag-Erling Smørgrav])# _LT_LANG_FC_CONFIG 794817d15b25SDag-Erling Smørgrav 794917d15b25SDag-Erling Smørgrav 795017d15b25SDag-Erling Smørgrav# _LT_LANG_GCJ_CONFIG([TAG]) 795117d15b25SDag-Erling Smørgrav# -------------------------- 795217d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Java Compiler compiler 795317d15b25SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 7954986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 795517d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_GCJ_CONFIG], 795617d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GCJ])dnl 795717d15b25SDag-Erling SmørgravAC_LANG_SAVE 795817d15b25SDag-Erling Smørgrav 795917d15b25SDag-Erling Smørgrav# Source file extension for Java test sources. 796017d15b25SDag-Erling Smørgravac_ext=java 796117d15b25SDag-Erling Smørgrav 796217d15b25SDag-Erling Smørgrav# Object file extension for compiled Java test sources. 796317d15b25SDag-Erling Smørgravobjext=o 796417d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 796517d15b25SDag-Erling Smørgrav 796617d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests 796717d15b25SDag-Erling Smørgravlt_simple_compile_test_code="class foo {}" 796817d15b25SDag-Erling Smørgrav 796917d15b25SDag-Erling Smørgrav# Code to be used in simple link tests 797017d15b25SDag-Erling Smørgravlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 797117d15b25SDag-Erling Smørgrav 797217d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 797317d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER 797417d15b25SDag-Erling Smørgrav 797517d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 797617d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 797717d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 797817d15b25SDag-Erling Smørgrav 797917d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 798017d15b25SDag-Erling Smørgravlt_save_CC=$CC 798117d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 798217d15b25SDag-Erling Smørgravlt_save_GCC=$GCC 798317d15b25SDag-Erling SmørgravGCC=yes 798417d15b25SDag-Erling SmørgravCC=${GCJ-"gcj"} 798517d15b25SDag-Erling SmørgravCFLAGS=$GCJFLAGS 798617d15b25SDag-Erling Smørgravcompiler=$CC 798717d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 7988986ba33cSDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD 798917d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 799017d15b25SDag-Erling Smørgrav 799117d15b25SDag-Erling Smørgrav# GCJ did not exist at the time GCC didn't implicitly link libc in. 799217d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 799317d15b25SDag-Erling Smørgrav 799417d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 799517d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 799617d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 799717d15b25SDag-Erling Smørgrav 799817d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR: 799917d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change 800017d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly 800117d15b25SDag-Erling Smørgrav## what you are doing... 800217d15b25SDag-Erling Smørgravif test -n "$compiler"; then 800317d15b25SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 800417d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 800517d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 800617d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 800717d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 800817d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 800917d15b25SDag-Erling Smørgrav 801017d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 801117d15b25SDag-Erling Smørgravfi 801217d15b25SDag-Erling Smørgrav 801317d15b25SDag-Erling SmørgravAC_LANG_RESTORE 801417d15b25SDag-Erling Smørgrav 801517d15b25SDag-Erling SmørgravGCC=$lt_save_GCC 801617d15b25SDag-Erling SmørgravCC=$lt_save_CC 801717d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 801817d15b25SDag-Erling Smørgrav])# _LT_LANG_GCJ_CONFIG 801917d15b25SDag-Erling Smørgrav 802017d15b25SDag-Erling Smørgrav 802117d15b25SDag-Erling Smørgrav# _LT_LANG_GO_CONFIG([TAG]) 802217d15b25SDag-Erling Smørgrav# -------------------------- 802317d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Go compiler 802417d15b25SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 8025986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 802617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_GO_CONFIG], 802717d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GO])dnl 802817d15b25SDag-Erling SmørgravAC_LANG_SAVE 802917d15b25SDag-Erling Smørgrav 803017d15b25SDag-Erling Smørgrav# Source file extension for Go test sources. 803117d15b25SDag-Erling Smørgravac_ext=go 803217d15b25SDag-Erling Smørgrav 803317d15b25SDag-Erling Smørgrav# Object file extension for compiled Go test sources. 803417d15b25SDag-Erling Smørgravobjext=o 803517d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 803617d15b25SDag-Erling Smørgrav 803717d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests 803817d15b25SDag-Erling Smørgravlt_simple_compile_test_code="package main; func main() { }" 803917d15b25SDag-Erling Smørgrav 804017d15b25SDag-Erling Smørgrav# Code to be used in simple link tests 804117d15b25SDag-Erling Smørgravlt_simple_link_test_code='package main; func main() { }' 804217d15b25SDag-Erling Smørgrav 804317d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 804417d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER 804517d15b25SDag-Erling Smørgrav 804617d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 804717d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 804817d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 804917d15b25SDag-Erling Smørgrav 805017d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 805117d15b25SDag-Erling Smørgravlt_save_CC=$CC 805217d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 805317d15b25SDag-Erling Smørgravlt_save_GCC=$GCC 805417d15b25SDag-Erling SmørgravGCC=yes 805517d15b25SDag-Erling SmørgravCC=${GOC-"gccgo"} 805617d15b25SDag-Erling SmørgravCFLAGS=$GOFLAGS 805717d15b25SDag-Erling Smørgravcompiler=$CC 805817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 8059986ba33cSDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD 806017d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 806117d15b25SDag-Erling Smørgrav 806217d15b25SDag-Erling Smørgrav# Go did not exist at the time GCC didn't implicitly link libc in. 806317d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no 806417d15b25SDag-Erling Smørgrav 806517d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 806617d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag 806717d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 806817d15b25SDag-Erling Smørgrav 806917d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR: 807017d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change 807117d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly 807217d15b25SDag-Erling Smørgrav## what you are doing... 807317d15b25SDag-Erling Smørgravif test -n "$compiler"; then 807417d15b25SDag-Erling Smørgrav _LT_COMPILER_NO_RTTI($1) 807517d15b25SDag-Erling Smørgrav _LT_COMPILER_PIC($1) 807617d15b25SDag-Erling Smørgrav _LT_COMPILER_C_O($1) 807717d15b25SDag-Erling Smørgrav _LT_COMPILER_FILE_LOCKS($1) 807817d15b25SDag-Erling Smørgrav _LT_LINKER_SHLIBS($1) 807917d15b25SDag-Erling Smørgrav _LT_LINKER_HARDCODE_LIBPATH($1) 808017d15b25SDag-Erling Smørgrav 808117d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 808217d15b25SDag-Erling Smørgravfi 808317d15b25SDag-Erling Smørgrav 808417d15b25SDag-Erling SmørgravAC_LANG_RESTORE 808517d15b25SDag-Erling Smørgrav 808617d15b25SDag-Erling SmørgravGCC=$lt_save_GCC 808717d15b25SDag-Erling SmørgravCC=$lt_save_CC 808817d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 808917d15b25SDag-Erling Smørgrav])# _LT_LANG_GO_CONFIG 809017d15b25SDag-Erling Smørgrav 809117d15b25SDag-Erling Smørgrav 809217d15b25SDag-Erling Smørgrav# _LT_LANG_RC_CONFIG([TAG]) 809317d15b25SDag-Erling Smørgrav# ------------------------- 809417d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the Windows resource compiler 809517d15b25SDag-Erling Smørgrav# are suitably defined. These variables are subsequently used by _LT_CONFIG 8096986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'. 809717d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_RC_CONFIG], 809817d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_RC])dnl 809917d15b25SDag-Erling SmørgravAC_LANG_SAVE 810017d15b25SDag-Erling Smørgrav 810117d15b25SDag-Erling Smørgrav# Source file extension for RC test sources. 810217d15b25SDag-Erling Smørgravac_ext=rc 810317d15b25SDag-Erling Smørgrav 810417d15b25SDag-Erling Smørgrav# Object file extension for compiled RC test sources. 810517d15b25SDag-Erling Smørgravobjext=o 810617d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext 810717d15b25SDag-Erling Smørgrav 810817d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests 810917d15b25SDag-Erling Smørgravlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 811017d15b25SDag-Erling Smørgrav 811117d15b25SDag-Erling Smørgrav# Code to be used in simple link tests 8112986ba33cSDag-Erling Smørgravlt_simple_link_test_code=$lt_simple_compile_test_code 811317d15b25SDag-Erling Smørgrav 811417d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set. 811517d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER 811617d15b25SDag-Erling Smørgrav 811717d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code 811817d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE 811917d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE 812017d15b25SDag-Erling Smørgrav 812117d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments. 8122986ba33cSDag-Erling Smørgravlt_save_CC=$CC 812317d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS 812417d15b25SDag-Erling Smørgravlt_save_GCC=$GCC 812517d15b25SDag-Erling SmørgravGCC= 812617d15b25SDag-Erling SmørgravCC=${RC-"windres"} 812717d15b25SDag-Erling SmørgravCFLAGS= 812817d15b25SDag-Erling Smørgravcompiler=$CC 812917d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC 813017d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler]) 813117d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 813217d15b25SDag-Erling Smørgrav 813317d15b25SDag-Erling Smørgravif test -n "$compiler"; then 813417d15b25SDag-Erling Smørgrav : 813517d15b25SDag-Erling Smørgrav _LT_CONFIG($1) 813617d15b25SDag-Erling Smørgravfi 813717d15b25SDag-Erling Smørgrav 813817d15b25SDag-Erling SmørgravGCC=$lt_save_GCC 813917d15b25SDag-Erling SmørgravAC_LANG_RESTORE 814017d15b25SDag-Erling SmørgravCC=$lt_save_CC 814117d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS 814217d15b25SDag-Erling Smørgrav])# _LT_LANG_RC_CONFIG 814317d15b25SDag-Erling Smørgrav 814417d15b25SDag-Erling Smørgrav 814517d15b25SDag-Erling Smørgrav# LT_PROG_GCJ 814617d15b25SDag-Erling Smørgrav# ----------- 814717d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_GCJ], 814817d15b25SDag-Erling Smørgrav[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 814917d15b25SDag-Erling Smørgrav [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 815017d15b25SDag-Erling Smørgrav [AC_CHECK_TOOL(GCJ, gcj,) 8151986ba33cSDag-Erling Smørgrav test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" 815217d15b25SDag-Erling Smørgrav AC_SUBST(GCJFLAGS)])])[]dnl 815317d15b25SDag-Erling Smørgrav]) 815417d15b25SDag-Erling Smørgrav 815517d15b25SDag-Erling Smørgrav# Old name: 815617d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 815717d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 815817d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 815917d15b25SDag-Erling Smørgrav 816017d15b25SDag-Erling Smørgrav 816117d15b25SDag-Erling Smørgrav# LT_PROG_GO 816217d15b25SDag-Erling Smørgrav# ---------- 816317d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_GO], 816417d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(GOC, gccgo,) 816517d15b25SDag-Erling Smørgrav]) 816617d15b25SDag-Erling Smørgrav 816717d15b25SDag-Erling Smørgrav 816817d15b25SDag-Erling Smørgrav# LT_PROG_RC 816917d15b25SDag-Erling Smørgrav# ---------- 817017d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_RC], 817117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(RC, windres,) 817217d15b25SDag-Erling Smørgrav]) 817317d15b25SDag-Erling Smørgrav 817417d15b25SDag-Erling Smørgrav# Old name: 817517d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 817617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 817717d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_RC], []) 817817d15b25SDag-Erling Smørgrav 817917d15b25SDag-Erling Smørgrav 818017d15b25SDag-Erling Smørgrav# _LT_DECL_EGREP 818117d15b25SDag-Erling Smørgrav# -------------- 818217d15b25SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best grep 818317d15b25SDag-Erling Smørgrav# available, choose the one first in the user's PATH. 818417d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_EGREP], 818517d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_EGREP])dnl 818617d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_FGREP])dnl 818717d15b25SDag-Erling Smørgravtest -z "$GREP" && GREP=grep 818817d15b25SDag-Erling Smørgrav_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 818917d15b25SDag-Erling Smørgrav_LT_DECL([], [EGREP], [1], [An ERE matcher]) 819017d15b25SDag-Erling Smørgrav_LT_DECL([], [FGREP], [1], [A literal string matcher]) 819117d15b25SDag-Erling Smørgravdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 819217d15b25SDag-Erling SmørgravAC_SUBST([GREP]) 819317d15b25SDag-Erling Smørgrav]) 819417d15b25SDag-Erling Smørgrav 819517d15b25SDag-Erling Smørgrav 819617d15b25SDag-Erling Smørgrav# _LT_DECL_OBJDUMP 819717d15b25SDag-Erling Smørgrav# -------------- 819817d15b25SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best objdump 819917d15b25SDag-Erling Smørgrav# available, choose the one first in the user's PATH. 820017d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_OBJDUMP], 820117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(OBJDUMP, objdump, false) 820217d15b25SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump 820317d15b25SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 820417d15b25SDag-Erling SmørgravAC_SUBST([OBJDUMP]) 820517d15b25SDag-Erling Smørgrav]) 820617d15b25SDag-Erling Smørgrav 820717d15b25SDag-Erling Smørgrav# _LT_DECL_DLLTOOL 820817d15b25SDag-Erling Smørgrav# ---------------- 820917d15b25SDag-Erling Smørgrav# Ensure DLLTOOL variable is set. 821017d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_DLLTOOL], 821117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(DLLTOOL, dlltool, false) 821217d15b25SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool 821317d15b25SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 821417d15b25SDag-Erling SmørgravAC_SUBST([DLLTOOL]) 821517d15b25SDag-Erling Smørgrav]) 821617d15b25SDag-Erling Smørgrav 821717d15b25SDag-Erling Smørgrav# _LT_DECL_SED 821817d15b25SDag-Erling Smørgrav# ------------ 821917d15b25SDag-Erling Smørgrav# Check for a fully-functional sed program, that truncates 822017d15b25SDag-Erling Smørgrav# as few characters as possible. Prefer GNU sed if found. 822117d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_SED], 822217d15b25SDag-Erling Smørgrav[AC_PROG_SED 822317d15b25SDag-Erling Smørgravtest -z "$SED" && SED=sed 822417d15b25SDag-Erling SmørgravXsed="$SED -e 1s/^X//" 822517d15b25SDag-Erling Smørgrav_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 822617d15b25SDag-Erling Smørgrav_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 822717d15b25SDag-Erling Smørgrav [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 822817d15b25SDag-Erling Smørgrav])# _LT_DECL_SED 822917d15b25SDag-Erling Smørgrav 823017d15b25SDag-Erling Smørgravm4_ifndef([AC_PROG_SED], [ 823117d15b25SDag-Erling Smørgrav############################################################ 823217d15b25SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into # 823317d15b25SDag-Erling Smørgrav# GNU Autoconf as AC_PROG_SED. When it is available in # 823417d15b25SDag-Erling Smørgrav# a released version of Autoconf we should remove this # 823517d15b25SDag-Erling Smørgrav# macro and use it instead. # 823617d15b25SDag-Erling Smørgrav############################################################ 823717d15b25SDag-Erling Smørgrav 823817d15b25SDag-Erling Smørgravm4_defun([AC_PROG_SED], 823917d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([for a sed that does not truncate output]) 824017d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_SED, 824117d15b25SDag-Erling Smørgrav[# Loop through the user's path and test for sed and gsed. 824217d15b25SDag-Erling Smørgrav# Then use that list of sed's as ones to test for truncation. 824317d15b25SDag-Erling Smørgravas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 824417d15b25SDag-Erling Smørgravfor as_dir in $PATH 824517d15b25SDag-Erling Smørgravdo 824617d15b25SDag-Erling Smørgrav IFS=$as_save_IFS 824717d15b25SDag-Erling Smørgrav test -z "$as_dir" && as_dir=. 824817d15b25SDag-Erling Smørgrav for lt_ac_prog in sed gsed; do 824917d15b25SDag-Erling Smørgrav for ac_exec_ext in '' $ac_executable_extensions; do 825017d15b25SDag-Erling Smørgrav if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 825117d15b25SDag-Erling Smørgrav lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 825217d15b25SDag-Erling Smørgrav fi 825317d15b25SDag-Erling Smørgrav done 825417d15b25SDag-Erling Smørgrav done 825517d15b25SDag-Erling Smørgravdone 825617d15b25SDag-Erling SmørgravIFS=$as_save_IFS 825717d15b25SDag-Erling Smørgravlt_ac_max=0 825817d15b25SDag-Erling Smørgravlt_ac_count=0 825917d15b25SDag-Erling Smørgrav# Add /usr/xpg4/bin/sed as it is typically found on Solaris 826017d15b25SDag-Erling Smørgrav# along with /bin/sed that truncates output. 826117d15b25SDag-Erling Smørgravfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 8262986ba33cSDag-Erling Smørgrav test ! -f "$lt_ac_sed" && continue 826317d15b25SDag-Erling Smørgrav cat /dev/null > conftest.in 826417d15b25SDag-Erling Smørgrav lt_ac_count=0 826517d15b25SDag-Erling Smørgrav echo $ECHO_N "0123456789$ECHO_C" >conftest.in 826617d15b25SDag-Erling Smørgrav # Check for GNU sed and select it if it is found. 826717d15b25SDag-Erling Smørgrav if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 826817d15b25SDag-Erling Smørgrav lt_cv_path_SED=$lt_ac_sed 826917d15b25SDag-Erling Smørgrav break 827017d15b25SDag-Erling Smørgrav fi 827117d15b25SDag-Erling Smørgrav while true; do 827217d15b25SDag-Erling Smørgrav cat conftest.in conftest.in >conftest.tmp 827317d15b25SDag-Erling Smørgrav mv conftest.tmp conftest.in 827417d15b25SDag-Erling Smørgrav cp conftest.in conftest.nl 827517d15b25SDag-Erling Smørgrav echo >>conftest.nl 827617d15b25SDag-Erling Smørgrav $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 827717d15b25SDag-Erling Smørgrav cmp -s conftest.out conftest.nl || break 827817d15b25SDag-Erling Smørgrav # 10000 chars as input seems more than enough 8279986ba33cSDag-Erling Smørgrav test 10 -lt "$lt_ac_count" && break 828017d15b25SDag-Erling Smørgrav lt_ac_count=`expr $lt_ac_count + 1` 8281986ba33cSDag-Erling Smørgrav if test "$lt_ac_count" -gt "$lt_ac_max"; then 828217d15b25SDag-Erling Smørgrav lt_ac_max=$lt_ac_count 828317d15b25SDag-Erling Smørgrav lt_cv_path_SED=$lt_ac_sed 828417d15b25SDag-Erling Smørgrav fi 828517d15b25SDag-Erling Smørgrav done 828617d15b25SDag-Erling Smørgravdone 828717d15b25SDag-Erling Smørgrav]) 828817d15b25SDag-Erling SmørgravSED=$lt_cv_path_SED 828917d15b25SDag-Erling SmørgravAC_SUBST([SED]) 829017d15b25SDag-Erling SmørgravAC_MSG_RESULT([$SED]) 829117d15b25SDag-Erling Smørgrav])#AC_PROG_SED 829217d15b25SDag-Erling Smørgrav])#m4_ifndef 829317d15b25SDag-Erling Smørgrav 829417d15b25SDag-Erling Smørgrav# Old name: 829517d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 829617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility: 829717d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_SED], []) 829817d15b25SDag-Erling Smørgrav 829917d15b25SDag-Erling Smørgrav 830017d15b25SDag-Erling Smørgrav# _LT_CHECK_SHELL_FEATURES 830117d15b25SDag-Erling Smørgrav# ------------------------ 830217d15b25SDag-Erling Smørgrav# Find out whether the shell is Bourne or XSI compatible, 830317d15b25SDag-Erling Smørgrav# or has some other useful features. 830417d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_SHELL_FEATURES], 8305986ba33cSDag-Erling Smørgrav[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 830617d15b25SDag-Erling Smørgrav lt_unset=unset 830717d15b25SDag-Erling Smørgravelse 830817d15b25SDag-Erling Smørgrav lt_unset=false 830917d15b25SDag-Erling Smørgravfi 831017d15b25SDag-Erling Smørgrav_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 831117d15b25SDag-Erling Smørgrav 831217d15b25SDag-Erling Smørgrav# test EBCDIC or ASCII 831317d15b25SDag-Erling Smørgravcase `echo X|tr X '\101'` in 831417d15b25SDag-Erling Smørgrav A) # ASCII based system 831517d15b25SDag-Erling Smørgrav # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 831617d15b25SDag-Erling Smørgrav lt_SP2NL='tr \040 \012' 831717d15b25SDag-Erling Smørgrav lt_NL2SP='tr \015\012 \040\040' 831817d15b25SDag-Erling Smørgrav ;; 831917d15b25SDag-Erling Smørgrav *) # EBCDIC based system 832017d15b25SDag-Erling Smørgrav lt_SP2NL='tr \100 \n' 832117d15b25SDag-Erling Smørgrav lt_NL2SP='tr \r\n \100\100' 832217d15b25SDag-Erling Smørgrav ;; 832317d15b25SDag-Erling Smørgravesac 832417d15b25SDag-Erling Smørgrav_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 832517d15b25SDag-Erling Smørgrav_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 832617d15b25SDag-Erling Smørgrav])# _LT_CHECK_SHELL_FEATURES 832717d15b25SDag-Erling Smørgrav 832817d15b25SDag-Erling Smørgrav 832917d15b25SDag-Erling Smørgrav# _LT_PATH_CONVERSION_FUNCTIONS 833017d15b25SDag-Erling Smørgrav# ----------------------------- 8331986ba33cSDag-Erling Smørgrav# Determine what file name conversion functions should be used by 833217d15b25SDag-Erling Smørgrav# func_to_host_file (and, implicitly, by func_to_host_path). These are needed 833317d15b25SDag-Erling Smørgrav# for certain cross-compile configurations and native mingw. 833417d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 833517d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl 833617d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl 833717d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to $host format]) 833817d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_host_file_cmd, 833917d15b25SDag-Erling Smørgrav[case $host in 834017d15b25SDag-Erling Smørgrav *-*-mingw* ) 834117d15b25SDag-Erling Smørgrav case $build in 834217d15b25SDag-Erling Smørgrav *-*-mingw* ) # actually msys 834317d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 834417d15b25SDag-Erling Smørgrav ;; 834517d15b25SDag-Erling Smørgrav *-*-cygwin* ) 834617d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 834717d15b25SDag-Erling Smørgrav ;; 834817d15b25SDag-Erling Smørgrav * ) # otherwise, assume *nix 834917d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 835017d15b25SDag-Erling Smørgrav ;; 835117d15b25SDag-Erling Smørgrav esac 835217d15b25SDag-Erling Smørgrav ;; 835317d15b25SDag-Erling Smørgrav *-*-cygwin* ) 835417d15b25SDag-Erling Smørgrav case $build in 835517d15b25SDag-Erling Smørgrav *-*-mingw* ) # actually msys 835617d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 835717d15b25SDag-Erling Smørgrav ;; 835817d15b25SDag-Erling Smørgrav *-*-cygwin* ) 835917d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_noop 836017d15b25SDag-Erling Smørgrav ;; 836117d15b25SDag-Erling Smørgrav * ) # otherwise, assume *nix 836217d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 836317d15b25SDag-Erling Smørgrav ;; 836417d15b25SDag-Erling Smørgrav esac 836517d15b25SDag-Erling Smørgrav ;; 836617d15b25SDag-Erling Smørgrav * ) # unhandled hosts (and "normal" native builds) 836717d15b25SDag-Erling Smørgrav lt_cv_to_host_file_cmd=func_convert_file_noop 836817d15b25SDag-Erling Smørgrav ;; 836917d15b25SDag-Erling Smørgravesac 837017d15b25SDag-Erling Smørgrav]) 837117d15b25SDag-Erling Smørgravto_host_file_cmd=$lt_cv_to_host_file_cmd 837217d15b25SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 837317d15b25SDag-Erling Smørgrav_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 837417d15b25SDag-Erling Smørgrav [0], [convert $build file names to $host format])dnl 837517d15b25SDag-Erling Smørgrav 837617d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to toolchain format]) 837717d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_tool_file_cmd, 837817d15b25SDag-Erling Smørgrav[#assume ordinary cross tools, or native build. 837917d15b25SDag-Erling Smørgravlt_cv_to_tool_file_cmd=func_convert_file_noop 838017d15b25SDag-Erling Smørgravcase $host in 838117d15b25SDag-Erling Smørgrav *-*-mingw* ) 838217d15b25SDag-Erling Smørgrav case $build in 838317d15b25SDag-Erling Smørgrav *-*-mingw* ) # actually msys 838417d15b25SDag-Erling Smørgrav lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 838517d15b25SDag-Erling Smørgrav ;; 838617d15b25SDag-Erling Smørgrav esac 838717d15b25SDag-Erling Smørgrav ;; 838817d15b25SDag-Erling Smørgravesac 838917d15b25SDag-Erling Smørgrav]) 839017d15b25SDag-Erling Smørgravto_tool_file_cmd=$lt_cv_to_tool_file_cmd 839117d15b25SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 839217d15b25SDag-Erling Smørgrav_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 839317d15b25SDag-Erling Smørgrav [0], [convert $build files to toolchain format])dnl 839417d15b25SDag-Erling Smørgrav])# _LT_PATH_CONVERSION_FUNCTIONS 8395