16bea0e4fSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 26bea0e4fSmrg# 36bea0e4fSmrg# Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software 46bea0e4fSmrg# Foundation, Inc. 56bea0e4fSmrg# Written by Gordon Matzigkeit, 1996 66bea0e4fSmrg# 76bea0e4fSmrg# This file is free software; the Free Software Foundation gives 86bea0e4fSmrg# unlimited permission to copy and/or distribute it, with or without 96bea0e4fSmrg# modifications, as long as this notice is preserved. 106bea0e4fSmrg 116bea0e4fSmrgm4_define([_LT_COPYING], [dnl 126bea0e4fSmrg# Copyright (C) 2024 Free Software Foundation, Inc. 136bea0e4fSmrg# This is free software; see the source for copying conditions. There is NO 146bea0e4fSmrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 156bea0e4fSmrg 166bea0e4fSmrg# GNU Libtool is free software; you can redistribute it and/or modify 176bea0e4fSmrg# it under the terms of the GNU General Public License as published by 186bea0e4fSmrg# the Free Software Foundation; either version 2 of the License, or 196bea0e4fSmrg# (at your option) any later version. 206bea0e4fSmrg# 216bea0e4fSmrg# As a special exception to the GNU General Public License, if you 226bea0e4fSmrg# distribute this file as part of a program or library that is built 236bea0e4fSmrg# using GNU Libtool, you may include this file under the same 246bea0e4fSmrg# distribution terms that you use for the rest of that program. 256bea0e4fSmrg# 266bea0e4fSmrg# GNU Libtool is distributed in the hope that it will be useful, but 276bea0e4fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 286bea0e4fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 296bea0e4fSmrg# GNU General Public License for more details. 306bea0e4fSmrg# 316bea0e4fSmrg# You should have received a copy of the GNU General Public License 326bea0e4fSmrg# along with this program. If not, see <http://www.gnu.org/licenses/>. 336bea0e4fSmrg]) 346bea0e4fSmrg 356bea0e4fSmrg# serial 63 LT_INIT 366bea0e4fSmrg 376bea0e4fSmrg 386bea0e4fSmrg# LT_PREREQ(VERSION) 396bea0e4fSmrg# ------------------ 406bea0e4fSmrg# Complain and exit if this libtool version is less that VERSION. 416bea0e4fSmrgm4_defun([LT_PREREQ], 426bea0e4fSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 436bea0e4fSmrg [m4_default([$3], 446bea0e4fSmrg [m4_fatal([Libtool version $1 or higher is required], 456bea0e4fSmrg 63)])], 466bea0e4fSmrg [$2])]) 476bea0e4fSmrg 486bea0e4fSmrg 496bea0e4fSmrg# _LT_CHECK_BUILDDIR 506bea0e4fSmrg# ------------------ 516bea0e4fSmrg# Complain if the absolute build directory name contains unusual characters 526bea0e4fSmrgm4_defun([_LT_CHECK_BUILDDIR], 536bea0e4fSmrg[case `pwd` in 546bea0e4fSmrg *\ * | *\ *) 556bea0e4fSmrg AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 566bea0e4fSmrgesac 576bea0e4fSmrg]) 586bea0e4fSmrg 596bea0e4fSmrg 606bea0e4fSmrg# LT_INIT([OPTIONS]) 616bea0e4fSmrg# ------------------ 626bea0e4fSmrgAC_DEFUN([LT_INIT], 636bea0e4fSmrg[AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK 646bea0e4fSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 656bea0e4fSmrgAC_BEFORE([$0], [LT_LANG])dnl 666bea0e4fSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl 676bea0e4fSmrgAC_BEFORE([$0], [LTDL_INIT])dnl 686bea0e4fSmrgm4_require([_LT_CHECK_BUILDDIR])dnl 696bea0e4fSmrg 706bea0e4fSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default: 716bea0e4fSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 726bea0e4fSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 736bea0e4fSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 746bea0e4fSmrgdnl unless we require an AC_DEFUNed macro: 756bea0e4fSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl 766bea0e4fSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl 776bea0e4fSmrgAC_REQUIRE([LTVERSION_VERSION])dnl 786bea0e4fSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl 796bea0e4fSmrgm4_require([_LT_PROG_LTMAIN])dnl 806bea0e4fSmrg 816bea0e4fSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 826bea0e4fSmrg 836bea0e4fSmrgdnl Parse OPTIONS 846bea0e4fSmrg_LT_SET_OPTIONS([$0], [$1]) 856bea0e4fSmrg 866bea0e4fSmrg# This can be used to rebuild libtool when needed 876bea0e4fSmrgLIBTOOL_DEPS=$ltmain 886bea0e4fSmrg 896bea0e4fSmrg# Always use our own libtool. 906bea0e4fSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool' 916bea0e4fSmrgAC_SUBST(LIBTOOL)dnl 926bea0e4fSmrg 936bea0e4fSmrg_LT_SETUP 946bea0e4fSmrg 956bea0e4fSmrg# Only expand once: 966bea0e4fSmrgm4_define([LT_INIT]) 976bea0e4fSmrg])# LT_INIT 986bea0e4fSmrg 996bea0e4fSmrg# Old names: 1006bea0e4fSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 1016bea0e4fSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 1026bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 1036bea0e4fSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 1046bea0e4fSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 1056bea0e4fSmrg 1066bea0e4fSmrg 1076bea0e4fSmrg# _LT_PREPARE_CC_BASENAME 1086bea0e4fSmrg# ----------------------- 1096bea0e4fSmrgm4_defun([_LT_PREPARE_CC_BASENAME], [ 1106bea0e4fSmrg# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 1116bea0e4fSmrgfunc_cc_basename () 1126bea0e4fSmrg{ 1136bea0e4fSmrg for cc_temp in @S|@*""; do 1146bea0e4fSmrg case $cc_temp in 1156bea0e4fSmrg compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 1166bea0e4fSmrg distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 1176bea0e4fSmrg \-*) ;; 1186bea0e4fSmrg *) break;; 1196bea0e4fSmrg esac 1206bea0e4fSmrg done 1216bea0e4fSmrg func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 1226bea0e4fSmrg} 1236bea0e4fSmrg])# _LT_PREPARE_CC_BASENAME 1246bea0e4fSmrg 1256bea0e4fSmrg 1266bea0e4fSmrg# _LT_CC_BASENAME(CC) 1276bea0e4fSmrg# ------------------- 1286bea0e4fSmrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, 1296bea0e4fSmrg# but that macro is also expanded into generated libtool script, which 1306bea0e4fSmrg# arranges for $SED and $ECHO to be set by different means. 1316bea0e4fSmrgm4_defun([_LT_CC_BASENAME], 1326bea0e4fSmrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl 1336bea0e4fSmrgAC_REQUIRE([_LT_DECL_SED])dnl 1346bea0e4fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 1356bea0e4fSmrgfunc_cc_basename $1 1366bea0e4fSmrgcc_basename=$func_cc_basename_result 1376bea0e4fSmrg]) 1386bea0e4fSmrg 1396bea0e4fSmrg 1406bea0e4fSmrg# _LT_FILEUTILS_DEFAULTS 1416bea0e4fSmrg# ---------------------- 1426bea0e4fSmrg# It is okay to use these file commands and assume they have been set 1436bea0e4fSmrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. 1446bea0e4fSmrgm4_defun([_LT_FILEUTILS_DEFAULTS], 1456bea0e4fSmrg[: ${CP="cp -f"} 1466bea0e4fSmrg: ${MV="mv -f"} 1476bea0e4fSmrg: ${RM="rm -f"} 1486bea0e4fSmrg])# _LT_FILEUTILS_DEFAULTS 1496bea0e4fSmrg 1506bea0e4fSmrg 1516bea0e4fSmrg# _LT_SETUP 1526bea0e4fSmrg# --------- 1536bea0e4fSmrgm4_defun([_LT_SETUP], 1546bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1556bea0e4fSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 1566bea0e4fSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 1576bea0e4fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 1586bea0e4fSmrg 1596bea0e4fSmrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 1606bea0e4fSmrgdnl 1616bea0e4fSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl 1626bea0e4fSmrg_LT_DECL([], [host], [0])dnl 1636bea0e4fSmrg_LT_DECL([], [host_os], [0])dnl 1646bea0e4fSmrgdnl 1656bea0e4fSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl 1666bea0e4fSmrg_LT_DECL([], [build], [0])dnl 1676bea0e4fSmrg_LT_DECL([], [build_os], [0])dnl 1686bea0e4fSmrgdnl 1696bea0e4fSmrgAC_REQUIRE([AC_PROG_CC])dnl 1706bea0e4fSmrgAC_REQUIRE([LT_PATH_LD])dnl 1716bea0e4fSmrgAC_REQUIRE([LT_PATH_NM])dnl 1726bea0e4fSmrgdnl 1736bea0e4fSmrgAC_REQUIRE([AC_PROG_LN_S])dnl 1746bea0e4fSmrgtest -z "$LN_S" && LN_S="ln -s" 1756bea0e4fSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 1766bea0e4fSmrgdnl 1776bea0e4fSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl 1786bea0e4fSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 1796bea0e4fSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 1806bea0e4fSmrgdnl 1816bea0e4fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 1826bea0e4fSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 1836bea0e4fSmrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 1846bea0e4fSmrgm4_require([_LT_CMD_RELOAD])dnl 1856bea0e4fSmrgm4_require([_LT_DECL_FILECMD])dnl 1866bea0e4fSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl 1876bea0e4fSmrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 1886bea0e4fSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl 1896bea0e4fSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 1906bea0e4fSmrgm4_require([_LT_WITH_SYSROOT])dnl 1916bea0e4fSmrgm4_require([_LT_CMD_TRUNCATE])dnl 1926bea0e4fSmrg 1936bea0e4fSmrg_LT_CONFIG_LIBTOOL_INIT([ 1946bea0e4fSmrg# See if we are running on zsh, and set the options that allow our 1956bea0e4fSmrg# commands through without removal of \ escapes INIT. 1966bea0e4fSmrgif test -n "\${ZSH_VERSION+set}"; then 1976bea0e4fSmrg setopt NO_GLOB_SUBST 1986bea0e4fSmrgfi 1996bea0e4fSmrg]) 2006bea0e4fSmrgif test -n "${ZSH_VERSION+set}"; then 2016bea0e4fSmrg setopt NO_GLOB_SUBST 2026bea0e4fSmrgfi 2036bea0e4fSmrg 2046bea0e4fSmrg_LT_CHECK_OBJDIR 2056bea0e4fSmrg 2066bea0e4fSmrgm4_require([_LT_TAG_COMPILER])dnl 2076bea0e4fSmrg 2086bea0e4fSmrgcase $host_os in 2096bea0e4fSmrgaix3*) 2106bea0e4fSmrg # AIX sometimes has problems with the GCC collect2 program. For some 2116bea0e4fSmrg # reason, if we set the COLLECT_NAMES environment variable, the problems 2126bea0e4fSmrg # vanish in a puff of smoke. 2136bea0e4fSmrg if test set != "${COLLECT_NAMES+set}"; then 2146bea0e4fSmrg COLLECT_NAMES= 2156bea0e4fSmrg export COLLECT_NAMES 2166bea0e4fSmrg fi 2176bea0e4fSmrg ;; 2186bea0e4fSmrgesac 2196bea0e4fSmrg 2206bea0e4fSmrg# Global variables: 2216bea0e4fSmrgofile=libtool 2226bea0e4fSmrgcan_build_shared=yes 2236bea0e4fSmrg 2246bea0e4fSmrg# All known linkers require a '.a' archive for static linking (except MSVC and 2256bea0e4fSmrg# ICC, which need '.lib'). 2266bea0e4fSmrglibext=a 2276bea0e4fSmrg 2286bea0e4fSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld 2296bea0e4fSmrg 2306bea0e4fSmrgold_CC=$CC 2316bea0e4fSmrgold_CFLAGS=$CFLAGS 2326bea0e4fSmrg 2336bea0e4fSmrg# Set sane defaults for various variables 2346bea0e4fSmrgtest -z "$CC" && CC=cc 2356bea0e4fSmrgtest -z "$LTCC" && LTCC=$CC 2366bea0e4fSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 2376bea0e4fSmrgtest -z "$LD" && LD=ld 2386bea0e4fSmrgtest -z "$ac_objext" && ac_objext=o 2396bea0e4fSmrg 2406bea0e4fSmrg_LT_CC_BASENAME([$compiler]) 2416bea0e4fSmrg 2426bea0e4fSmrg# Only perform the check for file, if the check method requires it 2436bea0e4fSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file 2446bea0e4fSmrgcase $deplibs_check_method in 2456bea0e4fSmrgfile_magic*) 2466bea0e4fSmrg if test "$file_magic_cmd" = '$MAGIC_CMD'; then 2476bea0e4fSmrg _LT_PATH_MAGIC 2486bea0e4fSmrg fi 2496bea0e4fSmrg ;; 2506bea0e4fSmrgesac 2516bea0e4fSmrg 2526bea0e4fSmrg# Use C for the default configuration in the libtool script 2536bea0e4fSmrgLT_SUPPORTED_TAG([CC]) 2546bea0e4fSmrg_LT_LANG_C_CONFIG 2556bea0e4fSmrg_LT_LANG_DEFAULT_CONFIG 2566bea0e4fSmrg_LT_CONFIG_COMMANDS 2576bea0e4fSmrg])# _LT_SETUP 2586bea0e4fSmrg 2596bea0e4fSmrg 2606bea0e4fSmrg# _LT_PREPARE_SED_QUOTE_VARS 2616bea0e4fSmrg# -------------------------- 2626bea0e4fSmrg# Define a few sed substitution that help us do robust quoting. 2636bea0e4fSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS], 2646bea0e4fSmrg[# Backslashify metacharacters that are still active within 2656bea0e4fSmrg# double-quoted strings. 2666bea0e4fSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 2676bea0e4fSmrg 2686bea0e4fSmrg# Same as above, but do not quote variable references. 2696bea0e4fSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 2706bea0e4fSmrg 2716bea0e4fSmrg# Sed substitution to delay expansion of an escaped shell variable in a 2726bea0e4fSmrg# double_quote_subst'ed string. 2736bea0e4fSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 2746bea0e4fSmrg 2756bea0e4fSmrg# Sed substitution to delay expansion of an escaped single quote. 2766bea0e4fSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 2776bea0e4fSmrg 2786bea0e4fSmrg# Sed substitution to avoid accidental globbing in evaled expressions 2796bea0e4fSmrgno_glob_subst='s/\*/\\\*/g' 2806bea0e4fSmrg]) 2816bea0e4fSmrg 2826bea0e4fSmrg# _LT_PROG_LTMAIN 2836bea0e4fSmrg# --------------- 2846bea0e4fSmrg# Note that this code is called both from 'configure', and 'config.status' 2856bea0e4fSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 2866bea0e4fSmrg# 'config.status' has no value for ac_aux_dir unless we are using Automake, 2876bea0e4fSmrg# so we pass a copy along to make sure it has a sensible value anyway. 2886bea0e4fSmrgm4_defun([_LT_PROG_LTMAIN], 2896bea0e4fSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 2906bea0e4fSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 2916bea0e4fSmrgltmain=$ac_aux_dir/ltmain.sh 2926bea0e4fSmrg])# _LT_PROG_LTMAIN 2936bea0e4fSmrg 2946bea0e4fSmrg 2956bea0e4fSmrg## ------------------------------------- ## 2966bea0e4fSmrg## Accumulate code for creating libtool. ## 2976bea0e4fSmrg## ------------------------------------- ## 2986bea0e4fSmrg 2996bea0e4fSmrg# So that we can recreate a full libtool script including additional 3006bea0e4fSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 3016bea0e4fSmrg# in macros and then make a single call at the end using the 'libtool' 3026bea0e4fSmrg# label. 3036bea0e4fSmrg 3046bea0e4fSmrg 3056bea0e4fSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 3066bea0e4fSmrg# ---------------------------------------- 3076bea0e4fSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 3086bea0e4fSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT], 3096bea0e4fSmrg[m4_ifval([$1], 3106bea0e4fSmrg [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 3116bea0e4fSmrg [$1 3126bea0e4fSmrg])])]) 3136bea0e4fSmrg 3146bea0e4fSmrg# Initialize. 3156bea0e4fSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 3166bea0e4fSmrg 3176bea0e4fSmrg 3186bea0e4fSmrg# _LT_CONFIG_LIBTOOL([COMMANDS]) 3196bea0e4fSmrg# ------------------------------ 3206bea0e4fSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 3216bea0e4fSmrgm4_define([_LT_CONFIG_LIBTOOL], 3226bea0e4fSmrg[m4_ifval([$1], 3236bea0e4fSmrg [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 3246bea0e4fSmrg [$1 3256bea0e4fSmrg])])]) 3266bea0e4fSmrg 3276bea0e4fSmrg# Initialize. 3286bea0e4fSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 3296bea0e4fSmrg 3306bea0e4fSmrg 3316bea0e4fSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 3326bea0e4fSmrg# ----------------------------------------------------- 3336bea0e4fSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS], 3346bea0e4fSmrg[_LT_CONFIG_LIBTOOL([$1]) 3356bea0e4fSmrg_LT_CONFIG_LIBTOOL_INIT([$2]) 3366bea0e4fSmrg]) 3376bea0e4fSmrg 3386bea0e4fSmrg 3396bea0e4fSmrg# _LT_FORMAT_COMMENT([COMMENT]) 3406bea0e4fSmrg# ----------------------------- 3416bea0e4fSmrg# Add leading comment marks to the start of each line, and a trailing 3426bea0e4fSmrg# full-stop to the whole comment if one is not present already. 3436bea0e4fSmrgm4_define([_LT_FORMAT_COMMENT], 3446bea0e4fSmrg[m4_ifval([$1], [ 3456bea0e4fSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 3466bea0e4fSmrg [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 3476bea0e4fSmrg)]) 3486bea0e4fSmrg 3496bea0e4fSmrg 3506bea0e4fSmrg 3516bea0e4fSmrg## ------------------------ ## 3526bea0e4fSmrg## FIXME: Eliminate VARNAME ## 3536bea0e4fSmrg## ------------------------ ## 3546bea0e4fSmrg 3556bea0e4fSmrg 3566bea0e4fSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 3576bea0e4fSmrg# ------------------------------------------------------------------- 3586bea0e4fSmrg# CONFIGNAME is the name given to the value in the libtool script. 3596bea0e4fSmrg# VARNAME is the (base) name used in the configure script. 3606bea0e4fSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 3616bea0e4fSmrg# VARNAME. Any other value will be used directly. 3626bea0e4fSmrgm4_define([_LT_DECL], 3636bea0e4fSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 3646bea0e4fSmrg [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 3656bea0e4fSmrg [m4_ifval([$1], [$1], [$2])]) 3666bea0e4fSmrg lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 3676bea0e4fSmrg m4_ifval([$4], 3686bea0e4fSmrg [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 3696bea0e4fSmrg lt_dict_add_subkey([lt_decl_dict], [$2], 3706bea0e4fSmrg [tagged?], [m4_ifval([$5], [yes], [no])])]) 3716bea0e4fSmrg]) 3726bea0e4fSmrg 3736bea0e4fSmrg 3746bea0e4fSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 3756bea0e4fSmrg# -------------------------------------------------------- 3766bea0e4fSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 3776bea0e4fSmrg 3786bea0e4fSmrg 3796bea0e4fSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 3806bea0e4fSmrg# ------------------------------------------------ 3816bea0e4fSmrgm4_define([lt_decl_tag_varnames], 3826bea0e4fSmrg[_lt_decl_filter([tagged?], [yes], $@)]) 3836bea0e4fSmrg 3846bea0e4fSmrg 3856bea0e4fSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 3866bea0e4fSmrg# --------------------------------------------------------- 3876bea0e4fSmrgm4_define([_lt_decl_filter], 3886bea0e4fSmrg[m4_case([$#], 3896bea0e4fSmrg [0], [m4_fatal([$0: too few arguments: $#])], 3906bea0e4fSmrg [1], [m4_fatal([$0: too few arguments: $#: $1])], 3916bea0e4fSmrg [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 3926bea0e4fSmrg [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 3936bea0e4fSmrg [lt_dict_filter([lt_decl_dict], $@)])[]dnl 3946bea0e4fSmrg]) 3956bea0e4fSmrg 3966bea0e4fSmrg 3976bea0e4fSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 3986bea0e4fSmrg# -------------------------------------------------- 3996bea0e4fSmrgm4_define([lt_decl_quote_varnames], 4006bea0e4fSmrg[_lt_decl_filter([value], [1], $@)]) 4016bea0e4fSmrg 4026bea0e4fSmrg 4036bea0e4fSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 4046bea0e4fSmrg# --------------------------------------------------- 4056bea0e4fSmrgm4_define([lt_decl_dquote_varnames], 4066bea0e4fSmrg[_lt_decl_filter([value], [2], $@)]) 4076bea0e4fSmrg 4086bea0e4fSmrg 4096bea0e4fSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 4106bea0e4fSmrg# --------------------------------------------------- 4116bea0e4fSmrgm4_define([lt_decl_varnames_tagged], 4126bea0e4fSmrg[m4_assert([$# <= 2])dnl 4136bea0e4fSmrg_$0(m4_quote(m4_default([$1], [[, ]])), 4146bea0e4fSmrg m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 4156bea0e4fSmrg m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 4166bea0e4fSmrgm4_define([_lt_decl_varnames_tagged], 4176bea0e4fSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 4186bea0e4fSmrg 4196bea0e4fSmrg 4206bea0e4fSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 4216bea0e4fSmrg# ------------------------------------------------ 4226bea0e4fSmrgm4_define([lt_decl_all_varnames], 4236bea0e4fSmrg[_$0(m4_quote(m4_default([$1], [[, ]])), 4246bea0e4fSmrg m4_if([$2], [], 4256bea0e4fSmrg m4_quote(lt_decl_varnames), 4266bea0e4fSmrg m4_quote(m4_shift($@))))[]dnl 4276bea0e4fSmrg]) 4286bea0e4fSmrgm4_define([_lt_decl_all_varnames], 4296bea0e4fSmrg[lt_join($@, lt_decl_varnames_tagged([$1], 4306bea0e4fSmrg lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 4316bea0e4fSmrg]) 4326bea0e4fSmrg 4336bea0e4fSmrg 4346bea0e4fSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 4356bea0e4fSmrg# ------------------------------------ 4366bea0e4fSmrg# Quote a variable value, and forward it to 'config.status' so that its 4376bea0e4fSmrg# declaration there will have the same value as in 'configure'. VARNAME 4386bea0e4fSmrg# must have a single quote delimited value for this to work. 4396bea0e4fSmrgm4_define([_LT_CONFIG_STATUS_DECLARE], 4406bea0e4fSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 4416bea0e4fSmrg 4426bea0e4fSmrg 4436bea0e4fSmrg# _LT_CONFIG_STATUS_DECLARATIONS 4446bea0e4fSmrg# ------------------------------ 4456bea0e4fSmrg# We delimit libtool config variables with single quotes, so when 4466bea0e4fSmrg# we write them to config.status, we have to be sure to quote all 4476bea0e4fSmrg# embedded single quotes properly. In configure, this macro expands 4486bea0e4fSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 4496bea0e4fSmrg# 4506bea0e4fSmrg# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 4516bea0e4fSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 4526bea0e4fSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 4536bea0e4fSmrg [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 4546bea0e4fSmrg 4556bea0e4fSmrg 4566bea0e4fSmrg# _LT_LIBTOOL_TAGS 4576bea0e4fSmrg# ---------------- 4586bea0e4fSmrg# Output comment and list of tags supported by the script 4596bea0e4fSmrgm4_defun([_LT_LIBTOOL_TAGS], 4606bea0e4fSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 4616bea0e4fSmrgavailable_tags='_LT_TAGS'dnl 4626bea0e4fSmrg]) 4636bea0e4fSmrg 4646bea0e4fSmrg 4656bea0e4fSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 4666bea0e4fSmrg# ----------------------------------- 4676bea0e4fSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and 4686bea0e4fSmrg# expand to a commented shell variable setting: 4696bea0e4fSmrg# 4706bea0e4fSmrg# # Some comment about what VAR is for. 4716bea0e4fSmrg# visible_name=$lt_internal_name 4726bea0e4fSmrgm4_define([_LT_LIBTOOL_DECLARE], 4736bea0e4fSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 4746bea0e4fSmrg [description])))[]dnl 4756bea0e4fSmrgm4_pushdef([_libtool_name], 4766bea0e4fSmrg m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 4776bea0e4fSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 4786bea0e4fSmrg [0], [_libtool_name=[$]$1], 4796bea0e4fSmrg [1], [_libtool_name=$lt_[]$1], 4806bea0e4fSmrg [2], [_libtool_name=$lt_[]$1], 4816bea0e4fSmrg [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 4826bea0e4fSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 4836bea0e4fSmrg]) 4846bea0e4fSmrg 4856bea0e4fSmrg 4866bea0e4fSmrg# _LT_LIBTOOL_CONFIG_VARS 4876bea0e4fSmrg# ----------------------- 4886bea0e4fSmrg# Produce commented declarations of non-tagged libtool config variables 4896bea0e4fSmrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' 4906bea0e4fSmrg# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 4916bea0e4fSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS. 4926bea0e4fSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS], 4936bea0e4fSmrg[m4_foreach([_lt_var], 4946bea0e4fSmrg m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 4956bea0e4fSmrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 4966bea0e4fSmrg 4976bea0e4fSmrg 4986bea0e4fSmrg# _LT_LIBTOOL_TAG_VARS(TAG) 4996bea0e4fSmrg# ------------------------- 5006bea0e4fSmrgm4_define([_LT_LIBTOOL_TAG_VARS], 5016bea0e4fSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 5026bea0e4fSmrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 5036bea0e4fSmrg 5046bea0e4fSmrg 5056bea0e4fSmrg# _LT_TAGVAR(VARNAME, [TAGNAME]) 5066bea0e4fSmrg# ------------------------------ 5076bea0e4fSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 5086bea0e4fSmrg 5096bea0e4fSmrg 5106bea0e4fSmrg# _LT_CONFIG_COMMANDS 5116bea0e4fSmrg# ------------------- 5126bea0e4fSmrg# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 5136bea0e4fSmrg# variables for single and double quote escaping we saved from calls 5146bea0e4fSmrg# to _LT_DECL, we can put quote escaped variables declarations 5156bea0e4fSmrg# into 'config.status', and then the shell code to quote escape them in 5166bea0e4fSmrg# for loops in 'config.status'. Finally, any additional code accumulated 5176bea0e4fSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 5186bea0e4fSmrgm4_defun([_LT_CONFIG_COMMANDS], 5196bea0e4fSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT], 5206bea0e4fSmrg dnl If the libtool generation code has been placed in $CONFIG_LT, 5216bea0e4fSmrg dnl instead of duplicating it all over again into config.status, 5226bea0e4fSmrg dnl then we will have config.status run $CONFIG_LT later, so it 5236bea0e4fSmrg dnl needs to know what name is stored there: 5246bea0e4fSmrg [AC_CONFIG_COMMANDS([libtool], 5256bea0e4fSmrg [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 5266bea0e4fSmrg dnl If the libtool generation code is destined for config.status, 5276bea0e4fSmrg dnl expand the accumulated commands and init code now: 5286bea0e4fSmrg [AC_CONFIG_COMMANDS([libtool], 5296bea0e4fSmrg [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 5306bea0e4fSmrg])#_LT_CONFIG_COMMANDS 5316bea0e4fSmrg 5326bea0e4fSmrg 5336bea0e4fSmrg# Initialize. 5346bea0e4fSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 5356bea0e4fSmrg[ 5366bea0e4fSmrg 5376bea0e4fSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout 5386bea0e4fSmrg# if CDPATH is set. 5396bea0e4fSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 5406bea0e4fSmrg 5416bea0e4fSmrgsed_quote_subst='$sed_quote_subst' 5426bea0e4fSmrgdouble_quote_subst='$double_quote_subst' 5436bea0e4fSmrgdelay_variable_subst='$delay_variable_subst' 5446bea0e4fSmrg_LT_CONFIG_STATUS_DECLARATIONS 5456bea0e4fSmrgLTCC='$LTCC' 5466bea0e4fSmrgLTCFLAGS='$LTCFLAGS' 5476bea0e4fSmrgcompiler='$compiler_DEFAULT' 5486bea0e4fSmrg 5496bea0e4fSmrg# A function that is used when there is no print builtin or printf. 5506bea0e4fSmrgfunc_fallback_echo () 5516bea0e4fSmrg{ 5526bea0e4fSmrg eval 'cat <<_LTECHO_EOF 5536bea0e4fSmrg\$[]1 5546bea0e4fSmrg_LTECHO_EOF' 5556bea0e4fSmrg} 5566bea0e4fSmrg 5576bea0e4fSmrg# Quote evaled strings. 5586bea0e4fSmrgfor var in lt_decl_all_varnames([[ \ 5596bea0e4fSmrg]], lt_decl_quote_varnames); do 5606bea0e4fSmrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 5616bea0e4fSmrg *[[\\\\\\\`\\"\\\$]]*) 5626bea0e4fSmrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 5636bea0e4fSmrg ;; 5646bea0e4fSmrg *) 5656bea0e4fSmrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 5666bea0e4fSmrg ;; 5676bea0e4fSmrg esac 5686bea0e4fSmrgdone 5696bea0e4fSmrg 5706bea0e4fSmrg# Double-quote double-evaled strings. 5716bea0e4fSmrgfor var in lt_decl_all_varnames([[ \ 5726bea0e4fSmrg]], lt_decl_dquote_varnames); do 5736bea0e4fSmrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 5746bea0e4fSmrg *[[\\\\\\\`\\"\\\$]]*) 5756bea0e4fSmrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 5766bea0e4fSmrg ;; 5776bea0e4fSmrg *) 5786bea0e4fSmrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 5796bea0e4fSmrg ;; 5806bea0e4fSmrg esac 5816bea0e4fSmrgdone 5826bea0e4fSmrg 5836bea0e4fSmrg_LT_OUTPUT_LIBTOOL_INIT 5846bea0e4fSmrg]) 5856bea0e4fSmrg 5866bea0e4fSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 5876bea0e4fSmrg# ------------------------------------ 5886bea0e4fSmrg# Generate a child script FILE with all initialization necessary to 5896bea0e4fSmrg# reuse the environment learned by the parent script, and make the 5906bea0e4fSmrg# file executable. If COMMENT is supplied, it is inserted after the 5916bea0e4fSmrg# '#!' sequence but before initialization text begins. After this 5926bea0e4fSmrg# macro, additional text can be appended to FILE to form the body of 5936bea0e4fSmrg# the child script. The macro ends with non-zero status if the 5946bea0e4fSmrg# file could not be fully written (such as if the disk is full). 5956bea0e4fSmrgm4_ifdef([AS_INIT_GENERATED], 5966bea0e4fSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 5976bea0e4fSmrg[m4_defun([_LT_GENERATED_FILE_INIT], 5986bea0e4fSmrg[m4_require([AS_PREPARE])]dnl 5996bea0e4fSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 6006bea0e4fSmrg[lt_write_fail=0 6016bea0e4fSmrgcat >$1 <<_ASEOF || lt_write_fail=1 6026bea0e4fSmrg#! $SHELL 6036bea0e4fSmrg# Generated by $as_me. 6046bea0e4fSmrg$2 6056bea0e4fSmrgSHELL=\${CONFIG_SHELL-$SHELL} 6066bea0e4fSmrgexport SHELL 6076bea0e4fSmrg_ASEOF 6086bea0e4fSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1 6096bea0e4fSmrgAS_SHELL_SANITIZE 6106bea0e4fSmrg_AS_PREPARE 6116bea0e4fSmrgexec AS_MESSAGE_FD>&1 6126bea0e4fSmrg_ASEOF 6136bea0e4fSmrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl 6146bea0e4fSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 6156bea0e4fSmrg 6166bea0e4fSmrg# LT_OUTPUT 6176bea0e4fSmrg# --------- 6186bea0e4fSmrg# This macro allows early generation of the libtool script (before 6196bea0e4fSmrg# AC_OUTPUT is called), in case it is used in configure for compilation 6206bea0e4fSmrg# tests. 6216bea0e4fSmrgAC_DEFUN([LT_OUTPUT], 6226bea0e4fSmrg[: ${CONFIG_LT=./config.lt} 6236bea0e4fSmrgAC_MSG_NOTICE([creating $CONFIG_LT]) 6246bea0e4fSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 6256bea0e4fSmrg[# Run this file to recreate a libtool stub with the current configuration.]) 6266bea0e4fSmrg 6276bea0e4fSmrgcat >>"$CONFIG_LT" <<\_LTEOF 6286bea0e4fSmrglt_cl_silent=false 6296bea0e4fSmrgexec AS_MESSAGE_LOG_FD>>config.log 6306bea0e4fSmrg{ 6316bea0e4fSmrg echo 6326bea0e4fSmrg AS_BOX([Running $as_me.]) 6336bea0e4fSmrg} >&AS_MESSAGE_LOG_FD 6346bea0e4fSmrg 6356bea0e4fSmrglt_cl_help="\ 6366bea0e4fSmrg'$as_me' creates a local libtool stub from the current configuration, 6376bea0e4fSmrgfor use in further configure time tests before the real libtool is 6386bea0e4fSmrggenerated. 6396bea0e4fSmrg 6406bea0e4fSmrgUsage: $[0] [[OPTIONS]] 6416bea0e4fSmrg 6426bea0e4fSmrg -h, --help print this help, then exit 6436bea0e4fSmrg -V, --version print version number, then exit 6446bea0e4fSmrg -q, --quiet do not print progress messages 6456bea0e4fSmrg -d, --debug don't remove temporary files 6466bea0e4fSmrg 6476bea0e4fSmrgReport bugs to <bug-libtool@gnu.org>." 6486bea0e4fSmrg 6496bea0e4fSmrglt_cl_version="\ 6506bea0e4fSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 6516bea0e4fSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 6526bea0e4fSmrgconfigured by $[0], generated by m4_PACKAGE_STRING. 6536bea0e4fSmrg 6546bea0e4fSmrgCopyright (C) 2024 Free Software Foundation, Inc. 6556bea0e4fSmrgThis config.lt script is free software; the Free Software Foundation 6566bea0e4fSmrggives unlimited permission to copy, distribute and modify it." 6576bea0e4fSmrg 6586bea0e4fSmrgwhile test 0 != $[#] 6596bea0e4fSmrgdo 6606bea0e4fSmrg case $[1] in 6616bea0e4fSmrg --version | --v* | -V ) 6626bea0e4fSmrg echo "$lt_cl_version"; exit 0 ;; 6636bea0e4fSmrg --help | --h* | -h ) 6646bea0e4fSmrg echo "$lt_cl_help"; exit 0 ;; 6656bea0e4fSmrg --debug | --d* | -d ) 6666bea0e4fSmrg debug=: ;; 6676bea0e4fSmrg --quiet | --q* | --silent | --s* | -q ) 6686bea0e4fSmrg lt_cl_silent=: ;; 6696bea0e4fSmrg 6706bea0e4fSmrg -*) AC_MSG_ERROR([unrecognized option: $[1] 6716bea0e4fSmrgTry '$[0] --help' for more information.]) ;; 6726bea0e4fSmrg 6736bea0e4fSmrg *) AC_MSG_ERROR([unrecognized argument: $[1] 6746bea0e4fSmrgTry '$[0] --help' for more information.]) ;; 6756bea0e4fSmrg esac 6766bea0e4fSmrg shift 6776bea0e4fSmrgdone 6786bea0e4fSmrg 6796bea0e4fSmrgif $lt_cl_silent; then 6806bea0e4fSmrg exec AS_MESSAGE_FD>/dev/null 6816bea0e4fSmrgfi 6826bea0e4fSmrg_LTEOF 6836bea0e4fSmrg 6846bea0e4fSmrgcat >>"$CONFIG_LT" <<_LTEOF 6856bea0e4fSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 6866bea0e4fSmrg_LTEOF 6876bea0e4fSmrg 6886bea0e4fSmrgcat >>"$CONFIG_LT" <<\_LTEOF 6896bea0e4fSmrgAC_MSG_NOTICE([creating $ofile]) 6906bea0e4fSmrg_LT_OUTPUT_LIBTOOL_COMMANDS 6916bea0e4fSmrgAS_EXIT(0) 6926bea0e4fSmrg_LTEOF 6936bea0e4fSmrgchmod +x "$CONFIG_LT" 6946bea0e4fSmrg 6956bea0e4fSmrg# configure is writing to config.log, but config.lt does its own redirection, 6966bea0e4fSmrg# appending to config.log, which fails on DOS, as config.log is still kept 6976bea0e4fSmrg# open by configure. Here we exec the FD to /dev/null, effectively closing 6986bea0e4fSmrg# config.log, so it can be properly (re)opened and appended to by config.lt. 6996bea0e4fSmrglt_cl_success=: 7006bea0e4fSmrgtest yes = "$silent" && 7016bea0e4fSmrg lt_config_lt_args="$lt_config_lt_args --quiet" 7026bea0e4fSmrgexec AS_MESSAGE_LOG_FD>/dev/null 7036bea0e4fSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 7046bea0e4fSmrgexec AS_MESSAGE_LOG_FD>>config.log 7056bea0e4fSmrg$lt_cl_success || AS_EXIT(1) 7066bea0e4fSmrg])# LT_OUTPUT 7076bea0e4fSmrg 7086bea0e4fSmrg 7096bea0e4fSmrg# _LT_CONFIG(TAG) 7106bea0e4fSmrg# --------------- 7116bea0e4fSmrg# If TAG is the built-in tag, create an initial libtool script with a 7126bea0e4fSmrg# default configuration from the untagged config vars. Otherwise add code 7136bea0e4fSmrg# to config.status for appending the configuration named by TAG from the 7146bea0e4fSmrg# matching tagged config vars. 7156bea0e4fSmrgm4_defun([_LT_CONFIG], 7166bea0e4fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 7176bea0e4fSmrg_LT_CONFIG_SAVE_COMMANDS([ 7186bea0e4fSmrg m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 7196bea0e4fSmrg m4_if(_LT_TAG, [C], [ 7206bea0e4fSmrg # See if we are running on zsh, and set the options that allow our 7216bea0e4fSmrg # commands through without removal of \ escapes. 7226bea0e4fSmrg if test -n "${ZSH_VERSION+set}"; then 7236bea0e4fSmrg setopt NO_GLOB_SUBST 7246bea0e4fSmrg fi 7256bea0e4fSmrg 7266bea0e4fSmrg cfgfile=${ofile}T 7276bea0e4fSmrg trap "$RM \"$cfgfile\"; exit 1" 1 2 15 7286bea0e4fSmrg $RM "$cfgfile" 7296bea0e4fSmrg 7306bea0e4fSmrg cat <<_LT_EOF >> "$cfgfile" 7316bea0e4fSmrg#! $SHELL 7326bea0e4fSmrg# Generated automatically by $as_me ($PACKAGE) $VERSION 7336bea0e4fSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh. 7346bea0e4fSmrg 7356bea0e4fSmrg# Provide generalized library-building support services. 7366bea0e4fSmrg# Written by Gordon Matzigkeit, 1996 7376bea0e4fSmrg 7386bea0e4fSmrg_LT_COPYING 7396bea0e4fSmrg_LT_LIBTOOL_TAGS 7406bea0e4fSmrg 7416bea0e4fSmrg# Configured defaults for sys_lib_dlsearch_path munging. 7426bea0e4fSmrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} 7436bea0e4fSmrg 7446bea0e4fSmrg# ### BEGIN LIBTOOL CONFIG 7456bea0e4fSmrg_LT_LIBTOOL_CONFIG_VARS 7466bea0e4fSmrg_LT_LIBTOOL_TAG_VARS 7476bea0e4fSmrg# ### END LIBTOOL CONFIG 7486bea0e4fSmrg 7496bea0e4fSmrg_LT_EOF 7506bea0e4fSmrg 7516bea0e4fSmrg cat <<'_LT_EOF' >> "$cfgfile" 7526bea0e4fSmrg 7536bea0e4fSmrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 7546bea0e4fSmrg 7556bea0e4fSmrg_LT_PREPARE_MUNGE_PATH_LIST 7566bea0e4fSmrg_LT_PREPARE_CC_BASENAME 7576bea0e4fSmrg 7586bea0e4fSmrg# ### END FUNCTIONS SHARED WITH CONFIGURE 7596bea0e4fSmrg 7606bea0e4fSmrg_LT_EOF 7616bea0e4fSmrg 7626bea0e4fSmrg case $host_os in 7636bea0e4fSmrg aix3*) 7646bea0e4fSmrg cat <<\_LT_EOF >> "$cfgfile" 7656bea0e4fSmrg# AIX sometimes has problems with the GCC collect2 program. For some 7666bea0e4fSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems 7676bea0e4fSmrg# vanish in a puff of smoke. 7686bea0e4fSmrgif test set != "${COLLECT_NAMES+set}"; then 7696bea0e4fSmrg COLLECT_NAMES= 7706bea0e4fSmrg export COLLECT_NAMES 7716bea0e4fSmrgfi 7726bea0e4fSmrg_LT_EOF 7736bea0e4fSmrg ;; 7746bea0e4fSmrg esac 7756bea0e4fSmrg 7766bea0e4fSmrg _LT_PROG_LTMAIN 7776bea0e4fSmrg 7786bea0e4fSmrg # We use sed instead of cat because bash on DJGPP gets confused if 7796bea0e4fSmrg # if finds mixed CR/LF and LF-only lines. Since sed operates in 7806bea0e4fSmrg # text mode, it properly converts lines to CR/LF. This bash problem 7816bea0e4fSmrg # is reportedly fixed, but why not run on old versions too? 7826bea0e4fSmrg $SED '$q' "$ltmain" >> "$cfgfile" \ 7836bea0e4fSmrg || (rm -f "$cfgfile"; exit 1) 7846bea0e4fSmrg 7856bea0e4fSmrg mv -f "$cfgfile" "$ofile" || 7866bea0e4fSmrg (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 7876bea0e4fSmrg chmod +x "$ofile" 7886bea0e4fSmrg], 7896bea0e4fSmrg[cat <<_LT_EOF >> "$ofile" 7906bea0e4fSmrg 7916bea0e4fSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 7926bea0e4fSmrgdnl in a comment (ie after a #). 7936bea0e4fSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1 7946bea0e4fSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG) 7956bea0e4fSmrg# ### END LIBTOOL TAG CONFIG: $1 7966bea0e4fSmrg_LT_EOF 7976bea0e4fSmrg])dnl /m4_if 7986bea0e4fSmrg], 7996bea0e4fSmrg[m4_if([$1], [], [ 8006bea0e4fSmrg PACKAGE='$PACKAGE' 8016bea0e4fSmrg VERSION='$VERSION' 8026bea0e4fSmrg RM='$RM' 8036bea0e4fSmrg ofile='$ofile'], []) 8046bea0e4fSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS 8056bea0e4fSmrg])# _LT_CONFIG 8066bea0e4fSmrg 8076bea0e4fSmrg 8086bea0e4fSmrg# LT_SUPPORTED_TAG(TAG) 8096bea0e4fSmrg# --------------------- 8106bea0e4fSmrg# Trace this macro to discover what tags are supported by the libtool 8116bea0e4fSmrg# --tag option, using: 8126bea0e4fSmrg# autoconf --trace 'LT_SUPPORTED_TAG:$1' 8136bea0e4fSmrgAC_DEFUN([LT_SUPPORTED_TAG], []) 8146bea0e4fSmrg 8156bea0e4fSmrg 8166bea0e4fSmrg# C support is built-in for now 8176bea0e4fSmrgm4_define([_LT_LANG_C_enabled], []) 8186bea0e4fSmrgm4_define([_LT_TAGS], []) 8196bea0e4fSmrg 8206bea0e4fSmrg 8216bea0e4fSmrg# LT_LANG(LANG) 8226bea0e4fSmrg# ------------- 8236bea0e4fSmrg# Enable libtool support for the given language if not already enabled. 8246bea0e4fSmrgAC_DEFUN([LT_LANG], 8256bea0e4fSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl 8266bea0e4fSmrgm4_case([$1], 8276bea0e4fSmrg [C], [_LT_LANG(C)], 8286bea0e4fSmrg [C++], [_LT_LANG(CXX)], 8296bea0e4fSmrg [Go], [_LT_LANG(GO)], 8306bea0e4fSmrg [Java], [_LT_LANG(GCJ)], 8316bea0e4fSmrg [Fortran 77], [_LT_LANG(F77)], 8326bea0e4fSmrg [Fortran], [_LT_LANG(FC)], 8336bea0e4fSmrg [Windows Resource], [_LT_LANG(RC)], 8346bea0e4fSmrg [m4_ifdef([_LT_LANG_]$1[_CONFIG], 8356bea0e4fSmrg [_LT_LANG($1)], 8366bea0e4fSmrg [m4_fatal([$0: unsupported language: "$1"])])])dnl 8376bea0e4fSmrg])# LT_LANG 8386bea0e4fSmrg 8396bea0e4fSmrg 8406bea0e4fSmrg# _LT_LANG(LANGNAME) 8416bea0e4fSmrg# ------------------ 8426bea0e4fSmrgm4_defun([_LT_LANG], 8436bea0e4fSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [], 8446bea0e4fSmrg [LT_SUPPORTED_TAG([$1])dnl 8456bea0e4fSmrg m4_append([_LT_TAGS], [$1 ])dnl 8466bea0e4fSmrg m4_define([_LT_LANG_]$1[_enabled], [])dnl 8476bea0e4fSmrg _LT_LANG_$1_CONFIG($1)])dnl 8486bea0e4fSmrg])# _LT_LANG 8496bea0e4fSmrg 8506bea0e4fSmrg 8516bea0e4fSmrgm4_ifndef([AC_PROG_GO], [ 8526bea0e4fSmrg############################################################ 8536bea0e4fSmrg# NOTE: This macro has been submitted for inclusion into # 8546bea0e4fSmrg# GNU Autoconf as AC_PROG_GO. When it is available in # 8556bea0e4fSmrg# a released version of Autoconf we should remove this # 8566bea0e4fSmrg# macro and use it instead. # 8576bea0e4fSmrg############################################################ 8586bea0e4fSmrgm4_defun([AC_PROG_GO], 8596bea0e4fSmrg[AC_LANG_PUSH(Go)dnl 8606bea0e4fSmrgAC_ARG_VAR([GOC], [Go compiler command])dnl 8616bea0e4fSmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 8626bea0e4fSmrg_AC_ARG_VAR_LDFLAGS()dnl 8636bea0e4fSmrgAC_CHECK_TOOL(GOC, gccgo) 8646bea0e4fSmrgif test -z "$GOC"; then 8656bea0e4fSmrg if test -n "$ac_tool_prefix"; then 8666bea0e4fSmrg AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 8676bea0e4fSmrg fi 8686bea0e4fSmrgfi 8696bea0e4fSmrgif test -z "$GOC"; then 8706bea0e4fSmrg AC_CHECK_PROG(GOC, gccgo, gccgo, false) 8716bea0e4fSmrgfi 8726bea0e4fSmrg])#m4_defun 8736bea0e4fSmrg])#m4_ifndef 8746bea0e4fSmrg 8756bea0e4fSmrg 8766bea0e4fSmrg# _LT_LANG_DEFAULT_CONFIG 8776bea0e4fSmrg# ----------------------- 8786bea0e4fSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG], 8796bea0e4fSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX], 8806bea0e4fSmrg [LT_LANG(CXX)], 8816bea0e4fSmrg [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 8826bea0e4fSmrg 8836bea0e4fSmrgAC_PROVIDE_IFELSE([AC_PROG_F77], 8846bea0e4fSmrg [LT_LANG(F77)], 8856bea0e4fSmrg [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 8866bea0e4fSmrg 8876bea0e4fSmrgAC_PROVIDE_IFELSE([AC_PROG_FC], 8886bea0e4fSmrg [LT_LANG(FC)], 8896bea0e4fSmrg [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 8906bea0e4fSmrg 8916bea0e4fSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 8926bea0e4fSmrgdnl pulling things in needlessly. 8936bea0e4fSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ], 8946bea0e4fSmrg [LT_LANG(GCJ)], 8956bea0e4fSmrg [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 8966bea0e4fSmrg [LT_LANG(GCJ)], 8976bea0e4fSmrg [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 8986bea0e4fSmrg [LT_LANG(GCJ)], 8996bea0e4fSmrg [m4_ifdef([AC_PROG_GCJ], 9006bea0e4fSmrg [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 9016bea0e4fSmrg m4_ifdef([A][M_PROG_GCJ], 9026bea0e4fSmrg [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 9036bea0e4fSmrg m4_ifdef([LT_PROG_GCJ], 9046bea0e4fSmrg [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 9056bea0e4fSmrg 9066bea0e4fSmrgAC_PROVIDE_IFELSE([AC_PROG_GO], 9076bea0e4fSmrg [LT_LANG(GO)], 9086bea0e4fSmrg [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 9096bea0e4fSmrg 9106bea0e4fSmrgAC_PROVIDE_IFELSE([LT_PROG_RC], 9116bea0e4fSmrg [LT_LANG(RC)], 9126bea0e4fSmrg [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 9136bea0e4fSmrg])# _LT_LANG_DEFAULT_CONFIG 9146bea0e4fSmrg 9156bea0e4fSmrg# Obsolete macros: 9166bea0e4fSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 9176bea0e4fSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 9186bea0e4fSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 9196bea0e4fSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 9206bea0e4fSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 9216bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 9226bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 9236bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], []) 9246bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], []) 9256bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 9266bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], []) 9276bea0e4fSmrg 9286bea0e4fSmrg 9296bea0e4fSmrg# _LT_TAG_COMPILER 9306bea0e4fSmrg# ---------------- 9316bea0e4fSmrgm4_defun([_LT_TAG_COMPILER], 9326bea0e4fSmrg[AC_REQUIRE([AC_PROG_CC])dnl 9336bea0e4fSmrg 9346bea0e4fSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 9356bea0e4fSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 9366bea0e4fSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 9376bea0e4fSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 9386bea0e4fSmrg 9396bea0e4fSmrg# If no C compiler was specified, use CC. 9406bea0e4fSmrgLTCC=${LTCC-"$CC"} 9416bea0e4fSmrg 9426bea0e4fSmrg# If no C compiler flags were specified, use CFLAGS. 9436bea0e4fSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 9446bea0e4fSmrg 9456bea0e4fSmrg# Allow CC to be a program name with arguments. 9466bea0e4fSmrgcompiler=$CC 9476bea0e4fSmrg])# _LT_TAG_COMPILER 9486bea0e4fSmrg 9496bea0e4fSmrg 9506bea0e4fSmrg# _LT_COMPILER_BOILERPLATE 9516bea0e4fSmrg# ------------------------ 9526bea0e4fSmrg# Check for compiler boilerplate output or warnings with 9536bea0e4fSmrg# the simple compiler test code. 9546bea0e4fSmrgm4_defun([_LT_COMPILER_BOILERPLATE], 9556bea0e4fSmrg[m4_require([_LT_DECL_SED])dnl 9566bea0e4fSmrgac_outfile=conftest.$ac_objext 9576bea0e4fSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext 9586bea0e4fSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 9596bea0e4fSmrg_lt_compiler_boilerplate=`cat conftest.err` 9606bea0e4fSmrg$RM conftest* 9616bea0e4fSmrg])# _LT_COMPILER_BOILERPLATE 9626bea0e4fSmrg 9636bea0e4fSmrg 9646bea0e4fSmrg# _LT_LINKER_BOILERPLATE 9656bea0e4fSmrg# ---------------------- 9666bea0e4fSmrg# Check for linker boilerplate output or warnings with 9676bea0e4fSmrg# the simple link test code. 9686bea0e4fSmrgm4_defun([_LT_LINKER_BOILERPLATE], 9696bea0e4fSmrg[m4_require([_LT_DECL_SED])dnl 9706bea0e4fSmrgac_outfile=conftest.$ac_objext 9716bea0e4fSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext 9726bea0e4fSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 9736bea0e4fSmrg_lt_linker_boilerplate=`cat conftest.err` 9746bea0e4fSmrg$RM -r conftest* 9756bea0e4fSmrg])# _LT_LINKER_BOILERPLATE 9766bea0e4fSmrg 9776bea0e4fSmrg 9786bea0e4fSmrg# _LT_REQUIRED_DARWIN_CHECKS 9796bea0e4fSmrg# ------------------------- 9806bea0e4fSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 9816bea0e4fSmrg case $host_os in 9826bea0e4fSmrg rhapsody* | darwin*) 9836bea0e4fSmrg AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 9846bea0e4fSmrg AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 9856bea0e4fSmrg AC_CHECK_TOOL([LIPO], [lipo], [:]) 9866bea0e4fSmrg AC_CHECK_TOOL([OTOOL], [otool], [:]) 9876bea0e4fSmrg AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 9886bea0e4fSmrg _LT_DECL([], [DSYMUTIL], [1], 9896bea0e4fSmrg [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 9906bea0e4fSmrg _LT_DECL([], [NMEDIT], [1], 9916bea0e4fSmrg [Tool to change global to local symbols on Mac OS X]) 9926bea0e4fSmrg _LT_DECL([], [LIPO], [1], 9936bea0e4fSmrg [Tool to manipulate fat objects and archives on Mac OS X]) 9946bea0e4fSmrg _LT_DECL([], [OTOOL], [1], 9956bea0e4fSmrg [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 9966bea0e4fSmrg _LT_DECL([], [OTOOL64], [1], 9976bea0e4fSmrg [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 9986bea0e4fSmrg 9996bea0e4fSmrg AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 10006bea0e4fSmrg [lt_cv_apple_cc_single_mod=no 10016bea0e4fSmrg if test -z "$LT_MULTI_MODULE"; then 10026bea0e4fSmrg # By default we will add the -single_module flag. You can override 10036bea0e4fSmrg # by either setting the environment variable LT_MULTI_MODULE 10046bea0e4fSmrg # non-empty at configure time, or by adding -multi_module to the 10056bea0e4fSmrg # link flags. 10066bea0e4fSmrg rm -rf libconftest.dylib* 10076bea0e4fSmrg echo "int foo(void){return 1;}" > conftest.c 10086bea0e4fSmrg echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 10096bea0e4fSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 10106bea0e4fSmrg $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 10116bea0e4fSmrg -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 10126bea0e4fSmrg _lt_result=$? 10136bea0e4fSmrg # If there is a non-empty error log, and "single_module" 10146bea0e4fSmrg # appears in it, assume the flag caused a linker warning 10156bea0e4fSmrg if test -s conftest.err && $GREP single_module conftest.err; then 10166bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 10176bea0e4fSmrg # Otherwise, if the output was created with a 0 exit code from 10186bea0e4fSmrg # the compiler, it worked. 10196bea0e4fSmrg elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 10206bea0e4fSmrg lt_cv_apple_cc_single_mod=yes 10216bea0e4fSmrg else 10226bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 10236bea0e4fSmrg fi 10246bea0e4fSmrg rm -rf libconftest.dylib* 10256bea0e4fSmrg rm -f conftest.* 10266bea0e4fSmrg fi]) 10276bea0e4fSmrg 10286bea0e4fSmrg # Feature test to disable chained fixups since it is not 10296bea0e4fSmrg # compatible with '-undefined dynamic_lookup' 10306bea0e4fSmrg AC_CACHE_CHECK([for -no_fixup_chains linker flag], 10316bea0e4fSmrg [lt_cv_support_no_fixup_chains], 10326bea0e4fSmrg [ save_LDFLAGS=$LDFLAGS 10336bea0e4fSmrg LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" 10346bea0e4fSmrg AC_LINK_IFELSE( 10356bea0e4fSmrg [AC_LANG_PROGRAM([],[])], 10366bea0e4fSmrg lt_cv_support_no_fixup_chains=yes, 10376bea0e4fSmrg lt_cv_support_no_fixup_chains=no 10386bea0e4fSmrg ) 10396bea0e4fSmrg LDFLAGS=$save_LDFLAGS 10406bea0e4fSmrg ] 10416bea0e4fSmrg ) 10426bea0e4fSmrg 10436bea0e4fSmrg AC_CACHE_CHECK([for -exported_symbols_list linker flag], 10446bea0e4fSmrg [lt_cv_ld_exported_symbols_list], 10456bea0e4fSmrg [lt_cv_ld_exported_symbols_list=no 10466bea0e4fSmrg save_LDFLAGS=$LDFLAGS 10476bea0e4fSmrg echo "_main" > conftest.sym 10486bea0e4fSmrg LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 10496bea0e4fSmrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 10506bea0e4fSmrg [lt_cv_ld_exported_symbols_list=yes], 10516bea0e4fSmrg [lt_cv_ld_exported_symbols_list=no]) 10526bea0e4fSmrg LDFLAGS=$save_LDFLAGS 10536bea0e4fSmrg ]) 10546bea0e4fSmrg 10556bea0e4fSmrg AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 10566bea0e4fSmrg [lt_cv_ld_force_load=no 10576bea0e4fSmrg cat > conftest.c << _LT_EOF 10586bea0e4fSmrgint forced_loaded() { return 2;} 10596bea0e4fSmrg_LT_EOF 10606bea0e4fSmrg echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 10616bea0e4fSmrg $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 10626bea0e4fSmrg echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 10636bea0e4fSmrg $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 10646bea0e4fSmrg echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 10656bea0e4fSmrg $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 10666bea0e4fSmrg cat > conftest.c << _LT_EOF 10676bea0e4fSmrgint main(void) { return 0;} 10686bea0e4fSmrg_LT_EOF 10696bea0e4fSmrg echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 10706bea0e4fSmrg $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 10716bea0e4fSmrg _lt_result=$? 10726bea0e4fSmrg if test -s conftest.err && $GREP force_load conftest.err; then 10736bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 10746bea0e4fSmrg elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 10756bea0e4fSmrg lt_cv_ld_force_load=yes 10766bea0e4fSmrg else 10776bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 10786bea0e4fSmrg fi 10796bea0e4fSmrg rm -f conftest.err libconftest.a conftest conftest.c 10806bea0e4fSmrg rm -rf conftest.dSYM 10816bea0e4fSmrg ]) 10826bea0e4fSmrg case $host_os in 10836bea0e4fSmrg rhapsody* | darwin1.[[012]]) 10846bea0e4fSmrg _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; 10856bea0e4fSmrg darwin1.*) 10866bea0e4fSmrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10876bea0e4fSmrg darwin*) 10886bea0e4fSmrg case $MACOSX_DEPLOYMENT_TARGET,$host in 10896bea0e4fSmrg 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) 10906bea0e4fSmrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10916bea0e4fSmrg *) 10926bea0e4fSmrg _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' 10936bea0e4fSmrg if test yes = "$lt_cv_support_no_fixup_chains"; then 10946bea0e4fSmrg AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains']) 10956bea0e4fSmrg fi 10966bea0e4fSmrg ;; 10976bea0e4fSmrg esac 10986bea0e4fSmrg ;; 10996bea0e4fSmrg esac 11006bea0e4fSmrg if test yes = "$lt_cv_apple_cc_single_mod"; then 11016bea0e4fSmrg _lt_dar_single_mod='$single_module' 11026bea0e4fSmrg fi 11036bea0e4fSmrg _lt_dar_needs_single_mod=no 11046bea0e4fSmrg case $host_os in 11056bea0e4fSmrg rhapsody* | darwin1.*) 11066bea0e4fSmrg _lt_dar_needs_single_mod=yes ;; 11076bea0e4fSmrg darwin*) 11086bea0e4fSmrg # When targeting Mac OS X 10.4 (darwin 8) or later, 11096bea0e4fSmrg # -single_module is the default and -multi_module is unsupported. 11106bea0e4fSmrg # The toolchain on macOS 10.14 (darwin 18) and later cannot 11116bea0e4fSmrg # target any OS version that needs -single_module. 11126bea0e4fSmrg case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 11136bea0e4fSmrg 10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*) 11146bea0e4fSmrg _lt_dar_needs_single_mod=yes ;; 11156bea0e4fSmrg esac 11166bea0e4fSmrg ;; 11176bea0e4fSmrg esac 11186bea0e4fSmrg if test yes = "$lt_cv_ld_exported_symbols_list"; then 11196bea0e4fSmrg _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 11206bea0e4fSmrg else 11216bea0e4fSmrg _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 11226bea0e4fSmrg fi 11236bea0e4fSmrg if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 11246bea0e4fSmrg _lt_dsymutil='~$DSYMUTIL $lib || :' 11256bea0e4fSmrg else 11266bea0e4fSmrg _lt_dsymutil= 11276bea0e4fSmrg fi 11286bea0e4fSmrg ;; 11296bea0e4fSmrg esac 11306bea0e4fSmrg]) 11316bea0e4fSmrg 11326bea0e4fSmrg 11336bea0e4fSmrg# _LT_DARWIN_LINKER_FEATURES([TAG]) 11346bea0e4fSmrg# --------------------------------- 11356bea0e4fSmrg# Checks for linker and compiler features on darwin 11366bea0e4fSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES], 11376bea0e4fSmrg[ 11386bea0e4fSmrg m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 11396bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 11406bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 11416bea0e4fSmrg _LT_TAGVAR(hardcode_automatic, $1)=yes 11426bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 11436bea0e4fSmrg if test yes = "$lt_cv_ld_force_load"; then 11446bea0e4fSmrg _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\"`' 11456bea0e4fSmrg m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 11466bea0e4fSmrg [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 11476bea0e4fSmrg else 11486bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='' 11496bea0e4fSmrg fi 11506bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 11516bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined 11526bea0e4fSmrg case $cc_basename in 11536bea0e4fSmrg ifort*|nagfor*) _lt_dar_can_shared=yes ;; 11546bea0e4fSmrg *) _lt_dar_can_shared=$GCC ;; 11556bea0e4fSmrg esac 11566bea0e4fSmrg if test yes = "$_lt_dar_can_shared"; then 11576bea0e4fSmrg output_verbose_link_cmd=func_echo_all 11586bea0e4fSmrg _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" 11596bea0e4fSmrg _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" 11606bea0e4fSmrg _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" 11616bea0e4fSmrg _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" 11626bea0e4fSmrg m4_if([$1], [CXX], 11636bea0e4fSmrg[ if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then 11646bea0e4fSmrg _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" 11656bea0e4fSmrg _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" 11666bea0e4fSmrg fi 11676bea0e4fSmrg],[]) 11686bea0e4fSmrg else 11696bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 11706bea0e4fSmrg fi 11716bea0e4fSmrg]) 11726bea0e4fSmrg 11736bea0e4fSmrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 11746bea0e4fSmrg# ---------------------------------- 11756bea0e4fSmrg# Links a minimal program and checks the executable 11766bea0e4fSmrg# for the system default hardcoded library path. In most cases, 11776bea0e4fSmrg# this is /usr/lib:/lib, but when the MPI compilers are used 11786bea0e4fSmrg# the location of the communication and MPI libs are included too. 11796bea0e4fSmrg# If we don't find anything, use the default library path according 11806bea0e4fSmrg# to the aix ld manual. 11816bea0e4fSmrg# Store the results from the different compilers for each TAGNAME. 11826bea0e4fSmrg# Allow to override them for all tags through lt_cv_aix_libpath. 11836bea0e4fSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX], 11846bea0e4fSmrg[m4_require([_LT_DECL_SED])dnl 11856bea0e4fSmrgif test set = "${lt_cv_aix_libpath+set}"; then 11866bea0e4fSmrg aix_libpath=$lt_cv_aix_libpath 11876bea0e4fSmrgelse 11886bea0e4fSmrg AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 11896bea0e4fSmrg [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 11906bea0e4fSmrg lt_aix_libpath_sed='[ 11916bea0e4fSmrg /Import File Strings/,/^$/ { 11926bea0e4fSmrg /^0/ { 11936bea0e4fSmrg s/^0 *\([^ ]*\) *$/\1/ 11946bea0e4fSmrg p 11956bea0e4fSmrg } 11966bea0e4fSmrg }]' 11976bea0e4fSmrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 11986bea0e4fSmrg # Check for a 64-bit object if we didn't find anything. 11996bea0e4fSmrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 12006bea0e4fSmrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 12016bea0e4fSmrg fi],[]) 12026bea0e4fSmrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 12036bea0e4fSmrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib 12046bea0e4fSmrg fi 12056bea0e4fSmrg ]) 12066bea0e4fSmrg aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 12076bea0e4fSmrgfi 12086bea0e4fSmrg])# _LT_SYS_MODULE_PATH_AIX 12096bea0e4fSmrg 12106bea0e4fSmrg 12116bea0e4fSmrg# _LT_SHELL_INIT(ARG) 12126bea0e4fSmrg# ------------------- 12136bea0e4fSmrgm4_define([_LT_SHELL_INIT], 12146bea0e4fSmrg[m4_divert_text([M4SH-INIT], [$1 12156bea0e4fSmrg])])# _LT_SHELL_INIT 12166bea0e4fSmrg 12176bea0e4fSmrg 12186bea0e4fSmrg 12196bea0e4fSmrg# _LT_PROG_ECHO_BACKSLASH 12206bea0e4fSmrg# ----------------------- 12216bea0e4fSmrg# Find how we can fake an echo command that does not interpret backslash. 12226bea0e4fSmrg# In particular, with Autoconf 2.60 or later we add some code to the start 12236bea0e4fSmrg# of the generated configure script that will find a shell with a builtin 12246bea0e4fSmrg# printf (that we can use as an echo command). 12256bea0e4fSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH], 12266bea0e4fSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 12276bea0e4fSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 12286bea0e4fSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 12296bea0e4fSmrg 12306bea0e4fSmrgAC_MSG_CHECKING([how to print strings]) 12316bea0e4fSmrg# Test print first, because it will be a builtin if present. 12326bea0e4fSmrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 12336bea0e4fSmrg test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 12346bea0e4fSmrg ECHO='print -r --' 12356bea0e4fSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 12366bea0e4fSmrg ECHO='printf %s\n' 12376bea0e4fSmrgelse 12386bea0e4fSmrg # Use this function as a fallback that always works. 12396bea0e4fSmrg func_fallback_echo () 12406bea0e4fSmrg { 12416bea0e4fSmrg eval 'cat <<_LTECHO_EOF 12426bea0e4fSmrg$[]1 12436bea0e4fSmrg_LTECHO_EOF' 12446bea0e4fSmrg } 12456bea0e4fSmrg ECHO='func_fallback_echo' 12466bea0e4fSmrgfi 12476bea0e4fSmrg 12486bea0e4fSmrg# func_echo_all arg... 12496bea0e4fSmrg# Invoke $ECHO with all args, space-separated. 12506bea0e4fSmrgfunc_echo_all () 12516bea0e4fSmrg{ 12526bea0e4fSmrg $ECHO "$*" 12536bea0e4fSmrg} 12546bea0e4fSmrg 12556bea0e4fSmrgcase $ECHO in 12566bea0e4fSmrg printf*) AC_MSG_RESULT([printf]) ;; 12576bea0e4fSmrg print*) AC_MSG_RESULT([print -r]) ;; 12586bea0e4fSmrg *) AC_MSG_RESULT([cat]) ;; 12596bea0e4fSmrgesac 12606bea0e4fSmrg 12616bea0e4fSmrgm4_ifdef([_AS_DETECT_SUGGESTED], 12626bea0e4fSmrg[_AS_DETECT_SUGGESTED([ 12636bea0e4fSmrg test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 12646bea0e4fSmrg ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 12656bea0e4fSmrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 12666bea0e4fSmrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 12676bea0e4fSmrg PATH=/empty FPATH=/empty; export PATH FPATH 12686bea0e4fSmrg test "X`printf %s $ECHO`" = "X$ECHO" \ 12696bea0e4fSmrg || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 12706bea0e4fSmrg 12716bea0e4fSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 12726bea0e4fSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 12736bea0e4fSmrg])# _LT_PROG_ECHO_BACKSLASH 12746bea0e4fSmrg 12756bea0e4fSmrg 12766bea0e4fSmrg# _LT_WITH_SYSROOT 12776bea0e4fSmrg# ---------------- 12786bea0e4fSmrgAC_DEFUN([_LT_WITH_SYSROOT], 12796bea0e4fSmrg[m4_require([_LT_DECL_SED])dnl 12806bea0e4fSmrgAC_MSG_CHECKING([for sysroot]) 12816bea0e4fSmrgAC_ARG_WITH([sysroot], 12826bea0e4fSmrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], 12836bea0e4fSmrg [Search for dependent libraries within DIR (or the compiler's sysroot 12846bea0e4fSmrg if not specified).])], 12856bea0e4fSmrg[], [with_sysroot=no]) 12866bea0e4fSmrg 12876bea0e4fSmrgdnl lt_sysroot will always be passed unquoted. We quote it here 12886bea0e4fSmrgdnl in case the user passed a directory name. 12896bea0e4fSmrglt_sysroot= 12906bea0e4fSmrgcase $with_sysroot in #( 12916bea0e4fSmrg yes) 12926bea0e4fSmrg if test yes = "$GCC"; then 12936bea0e4fSmrg # Trim trailing / since we'll always append absolute paths and we want 12946bea0e4fSmrg # to avoid //, if only for less confusing output for the user. 12956bea0e4fSmrg lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'` 12966bea0e4fSmrg fi 12976bea0e4fSmrg ;; #( 12986bea0e4fSmrg /*) 12996bea0e4fSmrg lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` 13006bea0e4fSmrg ;; #( 13016bea0e4fSmrg no|'') 13026bea0e4fSmrg ;; #( 13036bea0e4fSmrg *) 13046bea0e4fSmrg AC_MSG_RESULT([$with_sysroot]) 13056bea0e4fSmrg AC_MSG_ERROR([The sysroot must be an absolute path.]) 13066bea0e4fSmrg ;; 13076bea0e4fSmrgesac 13086bea0e4fSmrg 13096bea0e4fSmrg AC_MSG_RESULT([${lt_sysroot:-no}]) 13106bea0e4fSmrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 13116bea0e4fSmrg[dependent libraries, and where our libraries should be installed.])]) 13126bea0e4fSmrg 13136bea0e4fSmrg# _LT_ENABLE_LOCK 13146bea0e4fSmrg# --------------- 13156bea0e4fSmrgm4_defun([_LT_ENABLE_LOCK], 13166bea0e4fSmrg[AC_ARG_ENABLE([libtool-lock], 13176bea0e4fSmrg [AS_HELP_STRING([--disable-libtool-lock], 13186bea0e4fSmrg [avoid locking (might break parallel builds)])]) 13196bea0e4fSmrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes 13206bea0e4fSmrg 13216bea0e4fSmrg# Some flags need to be propagated to the compiler or linker for good 13226bea0e4fSmrg# libtool support. 13236bea0e4fSmrgcase $host in 13246bea0e4fSmrgia64-*-hpux*) 13256bea0e4fSmrg # Find out what ABI is being produced by ac_compile, and set mode 13266bea0e4fSmrg # options accordingly. 13276bea0e4fSmrg echo 'int i;' > conftest.$ac_ext 13286bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 13296bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13306bea0e4fSmrg *ELF-32*) 13316bea0e4fSmrg HPUX_IA64_MODE=32 13326bea0e4fSmrg ;; 13336bea0e4fSmrg *ELF-64*) 13346bea0e4fSmrg HPUX_IA64_MODE=64 13356bea0e4fSmrg ;; 13366bea0e4fSmrg esac 13376bea0e4fSmrg fi 13386bea0e4fSmrg rm -rf conftest* 13396bea0e4fSmrg ;; 13406bea0e4fSmrg*-*-irix6*) 13416bea0e4fSmrg # Find out what ABI is being produced by ac_compile, and set linker 13426bea0e4fSmrg # options accordingly. 13436bea0e4fSmrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 13446bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 13456bea0e4fSmrg if test yes = "$lt_cv_prog_gnu_ld"; then 13466bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13476bea0e4fSmrg *32-bit*) 13486bea0e4fSmrg LD="${LD-ld} -melf32bsmip" 13496bea0e4fSmrg ;; 13506bea0e4fSmrg *N32*) 13516bea0e4fSmrg LD="${LD-ld} -melf32bmipn32" 13526bea0e4fSmrg ;; 13536bea0e4fSmrg *64-bit*) 13546bea0e4fSmrg LD="${LD-ld} -melf64bmip" 13556bea0e4fSmrg ;; 13566bea0e4fSmrg esac 13576bea0e4fSmrg else 13586bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13596bea0e4fSmrg *32-bit*) 13606bea0e4fSmrg LD="${LD-ld} -32" 13616bea0e4fSmrg ;; 13626bea0e4fSmrg *N32*) 13636bea0e4fSmrg LD="${LD-ld} -n32" 13646bea0e4fSmrg ;; 13656bea0e4fSmrg *64-bit*) 13666bea0e4fSmrg LD="${LD-ld} -64" 13676bea0e4fSmrg ;; 13686bea0e4fSmrg esac 13696bea0e4fSmrg fi 13706bea0e4fSmrg fi 13716bea0e4fSmrg rm -rf conftest* 13726bea0e4fSmrg ;; 13736bea0e4fSmrg 13746bea0e4fSmrgmips64*-*linux*) 13756bea0e4fSmrg # Find out what ABI is being produced by ac_compile, and set linker 13766bea0e4fSmrg # options accordingly. 13776bea0e4fSmrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 13786bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 13796bea0e4fSmrg emul=elf 13806bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13816bea0e4fSmrg *32-bit*) 13826bea0e4fSmrg emul="${emul}32" 13836bea0e4fSmrg ;; 13846bea0e4fSmrg *64-bit*) 13856bea0e4fSmrg emul="${emul}64" 13866bea0e4fSmrg ;; 13876bea0e4fSmrg esac 13886bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13896bea0e4fSmrg *MSB*) 13906bea0e4fSmrg emul="${emul}btsmip" 13916bea0e4fSmrg ;; 13926bea0e4fSmrg *LSB*) 13936bea0e4fSmrg emul="${emul}ltsmip" 13946bea0e4fSmrg ;; 13956bea0e4fSmrg esac 13966bea0e4fSmrg case `$FILECMD conftest.$ac_objext` in 13976bea0e4fSmrg *N32*) 13986bea0e4fSmrg emul="${emul}n32" 13996bea0e4fSmrg ;; 14006bea0e4fSmrg esac 14016bea0e4fSmrg LD="${LD-ld} -m $emul" 14026bea0e4fSmrg fi 14036bea0e4fSmrg rm -rf conftest* 14046bea0e4fSmrg ;; 14056bea0e4fSmrg 14066bea0e4fSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 14076bea0e4fSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) 14086bea0e4fSmrg # Find out what ABI is being produced by ac_compile, and set linker 14096bea0e4fSmrg # options accordingly. Note that the listed cases only cover the 14106bea0e4fSmrg # situations where additional linker options are needed (such as when 14116bea0e4fSmrg # doing 32-bit compilation for a host where ld defaults to 64-bit, or 14126bea0e4fSmrg # vice versa); the common cases where no linker options are needed do 14136bea0e4fSmrg # not appear in the list. 14146bea0e4fSmrg echo 'int i;' > conftest.$ac_ext 14156bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 14166bea0e4fSmrg case `$FILECMD conftest.o` in 14176bea0e4fSmrg *32-bit*) 14186bea0e4fSmrg case $host in 14196bea0e4fSmrg x86_64-*kfreebsd*-gnu) 14206bea0e4fSmrg LD="${LD-ld} -m elf_i386_fbsd" 14216bea0e4fSmrg ;; 14226bea0e4fSmrg x86_64-*linux*|x86_64-gnu*) 14236bea0e4fSmrg case `$FILECMD conftest.o` in 14246bea0e4fSmrg *x86-64*) 14256bea0e4fSmrg LD="${LD-ld} -m elf32_x86_64" 14266bea0e4fSmrg ;; 14276bea0e4fSmrg *) 14286bea0e4fSmrg LD="${LD-ld} -m elf_i386" 14296bea0e4fSmrg ;; 14306bea0e4fSmrg esac 14316bea0e4fSmrg ;; 14326bea0e4fSmrg powerpc64le-*linux*) 14336bea0e4fSmrg LD="${LD-ld} -m elf32lppclinux" 14346bea0e4fSmrg ;; 14356bea0e4fSmrg powerpc64-*linux*) 14366bea0e4fSmrg LD="${LD-ld} -m elf32ppclinux" 14376bea0e4fSmrg ;; 14386bea0e4fSmrg s390x-*linux*) 14396bea0e4fSmrg LD="${LD-ld} -m elf_s390" 14406bea0e4fSmrg ;; 14416bea0e4fSmrg sparc64-*linux*) 14426bea0e4fSmrg LD="${LD-ld} -m elf32_sparc" 14436bea0e4fSmrg ;; 14446bea0e4fSmrg esac 14456bea0e4fSmrg ;; 14466bea0e4fSmrg *64-bit*) 14476bea0e4fSmrg case $host in 14486bea0e4fSmrg x86_64-*kfreebsd*-gnu) 14496bea0e4fSmrg LD="${LD-ld} -m elf_x86_64_fbsd" 14506bea0e4fSmrg ;; 14516bea0e4fSmrg x86_64-*linux*|x86_64-gnu*) 14526bea0e4fSmrg LD="${LD-ld} -m elf_x86_64" 14536bea0e4fSmrg ;; 14546bea0e4fSmrg powerpcle-*linux*) 14556bea0e4fSmrg LD="${LD-ld} -m elf64lppc" 14566bea0e4fSmrg ;; 14576bea0e4fSmrg powerpc-*linux*) 14586bea0e4fSmrg LD="${LD-ld} -m elf64ppc" 14596bea0e4fSmrg ;; 14606bea0e4fSmrg s390*-*linux*|s390*-*tpf*) 14616bea0e4fSmrg LD="${LD-ld} -m elf64_s390" 14626bea0e4fSmrg ;; 14636bea0e4fSmrg sparc*-*linux*) 14646bea0e4fSmrg LD="${LD-ld} -m elf64_sparc" 14656bea0e4fSmrg ;; 14666bea0e4fSmrg esac 14676bea0e4fSmrg ;; 14686bea0e4fSmrg esac 14696bea0e4fSmrg fi 14706bea0e4fSmrg rm -rf conftest* 14716bea0e4fSmrg ;; 14726bea0e4fSmrg 14736bea0e4fSmrg*-*-sco3.2v5*) 14746bea0e4fSmrg # On SCO OpenServer 5, we need -belf to get full-featured binaries. 14756bea0e4fSmrg SAVE_CFLAGS=$CFLAGS 14766bea0e4fSmrg CFLAGS="$CFLAGS -belf" 14776bea0e4fSmrg AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 14786bea0e4fSmrg [AC_LANG_PUSH(C) 14796bea0e4fSmrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 14806bea0e4fSmrg AC_LANG_POP]) 14816bea0e4fSmrg if test yes != "$lt_cv_cc_needs_belf"; then 14826bea0e4fSmrg # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 14836bea0e4fSmrg CFLAGS=$SAVE_CFLAGS 14846bea0e4fSmrg fi 14856bea0e4fSmrg ;; 14866bea0e4fSmrg*-*solaris*) 14876bea0e4fSmrg # Find out what ABI is being produced by ac_compile, and set linker 14886bea0e4fSmrg # options accordingly. 14896bea0e4fSmrg echo 'int i;' > conftest.$ac_ext 14906bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 14916bea0e4fSmrg case `$FILECMD conftest.o` in 14926bea0e4fSmrg *64-bit*) 14936bea0e4fSmrg case $lt_cv_prog_gnu_ld in 14946bea0e4fSmrg yes*) 14956bea0e4fSmrg case $host in 14966bea0e4fSmrg i?86-*-solaris*|x86_64-*-solaris*) 14976bea0e4fSmrg LD="${LD-ld} -m elf_x86_64" 14986bea0e4fSmrg ;; 14996bea0e4fSmrg sparc*-*-solaris*) 15006bea0e4fSmrg LD="${LD-ld} -m elf64_sparc" 15016bea0e4fSmrg ;; 15026bea0e4fSmrg esac 15036bea0e4fSmrg # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 15046bea0e4fSmrg if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 15056bea0e4fSmrg LD=${LD-ld}_sol2 15066bea0e4fSmrg fi 15076bea0e4fSmrg ;; 15086bea0e4fSmrg *) 15096bea0e4fSmrg if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 15106bea0e4fSmrg LD="${LD-ld} -64" 15116bea0e4fSmrg fi 15126bea0e4fSmrg ;; 15136bea0e4fSmrg esac 15146bea0e4fSmrg ;; 15156bea0e4fSmrg esac 15166bea0e4fSmrg fi 15176bea0e4fSmrg rm -rf conftest* 15186bea0e4fSmrg ;; 15196bea0e4fSmrgesac 15206bea0e4fSmrg 15216bea0e4fSmrgneed_locks=$enable_libtool_lock 15226bea0e4fSmrg])# _LT_ENABLE_LOCK 15236bea0e4fSmrg 15246bea0e4fSmrg 15256bea0e4fSmrg# _LT_PROG_AR 15266bea0e4fSmrg# ----------- 15276bea0e4fSmrgm4_defun([_LT_PROG_AR], 15286bea0e4fSmrg[AC_CHECK_TOOLS(AR, [ar], false) 15296bea0e4fSmrg: ${AR=ar} 15306bea0e4fSmrg_LT_DECL([], [AR], [1], [The archiver]) 15316bea0e4fSmrg 15326bea0e4fSmrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with 15336bea0e4fSmrg# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have 15346bea0e4fSmrg# higher priority because that's what people were doing historically (setting 15356bea0e4fSmrg# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS 15366bea0e4fSmrg# variable obsoleted/removed. 15376bea0e4fSmrg 15386bea0e4fSmrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} 15396bea0e4fSmrglt_ar_flags=$AR_FLAGS 15406bea0e4fSmrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) 15416bea0e4fSmrg 15426bea0e4fSmrg# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override 15436bea0e4fSmrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die. 15446bea0e4fSmrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], 15456bea0e4fSmrg [Flags to create an archive]) 15466bea0e4fSmrg 15476bea0e4fSmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 15486bea0e4fSmrg [lt_cv_ar_at_file=no 15496bea0e4fSmrg AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 15506bea0e4fSmrg [echo conftest.$ac_objext > conftest.lst 15516bea0e4fSmrg lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 15526bea0e4fSmrg AC_TRY_EVAL([lt_ar_try]) 15536bea0e4fSmrg if test 0 -eq "$ac_status"; then 15546bea0e4fSmrg # Ensure the archiver fails upon bogus file names. 15556bea0e4fSmrg rm -f conftest.$ac_objext libconftest.a 15566bea0e4fSmrg AC_TRY_EVAL([lt_ar_try]) 15576bea0e4fSmrg if test 0 -ne "$ac_status"; then 15586bea0e4fSmrg lt_cv_ar_at_file=@ 15596bea0e4fSmrg fi 15606bea0e4fSmrg fi 15616bea0e4fSmrg rm -f conftest.* libconftest.a 15626bea0e4fSmrg ]) 15636bea0e4fSmrg ]) 15646bea0e4fSmrg 15656bea0e4fSmrgif test no = "$lt_cv_ar_at_file"; then 15666bea0e4fSmrg archiver_list_spec= 15676bea0e4fSmrgelse 15686bea0e4fSmrg archiver_list_spec=$lt_cv_ar_at_file 15696bea0e4fSmrgfi 15706bea0e4fSmrg_LT_DECL([], [archiver_list_spec], [1], 15716bea0e4fSmrg [How to feed a file listing to the archiver]) 15726bea0e4fSmrg])# _LT_PROG_AR 15736bea0e4fSmrg 15746bea0e4fSmrg 15756bea0e4fSmrg# _LT_CMD_OLD_ARCHIVE 15766bea0e4fSmrg# ------------------- 15776bea0e4fSmrgm4_defun([_LT_CMD_OLD_ARCHIVE], 15786bea0e4fSmrg[_LT_PROG_AR 15796bea0e4fSmrg 15806bea0e4fSmrgAC_CHECK_TOOL(STRIP, strip, :) 15816bea0e4fSmrgtest -z "$STRIP" && STRIP=: 15826bea0e4fSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 15836bea0e4fSmrg 15846bea0e4fSmrgAC_REQUIRE([AC_PROG_RANLIB]) 15856bea0e4fSmrgtest -z "$RANLIB" && RANLIB=: 15866bea0e4fSmrg_LT_DECL([], [RANLIB], [1], 15876bea0e4fSmrg [Commands used to install an old-style archive]) 15886bea0e4fSmrg 15896bea0e4fSmrg# Determine commands to create old-style static archives. 15906bea0e4fSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 15916bea0e4fSmrgold_postinstall_cmds='chmod 644 $oldlib' 15926bea0e4fSmrgold_postuninstall_cmds= 15936bea0e4fSmrg 15946bea0e4fSmrgif test -n "$RANLIB"; then 15956bea0e4fSmrg old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 15966bea0e4fSmrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 15976bea0e4fSmrgfi 15986bea0e4fSmrg 15996bea0e4fSmrgcase $host_os in 16006bea0e4fSmrg darwin*) 16016bea0e4fSmrg lock_old_archive_extraction=yes ;; 16026bea0e4fSmrg *) 16036bea0e4fSmrg lock_old_archive_extraction=no ;; 16046bea0e4fSmrgesac 16056bea0e4fSmrg_LT_DECL([], [old_postinstall_cmds], [2]) 16066bea0e4fSmrg_LT_DECL([], [old_postuninstall_cmds], [2]) 16076bea0e4fSmrg_LT_TAGDECL([], [old_archive_cmds], [2], 16086bea0e4fSmrg [Commands used to build an old-style archive]) 16096bea0e4fSmrg_LT_DECL([], [lock_old_archive_extraction], [0], 16106bea0e4fSmrg [Whether to use a lock for old archive extraction]) 16116bea0e4fSmrg])# _LT_CMD_OLD_ARCHIVE 16126bea0e4fSmrg 16136bea0e4fSmrg 16146bea0e4fSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 16156bea0e4fSmrg# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 16166bea0e4fSmrg# ---------------------------------------------------------------- 16176bea0e4fSmrg# Check whether the given compiler option works 16186bea0e4fSmrgAC_DEFUN([_LT_COMPILER_OPTION], 16196bea0e4fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 16206bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 16216bea0e4fSmrgAC_CACHE_CHECK([$1], [$2], 16226bea0e4fSmrg [$2=no 16236bea0e4fSmrg m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 16246bea0e4fSmrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 16256bea0e4fSmrg lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment 16266bea0e4fSmrg # Insert the option either (1) after the last *FLAGS variable, or 16276bea0e4fSmrg # (2) before a word containing "conftest.", or (3) at the end. 16286bea0e4fSmrg # Note that $ac_compile itself does not contain backslashes and begins 16296bea0e4fSmrg # with a dollar sign (not a hyphen), so the echo should work correctly. 16306bea0e4fSmrg # The option is referenced via a variable to avoid confusing sed. 16316bea0e4fSmrg lt_compile=`echo "$ac_compile" | $SED \ 16326bea0e4fSmrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 16336bea0e4fSmrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 16346bea0e4fSmrg -e 's:$: $lt_compiler_flag:'` 16356bea0e4fSmrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 16366bea0e4fSmrg (eval "$lt_compile" 2>conftest.err) 16376bea0e4fSmrg ac_status=$? 16386bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 16396bea0e4fSmrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 16406bea0e4fSmrg if (exit $ac_status) && test -s "$ac_outfile"; then 16416bea0e4fSmrg # The compiler can only warn and ignore the option if not recognized 16426bea0e4fSmrg # So say no if there are warnings other than the usual output. 16436bea0e4fSmrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 16446bea0e4fSmrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 16456bea0e4fSmrg if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 16466bea0e4fSmrg $2=yes 16476bea0e4fSmrg fi 16486bea0e4fSmrg fi 16496bea0e4fSmrg $RM conftest* 16506bea0e4fSmrg]) 16516bea0e4fSmrg 16526bea0e4fSmrgif test yes = "[$]$2"; then 16536bea0e4fSmrg m4_if([$5], , :, [$5]) 16546bea0e4fSmrgelse 16556bea0e4fSmrg m4_if([$6], , :, [$6]) 16566bea0e4fSmrgfi 16576bea0e4fSmrg])# _LT_COMPILER_OPTION 16586bea0e4fSmrg 16596bea0e4fSmrg# Old name: 16606bea0e4fSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 16616bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 16626bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 16636bea0e4fSmrg 16646bea0e4fSmrg 16656bea0e4fSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 16666bea0e4fSmrg# [ACTION-SUCCESS], [ACTION-FAILURE]) 16676bea0e4fSmrg# ---------------------------------------------------- 16686bea0e4fSmrg# Check whether the given linker option works 16696bea0e4fSmrgAC_DEFUN([_LT_LINKER_OPTION], 16706bea0e4fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 16716bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 16726bea0e4fSmrgAC_CACHE_CHECK([$1], [$2], 16736bea0e4fSmrg [$2=no 16746bea0e4fSmrg save_LDFLAGS=$LDFLAGS 16756bea0e4fSmrg LDFLAGS="$LDFLAGS $3" 16766bea0e4fSmrg echo "$lt_simple_link_test_code" > conftest.$ac_ext 16776bea0e4fSmrg if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 16786bea0e4fSmrg # The linker can only warn and ignore the option if not recognized 16796bea0e4fSmrg # So say no if there are warnings 16806bea0e4fSmrg if test -s conftest.err; then 16816bea0e4fSmrg # Append any errors to the config.log. 16826bea0e4fSmrg cat conftest.err 1>&AS_MESSAGE_LOG_FD 16836bea0e4fSmrg $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 16846bea0e4fSmrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 16856bea0e4fSmrg if diff conftest.exp conftest.er2 >/dev/null; then 16866bea0e4fSmrg $2=yes 16876bea0e4fSmrg fi 16886bea0e4fSmrg else 16896bea0e4fSmrg $2=yes 16906bea0e4fSmrg fi 16916bea0e4fSmrg fi 16926bea0e4fSmrg $RM -r conftest* 16936bea0e4fSmrg LDFLAGS=$save_LDFLAGS 16946bea0e4fSmrg]) 16956bea0e4fSmrg 16966bea0e4fSmrgif test yes = "[$]$2"; then 16976bea0e4fSmrg m4_if([$4], , :, [$4]) 16986bea0e4fSmrgelse 16996bea0e4fSmrg m4_if([$5], , :, [$5]) 17006bea0e4fSmrgfi 17016bea0e4fSmrg])# _LT_LINKER_OPTION 17026bea0e4fSmrg 17036bea0e4fSmrg# Old name: 17046bea0e4fSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 17056bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 17066bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 17076bea0e4fSmrg 17086bea0e4fSmrg 17096bea0e4fSmrg# LT_CMD_MAX_LEN 17106bea0e4fSmrg#--------------- 17116bea0e4fSmrgAC_DEFUN([LT_CMD_MAX_LEN], 17126bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 17136bea0e4fSmrg# find the maximum length of command line arguments 17146bea0e4fSmrgAC_MSG_CHECKING([the maximum length of command line arguments]) 17156bea0e4fSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 17166bea0e4fSmrg i=0 17176bea0e4fSmrg teststring=ABCD 17186bea0e4fSmrg 17196bea0e4fSmrg case $build_os in 17206bea0e4fSmrg msdosdjgpp*) 17216bea0e4fSmrg # On DJGPP, this test can blow up pretty badly due to problems in libc 17226bea0e4fSmrg # (any single argument exceeding 2000 bytes causes a buffer overrun 17236bea0e4fSmrg # during glob expansion). Even if it were fixed, the result of this 17246bea0e4fSmrg # check would be larger than it should be. 17256bea0e4fSmrg lt_cv_sys_max_cmd_len=12288; # 12K is about right 17266bea0e4fSmrg ;; 17276bea0e4fSmrg 17286bea0e4fSmrg gnu* | ironclad*) 17296bea0e4fSmrg # Under GNU Hurd and Ironclad, this test is not required because there 17306bea0e4fSmrg # is no limit to the length of command line arguments. 17316bea0e4fSmrg # Libtool will interpret -1 as no limit whatsoever 17326bea0e4fSmrg lt_cv_sys_max_cmd_len=-1; 17336bea0e4fSmrg ;; 17346bea0e4fSmrg 17356bea0e4fSmrg cygwin* | mingw* | windows* | cegcc*) 17366bea0e4fSmrg # On Win9x/ME, this test blows up -- it succeeds, but takes 17376bea0e4fSmrg # about 5 minutes as the teststring grows exponentially. 17386bea0e4fSmrg # Worse, since 9x/ME are not pre-emptively multitasking, 17396bea0e4fSmrg # you end up with a "frozen" computer, even though with patience 17406bea0e4fSmrg # the test eventually succeeds (with a max line length of 256k). 17416bea0e4fSmrg # Instead, let's just punt: use the minimum linelength reported by 17426bea0e4fSmrg # all of the supported platforms: 8192 (on NT/2K/XP). 17436bea0e4fSmrg lt_cv_sys_max_cmd_len=8192; 17446bea0e4fSmrg ;; 17456bea0e4fSmrg 17466bea0e4fSmrg mint*) 17476bea0e4fSmrg # On MiNT this can take a long time and run out of memory. 17486bea0e4fSmrg lt_cv_sys_max_cmd_len=8192; 17496bea0e4fSmrg ;; 17506bea0e4fSmrg 17516bea0e4fSmrg amigaos*) 17526bea0e4fSmrg # On AmigaOS with pdksh, this test takes hours, literally. 17536bea0e4fSmrg # So we just punt and use a minimum line length of 8192. 17546bea0e4fSmrg lt_cv_sys_max_cmd_len=8192; 17556bea0e4fSmrg ;; 17566bea0e4fSmrg 17576bea0e4fSmrg darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) 17586bea0e4fSmrg # This has been around since 386BSD, at least. Likely further. 17596bea0e4fSmrg if test -x /sbin/sysctl; then 17606bea0e4fSmrg lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 17616bea0e4fSmrg elif test -x /usr/sbin/sysctl; then 17626bea0e4fSmrg lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 17636bea0e4fSmrg else 17646bea0e4fSmrg lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 17656bea0e4fSmrg fi 17666bea0e4fSmrg # And add a safety zone 17676bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 17686bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 17696bea0e4fSmrg ;; 17706bea0e4fSmrg 17716bea0e4fSmrg interix*) 17726bea0e4fSmrg # We know the value 262144 and hardcode it with a safety zone (like BSD) 17736bea0e4fSmrg lt_cv_sys_max_cmd_len=196608 17746bea0e4fSmrg ;; 17756bea0e4fSmrg 17766bea0e4fSmrg os2*) 17776bea0e4fSmrg # The test takes a long time on OS/2. 17786bea0e4fSmrg lt_cv_sys_max_cmd_len=8192 17796bea0e4fSmrg ;; 17806bea0e4fSmrg 17816bea0e4fSmrg osf*) 17826bea0e4fSmrg # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 17836bea0e4fSmrg # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 17846bea0e4fSmrg # nice to cause kernel panics so lets avoid the loop below. 17856bea0e4fSmrg # First set a reasonable default. 17866bea0e4fSmrg lt_cv_sys_max_cmd_len=16384 17876bea0e4fSmrg # 17886bea0e4fSmrg if test -x /sbin/sysconfig; then 17896bea0e4fSmrg case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 17906bea0e4fSmrg *1*) lt_cv_sys_max_cmd_len=-1 ;; 17916bea0e4fSmrg esac 17926bea0e4fSmrg fi 17936bea0e4fSmrg ;; 17946bea0e4fSmrg sco3.2v5*) 17956bea0e4fSmrg lt_cv_sys_max_cmd_len=102400 17966bea0e4fSmrg ;; 17976bea0e4fSmrg sysv5* | sco5v6* | sysv4.2uw2*) 17986bea0e4fSmrg kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 17996bea0e4fSmrg if test -n "$kargmax"; then 18006bea0e4fSmrg lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` 18016bea0e4fSmrg else 18026bea0e4fSmrg lt_cv_sys_max_cmd_len=32768 18036bea0e4fSmrg fi 18046bea0e4fSmrg ;; 18056bea0e4fSmrg *) 18066bea0e4fSmrg lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 18076bea0e4fSmrg if test -n "$lt_cv_sys_max_cmd_len" && \ 18086bea0e4fSmrg test undefined != "$lt_cv_sys_max_cmd_len"; then 18096bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 18106bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 18116bea0e4fSmrg else 18126bea0e4fSmrg # Make teststring a little bigger before we do anything with it. 18136bea0e4fSmrg # a 1K string should be a reasonable start. 18146bea0e4fSmrg for i in 1 2 3 4 5 6 7 8; do 18156bea0e4fSmrg teststring=$teststring$teststring 18166bea0e4fSmrg done 18176bea0e4fSmrg SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 18186bea0e4fSmrg # If test is not a shell built-in, we'll probably end up computing a 18196bea0e4fSmrg # maximum length that is only half of the actual maximum length, but 18206bea0e4fSmrg # we can't tell. 18216bea0e4fSmrg while { test X`env echo "$teststring$teststring" 2>/dev/null` \ 18226bea0e4fSmrg = "X$teststring$teststring"; } >/dev/null 2>&1 && 18236bea0e4fSmrg test 17 != "$i" # 1/2 MB should be enough 18246bea0e4fSmrg do 18256bea0e4fSmrg i=`expr $i + 1` 18266bea0e4fSmrg teststring=$teststring$teststring 18276bea0e4fSmrg done 18286bea0e4fSmrg # Only check the string length outside the loop. 18296bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 18306bea0e4fSmrg teststring= 18316bea0e4fSmrg # Add a significant safety factor because C++ compilers can tack on 18326bea0e4fSmrg # massive amounts of additional arguments before passing them to the 18336bea0e4fSmrg # linker. It appears as though 1/2 is a usable value. 18346bea0e4fSmrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 18356bea0e4fSmrg fi 18366bea0e4fSmrg ;; 18376bea0e4fSmrg esac 18386bea0e4fSmrg]) 18396bea0e4fSmrgif test -n "$lt_cv_sys_max_cmd_len"; then 18406bea0e4fSmrg AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 18416bea0e4fSmrgelse 18426bea0e4fSmrg AC_MSG_RESULT(none) 18436bea0e4fSmrgfi 18446bea0e4fSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len 18456bea0e4fSmrg_LT_DECL([], [max_cmd_len], [0], 18466bea0e4fSmrg [What is the maximum length of a command?]) 18476bea0e4fSmrg])# LT_CMD_MAX_LEN 18486bea0e4fSmrg 18496bea0e4fSmrg# Old name: 18506bea0e4fSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 18516bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 18526bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 18536bea0e4fSmrg 18546bea0e4fSmrg 18556bea0e4fSmrg# _LT_HEADER_DLFCN 18566bea0e4fSmrg# ---------------- 18576bea0e4fSmrgm4_defun([_LT_HEADER_DLFCN], 18586bea0e4fSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 18596bea0e4fSmrg])# _LT_HEADER_DLFCN 18606bea0e4fSmrg 18616bea0e4fSmrg 18626bea0e4fSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 18636bea0e4fSmrg# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 18646bea0e4fSmrg# ---------------------------------------------------------------- 18656bea0e4fSmrgm4_defun([_LT_TRY_DLOPEN_SELF], 18666bea0e4fSmrg[m4_require([_LT_HEADER_DLFCN])dnl 18676bea0e4fSmrgif test yes = "$cross_compiling"; then : 18686bea0e4fSmrg [$4] 18696bea0e4fSmrgelse 18706bea0e4fSmrg lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 18716bea0e4fSmrg lt_status=$lt_dlunknown 18726bea0e4fSmrg cat > conftest.$ac_ext <<_LT_EOF 18736bea0e4fSmrg[#line $LINENO "configure" 18746bea0e4fSmrg#include "confdefs.h" 18756bea0e4fSmrg 18766bea0e4fSmrg#if HAVE_DLFCN_H 18776bea0e4fSmrg#include <dlfcn.h> 18786bea0e4fSmrg#endif 18796bea0e4fSmrg 18806bea0e4fSmrg#include <stdio.h> 18816bea0e4fSmrg 18826bea0e4fSmrg#ifdef RTLD_GLOBAL 18836bea0e4fSmrg# define LT_DLGLOBAL RTLD_GLOBAL 18846bea0e4fSmrg#else 18856bea0e4fSmrg# ifdef DL_GLOBAL 18866bea0e4fSmrg# define LT_DLGLOBAL DL_GLOBAL 18876bea0e4fSmrg# else 18886bea0e4fSmrg# define LT_DLGLOBAL 0 18896bea0e4fSmrg# endif 18906bea0e4fSmrg#endif 18916bea0e4fSmrg 18926bea0e4fSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 18936bea0e4fSmrg find out it does not work in some platform. */ 18946bea0e4fSmrg#ifndef LT_DLLAZY_OR_NOW 18956bea0e4fSmrg# ifdef RTLD_LAZY 18966bea0e4fSmrg# define LT_DLLAZY_OR_NOW RTLD_LAZY 18976bea0e4fSmrg# else 18986bea0e4fSmrg# ifdef DL_LAZY 18996bea0e4fSmrg# define LT_DLLAZY_OR_NOW DL_LAZY 19006bea0e4fSmrg# else 19016bea0e4fSmrg# ifdef RTLD_NOW 19026bea0e4fSmrg# define LT_DLLAZY_OR_NOW RTLD_NOW 19036bea0e4fSmrg# else 19046bea0e4fSmrg# ifdef DL_NOW 19056bea0e4fSmrg# define LT_DLLAZY_OR_NOW DL_NOW 19066bea0e4fSmrg# else 19076bea0e4fSmrg# define LT_DLLAZY_OR_NOW 0 19086bea0e4fSmrg# endif 19096bea0e4fSmrg# endif 19106bea0e4fSmrg# endif 19116bea0e4fSmrg# endif 19126bea0e4fSmrg#endif 19136bea0e4fSmrg 19146bea0e4fSmrg/* When -fvisibility=hidden is used, assume the code has been annotated 19156bea0e4fSmrg correspondingly for the symbols needed. */ 19166bea0e4fSmrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 19176bea0e4fSmrgint fnord (void) __attribute__((visibility("default"))); 19186bea0e4fSmrg#endif 19196bea0e4fSmrg 19206bea0e4fSmrgint fnord (void) { return 42; } 19216bea0e4fSmrgint main (void) 19226bea0e4fSmrg{ 19236bea0e4fSmrg void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 19246bea0e4fSmrg int status = $lt_dlunknown; 19256bea0e4fSmrg 19266bea0e4fSmrg if (self) 19276bea0e4fSmrg { 19286bea0e4fSmrg if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 19296bea0e4fSmrg else 19306bea0e4fSmrg { 19316bea0e4fSmrg if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 19326bea0e4fSmrg else puts (dlerror ()); 19336bea0e4fSmrg } 19346bea0e4fSmrg /* dlclose (self); */ 19356bea0e4fSmrg } 19366bea0e4fSmrg else 19376bea0e4fSmrg puts (dlerror ()); 19386bea0e4fSmrg 19396bea0e4fSmrg return status; 19406bea0e4fSmrg}] 19416bea0e4fSmrg_LT_EOF 19426bea0e4fSmrg if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then 19436bea0e4fSmrg (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 19446bea0e4fSmrg lt_status=$? 19456bea0e4fSmrg case x$lt_status in 19466bea0e4fSmrg x$lt_dlno_uscore) $1 ;; 19476bea0e4fSmrg x$lt_dlneed_uscore) $2 ;; 19486bea0e4fSmrg x$lt_dlunknown|x*) $3 ;; 19496bea0e4fSmrg esac 19506bea0e4fSmrg else : 19516bea0e4fSmrg # compilation failed 19526bea0e4fSmrg $3 19536bea0e4fSmrg fi 19546bea0e4fSmrgfi 19556bea0e4fSmrgrm -fr conftest* 19566bea0e4fSmrg])# _LT_TRY_DLOPEN_SELF 19576bea0e4fSmrg 19586bea0e4fSmrg 19596bea0e4fSmrg# LT_SYS_DLOPEN_SELF 19606bea0e4fSmrg# ------------------ 19616bea0e4fSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF], 19626bea0e4fSmrg[m4_require([_LT_HEADER_DLFCN])dnl 19636bea0e4fSmrgif test yes != "$enable_dlopen"; then 19646bea0e4fSmrg enable_dlopen=unknown 19656bea0e4fSmrg enable_dlopen_self=unknown 19666bea0e4fSmrg enable_dlopen_self_static=unknown 19676bea0e4fSmrgelse 19686bea0e4fSmrg lt_cv_dlopen=no 19696bea0e4fSmrg lt_cv_dlopen_libs= 19706bea0e4fSmrg 19716bea0e4fSmrg case $host_os in 19726bea0e4fSmrg beos*) 19736bea0e4fSmrg lt_cv_dlopen=load_add_on 19746bea0e4fSmrg lt_cv_dlopen_libs= 19756bea0e4fSmrg lt_cv_dlopen_self=yes 19766bea0e4fSmrg ;; 19776bea0e4fSmrg 19786bea0e4fSmrg mingw* | windows* | pw32* | cegcc*) 19796bea0e4fSmrg lt_cv_dlopen=LoadLibrary 19806bea0e4fSmrg lt_cv_dlopen_libs= 19816bea0e4fSmrg ;; 19826bea0e4fSmrg 19836bea0e4fSmrg cygwin*) 19846bea0e4fSmrg lt_cv_dlopen=dlopen 19856bea0e4fSmrg lt_cv_dlopen_libs= 19866bea0e4fSmrg ;; 19876bea0e4fSmrg 19886bea0e4fSmrg darwin*) 19896bea0e4fSmrg # if libdl is installed we need to link against it 19906bea0e4fSmrg AC_CHECK_LIB([dl], [dlopen], 19916bea0e4fSmrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ 19926bea0e4fSmrg lt_cv_dlopen=dyld 19936bea0e4fSmrg lt_cv_dlopen_libs= 19946bea0e4fSmrg lt_cv_dlopen_self=yes 19956bea0e4fSmrg ]) 19966bea0e4fSmrg ;; 19976bea0e4fSmrg 19986bea0e4fSmrg tpf*) 19996bea0e4fSmrg # Don't try to run any link tests for TPF. We know it's impossible 20006bea0e4fSmrg # because TPF is a cross-compiler, and we know how we open DSOs. 20016bea0e4fSmrg lt_cv_dlopen=dlopen 20026bea0e4fSmrg lt_cv_dlopen_libs= 20036bea0e4fSmrg lt_cv_dlopen_self=no 20046bea0e4fSmrg ;; 20056bea0e4fSmrg 20066bea0e4fSmrg *) 20076bea0e4fSmrg AC_CHECK_FUNC([shl_load], 20086bea0e4fSmrg [lt_cv_dlopen=shl_load], 20096bea0e4fSmrg [AC_CHECK_LIB([dld], [shl_load], 20106bea0e4fSmrg [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], 20116bea0e4fSmrg [AC_CHECK_FUNC([dlopen], 20126bea0e4fSmrg [lt_cv_dlopen=dlopen], 20136bea0e4fSmrg [AC_CHECK_LIB([dl], [dlopen], 20146bea0e4fSmrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], 20156bea0e4fSmrg [AC_CHECK_LIB([svld], [dlopen], 20166bea0e4fSmrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], 20176bea0e4fSmrg [AC_CHECK_LIB([dld], [dld_link], 20186bea0e4fSmrg [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) 20196bea0e4fSmrg ]) 20206bea0e4fSmrg ]) 20216bea0e4fSmrg ]) 20226bea0e4fSmrg ]) 20236bea0e4fSmrg ]) 20246bea0e4fSmrg ;; 20256bea0e4fSmrg esac 20266bea0e4fSmrg 20276bea0e4fSmrg if test no = "$lt_cv_dlopen"; then 20286bea0e4fSmrg enable_dlopen=no 20296bea0e4fSmrg else 20306bea0e4fSmrg enable_dlopen=yes 20316bea0e4fSmrg fi 20326bea0e4fSmrg 20336bea0e4fSmrg case $lt_cv_dlopen in 20346bea0e4fSmrg dlopen) 20356bea0e4fSmrg save_CPPFLAGS=$CPPFLAGS 20366bea0e4fSmrg test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 20376bea0e4fSmrg 20386bea0e4fSmrg save_LDFLAGS=$LDFLAGS 20396bea0e4fSmrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 20406bea0e4fSmrg 20416bea0e4fSmrg save_LIBS=$LIBS 20426bea0e4fSmrg LIBS="$lt_cv_dlopen_libs $LIBS" 20436bea0e4fSmrg 20446bea0e4fSmrg AC_CACHE_CHECK([whether a program can dlopen itself], 20456bea0e4fSmrg lt_cv_dlopen_self, [dnl 20466bea0e4fSmrg _LT_TRY_DLOPEN_SELF( 20476bea0e4fSmrg lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 20486bea0e4fSmrg lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 20496bea0e4fSmrg ]) 20506bea0e4fSmrg 20516bea0e4fSmrg if test yes = "$lt_cv_dlopen_self"; then 20526bea0e4fSmrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 20536bea0e4fSmrg AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 20546bea0e4fSmrg lt_cv_dlopen_self_static, [dnl 20556bea0e4fSmrg _LT_TRY_DLOPEN_SELF( 20566bea0e4fSmrg lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 20576bea0e4fSmrg lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 20586bea0e4fSmrg ]) 20596bea0e4fSmrg fi 20606bea0e4fSmrg 20616bea0e4fSmrg CPPFLAGS=$save_CPPFLAGS 20626bea0e4fSmrg LDFLAGS=$save_LDFLAGS 20636bea0e4fSmrg LIBS=$save_LIBS 20646bea0e4fSmrg ;; 20656bea0e4fSmrg esac 20666bea0e4fSmrg 20676bea0e4fSmrg case $lt_cv_dlopen_self in 20686bea0e4fSmrg yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 20696bea0e4fSmrg *) enable_dlopen_self=unknown ;; 20706bea0e4fSmrg esac 20716bea0e4fSmrg 20726bea0e4fSmrg case $lt_cv_dlopen_self_static in 20736bea0e4fSmrg yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 20746bea0e4fSmrg *) enable_dlopen_self_static=unknown ;; 20756bea0e4fSmrg esac 20766bea0e4fSmrgfi 20776bea0e4fSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0], 20786bea0e4fSmrg [Whether dlopen is supported]) 20796bea0e4fSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 20806bea0e4fSmrg [Whether dlopen of programs is supported]) 20816bea0e4fSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 20826bea0e4fSmrg [Whether dlopen of statically linked programs is supported]) 20836bea0e4fSmrg])# LT_SYS_DLOPEN_SELF 20846bea0e4fSmrg 20856bea0e4fSmrg# Old name: 20866bea0e4fSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 20876bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 20886bea0e4fSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 20896bea0e4fSmrg 20906bea0e4fSmrg 20916bea0e4fSmrg# _LT_COMPILER_C_O([TAGNAME]) 20926bea0e4fSmrg# --------------------------- 20936bea0e4fSmrg# Check to see if options -c and -o are simultaneously supported by compiler. 20946bea0e4fSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O. 20956bea0e4fSmrgm4_defun([_LT_COMPILER_C_O], 20966bea0e4fSmrg[m4_require([_LT_DECL_SED])dnl 20976bea0e4fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 20986bea0e4fSmrgm4_require([_LT_TAG_COMPILER])dnl 20996bea0e4fSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 21006bea0e4fSmrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 21016bea0e4fSmrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 21026bea0e4fSmrg $RM -r conftest 2>/dev/null 21036bea0e4fSmrg mkdir conftest 21046bea0e4fSmrg cd conftest 21056bea0e4fSmrg mkdir out 21066bea0e4fSmrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 21076bea0e4fSmrg 21086bea0e4fSmrg lt_compiler_flag="-o out/conftest2.$ac_objext" 21096bea0e4fSmrg # Insert the option either (1) after the last *FLAGS variable, or 21106bea0e4fSmrg # (2) before a word containing "conftest.", or (3) at the end. 21116bea0e4fSmrg # Note that $ac_compile itself does not contain backslashes and begins 21126bea0e4fSmrg # with a dollar sign (not a hyphen), so the echo should work correctly. 21136bea0e4fSmrg lt_compile=`echo "$ac_compile" | $SED \ 21146bea0e4fSmrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 21156bea0e4fSmrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 21166bea0e4fSmrg -e 's:$: $lt_compiler_flag:'` 21176bea0e4fSmrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 21186bea0e4fSmrg (eval "$lt_compile" 2>out/conftest.err) 21196bea0e4fSmrg ac_status=$? 21206bea0e4fSmrg cat out/conftest.err >&AS_MESSAGE_LOG_FD 21216bea0e4fSmrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 21226bea0e4fSmrg if (exit $ac_status) && test -s out/conftest2.$ac_objext 21236bea0e4fSmrg then 21246bea0e4fSmrg # The compiler can only warn and ignore the option if not recognized 21256bea0e4fSmrg # So say no if there are warnings 21266bea0e4fSmrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 21276bea0e4fSmrg $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 21286bea0e4fSmrg if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 21296bea0e4fSmrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 21306bea0e4fSmrg fi 21316bea0e4fSmrg fi 21326bea0e4fSmrg chmod u+w . 2>&AS_MESSAGE_LOG_FD 21336bea0e4fSmrg $RM conftest* 21346bea0e4fSmrg # SGI C++ compiler will create directory out/ii_files/ for 21356bea0e4fSmrg # template instantiation 21366bea0e4fSmrg test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 21376bea0e4fSmrg $RM out/* && rmdir out 21386bea0e4fSmrg cd .. 21396bea0e4fSmrg $RM -r conftest 21406bea0e4fSmrg $RM conftest* 21416bea0e4fSmrg]) 21426bea0e4fSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 21436bea0e4fSmrg [Does compiler simultaneously support -c and -o options?]) 21446bea0e4fSmrg])# _LT_COMPILER_C_O 21456bea0e4fSmrg 21466bea0e4fSmrg 21476bea0e4fSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 21486bea0e4fSmrg# ---------------------------------- 21496bea0e4fSmrg# Check to see if we can do hard links to lock some files if needed 21506bea0e4fSmrgm4_defun([_LT_COMPILER_FILE_LOCKS], 21516bea0e4fSmrg[m4_require([_LT_ENABLE_LOCK])dnl 21526bea0e4fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 21536bea0e4fSmrg_LT_COMPILER_C_O([$1]) 21546bea0e4fSmrg 21556bea0e4fSmrghard_links=nottested 21566bea0e4fSmrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then 21576bea0e4fSmrg # do not overwrite the value of need_locks provided by the user 21586bea0e4fSmrg AC_MSG_CHECKING([if we can lock with hard links]) 21596bea0e4fSmrg hard_links=yes 21606bea0e4fSmrg $RM conftest* 21616bea0e4fSmrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 21626bea0e4fSmrg touch conftest.a 21636bea0e4fSmrg ln conftest.a conftest.b 2>&5 || hard_links=no 21646bea0e4fSmrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 21656bea0e4fSmrg AC_MSG_RESULT([$hard_links]) 21666bea0e4fSmrg if test no = "$hard_links"; then 21676bea0e4fSmrg AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) 21686bea0e4fSmrg need_locks=warn 21696bea0e4fSmrg fi 21706bea0e4fSmrgelse 21716bea0e4fSmrg need_locks=no 21726bea0e4fSmrgfi 21736bea0e4fSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 21746bea0e4fSmrg])# _LT_COMPILER_FILE_LOCKS 21756bea0e4fSmrg 21766bea0e4fSmrg 21776bea0e4fSmrg# _LT_CHECK_OBJDIR 21786bea0e4fSmrg# ---------------- 21796bea0e4fSmrgm4_defun([_LT_CHECK_OBJDIR], 21806bea0e4fSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 21816bea0e4fSmrg[rm -f .libs 2>/dev/null 21826bea0e4fSmrgmkdir .libs 2>/dev/null 21836bea0e4fSmrgif test -d .libs; then 21846bea0e4fSmrg lt_cv_objdir=.libs 21856bea0e4fSmrgelse 21866bea0e4fSmrg # MS-DOS does not allow filenames that begin with a dot. 21876bea0e4fSmrg lt_cv_objdir=_libs 21886bea0e4fSmrgfi 21896bea0e4fSmrgrmdir .libs 2>/dev/null]) 21906bea0e4fSmrgobjdir=$lt_cv_objdir 21916bea0e4fSmrg_LT_DECL([], [objdir], [0], 21926bea0e4fSmrg [The name of the directory that contains temporary libtool files])dnl 21936bea0e4fSmrgm4_pattern_allow([LT_OBJDIR])dnl 21946bea0e4fSmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", 21956bea0e4fSmrg [Define to the sub-directory where libtool stores uninstalled libraries.]) 21966bea0e4fSmrg])# _LT_CHECK_OBJDIR 21976bea0e4fSmrg 21986bea0e4fSmrg 21996bea0e4fSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 22006bea0e4fSmrg# -------------------------------------- 22016bea0e4fSmrg# Check hardcoding attributes. 22026bea0e4fSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 22036bea0e4fSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs]) 22046bea0e4fSmrg_LT_TAGVAR(hardcode_action, $1)= 22056bea0e4fSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 22066bea0e4fSmrg test -n "$_LT_TAGVAR(runpath_var, $1)" || 22076bea0e4fSmrg test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then 22086bea0e4fSmrg 22096bea0e4fSmrg # We can hardcode non-existent directories. 22106bea0e4fSmrg if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && 22116bea0e4fSmrg # If the only mechanism to avoid hardcoding is shlibpath_var, we 22126bea0e4fSmrg # have to relink, otherwise we might link with an installed library 22136bea0e4fSmrg # when we should be linking with a yet-to-be-installed one 22146bea0e4fSmrg ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && 22156bea0e4fSmrg test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then 22166bea0e4fSmrg # Linking always hardcodes the temporary library directory. 22176bea0e4fSmrg _LT_TAGVAR(hardcode_action, $1)=relink 22186bea0e4fSmrg else 22196bea0e4fSmrg # We can link without hardcoding, and we can hardcode nonexisting dirs. 22206bea0e4fSmrg _LT_TAGVAR(hardcode_action, $1)=immediate 22216bea0e4fSmrg fi 22226bea0e4fSmrgelse 22236bea0e4fSmrg # We cannot hardcode anything, or else we can only hardcode existing 22246bea0e4fSmrg # directories. 22256bea0e4fSmrg _LT_TAGVAR(hardcode_action, $1)=unsupported 22266bea0e4fSmrgfi 22276bea0e4fSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 22286bea0e4fSmrg 22296bea0e4fSmrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" || 22306bea0e4fSmrg test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then 22316bea0e4fSmrg # Fast installation is not supported 22326bea0e4fSmrg enable_fast_install=no 22336bea0e4fSmrgelif test yes = "$shlibpath_overrides_runpath" || 22346bea0e4fSmrg test no = "$enable_shared"; then 22356bea0e4fSmrg # Fast installation is not necessary 22366bea0e4fSmrg enable_fast_install=needless 22376bea0e4fSmrgfi 22386bea0e4fSmrg_LT_TAGDECL([], [hardcode_action], [0], 22396bea0e4fSmrg [How to hardcode a shared library path into an executable]) 22406bea0e4fSmrg])# _LT_LINKER_HARDCODE_LIBPATH 22416bea0e4fSmrg 22426bea0e4fSmrg 22436bea0e4fSmrg# _LT_CMD_STRIPLIB 22446bea0e4fSmrg# ---------------- 22456bea0e4fSmrgm4_defun([_LT_CMD_STRIPLIB], 22466bea0e4fSmrg[m4_require([_LT_DECL_EGREP]) 22476bea0e4fSmrgstriplib= 22486bea0e4fSmrgold_striplib= 22496bea0e4fSmrgAC_MSG_CHECKING([whether stripping libraries is possible]) 22506bea0e4fSmrgif test -z "$STRIP"; then 22516bea0e4fSmrg AC_MSG_RESULT([no]) 22526bea0e4fSmrgelse 22536bea0e4fSmrg if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 22546bea0e4fSmrg old_striplib="$STRIP --strip-debug" 22556bea0e4fSmrg striplib="$STRIP --strip-unneeded" 22566bea0e4fSmrg AC_MSG_RESULT([yes]) 22576bea0e4fSmrg else 22586bea0e4fSmrg case $host_os in 22596bea0e4fSmrg darwin*) 22606bea0e4fSmrg # FIXME - insert some real tests, host_os isn't really good enough 22616bea0e4fSmrg striplib="$STRIP -x" 22626bea0e4fSmrg old_striplib="$STRIP -S" 22636bea0e4fSmrg AC_MSG_RESULT([yes]) 22646bea0e4fSmrg ;; 22656bea0e4fSmrg freebsd*) 22666bea0e4fSmrg if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then 22676bea0e4fSmrg old_striplib="$STRIP --strip-debug" 22686bea0e4fSmrg striplib="$STRIP --strip-unneeded" 22696bea0e4fSmrg AC_MSG_RESULT([yes]) 22706bea0e4fSmrg else 22716bea0e4fSmrg AC_MSG_RESULT([no]) 22726bea0e4fSmrg fi 22736bea0e4fSmrg ;; 22746bea0e4fSmrg *) 22756bea0e4fSmrg AC_MSG_RESULT([no]) 22766bea0e4fSmrg ;; 22776bea0e4fSmrg esac 22786bea0e4fSmrg fi 22796bea0e4fSmrgfi 22806bea0e4fSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 22816bea0e4fSmrg_LT_DECL([], [striplib], [1]) 22826bea0e4fSmrg])# _LT_CMD_STRIPLIB 22836bea0e4fSmrg 22846bea0e4fSmrg 22856bea0e4fSmrg# _LT_PREPARE_MUNGE_PATH_LIST 22866bea0e4fSmrg# --------------------------- 22876bea0e4fSmrg# Make sure func_munge_path_list() is defined correctly. 22886bea0e4fSmrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST], 22896bea0e4fSmrg[[# func_munge_path_list VARIABLE PATH 22906bea0e4fSmrg# ----------------------------------- 22916bea0e4fSmrg# VARIABLE is name of variable containing _space_ separated list of 22926bea0e4fSmrg# directories to be munged by the contents of PATH, which is string 22936bea0e4fSmrg# having a format: 22946bea0e4fSmrg# "DIR[:DIR]:" 22956bea0e4fSmrg# string "DIR[ DIR]" will be prepended to VARIABLE 22966bea0e4fSmrg# ":DIR[:DIR]" 22976bea0e4fSmrg# string "DIR[ DIR]" will be appended to VARIABLE 22986bea0e4fSmrg# "DIRP[:DIRP]::[DIRA:]DIRA" 22996bea0e4fSmrg# string "DIRP[ DIRP]" will be prepended to VARIABLE and string 23006bea0e4fSmrg# "DIRA[ DIRA]" will be appended to VARIABLE 23016bea0e4fSmrg# "DIR[:DIR]" 23026bea0e4fSmrg# VARIABLE will be replaced by "DIR[ DIR]" 23036bea0e4fSmrgfunc_munge_path_list () 23046bea0e4fSmrg{ 23056bea0e4fSmrg case x@S|@2 in 23066bea0e4fSmrg x) 23076bea0e4fSmrg ;; 23086bea0e4fSmrg *:) 23096bea0e4fSmrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" 23106bea0e4fSmrg ;; 23116bea0e4fSmrg x:*) 23126bea0e4fSmrg eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" 23136bea0e4fSmrg ;; 23146bea0e4fSmrg *::*) 23156bea0e4fSmrg eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" 23166bea0e4fSmrg eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" 23176bea0e4fSmrg ;; 23186bea0e4fSmrg *) 23196bea0e4fSmrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" 23206bea0e4fSmrg ;; 23216bea0e4fSmrg esac 23226bea0e4fSmrg} 23236bea0e4fSmrg]])# _LT_PREPARE_PATH_LIST 23246bea0e4fSmrg 23256bea0e4fSmrg 23266bea0e4fSmrg# _LT_SYS_DYNAMIC_LINKER([TAG]) 23276bea0e4fSmrg# ----------------------------- 23286bea0e4fSmrg# PORTME Fill in your ld.so characteristics 23296bea0e4fSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER], 23306bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 23316bea0e4fSmrgm4_require([_LT_DECL_EGREP])dnl 23326bea0e4fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 23336bea0e4fSmrgm4_require([_LT_DECL_OBJDUMP])dnl 23346bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 23356bea0e4fSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 23366bea0e4fSmrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl 23376bea0e4fSmrgAC_MSG_CHECKING([dynamic linker characteristics]) 23386bea0e4fSmrgm4_if([$1], 23396bea0e4fSmrg [], [ 23406bea0e4fSmrgif test yes = "$GCC"; then 23416bea0e4fSmrg case $host_os in 23426bea0e4fSmrg darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 23436bea0e4fSmrg *) lt_awk_arg='/^libraries:/' ;; 23446bea0e4fSmrg esac 23456bea0e4fSmrg case $host_os in 23466bea0e4fSmrg mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; 23476bea0e4fSmrg *) lt_sed_strip_eq='s|=/|/|g' ;; 23486bea0e4fSmrg esac 23496bea0e4fSmrg lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 23506bea0e4fSmrg case $lt_search_path_spec in 23516bea0e4fSmrg *\;*) 23526bea0e4fSmrg # if the path contains ";" then we assume it to be the separator 23536bea0e4fSmrg # otherwise default to the standard path separator (i.e. ":") - it is 23546bea0e4fSmrg # assumed that no part of a normal pathname contains ";" but that should 23556bea0e4fSmrg # okay in the real world where ";" in dirpaths is itself problematic. 23566bea0e4fSmrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 23576bea0e4fSmrg ;; 23586bea0e4fSmrg *) 23596bea0e4fSmrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 23606bea0e4fSmrg ;; 23616bea0e4fSmrg esac 23626bea0e4fSmrg # Ok, now we have the path, separated by spaces, we can step through it 23636bea0e4fSmrg # and add multilib dir if necessary... 23646bea0e4fSmrg lt_tmp_lt_search_path_spec= 23656bea0e4fSmrg lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 23666bea0e4fSmrg # ...but if some path component already ends with the multilib dir we assume 23676bea0e4fSmrg # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). 23686bea0e4fSmrg case "$lt_multi_os_dir; $lt_search_path_spec " in 23696bea0e4fSmrg "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 23706bea0e4fSmrg lt_multi_os_dir= 23716bea0e4fSmrg ;; 23726bea0e4fSmrg esac 23736bea0e4fSmrg for lt_sys_path in $lt_search_path_spec; do 23746bea0e4fSmrg if test -d "$lt_sys_path$lt_multi_os_dir"; then 23756bea0e4fSmrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" 23766bea0e4fSmrg elif test -n "$lt_multi_os_dir"; then 23776bea0e4fSmrg test -d "$lt_sys_path" && \ 23786bea0e4fSmrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 23796bea0e4fSmrg fi 23806bea0e4fSmrg done 23816bea0e4fSmrg lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 23826bea0e4fSmrgBEGIN {RS = " "; FS = "/|\n";} { 23836bea0e4fSmrg lt_foo = ""; 23846bea0e4fSmrg lt_count = 0; 23856bea0e4fSmrg for (lt_i = NF; lt_i > 0; lt_i--) { 23866bea0e4fSmrg if ($lt_i != "" && $lt_i != ".") { 23876bea0e4fSmrg if ($lt_i == "..") { 23886bea0e4fSmrg lt_count++; 23896bea0e4fSmrg } else { 23906bea0e4fSmrg if (lt_count == 0) { 23916bea0e4fSmrg lt_foo = "/" $lt_i lt_foo; 23926bea0e4fSmrg } else { 23936bea0e4fSmrg lt_count--; 23946bea0e4fSmrg } 23956bea0e4fSmrg } 23966bea0e4fSmrg } 23976bea0e4fSmrg } 23986bea0e4fSmrg if (lt_foo != "") { lt_freq[[lt_foo]]++; } 23996bea0e4fSmrg if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 24006bea0e4fSmrg}'` 24016bea0e4fSmrg # AWK program above erroneously prepends '/' to C:/dos/paths 24026bea0e4fSmrg # for these hosts. 24036bea0e4fSmrg case $host_os in 24046bea0e4fSmrg mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 24056bea0e4fSmrg $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; 24066bea0e4fSmrg esac 24076bea0e4fSmrg sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 24086bea0e4fSmrgelse 24096bea0e4fSmrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 24106bea0e4fSmrgfi]) 24116bea0e4fSmrglibrary_names_spec= 24126bea0e4fSmrglibname_spec='lib$name' 24136bea0e4fSmrgsoname_spec= 24146bea0e4fSmrgshrext_cmds=.so 24156bea0e4fSmrgpostinstall_cmds= 24166bea0e4fSmrgpostuninstall_cmds= 24176bea0e4fSmrgfinish_cmds= 24186bea0e4fSmrgfinish_eval= 24196bea0e4fSmrgshlibpath_var= 24206bea0e4fSmrgshlibpath_overrides_runpath=unknown 24216bea0e4fSmrgversion_type=none 24226bea0e4fSmrgdynamic_linker="$host_os ld.so" 24236bea0e4fSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib" 24246bea0e4fSmrgneed_lib_prefix=unknown 24256bea0e4fSmrghardcode_into_libs=no 24266bea0e4fSmrg 24276bea0e4fSmrg# when you set need_version to no, make sure it does not cause -set_version 24286bea0e4fSmrg# flags to be left without arguments 24296bea0e4fSmrgneed_version=unknown 24306bea0e4fSmrg 24316bea0e4fSmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH], 24326bea0e4fSmrg[User-defined run-time library search path.]) 24336bea0e4fSmrg 24346bea0e4fSmrgcase $host_os in 24356bea0e4fSmrgaix3*) 24366bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 24376bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 24386bea0e4fSmrg shlibpath_var=LIBPATH 24396bea0e4fSmrg 24406bea0e4fSmrg # AIX 3 has no versioning support, so we append a major version to the name. 24416bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 24426bea0e4fSmrg ;; 24436bea0e4fSmrg 24446bea0e4fSmrgaix[[4-9]]*) 24456bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 24466bea0e4fSmrg need_lib_prefix=no 24476bea0e4fSmrg need_version=no 24486bea0e4fSmrg hardcode_into_libs=yes 24496bea0e4fSmrg if test ia64 = "$host_cpu"; then 24506bea0e4fSmrg # AIX 5 supports IA64 24516bea0e4fSmrg library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 24526bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 24536bea0e4fSmrg else 24546bea0e4fSmrg # With GCC up to 2.95.x, collect2 would create an import file 24556bea0e4fSmrg # for dependence libraries. The import file would start with 24566bea0e4fSmrg # the line '#! .'. This would cause the generated library to 24576bea0e4fSmrg # depend on '.', always an invalid library. This was fixed in 24586bea0e4fSmrg # development snapshots of GCC prior to 3.0. 24596bea0e4fSmrg case $host_os in 24606bea0e4fSmrg aix4 | aix4.[[01]] | aix4.[[01]].*) 24616bea0e4fSmrg if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 24626bea0e4fSmrg echo ' yes ' 24636bea0e4fSmrg echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then 24646bea0e4fSmrg : 24656bea0e4fSmrg else 24666bea0e4fSmrg can_build_shared=no 24676bea0e4fSmrg fi 24686bea0e4fSmrg ;; 24696bea0e4fSmrg esac 24706bea0e4fSmrg # Using Import Files as archive members, it is possible to support 24716bea0e4fSmrg # filename-based versioning of shared library archives on AIX. While 24726bea0e4fSmrg # this would work for both with and without runtime linking, it will 24736bea0e4fSmrg # prevent static linking of such archives. So we do filename-based 24746bea0e4fSmrg # shared library versioning with .so extension only, which is used 24756bea0e4fSmrg # when both runtime linking and shared linking is enabled. 24766bea0e4fSmrg # Unfortunately, runtime linking may impact performance, so we do 24776bea0e4fSmrg # not want this to be the default eventually. Also, we use the 24786bea0e4fSmrg # versioned .so libs for executables only if there is the -brtl 24796bea0e4fSmrg # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only. 24806bea0e4fSmrg # To allow for filename-based versioning support, we need to create 24816bea0e4fSmrg # libNAME.so.V as an archive file, containing: 24826bea0e4fSmrg # *) an Import File, referring to the versioned filename of the 24836bea0e4fSmrg # archive as well as the shared archive member, telling the 24846bea0e4fSmrg # bitwidth (32 or 64) of that shared object, and providing the 24856bea0e4fSmrg # list of exported symbols of that shared object, eventually 24866bea0e4fSmrg # decorated with the 'weak' keyword 24876bea0e4fSmrg # *) the shared object with the F_LOADONLY flag set, to really avoid 24886bea0e4fSmrg # it being seen by the linker. 24896bea0e4fSmrg # At run time we better use the real file rather than another symlink, 24906bea0e4fSmrg # but for link time we create the symlink libNAME.so -> libNAME.so.V 24916bea0e4fSmrg 24926bea0e4fSmrg case $with_aix_soname,$aix_use_runtimelinking in 24936bea0e4fSmrg # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 24946bea0e4fSmrg # soname into executable. Probably we can add versioning support to 24956bea0e4fSmrg # collect2, so additional links can be useful in future. 24966bea0e4fSmrg aix,yes) # traditional libtool 24976bea0e4fSmrg dynamic_linker='AIX unversionable lib.so' 24986bea0e4fSmrg # If using run time linking (on AIX 4.2 or later) use lib<name>.so 24996bea0e4fSmrg # instead of lib<name>.a to let people know that these are not 25006bea0e4fSmrg # typical AIX shared libraries. 25016bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 25026bea0e4fSmrg ;; 25036bea0e4fSmrg aix,no) # traditional AIX only 25046bea0e4fSmrg dynamic_linker='AIX lib.a[(]lib.so.V[)]' 25056bea0e4fSmrg # We preserve .a as extension for shared libraries through AIX4.2 25066bea0e4fSmrg # and later when we are not doing run time linking. 25076bea0e4fSmrg library_names_spec='$libname$release.a $libname.a' 25086bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 25096bea0e4fSmrg ;; 25106bea0e4fSmrg svr4,*) # full svr4 only 25116bea0e4fSmrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" 25126bea0e4fSmrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 25136bea0e4fSmrg # We do not specify a path in Import Files, so LIBPATH fires. 25146bea0e4fSmrg shlibpath_overrides_runpath=yes 25156bea0e4fSmrg ;; 25166bea0e4fSmrg *,yes) # both, prefer svr4 25176bea0e4fSmrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" 25186bea0e4fSmrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 25196bea0e4fSmrg # unpreferred sharedlib libNAME.a needs extra handling 25206bea0e4fSmrg 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"' 25216bea0e4fSmrg 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"' 25226bea0e4fSmrg # We do not specify a path in Import Files, so LIBPATH fires. 25236bea0e4fSmrg shlibpath_overrides_runpath=yes 25246bea0e4fSmrg ;; 25256bea0e4fSmrg *,no) # both, prefer aix 25266bea0e4fSmrg dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" 25276bea0e4fSmrg library_names_spec='$libname$release.a $libname.a' 25286bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 25296bea0e4fSmrg # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling 25306bea0e4fSmrg 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)' 25316bea0e4fSmrg 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"' 25326bea0e4fSmrg ;; 25336bea0e4fSmrg esac 25346bea0e4fSmrg shlibpath_var=LIBPATH 25356bea0e4fSmrg fi 25366bea0e4fSmrg ;; 25376bea0e4fSmrg 25386bea0e4fSmrgamigaos*) 25396bea0e4fSmrg case $host_cpu in 25406bea0e4fSmrg powerpc) 25416bea0e4fSmrg # Since July 2007 AmigaOS4 officially supports .so libraries. 25426bea0e4fSmrg # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 25436bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 25446bea0e4fSmrg ;; 25456bea0e4fSmrg m68k) 25466bea0e4fSmrg library_names_spec='$libname.ixlibrary $libname.a' 25476bea0e4fSmrg # Create ${libname}_ixlibrary.a entries in /sys/libs. 25486bea0e4fSmrg 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' 25496bea0e4fSmrg ;; 25506bea0e4fSmrg esac 25516bea0e4fSmrg ;; 25526bea0e4fSmrg 25536bea0e4fSmrgbeos*) 25546bea0e4fSmrg library_names_spec='$libname$shared_ext' 25556bea0e4fSmrg dynamic_linker="$host_os ld.so" 25566bea0e4fSmrg shlibpath_var=LIBRARY_PATH 25576bea0e4fSmrg ;; 25586bea0e4fSmrg 25596bea0e4fSmrgbsdi[[45]]*) 25606bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 25616bea0e4fSmrg need_version=no 25626bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 25636bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 25646bea0e4fSmrg finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 25656bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 25666bea0e4fSmrg sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 25676bea0e4fSmrg sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 25686bea0e4fSmrg # the default ld.so.conf also contains /usr/contrib/lib and 25696bea0e4fSmrg # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 25706bea0e4fSmrg # libtool to hard-code these into programs 25716bea0e4fSmrg ;; 25726bea0e4fSmrg 25736bea0e4fSmrgcygwin* | mingw* | windows* | pw32* | cegcc*) 25746bea0e4fSmrg version_type=windows 25756bea0e4fSmrg shrext_cmds=.dll 25766bea0e4fSmrg need_version=no 25776bea0e4fSmrg need_lib_prefix=no 25786bea0e4fSmrg 25796bea0e4fSmrg case $GCC,$cc_basename in 25806bea0e4fSmrg yes,*) 25816bea0e4fSmrg # gcc 25826bea0e4fSmrg library_names_spec='$libname.dll.a' 25836bea0e4fSmrg # DLL is installed to $(libdir)/../bin by postinstall_cmds 25846bea0e4fSmrg # If user builds GCC with multilib enabled, 25856bea0e4fSmrg # it should just install on $(libdir) 25866bea0e4fSmrg # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. 25876bea0e4fSmrg if test xyes = x"$multilib"; then 25886bea0e4fSmrg postinstall_cmds='base_file=`basename \$file`~ 25896bea0e4fSmrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 25906bea0e4fSmrg dldir=$destdir/`dirname \$dlpath`~ 25916bea0e4fSmrg $install_prog $dir/$dlname $destdir/$dlname~ 25926bea0e4fSmrg chmod a+x $destdir/$dlname~ 25936bea0e4fSmrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 25946bea0e4fSmrg eval '\''$striplib $destdir/$dlname'\'' || exit \$?; 25956bea0e4fSmrg fi' 25966bea0e4fSmrg else 25976bea0e4fSmrg postinstall_cmds='base_file=`basename \$file`~ 25986bea0e4fSmrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 25996bea0e4fSmrg dldir=$destdir/`dirname \$dlpath`~ 26006bea0e4fSmrg test -d \$dldir || mkdir -p \$dldir~ 26016bea0e4fSmrg $install_prog $dir/$dlname \$dldir/$dlname~ 26026bea0e4fSmrg chmod a+x \$dldir/$dlname~ 26036bea0e4fSmrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 26046bea0e4fSmrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 26056bea0e4fSmrg fi' 26066bea0e4fSmrg fi 26076bea0e4fSmrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 26086bea0e4fSmrg dlpath=$dir/\$dldll~ 26096bea0e4fSmrg $RM \$dlpath' 26106bea0e4fSmrg shlibpath_overrides_runpath=yes 26116bea0e4fSmrg 26126bea0e4fSmrg case $host_os in 26136bea0e4fSmrg cygwin*) 26146bea0e4fSmrg # Cygwin DLLs use 'cyg' prefix rather than 'lib' 26156bea0e4fSmrg soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 26166bea0e4fSmrgm4_if([$1], [],[ 26176bea0e4fSmrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 26186bea0e4fSmrg ;; 26196bea0e4fSmrg mingw* | windows* | cegcc*) 26206bea0e4fSmrg # MinGW DLLs use traditional 'lib' prefix 26216bea0e4fSmrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 26226bea0e4fSmrg ;; 26236bea0e4fSmrg pw32*) 26246bea0e4fSmrg # pw32 DLLs use 'pw' prefix rather than 'lib' 26256bea0e4fSmrg library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 26266bea0e4fSmrg ;; 26276bea0e4fSmrg esac 26286bea0e4fSmrg dynamic_linker='Win32 ld.exe' 26296bea0e4fSmrg ;; 26306bea0e4fSmrg 26316bea0e4fSmrg *,cl* | *,icl*) 26326bea0e4fSmrg # Native MSVC or ICC 26336bea0e4fSmrg libname_spec='$name' 26346bea0e4fSmrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 26356bea0e4fSmrg library_names_spec='$libname.dll.lib' 26366bea0e4fSmrg 26376bea0e4fSmrg case $build_os in 26386bea0e4fSmrg mingw* | windows*) 26396bea0e4fSmrg sys_lib_search_path_spec= 26406bea0e4fSmrg lt_save_ifs=$IFS 26416bea0e4fSmrg IFS=';' 26426bea0e4fSmrg for lt_path in $LIB 26436bea0e4fSmrg do 26446bea0e4fSmrg IFS=$lt_save_ifs 26456bea0e4fSmrg # Let DOS variable expansion print the short 8.3 style file name. 26466bea0e4fSmrg lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 26476bea0e4fSmrg sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 26486bea0e4fSmrg done 26496bea0e4fSmrg IFS=$lt_save_ifs 26506bea0e4fSmrg # Convert to MSYS style. 26516bea0e4fSmrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 26526bea0e4fSmrg ;; 26536bea0e4fSmrg cygwin*) 26546bea0e4fSmrg # Convert to unix form, then to dos form, then back to unix form 26556bea0e4fSmrg # but this time dos style (no spaces!) so that the unix form looks 26566bea0e4fSmrg # like /cygdrive/c/PROGRA~1:/cygdr... 26576bea0e4fSmrg sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 26586bea0e4fSmrg sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 26596bea0e4fSmrg sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 26606bea0e4fSmrg ;; 26616bea0e4fSmrg *) 26626bea0e4fSmrg sys_lib_search_path_spec=$LIB 26636bea0e4fSmrg if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 26646bea0e4fSmrg # It is most probably a Windows format PATH. 26656bea0e4fSmrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 26666bea0e4fSmrg else 26676bea0e4fSmrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 26686bea0e4fSmrg fi 26696bea0e4fSmrg # FIXME: find the short name or the path components, as spaces are 26706bea0e4fSmrg # common. (e.g. "Program Files" -> "PROGRA~1") 26716bea0e4fSmrg ;; 26726bea0e4fSmrg esac 26736bea0e4fSmrg 26746bea0e4fSmrg # DLL is installed to $(libdir)/../bin by postinstall_cmds 26756bea0e4fSmrg postinstall_cmds='base_file=`basename \$file`~ 26766bea0e4fSmrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 26776bea0e4fSmrg dldir=$destdir/`dirname \$dlpath`~ 26786bea0e4fSmrg test -d \$dldir || mkdir -p \$dldir~ 26796bea0e4fSmrg $install_prog $dir/$dlname \$dldir/$dlname' 26806bea0e4fSmrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 26816bea0e4fSmrg dlpath=$dir/\$dldll~ 26826bea0e4fSmrg $RM \$dlpath' 26836bea0e4fSmrg shlibpath_overrides_runpath=yes 26846bea0e4fSmrg dynamic_linker='Win32 link.exe' 26856bea0e4fSmrg ;; 26866bea0e4fSmrg 26876bea0e4fSmrg *) 26886bea0e4fSmrg # Assume MSVC and ICC wrapper 26896bea0e4fSmrg library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' 26906bea0e4fSmrg dynamic_linker='Win32 ld.exe' 26916bea0e4fSmrg ;; 26926bea0e4fSmrg esac 26936bea0e4fSmrg # FIXME: first we should search . and the directory the executable is in 26946bea0e4fSmrg shlibpath_var=PATH 26956bea0e4fSmrg ;; 26966bea0e4fSmrg 26976bea0e4fSmrgdarwin* | rhapsody*) 26986bea0e4fSmrg dynamic_linker="$host_os dyld" 26996bea0e4fSmrg version_type=darwin 27006bea0e4fSmrg need_lib_prefix=no 27016bea0e4fSmrg need_version=no 27026bea0e4fSmrg library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 27036bea0e4fSmrg soname_spec='$libname$release$major$shared_ext' 27046bea0e4fSmrg shlibpath_overrides_runpath=yes 27056bea0e4fSmrg shlibpath_var=DYLD_LIBRARY_PATH 27066bea0e4fSmrg shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 27076bea0e4fSmrgm4_if([$1], [],[ 27086bea0e4fSmrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 27096bea0e4fSmrg sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 27106bea0e4fSmrg ;; 27116bea0e4fSmrg 27126bea0e4fSmrgdgux*) 27136bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 27146bea0e4fSmrg need_lib_prefix=no 27156bea0e4fSmrg need_version=no 27166bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 27176bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 27186bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 27196bea0e4fSmrg ;; 27206bea0e4fSmrg 27216bea0e4fSmrgfreebsd* | dragonfly* | midnightbsd*) 27226bea0e4fSmrg # DragonFly does not have aout. When/if they implement a new 27236bea0e4fSmrg # versioning mechanism, adjust this. 27246bea0e4fSmrg if test -x /usr/bin/objformat; then 27256bea0e4fSmrg objformat=`/usr/bin/objformat` 27266bea0e4fSmrg else 27276bea0e4fSmrg case $host_os in 27286bea0e4fSmrg freebsd[[23]].*) objformat=aout ;; 27296bea0e4fSmrg *) objformat=elf ;; 27306bea0e4fSmrg esac 27316bea0e4fSmrg fi 27326bea0e4fSmrg version_type=freebsd-$objformat 27336bea0e4fSmrg case $version_type in 27346bea0e4fSmrg freebsd-elf*) 27356bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 27366bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 27376bea0e4fSmrg need_version=no 27386bea0e4fSmrg need_lib_prefix=no 27396bea0e4fSmrg ;; 27406bea0e4fSmrg freebsd-*) 27416bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 27426bea0e4fSmrg need_version=yes 27436bea0e4fSmrg ;; 27446bea0e4fSmrg esac 27456bea0e4fSmrg case $host_cpu in 27466bea0e4fSmrg powerpc64) 27476bea0e4fSmrg # On FreeBSD bi-arch platforms, a different variable is used for 32-bit 27486bea0e4fSmrg # binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>. 27496bea0e4fSmrg AC_COMPILE_IFELSE( 27506bea0e4fSmrg [AC_LANG_SOURCE( 27516bea0e4fSmrg [[int test_pointer_size[sizeof (void *) - 5]; 27526bea0e4fSmrg ]])], 27536bea0e4fSmrg [shlibpath_var=LD_LIBRARY_PATH], 27546bea0e4fSmrg [shlibpath_var=LD_32_LIBRARY_PATH]) 27556bea0e4fSmrg ;; 27566bea0e4fSmrg *) 27576bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 27586bea0e4fSmrg ;; 27596bea0e4fSmrg esac 27606bea0e4fSmrg case $host_os in 27616bea0e4fSmrg freebsd2.*) 27626bea0e4fSmrg shlibpath_overrides_runpath=yes 27636bea0e4fSmrg ;; 27646bea0e4fSmrg freebsd3.[[01]]* | freebsdelf3.[[01]]*) 27656bea0e4fSmrg shlibpath_overrides_runpath=yes 27666bea0e4fSmrg hardcode_into_libs=yes 27676bea0e4fSmrg ;; 27686bea0e4fSmrg freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 27696bea0e4fSmrg freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 27706bea0e4fSmrg shlibpath_overrides_runpath=no 27716bea0e4fSmrg hardcode_into_libs=yes 27726bea0e4fSmrg ;; 27736bea0e4fSmrg *) # from 4.6 on, and DragonFly 27746bea0e4fSmrg shlibpath_overrides_runpath=yes 27756bea0e4fSmrg hardcode_into_libs=yes 27766bea0e4fSmrg ;; 27776bea0e4fSmrg esac 27786bea0e4fSmrg ;; 27796bea0e4fSmrg 27806bea0e4fSmrghaiku*) 27816bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 27826bea0e4fSmrg need_lib_prefix=no 27836bea0e4fSmrg need_version=no 27846bea0e4fSmrg dynamic_linker="$host_os runtime_loader" 27856bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 27866bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 27876bea0e4fSmrg shlibpath_var=LIBRARY_PATH 27886bea0e4fSmrg shlibpath_overrides_runpath=no 27896bea0e4fSmrg sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib' 27906bea0e4fSmrg sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib' 27916bea0e4fSmrg hardcode_into_libs=no 27926bea0e4fSmrg ;; 27936bea0e4fSmrg 27946bea0e4fSmrghpux9* | hpux10* | hpux11*) 27956bea0e4fSmrg # Give a soname corresponding to the major version so that dld.sl refuses to 27966bea0e4fSmrg # link against other versions. 27976bea0e4fSmrg version_type=sunos 27986bea0e4fSmrg need_lib_prefix=no 27996bea0e4fSmrg need_version=no 28006bea0e4fSmrg case $host_cpu in 28016bea0e4fSmrg ia64*) 28026bea0e4fSmrg shrext_cmds='.so' 28036bea0e4fSmrg hardcode_into_libs=yes 28046bea0e4fSmrg dynamic_linker="$host_os dld.so" 28056bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 28066bea0e4fSmrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 28076bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 28086bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 28096bea0e4fSmrg if test 32 = "$HPUX_IA64_MODE"; then 28106bea0e4fSmrg sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 28116bea0e4fSmrg sys_lib_dlsearch_path_spec=/usr/lib/hpux32 28126bea0e4fSmrg else 28136bea0e4fSmrg sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 28146bea0e4fSmrg sys_lib_dlsearch_path_spec=/usr/lib/hpux64 28156bea0e4fSmrg fi 28166bea0e4fSmrg ;; 28176bea0e4fSmrg hppa*64*) 28186bea0e4fSmrg shrext_cmds='.sl' 28196bea0e4fSmrg hardcode_into_libs=yes 28206bea0e4fSmrg dynamic_linker="$host_os dld.sl" 28216bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 28226bea0e4fSmrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 28236bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 28246bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 28256bea0e4fSmrg sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 28266bea0e4fSmrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 28276bea0e4fSmrg ;; 28286bea0e4fSmrg *) 28296bea0e4fSmrg shrext_cmds='.sl' 28306bea0e4fSmrg dynamic_linker="$host_os dld.sl" 28316bea0e4fSmrg shlibpath_var=SHLIB_PATH 28326bea0e4fSmrg shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 28336bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 28346bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 28356bea0e4fSmrg ;; 28366bea0e4fSmrg esac 28376bea0e4fSmrg # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 28386bea0e4fSmrg postinstall_cmds='chmod 555 $lib' 28396bea0e4fSmrg # or fails outright, so override atomically: 28406bea0e4fSmrg install_override_mode=555 28416bea0e4fSmrg ;; 28426bea0e4fSmrg 28436bea0e4fSmrginterix[[3-9]]*) 28446bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 28456bea0e4fSmrg need_lib_prefix=no 28466bea0e4fSmrg need_version=no 28476bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 28486bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 28496bea0e4fSmrg dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 28506bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 28516bea0e4fSmrg shlibpath_overrides_runpath=no 28526bea0e4fSmrg hardcode_into_libs=yes 28536bea0e4fSmrg ;; 28546bea0e4fSmrg 28556bea0e4fSmrgirix5* | irix6* | nonstopux*) 28566bea0e4fSmrg case $host_os in 28576bea0e4fSmrg nonstopux*) version_type=nonstopux ;; 28586bea0e4fSmrg *) 28596bea0e4fSmrg if test yes = "$lt_cv_prog_gnu_ld"; then 28606bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 28616bea0e4fSmrg else 28626bea0e4fSmrg version_type=irix 28636bea0e4fSmrg fi ;; 28646bea0e4fSmrg esac 28656bea0e4fSmrg need_lib_prefix=no 28666bea0e4fSmrg need_version=no 28676bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 28686bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' 28696bea0e4fSmrg case $host_os in 28706bea0e4fSmrg irix5* | nonstopux*) 28716bea0e4fSmrg libsuff= shlibsuff= 28726bea0e4fSmrg ;; 28736bea0e4fSmrg *) 28746bea0e4fSmrg case $LD in # libtool.m4 will add one of these switches to LD 28756bea0e4fSmrg *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 28766bea0e4fSmrg libsuff= shlibsuff= libmagic=32-bit;; 28776bea0e4fSmrg *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 28786bea0e4fSmrg libsuff=32 shlibsuff=N32 libmagic=N32;; 28796bea0e4fSmrg *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 28806bea0e4fSmrg libsuff=64 shlibsuff=64 libmagic=64-bit;; 28816bea0e4fSmrg *) libsuff= shlibsuff= libmagic=never-match;; 28826bea0e4fSmrg esac 28836bea0e4fSmrg ;; 28846bea0e4fSmrg esac 28856bea0e4fSmrg shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 28866bea0e4fSmrg shlibpath_overrides_runpath=no 28876bea0e4fSmrg sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" 28886bea0e4fSmrg sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" 28896bea0e4fSmrg hardcode_into_libs=yes 28906bea0e4fSmrg ;; 28916bea0e4fSmrg 28926bea0e4fSmrg# No shared lib support for Linux oldld, aout, or coff. 28936bea0e4fSmrglinux*oldld* | linux*aout* | linux*coff*) 28946bea0e4fSmrg dynamic_linker=no 28956bea0e4fSmrg ;; 28966bea0e4fSmrg 28976bea0e4fSmrglinux*android*) 28986bea0e4fSmrg version_type=none # Android doesn't support versioned libraries. 28996bea0e4fSmrg need_lib_prefix=no 29006bea0e4fSmrg need_version=no 29016bea0e4fSmrg library_names_spec='$libname$release$shared_ext $libname$shared_ext' 29026bea0e4fSmrg soname_spec='$libname$release$shared_ext' 29036bea0e4fSmrg finish_cmds= 29046bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 29056bea0e4fSmrg shlibpath_overrides_runpath=yes 29066bea0e4fSmrg 29076bea0e4fSmrg # This implies no fast_install, which is unacceptable. 29086bea0e4fSmrg # Some rework will be needed to allow for fast_install 29096bea0e4fSmrg # before this can be enabled. 29106bea0e4fSmrg hardcode_into_libs=yes 29116bea0e4fSmrg 29126bea0e4fSmrg dynamic_linker='Android linker' 29136bea0e4fSmrg # -rpath works at least for libraries that are not overridden by 29146bea0e4fSmrg # libraries installed in system locations. 29156bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 29166bea0e4fSmrg ;; 29176bea0e4fSmrg 29186bea0e4fSmrg# This must be glibc/ELF. 29196bea0e4fSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 29206bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 29216bea0e4fSmrg need_lib_prefix=no 29226bea0e4fSmrg need_version=no 29236bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 29246bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 29256bea0e4fSmrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 29266bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 29276bea0e4fSmrg shlibpath_overrides_runpath=no 29286bea0e4fSmrg 29296bea0e4fSmrg # Some binutils ld are patched to set DT_RUNPATH 29306bea0e4fSmrg AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 29316bea0e4fSmrg [lt_cv_shlibpath_overrides_runpath=no 29326bea0e4fSmrg save_LDFLAGS=$LDFLAGS 29336bea0e4fSmrg save_libdir=$libdir 29346bea0e4fSmrg eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 29356bea0e4fSmrg LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 29366bea0e4fSmrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 29376bea0e4fSmrg [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 29386bea0e4fSmrg [lt_cv_shlibpath_overrides_runpath=yes])]) 29396bea0e4fSmrg LDFLAGS=$save_LDFLAGS 29406bea0e4fSmrg libdir=$save_libdir 29416bea0e4fSmrg ]) 29426bea0e4fSmrg shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 29436bea0e4fSmrg 29446bea0e4fSmrg # This implies no fast_install, which is unacceptable. 29456bea0e4fSmrg # Some rework will be needed to allow for fast_install 29466bea0e4fSmrg # before this can be enabled. 29476bea0e4fSmrg hardcode_into_libs=yes 29486bea0e4fSmrg 29496bea0e4fSmrg # Ideally, we could use ldconfig to report *all* directories which are 29506bea0e4fSmrg # searched for libraries, however this is still not possible. Aside from not 29516bea0e4fSmrg # being certain /sbin/ldconfig is available, command 29526bea0e4fSmrg # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, 29536bea0e4fSmrg # even though it is searched at run-time. Try to do the best guess by 29546bea0e4fSmrg # appending ld.so.conf contents (and includes) to the search path. 29556bea0e4fSmrg if test -f /etc/ld.so.conf; then 29566bea0e4fSmrg 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' ' '` 29576bea0e4fSmrg sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 29586bea0e4fSmrg fi 29596bea0e4fSmrg 29606bea0e4fSmrg # We used to test for /lib/ld.so.1 and disable shared libraries on 29616bea0e4fSmrg # powerpc, because MkLinux only supported shared libraries with the 29626bea0e4fSmrg # GNU dynamic linker. Since this was broken with cross compilers, 29636bea0e4fSmrg # most powerpc-linux boxes support dynamic linking these days and 29646bea0e4fSmrg # people can always --disable-shared, the test was removed, and we 29656bea0e4fSmrg # assume the GNU/Linux dynamic linker is in use. 29666bea0e4fSmrg dynamic_linker='GNU/Linux ld.so' 29676bea0e4fSmrg ;; 29686bea0e4fSmrg 29696bea0e4fSmrgnetbsdelf*-gnu) 29706bea0e4fSmrg version_type=linux 29716bea0e4fSmrg need_lib_prefix=no 29726bea0e4fSmrg need_version=no 29736bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 29746bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 29756bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 29766bea0e4fSmrg shlibpath_overrides_runpath=no 29776bea0e4fSmrg hardcode_into_libs=yes 29786bea0e4fSmrg dynamic_linker='NetBSD ld.elf_so' 29796bea0e4fSmrg ;; 29806bea0e4fSmrg 29816bea0e4fSmrgnetbsd*) 29826bea0e4fSmrg version_type=sunos 29836bea0e4fSmrg need_lib_prefix=no 29846bea0e4fSmrg need_version=no 29856bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 29866bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 29876bea0e4fSmrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 29886bea0e4fSmrg dynamic_linker='NetBSD (a.out) ld.so' 29896bea0e4fSmrg else 29906bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 29916bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 29926bea0e4fSmrg dynamic_linker='NetBSD ld.elf_so' 29936bea0e4fSmrg fi 29946bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 29956bea0e4fSmrg shlibpath_overrides_runpath=yes 29966bea0e4fSmrg hardcode_into_libs=yes 29976bea0e4fSmrg ;; 29986bea0e4fSmrg 29996bea0e4fSmrg*-mlibc) 30006bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 30016bea0e4fSmrg need_lib_prefix=no 30026bea0e4fSmrg need_version=no 30036bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 30046bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 30056bea0e4fSmrg dynamic_linker='mlibc ld.so' 30066bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30076bea0e4fSmrg shlibpath_overrides_runpath=no 30086bea0e4fSmrg hardcode_into_libs=yes 30096bea0e4fSmrg ;; 30106bea0e4fSmrg 30116bea0e4fSmrgnewsos6) 30126bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 30136bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 30146bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30156bea0e4fSmrg shlibpath_overrides_runpath=yes 30166bea0e4fSmrg ;; 30176bea0e4fSmrg 30186bea0e4fSmrg*nto* | *qnx*) 30196bea0e4fSmrg version_type=qnx 30206bea0e4fSmrg need_lib_prefix=no 30216bea0e4fSmrg need_version=no 30226bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 30236bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 30246bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30256bea0e4fSmrg shlibpath_overrides_runpath=no 30266bea0e4fSmrg hardcode_into_libs=yes 30276bea0e4fSmrg dynamic_linker='ldqnx.so' 30286bea0e4fSmrg ;; 30296bea0e4fSmrg 30306bea0e4fSmrgopenbsd*) 30316bea0e4fSmrg version_type=sunos 30326bea0e4fSmrg sys_lib_dlsearch_path_spec=/usr/lib 30336bea0e4fSmrg need_lib_prefix=no 30346bea0e4fSmrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 30356bea0e4fSmrg need_version=no 30366bea0e4fSmrg else 30376bea0e4fSmrg need_version=yes 30386bea0e4fSmrg fi 30396bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 30406bea0e4fSmrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 30416bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30426bea0e4fSmrg shlibpath_overrides_runpath=yes 30436bea0e4fSmrg ;; 30446bea0e4fSmrg 30456bea0e4fSmrgos2*) 30466bea0e4fSmrg libname_spec='$name' 30476bea0e4fSmrg version_type=windows 30486bea0e4fSmrg shrext_cmds=.dll 30496bea0e4fSmrg need_version=no 30506bea0e4fSmrg need_lib_prefix=no 30516bea0e4fSmrg # OS/2 can only load a DLL with a base name of 8 characters or less. 30526bea0e4fSmrg soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; 30536bea0e4fSmrg v=$($ECHO $release$versuffix | tr -d .-); 30546bea0e4fSmrg n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); 30556bea0e4fSmrg $ECHO $n$v`$shared_ext' 30566bea0e4fSmrg library_names_spec='${libname}_dll.$libext' 30576bea0e4fSmrg dynamic_linker='OS/2 ld.exe' 30586bea0e4fSmrg shlibpath_var=BEGINLIBPATH 30596bea0e4fSmrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 30606bea0e4fSmrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 30616bea0e4fSmrg postinstall_cmds='base_file=`basename \$file`~ 30626bea0e4fSmrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ 30636bea0e4fSmrg dldir=$destdir/`dirname \$dlpath`~ 30646bea0e4fSmrg test -d \$dldir || mkdir -p \$dldir~ 30656bea0e4fSmrg $install_prog $dir/$dlname \$dldir/$dlname~ 30666bea0e4fSmrg chmod a+x \$dldir/$dlname~ 30676bea0e4fSmrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 30686bea0e4fSmrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 30696bea0e4fSmrg fi' 30706bea0e4fSmrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ 30716bea0e4fSmrg dlpath=$dir/\$dldll~ 30726bea0e4fSmrg $RM \$dlpath' 30736bea0e4fSmrg ;; 30746bea0e4fSmrg 30756bea0e4fSmrgosf3* | osf4* | osf5*) 30766bea0e4fSmrg version_type=osf 30776bea0e4fSmrg need_lib_prefix=no 30786bea0e4fSmrg need_version=no 30796bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 30806bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 30816bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30826bea0e4fSmrg sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 30836bea0e4fSmrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 30846bea0e4fSmrg ;; 30856bea0e4fSmrg 30866bea0e4fSmrgrdos*) 30876bea0e4fSmrg dynamic_linker=no 30886bea0e4fSmrg ;; 30896bea0e4fSmrg 30906bea0e4fSmrgserenity*) 30916bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 30926bea0e4fSmrg need_lib_prefix=no 30936bea0e4fSmrg need_version=no 30946bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 30956bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 30966bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 30976bea0e4fSmrg shlibpath_overrides_runpath=no 30986bea0e4fSmrg dynamic_linker='SerenityOS LibELF' 30996bea0e4fSmrg ;; 31006bea0e4fSmrg 31016bea0e4fSmrgsolaris*) 31026bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 31036bea0e4fSmrg need_lib_prefix=no 31046bea0e4fSmrg need_version=no 31056bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 31066bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 31076bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31086bea0e4fSmrg shlibpath_overrides_runpath=yes 31096bea0e4fSmrg hardcode_into_libs=yes 31106bea0e4fSmrg # ldd complains unless libraries are executable 31116bea0e4fSmrg postinstall_cmds='chmod +x $lib' 31126bea0e4fSmrg ;; 31136bea0e4fSmrg 31146bea0e4fSmrgsunos4*) 31156bea0e4fSmrg version_type=sunos 31166bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 31176bea0e4fSmrg finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 31186bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31196bea0e4fSmrg shlibpath_overrides_runpath=yes 31206bea0e4fSmrg if test yes = "$with_gnu_ld"; then 31216bea0e4fSmrg need_lib_prefix=no 31226bea0e4fSmrg fi 31236bea0e4fSmrg need_version=yes 31246bea0e4fSmrg ;; 31256bea0e4fSmrg 31266bea0e4fSmrgsysv4 | sysv4.3*) 31276bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 31286bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 31296bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 31306bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31316bea0e4fSmrg case $host_vendor in 31326bea0e4fSmrg sni) 31336bea0e4fSmrg shlibpath_overrides_runpath=no 31346bea0e4fSmrg need_lib_prefix=no 31356bea0e4fSmrg runpath_var=LD_RUN_PATH 31366bea0e4fSmrg ;; 31376bea0e4fSmrg siemens) 31386bea0e4fSmrg need_lib_prefix=no 31396bea0e4fSmrg ;; 31406bea0e4fSmrg motorola) 31416bea0e4fSmrg need_lib_prefix=no 31426bea0e4fSmrg need_version=no 31436bea0e4fSmrg shlibpath_overrides_runpath=no 31446bea0e4fSmrg sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 31456bea0e4fSmrg ;; 31466bea0e4fSmrg esac 31476bea0e4fSmrg ;; 31486bea0e4fSmrg 31496bea0e4fSmrgsysv4*MP*) 31506bea0e4fSmrg if test -d /usr/nec; then 31516bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 31526bea0e4fSmrg library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' 31536bea0e4fSmrg soname_spec='$libname$shared_ext.$major' 31546bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31556bea0e4fSmrg fi 31566bea0e4fSmrg ;; 31576bea0e4fSmrg 31586bea0e4fSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 31596bea0e4fSmrg version_type=sco 31606bea0e4fSmrg need_lib_prefix=no 31616bea0e4fSmrg need_version=no 31626bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' 31636bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 31646bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31656bea0e4fSmrg shlibpath_overrides_runpath=yes 31666bea0e4fSmrg hardcode_into_libs=yes 31676bea0e4fSmrg if test yes = "$with_gnu_ld"; then 31686bea0e4fSmrg sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 31696bea0e4fSmrg else 31706bea0e4fSmrg sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 31716bea0e4fSmrg case $host_os in 31726bea0e4fSmrg sco3.2v5*) 31736bea0e4fSmrg sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 31746bea0e4fSmrg ;; 31756bea0e4fSmrg esac 31766bea0e4fSmrg fi 31776bea0e4fSmrg sys_lib_dlsearch_path_spec='/usr/lib' 31786bea0e4fSmrg ;; 31796bea0e4fSmrg 31806bea0e4fSmrgtpf*) 31816bea0e4fSmrg # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 31826bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 31836bea0e4fSmrg need_lib_prefix=no 31846bea0e4fSmrg need_version=no 31856bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 31866bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31876bea0e4fSmrg shlibpath_overrides_runpath=no 31886bea0e4fSmrg hardcode_into_libs=yes 31896bea0e4fSmrg ;; 31906bea0e4fSmrg 31916bea0e4fSmrguts4*) 31926bea0e4fSmrg version_type=linux # correct to gnu/linux during the next big refactor 31936bea0e4fSmrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 31946bea0e4fSmrg soname_spec='$libname$release$shared_ext$major' 31956bea0e4fSmrg shlibpath_var=LD_LIBRARY_PATH 31966bea0e4fSmrg ;; 31976bea0e4fSmrg 31986bea0e4fSmrgemscripten*) 31996bea0e4fSmrg version_type=none 32006bea0e4fSmrg need_lib_prefix=no 32016bea0e4fSmrg need_version=no 32026bea0e4fSmrg library_names_spec='$libname$release$shared_ext' 32036bea0e4fSmrg soname_spec='$libname$release$shared_ext' 32046bea0e4fSmrg finish_cmds= 32056bea0e4fSmrg dynamic_linker="Emscripten linker" 32066bea0e4fSmrg _LT_COMPILER_PIC($1)='-fPIC' 32076bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib' 32086bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym' 32096bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 32106bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)= 32116bea0e4fSmrg ;; 32126bea0e4fSmrg 32136bea0e4fSmrg*) 32146bea0e4fSmrg dynamic_linker=no 32156bea0e4fSmrg ;; 32166bea0e4fSmrgesac 32176bea0e4fSmrgAC_MSG_RESULT([$dynamic_linker]) 32186bea0e4fSmrgtest no = "$dynamic_linker" && can_build_shared=no 32196bea0e4fSmrg 32206bea0e4fSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 32216bea0e4fSmrgif test yes = "$GCC"; then 32226bea0e4fSmrg variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 32236bea0e4fSmrgfi 32246bea0e4fSmrg 32256bea0e4fSmrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 32266bea0e4fSmrg sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 32276bea0e4fSmrgfi 32286bea0e4fSmrg 32296bea0e4fSmrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 32306bea0e4fSmrg sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 32316bea0e4fSmrgfi 32326bea0e4fSmrg 32336bea0e4fSmrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 32346bea0e4fSmrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 32356bea0e4fSmrg 32366bea0e4fSmrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 32376bea0e4fSmrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" 32386bea0e4fSmrg 32396bea0e4fSmrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool 32406bea0e4fSmrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 32416bea0e4fSmrg 32426bea0e4fSmrg_LT_DECL([], [variables_saved_for_relink], [1], 32436bea0e4fSmrg [Variables whose values should be saved in libtool wrapper scripts and 32446bea0e4fSmrg restored at link time]) 32456bea0e4fSmrg_LT_DECL([], [need_lib_prefix], [0], 32466bea0e4fSmrg [Do we need the "lib" prefix for modules?]) 32476bea0e4fSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 32486bea0e4fSmrg_LT_DECL([], [version_type], [0], [Library versioning type]) 32496bea0e4fSmrg_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 32506bea0e4fSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 32516bea0e4fSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0], 32526bea0e4fSmrg [Is shlibpath searched before the hard-coded library search path?]) 32536bea0e4fSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 32546bea0e4fSmrg_LT_DECL([], [library_names_spec], [1], 32556bea0e4fSmrg [[List of archive names. First name is the real one, the rest are links. 32566bea0e4fSmrg The last name is the one that the linker finds with -lNAME]]) 32576bea0e4fSmrg_LT_DECL([], [soname_spec], [1], 32586bea0e4fSmrg [[The coded name of the library, if different from the real name]]) 32596bea0e4fSmrg_LT_DECL([], [install_override_mode], [1], 32606bea0e4fSmrg [Permission mode override for installation of shared libraries]) 32616bea0e4fSmrg_LT_DECL([], [postinstall_cmds], [2], 32626bea0e4fSmrg [Command to use after installation of a shared archive]) 32636bea0e4fSmrg_LT_DECL([], [postuninstall_cmds], [2], 32646bea0e4fSmrg [Command to use after uninstallation of a shared archive]) 32656bea0e4fSmrg_LT_DECL([], [finish_cmds], [2], 32666bea0e4fSmrg [Commands used to finish a libtool library installation in a directory]) 32676bea0e4fSmrg_LT_DECL([], [finish_eval], [1], 32686bea0e4fSmrg [[As "finish_cmds", except a single script fragment to be evaled but 32696bea0e4fSmrg not shown]]) 32706bea0e4fSmrg_LT_DECL([], [hardcode_into_libs], [0], 32716bea0e4fSmrg [Whether we should hardcode library paths into libraries]) 32726bea0e4fSmrg_LT_DECL([], [sys_lib_search_path_spec], [2], 32736bea0e4fSmrg [Compile-time system search path for libraries]) 32746bea0e4fSmrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], 32756bea0e4fSmrg [Detected run-time system search path for libraries]) 32766bea0e4fSmrg_LT_DECL([], [configure_time_lt_sys_library_path], [2], 32776bea0e4fSmrg [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) 32786bea0e4fSmrg])# _LT_SYS_DYNAMIC_LINKER 32796bea0e4fSmrg 32806bea0e4fSmrg 32816bea0e4fSmrg# _LT_PATH_TOOL_PREFIX(TOOL) 32826bea0e4fSmrg# -------------------------- 32836bea0e4fSmrg# find a file program that can recognize shared library 32846bea0e4fSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX], 32856bea0e4fSmrg[m4_require([_LT_DECL_EGREP])dnl 32866bea0e4fSmrgAC_MSG_CHECKING([for $1]) 32876bea0e4fSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 32886bea0e4fSmrg[case $MAGIC_CMD in 32896bea0e4fSmrg[[\\/*] | ?:[\\/]*]) 32906bea0e4fSmrg lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. 32916bea0e4fSmrg ;; 32926bea0e4fSmrg*) 32936bea0e4fSmrg lt_save_MAGIC_CMD=$MAGIC_CMD 32946bea0e4fSmrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 32956bea0e4fSmrgdnl $ac_dummy forces splitting on constant user-supplied paths. 32966bea0e4fSmrgdnl POSIX.2 word splitting is done only on the output of word expansions, 32976bea0e4fSmrgdnl not every word. This closes a longstanding sh security hole. 32986bea0e4fSmrg ac_dummy="m4_if([$2], , $PATH, [$2])" 32996bea0e4fSmrg for ac_dir in $ac_dummy; do 33006bea0e4fSmrg IFS=$lt_save_ifs 33016bea0e4fSmrg test -z "$ac_dir" && ac_dir=. 33026bea0e4fSmrg if test -f "$ac_dir/$1"; then 33036bea0e4fSmrg lt_cv_path_MAGIC_CMD=$ac_dir/"$1" 33046bea0e4fSmrg if test -n "$file_magic_test_file"; then 33056bea0e4fSmrg case $deplibs_check_method in 33066bea0e4fSmrg "file_magic "*) 33076bea0e4fSmrg file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 33086bea0e4fSmrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD 33096bea0e4fSmrg if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 33106bea0e4fSmrg $EGREP "$file_magic_regex" > /dev/null; then 33116bea0e4fSmrg : 33126bea0e4fSmrg else 33136bea0e4fSmrg cat <<_LT_EOF 1>&2 33146bea0e4fSmrg 33156bea0e4fSmrg*** Warning: the command libtool uses to detect shared libraries, 33166bea0e4fSmrg*** $file_magic_cmd, produces output that libtool cannot recognize. 33176bea0e4fSmrg*** The result is that libtool may fail to recognize shared libraries 33186bea0e4fSmrg*** as such. This will affect the creation of libtool libraries that 33196bea0e4fSmrg*** depend on shared libraries, but programs linked with such libtool 33206bea0e4fSmrg*** libraries will work regardless of this problem. Nevertheless, you 33216bea0e4fSmrg*** may want to report the problem to your system manager and/or to 33226bea0e4fSmrg*** bug-libtool@gnu.org 33236bea0e4fSmrg 33246bea0e4fSmrg_LT_EOF 33256bea0e4fSmrg fi ;; 33266bea0e4fSmrg esac 33276bea0e4fSmrg fi 33286bea0e4fSmrg break 33296bea0e4fSmrg fi 33306bea0e4fSmrg done 33316bea0e4fSmrg IFS=$lt_save_ifs 33326bea0e4fSmrg MAGIC_CMD=$lt_save_MAGIC_CMD 33336bea0e4fSmrg ;; 33346bea0e4fSmrgesac]) 33356bea0e4fSmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD 33366bea0e4fSmrgif test -n "$MAGIC_CMD"; then 33376bea0e4fSmrg AC_MSG_RESULT($MAGIC_CMD) 33386bea0e4fSmrgelse 33396bea0e4fSmrg AC_MSG_RESULT(no) 33406bea0e4fSmrgfi 33416bea0e4fSmrg_LT_DECL([], [MAGIC_CMD], [0], 33426bea0e4fSmrg [Used to examine libraries when file_magic_cmd begins with "file"])dnl 33436bea0e4fSmrg])# _LT_PATH_TOOL_PREFIX 33446bea0e4fSmrg 33456bea0e4fSmrg# Old name: 33466bea0e4fSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 33476bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 33486bea0e4fSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 33496bea0e4fSmrg 33506bea0e4fSmrg 33516bea0e4fSmrg# _LT_PATH_MAGIC 33526bea0e4fSmrg# -------------- 33536bea0e4fSmrg# find a file program that can recognize a shared library 33546bea0e4fSmrgm4_defun([_LT_PATH_MAGIC], 33556bea0e4fSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 33566bea0e4fSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then 33576bea0e4fSmrg if test -n "$ac_tool_prefix"; then 33586bea0e4fSmrg _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 33596bea0e4fSmrg else 33606bea0e4fSmrg MAGIC_CMD=: 33616bea0e4fSmrg fi 33626bea0e4fSmrgfi 33636bea0e4fSmrg])# _LT_PATH_MAGIC 33646bea0e4fSmrg 33656bea0e4fSmrg 33666bea0e4fSmrg# LT_PATH_LD 33676bea0e4fSmrg# ---------- 33686bea0e4fSmrg# find the pathname to the GNU or non-GNU linker 33696bea0e4fSmrgAC_DEFUN([LT_PATH_LD], 33706bea0e4fSmrg[AC_REQUIRE([AC_PROG_CC])dnl 33716bea0e4fSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl 33726bea0e4fSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 33736bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 33746bea0e4fSmrgm4_require([_LT_DECL_EGREP])dnl 33756bea0e4fSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl 33766bea0e4fSmrg 33776bea0e4fSmrgAC_ARG_WITH([gnu-ld], 33786bea0e4fSmrg [AS_HELP_STRING([--with-gnu-ld], 33796bea0e4fSmrg [assume the C compiler uses GNU ld @<:@default=no@:>@])], 33806bea0e4fSmrg [test no = "$withval" || with_gnu_ld=yes], 33816bea0e4fSmrg [with_gnu_ld=no])dnl 33826bea0e4fSmrg 33836bea0e4fSmrgac_prog=ld 33846bea0e4fSmrgif test yes = "$GCC"; then 33856bea0e4fSmrg # Check if gcc -print-prog-name=ld gives a path. 33866bea0e4fSmrg AC_MSG_CHECKING([for ld used by $CC]) 33876bea0e4fSmrg case $host in 33886bea0e4fSmrg *-*-mingw* | *-*-windows*) 33896bea0e4fSmrg # gcc leaves a trailing carriage return, which upsets mingw 33906bea0e4fSmrg ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 33916bea0e4fSmrg *) 33926bea0e4fSmrg ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 33936bea0e4fSmrg esac 33946bea0e4fSmrg case $ac_prog in 33956bea0e4fSmrg # Accept absolute paths. 33966bea0e4fSmrg [[\\/]]* | ?:[[\\/]]*) 33976bea0e4fSmrg re_direlt='/[[^/]][[^/]]*/\.\./' 33986bea0e4fSmrg # Canonicalize the pathname of ld 33996bea0e4fSmrg ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 34006bea0e4fSmrg while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 34016bea0e4fSmrg ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 34026bea0e4fSmrg done 34036bea0e4fSmrg test -z "$LD" && LD=$ac_prog 34046bea0e4fSmrg ;; 34056bea0e4fSmrg "") 34066bea0e4fSmrg # If it fails, then pretend we aren't using GCC. 34076bea0e4fSmrg ac_prog=ld 34086bea0e4fSmrg ;; 34096bea0e4fSmrg *) 34106bea0e4fSmrg # If it is relative, then search for the first ld in PATH. 34116bea0e4fSmrg with_gnu_ld=unknown 34126bea0e4fSmrg ;; 34136bea0e4fSmrg esac 34146bea0e4fSmrgelif test yes = "$with_gnu_ld"; then 34156bea0e4fSmrg AC_MSG_CHECKING([for GNU ld]) 34166bea0e4fSmrgelse 34176bea0e4fSmrg AC_MSG_CHECKING([for non-GNU ld]) 34186bea0e4fSmrgfi 34196bea0e4fSmrgAC_CACHE_VAL(lt_cv_path_LD, 34206bea0e4fSmrg[if test -z "$LD"; then 34216bea0e4fSmrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 34226bea0e4fSmrg for ac_dir in $PATH; do 34236bea0e4fSmrg IFS=$lt_save_ifs 34246bea0e4fSmrg test -z "$ac_dir" && ac_dir=. 34256bea0e4fSmrg if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 34266bea0e4fSmrg lt_cv_path_LD=$ac_dir/$ac_prog 34276bea0e4fSmrg # Check to see if the program is GNU ld. I'd rather use --version, 34286bea0e4fSmrg # but apparently some variants of GNU ld only accept -v. 34296bea0e4fSmrg # Break only if it was the GNU/non-GNU ld that we prefer. 34306bea0e4fSmrg case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 34316bea0e4fSmrg *GNU* | *'with BFD'*) 34326bea0e4fSmrg test no != "$with_gnu_ld" && break 34336bea0e4fSmrg ;; 34346bea0e4fSmrg *) 34356bea0e4fSmrg test yes != "$with_gnu_ld" && break 34366bea0e4fSmrg ;; 34376bea0e4fSmrg esac 34386bea0e4fSmrg fi 34396bea0e4fSmrg done 34406bea0e4fSmrg IFS=$lt_save_ifs 34416bea0e4fSmrgelse 34426bea0e4fSmrg lt_cv_path_LD=$LD # Let the user override the test with a path. 34436bea0e4fSmrgfi]) 34446bea0e4fSmrgLD=$lt_cv_path_LD 34456bea0e4fSmrgif test -n "$LD"; then 34466bea0e4fSmrg AC_MSG_RESULT($LD) 34476bea0e4fSmrgelse 34486bea0e4fSmrg AC_MSG_RESULT(no) 34496bea0e4fSmrgfi 34506bea0e4fSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 34516bea0e4fSmrg_LT_PATH_LD_GNU 34526bea0e4fSmrgAC_SUBST([LD]) 34536bea0e4fSmrg 34546bea0e4fSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 34556bea0e4fSmrg])# LT_PATH_LD 34566bea0e4fSmrg 34576bea0e4fSmrg# Old names: 34586bea0e4fSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 34596bea0e4fSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 34606bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 34616bea0e4fSmrgdnl AC_DEFUN([AM_PROG_LD], []) 34626bea0e4fSmrgdnl AC_DEFUN([AC_PROG_LD], []) 34636bea0e4fSmrg 34646bea0e4fSmrg 34656bea0e4fSmrg# _LT_PATH_LD_GNU 34666bea0e4fSmrg#- -------------- 34676bea0e4fSmrgm4_defun([_LT_PATH_LD_GNU], 34686bea0e4fSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 34696bea0e4fSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v. 34706bea0e4fSmrgcase `$LD -v 2>&1 </dev/null` in 34716bea0e4fSmrg*GNU* | *'with BFD'*) 34726bea0e4fSmrg lt_cv_prog_gnu_ld=yes 34736bea0e4fSmrg ;; 34746bea0e4fSmrg*) 34756bea0e4fSmrg lt_cv_prog_gnu_ld=no 34766bea0e4fSmrg ;; 34776bea0e4fSmrgesac]) 34786bea0e4fSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld 34796bea0e4fSmrg])# _LT_PATH_LD_GNU 34806bea0e4fSmrg 34816bea0e4fSmrg 34826bea0e4fSmrg# _LT_CMD_RELOAD 34836bea0e4fSmrg# -------------- 34846bea0e4fSmrg# find reload flag for linker 34856bea0e4fSmrg# -- PORTME Some linkers may need a different reload flag. 34866bea0e4fSmrgm4_defun([_LT_CMD_RELOAD], 34876bea0e4fSmrg[AC_CACHE_CHECK([for $LD option to reload object files], 34886bea0e4fSmrg lt_cv_ld_reload_flag, 34896bea0e4fSmrg [lt_cv_ld_reload_flag='-r']) 34906bea0e4fSmrgreload_flag=$lt_cv_ld_reload_flag 34916bea0e4fSmrgcase $reload_flag in 34926bea0e4fSmrg"" | " "*) ;; 34936bea0e4fSmrg*) reload_flag=" $reload_flag" ;; 34946bea0e4fSmrgesac 34956bea0e4fSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs' 34966bea0e4fSmrgcase $host_os in 34976bea0e4fSmrg cygwin* | mingw* | windows* | pw32* | cegcc*) 34986bea0e4fSmrg if test yes != "$GCC"; then 34996bea0e4fSmrg reload_cmds=false 35006bea0e4fSmrg fi 35016bea0e4fSmrg ;; 35026bea0e4fSmrg darwin*) 35036bea0e4fSmrg if test yes = "$GCC"; then 35046bea0e4fSmrg reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 35056bea0e4fSmrg else 35066bea0e4fSmrg reload_cmds='$LD$reload_flag -o $output$reload_objs' 35076bea0e4fSmrg fi 35086bea0e4fSmrg ;; 35096bea0e4fSmrgesac 35106bea0e4fSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 35116bea0e4fSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl 35126bea0e4fSmrg])# _LT_CMD_RELOAD 35136bea0e4fSmrg 35146bea0e4fSmrg 35156bea0e4fSmrg# _LT_PATH_DD 35166bea0e4fSmrg# ----------- 35176bea0e4fSmrg# find a working dd 35186bea0e4fSmrgm4_defun([_LT_PATH_DD], 35196bea0e4fSmrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], 35206bea0e4fSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i 35216bea0e4fSmrgcat conftest.i conftest.i >conftest2.i 35226bea0e4fSmrg: ${lt_DD:=$DD} 35236bea0e4fSmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], 35246bea0e4fSmrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 35256bea0e4fSmrg cmp -s conftest.i conftest.out \ 35266bea0e4fSmrg && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 35276bea0e4fSmrgfi]) 35286bea0e4fSmrgrm -f conftest.i conftest2.i conftest.out]) 35296bea0e4fSmrg])# _LT_PATH_DD 35306bea0e4fSmrg 35316bea0e4fSmrg 35326bea0e4fSmrg# _LT_CMD_TRUNCATE 35336bea0e4fSmrg# ---------------- 35346bea0e4fSmrg# find command to truncate a binary pipe 35356bea0e4fSmrgm4_defun([_LT_CMD_TRUNCATE], 35366bea0e4fSmrg[m4_require([_LT_PATH_DD]) 35376bea0e4fSmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], 35386bea0e4fSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i 35396bea0e4fSmrgcat conftest.i conftest.i >conftest2.i 35406bea0e4fSmrglt_cv_truncate_bin= 35416bea0e4fSmrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 35426bea0e4fSmrg cmp -s conftest.i conftest.out \ 35436bea0e4fSmrg && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 35446bea0e4fSmrgfi 35456bea0e4fSmrgrm -f conftest.i conftest2.i conftest.out 35466bea0e4fSmrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) 35476bea0e4fSmrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], 35486bea0e4fSmrg [Command to truncate a binary pipe]) 35496bea0e4fSmrg])# _LT_CMD_TRUNCATE 35506bea0e4fSmrg 35516bea0e4fSmrg 35526bea0e4fSmrg# _LT_CHECK_MAGIC_METHOD 35536bea0e4fSmrg# ---------------------- 35546bea0e4fSmrg# how to check for library dependencies 35556bea0e4fSmrg# -- PORTME fill in with the dynamic library characteristics 35566bea0e4fSmrgm4_defun([_LT_CHECK_MAGIC_METHOD], 35576bea0e4fSmrg[m4_require([_LT_DECL_EGREP]) 35586bea0e4fSmrgm4_require([_LT_DECL_OBJDUMP]) 35596bea0e4fSmrgAC_CACHE_CHECK([how to recognize dependent libraries], 35606bea0e4fSmrglt_cv_deplibs_check_method, 35616bea0e4fSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD' 35626bea0e4fSmrglt_cv_file_magic_test_file= 35636bea0e4fSmrglt_cv_deplibs_check_method='unknown' 35646bea0e4fSmrg# Need to set the preceding variable on all platforms that support 35656bea0e4fSmrg# interlibrary dependencies. 35666bea0e4fSmrg# 'none' -- dependencies not supported. 35676bea0e4fSmrg# 'unknown' -- same as none, but documents that we really don't know. 35686bea0e4fSmrg# 'pass_all' -- all dependencies passed with no checks. 35696bea0e4fSmrg# 'file_magic [[regex]]' -- check by looking for files in library path 35706bea0e4fSmrg# that responds to the $file_magic_cmd with a given extended regex. 35716bea0e4fSmrg# If you have 'file' or equivalent on your system and you're not sure 35726bea0e4fSmrg# whether 'pass_all' will *always* work, you probably want this one. 35736bea0e4fSmrg 35746bea0e4fSmrgcase $host_os in 35756bea0e4fSmrgaix[[4-9]]*) 35766bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 35776bea0e4fSmrg ;; 35786bea0e4fSmrg 35796bea0e4fSmrgbeos*) 35806bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 35816bea0e4fSmrg ;; 35826bea0e4fSmrg 35836bea0e4fSmrgbsdi[[45]]*) 35846bea0e4fSmrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 35856bea0e4fSmrg lt_cv_file_magic_cmd='$FILECMD -L' 35866bea0e4fSmrg lt_cv_file_magic_test_file=/shlib/libc.so 35876bea0e4fSmrg ;; 35886bea0e4fSmrg 35896bea0e4fSmrgcygwin*) 35906bea0e4fSmrg # func_win32_libid is a shell function defined in ltmain.sh 35916bea0e4fSmrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 35926bea0e4fSmrg lt_cv_file_magic_cmd='func_win32_libid' 35936bea0e4fSmrg ;; 35946bea0e4fSmrg 35956bea0e4fSmrgmingw* | windows* | pw32*) 35966bea0e4fSmrg # Base MSYS/MinGW do not provide the 'file' command needed by 35976bea0e4fSmrg # func_win32_libid shell function, so use a weaker test based on 'objdump', 35986bea0e4fSmrg # unless we find 'file', for example because we are cross-compiling. 35996bea0e4fSmrg if ( file / ) >/dev/null 2>&1; then 36006bea0e4fSmrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 36016bea0e4fSmrg lt_cv_file_magic_cmd='func_win32_libid' 36026bea0e4fSmrg else 36036bea0e4fSmrg # Keep this pattern in sync with the one in func_win32_libid. 36046bea0e4fSmrg lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' 36056bea0e4fSmrg lt_cv_file_magic_cmd='$OBJDUMP -f' 36066bea0e4fSmrg fi 36076bea0e4fSmrg ;; 36086bea0e4fSmrg 36096bea0e4fSmrgcegcc*) 36106bea0e4fSmrg # use the weaker test based on 'objdump'. See mingw*. 36116bea0e4fSmrg lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 36126bea0e4fSmrg lt_cv_file_magic_cmd='$OBJDUMP -f' 36136bea0e4fSmrg ;; 36146bea0e4fSmrg 36156bea0e4fSmrgdarwin* | rhapsody*) 36166bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36176bea0e4fSmrg ;; 36186bea0e4fSmrg 36196bea0e4fSmrgfreebsd* | dragonfly* | midnightbsd*) 36206bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 36216bea0e4fSmrg case $host_cpu in 36226bea0e4fSmrg i*86 ) 36236bea0e4fSmrg # Not sure whether the presence of OpenBSD here was a mistake. 36246bea0e4fSmrg # Let's accept both of them until this is cleared up. 36256bea0e4fSmrg lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 36266bea0e4fSmrg lt_cv_file_magic_cmd=$FILECMD 36276bea0e4fSmrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 36286bea0e4fSmrg ;; 36296bea0e4fSmrg esac 36306bea0e4fSmrg else 36316bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36326bea0e4fSmrg fi 36336bea0e4fSmrg ;; 36346bea0e4fSmrg 36356bea0e4fSmrghaiku*) 36366bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36376bea0e4fSmrg ;; 36386bea0e4fSmrg 36396bea0e4fSmrghpux10.20* | hpux11*) 36406bea0e4fSmrg lt_cv_file_magic_cmd=$FILECMD 36416bea0e4fSmrg case $host_cpu in 36426bea0e4fSmrg ia64*) 36436bea0e4fSmrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 36446bea0e4fSmrg lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 36456bea0e4fSmrg ;; 36466bea0e4fSmrg hppa*64*) 36476bea0e4fSmrg [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]'] 36486bea0e4fSmrg lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 36496bea0e4fSmrg ;; 36506bea0e4fSmrg *) 36516bea0e4fSmrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 36526bea0e4fSmrg lt_cv_file_magic_test_file=/usr/lib/libc.sl 36536bea0e4fSmrg ;; 36546bea0e4fSmrg esac 36556bea0e4fSmrg ;; 36566bea0e4fSmrg 36576bea0e4fSmrginterix[[3-9]]*) 36586bea0e4fSmrg # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 36596bea0e4fSmrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 36606bea0e4fSmrg ;; 36616bea0e4fSmrg 36626bea0e4fSmrgirix5* | irix6* | nonstopux*) 36636bea0e4fSmrg case $LD in 36646bea0e4fSmrg *-32|*"-32 ") libmagic=32-bit;; 36656bea0e4fSmrg *-n32|*"-n32 ") libmagic=N32;; 36666bea0e4fSmrg *-64|*"-64 ") libmagic=64-bit;; 36676bea0e4fSmrg *) libmagic=never-match;; 36686bea0e4fSmrg esac 36696bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36706bea0e4fSmrg ;; 36716bea0e4fSmrg 36726bea0e4fSmrg# This must be glibc/ELF. 36736bea0e4fSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 36746bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36756bea0e4fSmrg ;; 36766bea0e4fSmrg 36776bea0e4fSmrg*-mlibc) 36786bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36796bea0e4fSmrg ;; 36806bea0e4fSmrg 36816bea0e4fSmrgnetbsd* | netbsdelf*-gnu) 36826bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 36836bea0e4fSmrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 36846bea0e4fSmrg else 36856bea0e4fSmrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 36866bea0e4fSmrg fi 36876bea0e4fSmrg ;; 36886bea0e4fSmrg 36896bea0e4fSmrgnewos6*) 36906bea0e4fSmrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 36916bea0e4fSmrg lt_cv_file_magic_cmd=$FILECMD 36926bea0e4fSmrg lt_cv_file_magic_test_file=/usr/lib/libnls.so 36936bea0e4fSmrg ;; 36946bea0e4fSmrg 36956bea0e4fSmrg*nto* | *qnx*) 36966bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 36976bea0e4fSmrg ;; 36986bea0e4fSmrg 36996bea0e4fSmrgopenbsd*) 37006bea0e4fSmrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 37016bea0e4fSmrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 37026bea0e4fSmrg else 37036bea0e4fSmrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 37046bea0e4fSmrg fi 37056bea0e4fSmrg ;; 37066bea0e4fSmrg 37076bea0e4fSmrgosf3* | osf4* | osf5*) 37086bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37096bea0e4fSmrg ;; 37106bea0e4fSmrg 37116bea0e4fSmrgrdos*) 37126bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37136bea0e4fSmrg ;; 37146bea0e4fSmrg 37156bea0e4fSmrgserenity*) 37166bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37176bea0e4fSmrg ;; 37186bea0e4fSmrg 37196bea0e4fSmrgsolaris*) 37206bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37216bea0e4fSmrg ;; 37226bea0e4fSmrg 37236bea0e4fSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 37246bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37256bea0e4fSmrg ;; 37266bea0e4fSmrg 37276bea0e4fSmrgsysv4 | sysv4.3*) 37286bea0e4fSmrg case $host_vendor in 37296bea0e4fSmrg motorola) 37306bea0e4fSmrg 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]]' 37316bea0e4fSmrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 37326bea0e4fSmrg ;; 37336bea0e4fSmrg ncr) 37346bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37356bea0e4fSmrg ;; 37366bea0e4fSmrg sequent) 37376bea0e4fSmrg lt_cv_file_magic_cmd='/bin/file' 37386bea0e4fSmrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 37396bea0e4fSmrg ;; 37406bea0e4fSmrg sni) 37416bea0e4fSmrg lt_cv_file_magic_cmd='/bin/file' 37426bea0e4fSmrg lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 37436bea0e4fSmrg lt_cv_file_magic_test_file=/lib/libc.so 37446bea0e4fSmrg ;; 37456bea0e4fSmrg siemens) 37466bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37476bea0e4fSmrg ;; 37486bea0e4fSmrg pc) 37496bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37506bea0e4fSmrg ;; 37516bea0e4fSmrg esac 37526bea0e4fSmrg ;; 37536bea0e4fSmrg 37546bea0e4fSmrgtpf*) 37556bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37566bea0e4fSmrg ;; 37576bea0e4fSmrgos2*) 37586bea0e4fSmrg lt_cv_deplibs_check_method=pass_all 37596bea0e4fSmrg ;; 37606bea0e4fSmrgesac 37616bea0e4fSmrg]) 37626bea0e4fSmrg 37636bea0e4fSmrgfile_magic_glob= 37646bea0e4fSmrgwant_nocaseglob=no 37656bea0e4fSmrgif test "$build" = "$host"; then 37666bea0e4fSmrg case $host_os in 37676bea0e4fSmrg mingw* | windows* | pw32*) 37686bea0e4fSmrg if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 37696bea0e4fSmrg want_nocaseglob=yes 37706bea0e4fSmrg else 37716bea0e4fSmrg file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 37726bea0e4fSmrg fi 37736bea0e4fSmrg ;; 37746bea0e4fSmrg esac 37756bea0e4fSmrgfi 37766bea0e4fSmrg 37776bea0e4fSmrgfile_magic_cmd=$lt_cv_file_magic_cmd 37786bea0e4fSmrgdeplibs_check_method=$lt_cv_deplibs_check_method 37796bea0e4fSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown 37806bea0e4fSmrg 37816bea0e4fSmrg_LT_DECL([], [deplibs_check_method], [1], 37826bea0e4fSmrg [Method to check whether dependent libraries are shared objects]) 37836bea0e4fSmrg_LT_DECL([], [file_magic_cmd], [1], 37846bea0e4fSmrg [Command to use when deplibs_check_method = "file_magic"]) 37856bea0e4fSmrg_LT_DECL([], [file_magic_glob], [1], 37866bea0e4fSmrg [How to find potential files when deplibs_check_method = "file_magic"]) 37876bea0e4fSmrg_LT_DECL([], [want_nocaseglob], [1], 37886bea0e4fSmrg [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 37896bea0e4fSmrg])# _LT_CHECK_MAGIC_METHOD 37906bea0e4fSmrg 37916bea0e4fSmrg 37926bea0e4fSmrg# LT_PATH_NM 37936bea0e4fSmrg# ---------- 37946bea0e4fSmrg# find the pathname to a BSD- or MS-compatible name lister 37956bea0e4fSmrgAC_DEFUN([LT_PATH_NM], 37966bea0e4fSmrg[AC_REQUIRE([AC_PROG_CC])dnl 37976bea0e4fSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 37986bea0e4fSmrg[if test -n "$NM"; then 37996bea0e4fSmrg # Let the user override the test. 38006bea0e4fSmrg lt_cv_path_NM=$NM 38016bea0e4fSmrgelse 38026bea0e4fSmrg lt_nm_to_check=${ac_tool_prefix}nm 38036bea0e4fSmrg if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 38046bea0e4fSmrg lt_nm_to_check="$lt_nm_to_check nm" 38056bea0e4fSmrg fi 38066bea0e4fSmrg for lt_tmp_nm in $lt_nm_to_check; do 38076bea0e4fSmrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 38086bea0e4fSmrg for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 38096bea0e4fSmrg IFS=$lt_save_ifs 38106bea0e4fSmrg test -z "$ac_dir" && ac_dir=. 38116bea0e4fSmrg tmp_nm=$ac_dir/$lt_tmp_nm 38126bea0e4fSmrg if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 38136bea0e4fSmrg # Check to see if the nm accepts a BSD-compat flag. 38146bea0e4fSmrg # Adding the 'sed 1q' prevents false positives on HP-UX, which says: 38156bea0e4fSmrg # nm: unknown option "B" ignored 38166bea0e4fSmrg # Tru64's nm complains that /dev/null is an invalid object file 38176bea0e4fSmrg # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 38186bea0e4fSmrg case $build_os in 38196bea0e4fSmrg mingw* | windows*) lt_bad_file=conftest.nm/nofile ;; 38206bea0e4fSmrg *) lt_bad_file=/dev/null ;; 38216bea0e4fSmrg esac 38226bea0e4fSmrg case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in 38236bea0e4fSmrg *$lt_bad_file* | *'Invalid file or object type'*) 38246bea0e4fSmrg lt_cv_path_NM="$tmp_nm -B" 38256bea0e4fSmrg break 2 38266bea0e4fSmrg ;; 38276bea0e4fSmrg *) 38286bea0e4fSmrg case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in 38296bea0e4fSmrg */dev/null*) 38306bea0e4fSmrg lt_cv_path_NM="$tmp_nm -p" 38316bea0e4fSmrg break 2 38326bea0e4fSmrg ;; 38336bea0e4fSmrg *) 38346bea0e4fSmrg lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 38356bea0e4fSmrg continue # so that we can try to find one that supports BSD flags 38366bea0e4fSmrg ;; 38376bea0e4fSmrg esac 38386bea0e4fSmrg ;; 38396bea0e4fSmrg esac 38406bea0e4fSmrg fi 38416bea0e4fSmrg done 38426bea0e4fSmrg IFS=$lt_save_ifs 38436bea0e4fSmrg done 38446bea0e4fSmrg : ${lt_cv_path_NM=no} 38456bea0e4fSmrgfi]) 38466bea0e4fSmrgif test no != "$lt_cv_path_NM"; then 38476bea0e4fSmrg NM=$lt_cv_path_NM 38486bea0e4fSmrgelse 38496bea0e4fSmrg # Didn't find any BSD compatible name lister, look for dumpbin. 38506bea0e4fSmrg if test -n "$DUMPBIN"; then : 38516bea0e4fSmrg # Let the user override the test. 38526bea0e4fSmrg else 38536bea0e4fSmrg AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 38546bea0e4fSmrg case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in 38556bea0e4fSmrg *COFF*) 38566bea0e4fSmrg DUMPBIN="$DUMPBIN -symbols -headers" 38576bea0e4fSmrg ;; 38586bea0e4fSmrg *) 38596bea0e4fSmrg DUMPBIN=: 38606bea0e4fSmrg ;; 38616bea0e4fSmrg esac 38626bea0e4fSmrg fi 38636bea0e4fSmrg AC_SUBST([DUMPBIN]) 38646bea0e4fSmrg if test : != "$DUMPBIN"; then 38656bea0e4fSmrg NM=$DUMPBIN 38666bea0e4fSmrg fi 38676bea0e4fSmrgfi 38686bea0e4fSmrgtest -z "$NM" && NM=nm 38696bea0e4fSmrgAC_SUBST([NM]) 38706bea0e4fSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 38716bea0e4fSmrg 38726bea0e4fSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 38736bea0e4fSmrg [lt_cv_nm_interface="BSD nm" 38746bea0e4fSmrg echo "int some_variable = 0;" > conftest.$ac_ext 38756bea0e4fSmrg (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 38766bea0e4fSmrg (eval "$ac_compile" 2>conftest.err) 38776bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 38786bea0e4fSmrg (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 38796bea0e4fSmrg (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 38806bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 38816bea0e4fSmrg (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 38826bea0e4fSmrg cat conftest.out >&AS_MESSAGE_LOG_FD 38836bea0e4fSmrg if $GREP 'External.*some_variable' conftest.out > /dev/null; then 38846bea0e4fSmrg lt_cv_nm_interface="MS dumpbin" 38856bea0e4fSmrg fi 38866bea0e4fSmrg rm -f conftest*]) 38876bea0e4fSmrg])# LT_PATH_NM 38886bea0e4fSmrg 38896bea0e4fSmrg# Old names: 38906bea0e4fSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 38916bea0e4fSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 38926bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 38936bea0e4fSmrgdnl AC_DEFUN([AM_PROG_NM], []) 38946bea0e4fSmrgdnl AC_DEFUN([AC_PROG_NM], []) 38956bea0e4fSmrg 38966bea0e4fSmrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 38976bea0e4fSmrg# -------------------------------- 38986bea0e4fSmrg# how to determine the name of the shared library 38996bea0e4fSmrg# associated with a specific link library. 39006bea0e4fSmrg# -- PORTME fill in with the dynamic library characteristics 39016bea0e4fSmrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 39026bea0e4fSmrg[m4_require([_LT_DECL_EGREP]) 39036bea0e4fSmrgm4_require([_LT_DECL_OBJDUMP]) 39046bea0e4fSmrgm4_require([_LT_DECL_DLLTOOL]) 39056bea0e4fSmrgAC_CACHE_CHECK([how to associate runtime and link libraries], 39066bea0e4fSmrglt_cv_sharedlib_from_linklib_cmd, 39076bea0e4fSmrg[lt_cv_sharedlib_from_linklib_cmd='unknown' 39086bea0e4fSmrg 39096bea0e4fSmrgcase $host_os in 39106bea0e4fSmrgcygwin* | mingw* | windows* | pw32* | cegcc*) 39116bea0e4fSmrg # two different shell functions defined in ltmain.sh; 39126bea0e4fSmrg # decide which one to use based on capabilities of $DLLTOOL 39136bea0e4fSmrg case `$DLLTOOL --help 2>&1` in 39146bea0e4fSmrg *--identify-strict*) 39156bea0e4fSmrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 39166bea0e4fSmrg ;; 39176bea0e4fSmrg *) 39186bea0e4fSmrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 39196bea0e4fSmrg ;; 39206bea0e4fSmrg esac 39216bea0e4fSmrg ;; 39226bea0e4fSmrg*) 39236bea0e4fSmrg # fallback: assume linklib IS sharedlib 39246bea0e4fSmrg lt_cv_sharedlib_from_linklib_cmd=$ECHO 39256bea0e4fSmrg ;; 39266bea0e4fSmrgesac 39276bea0e4fSmrg]) 39286bea0e4fSmrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 39296bea0e4fSmrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 39306bea0e4fSmrg 39316bea0e4fSmrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1], 39326bea0e4fSmrg [Command to associate shared and link libraries]) 39336bea0e4fSmrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 39346bea0e4fSmrg 39356bea0e4fSmrg 39366bea0e4fSmrg# _LT_PATH_MANIFEST_TOOL 39376bea0e4fSmrg# ---------------------- 39386bea0e4fSmrg# locate the manifest tool 39396bea0e4fSmrgm4_defun([_LT_PATH_MANIFEST_TOOL], 39406bea0e4fSmrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 39416bea0e4fSmrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 39426bea0e4fSmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool], 39436bea0e4fSmrg [lt_cv_path_manifest_tool=no 39446bea0e4fSmrg echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 39456bea0e4fSmrg $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 39466bea0e4fSmrg cat conftest.err >&AS_MESSAGE_LOG_FD 39476bea0e4fSmrg if $GREP 'Manifest Tool' conftest.out > /dev/null; then 39486bea0e4fSmrg lt_cv_path_manifest_tool=yes 39496bea0e4fSmrg fi 39506bea0e4fSmrg rm -f conftest*]) 39516bea0e4fSmrgif test yes != "$lt_cv_path_manifest_tool"; then 39526bea0e4fSmrg MANIFEST_TOOL=: 39536bea0e4fSmrgfi 39546bea0e4fSmrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 39556bea0e4fSmrg])# _LT_PATH_MANIFEST_TOOL 39566bea0e4fSmrg 39576bea0e4fSmrg 39586bea0e4fSmrg# _LT_DLL_DEF_P([FILE]) 39596bea0e4fSmrg# --------------------- 39606bea0e4fSmrg# True iff FILE is a Windows DLL '.def' file. 39616bea0e4fSmrg# Keep in sync with func_dll_def_p in the libtool script 39626bea0e4fSmrgAC_DEFUN([_LT_DLL_DEF_P], 39636bea0e4fSmrg[dnl 39646bea0e4fSmrg test DEF = "`$SED -n dnl 39656bea0e4fSmrg -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace 39666bea0e4fSmrg -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments 39676bea0e4fSmrg -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl 39686bea0e4fSmrg -e q dnl Only consider the first "real" line 39696bea0e4fSmrg $1`" dnl 39706bea0e4fSmrg])# _LT_DLL_DEF_P 39716bea0e4fSmrg 39726bea0e4fSmrg 39736bea0e4fSmrg# LT_LIB_M 39746bea0e4fSmrg# -------- 39756bea0e4fSmrg# check for math library 39766bea0e4fSmrgAC_DEFUN([LT_LIB_M], 39776bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 39786bea0e4fSmrgLIBM= 39796bea0e4fSmrgcase $host in 39806bea0e4fSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*) 39816bea0e4fSmrg # These system don't have libm, or don't need it 39826bea0e4fSmrg ;; 39836bea0e4fSmrg*-ncr-sysv4.3*) 39846bea0e4fSmrg AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) 39856bea0e4fSmrg AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 39866bea0e4fSmrg ;; 39876bea0e4fSmrg*) 39886bea0e4fSmrg AC_CHECK_LIB(m, cos, LIBM=-lm) 39896bea0e4fSmrg ;; 39906bea0e4fSmrgesac 39916bea0e4fSmrgAC_SUBST([LIBM]) 39926bea0e4fSmrg])# LT_LIB_M 39936bea0e4fSmrg 39946bea0e4fSmrg# Old name: 39956bea0e4fSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 39966bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 39976bea0e4fSmrgdnl AC_DEFUN([AC_CHECK_LIBM], []) 39986bea0e4fSmrg 39996bea0e4fSmrg 40006bea0e4fSmrg# _LT_COMPILER_NO_RTTI([TAGNAME]) 40016bea0e4fSmrg# ------------------------------- 40026bea0e4fSmrgm4_defun([_LT_COMPILER_NO_RTTI], 40036bea0e4fSmrg[m4_require([_LT_TAG_COMPILER])dnl 40046bea0e4fSmrg 40056bea0e4fSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 40066bea0e4fSmrg 40076bea0e4fSmrgif test yes = "$GCC"; then 40086bea0e4fSmrg case $cc_basename in 40096bea0e4fSmrg nvcc*) 40106bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 40116bea0e4fSmrg *) 40126bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 40136bea0e4fSmrg esac 40146bea0e4fSmrg 40156bea0e4fSmrg _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 40166bea0e4fSmrg lt_cv_prog_compiler_rtti_exceptions, 40176bea0e4fSmrg [-fno-rtti -fno-exceptions], [], 40186bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 40196bea0e4fSmrgfi 40206bea0e4fSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 40216bea0e4fSmrg [Compiler flag to turn off builtin functions]) 40226bea0e4fSmrg])# _LT_COMPILER_NO_RTTI 40236bea0e4fSmrg 40246bea0e4fSmrg 40256bea0e4fSmrg# _LT_CMD_GLOBAL_SYMBOLS 40266bea0e4fSmrg# ---------------------- 40276bea0e4fSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 40286bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 40296bea0e4fSmrgAC_REQUIRE([AC_PROG_CC])dnl 40306bea0e4fSmrgAC_REQUIRE([AC_PROG_AWK])dnl 40316bea0e4fSmrgAC_REQUIRE([LT_PATH_NM])dnl 40326bea0e4fSmrgAC_REQUIRE([LT_PATH_LD])dnl 40336bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 40346bea0e4fSmrgm4_require([_LT_DECL_EGREP])dnl 40356bea0e4fSmrgm4_require([_LT_TAG_COMPILER])dnl 40366bea0e4fSmrg 40376bea0e4fSmrg# Check for command to grab the raw symbol name followed by C symbol from nm. 40386bea0e4fSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 40396bea0e4fSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 40406bea0e4fSmrg[ 40416bea0e4fSmrg# These are sane defaults that work on at least a few old systems. 40426bea0e4fSmrg# [They come from Ultrix. What could be older than Ultrix?!! ;)] 40436bea0e4fSmrg 40446bea0e4fSmrg# Character class describing NM global symbol codes. 40456bea0e4fSmrgsymcode='[[BCDEGRST]]' 40466bea0e4fSmrg 40476bea0e4fSmrg# Regexp to match symbols that can be accessed directly from C. 40486bea0e4fSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 40496bea0e4fSmrg 40506bea0e4fSmrg# Define system-specific variables. 40516bea0e4fSmrgcase $host_os in 40526bea0e4fSmrgaix*) 40536bea0e4fSmrg symcode='[[BCDT]]' 40546bea0e4fSmrg ;; 40556bea0e4fSmrgcygwin* | mingw* | windows* | pw32* | cegcc*) 40566bea0e4fSmrg symcode='[[ABCDGISTW]]' 40576bea0e4fSmrg ;; 40586bea0e4fSmrghpux*) 40596bea0e4fSmrg if test ia64 = "$host_cpu"; then 40606bea0e4fSmrg symcode='[[ABCDEGRST]]' 40616bea0e4fSmrg fi 40626bea0e4fSmrg ;; 40636bea0e4fSmrgirix* | nonstopux*) 40646bea0e4fSmrg symcode='[[BCDEGRST]]' 40656bea0e4fSmrg ;; 40666bea0e4fSmrgosf*) 40676bea0e4fSmrg symcode='[[BCDEGQRST]]' 40686bea0e4fSmrg ;; 40696bea0e4fSmrgsolaris*) 40706bea0e4fSmrg symcode='[[BCDRT]]' 40716bea0e4fSmrg ;; 40726bea0e4fSmrgsco3.2v5*) 40736bea0e4fSmrg symcode='[[DT]]' 40746bea0e4fSmrg ;; 40756bea0e4fSmrgsysv4.2uw2*) 40766bea0e4fSmrg symcode='[[DT]]' 40776bea0e4fSmrg ;; 40786bea0e4fSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*) 40796bea0e4fSmrg symcode='[[ABDT]]' 40806bea0e4fSmrg ;; 40816bea0e4fSmrgsysv4) 40826bea0e4fSmrg symcode='[[DFNSTU]]' 40836bea0e4fSmrg ;; 40846bea0e4fSmrgesac 40856bea0e4fSmrg 40866bea0e4fSmrg# If we're using GNU nm, then use its standard symbol codes. 40876bea0e4fSmrgcase `$NM -V 2>&1` in 40886bea0e4fSmrg*GNU* | *'with BFD'*) 40896bea0e4fSmrg symcode='[[ABCDGIRSTW]]' ;; 40906bea0e4fSmrgesac 40916bea0e4fSmrg 40926bea0e4fSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then 40936bea0e4fSmrg # Gets list of data symbols to import. 40946bea0e4fSmrg lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" 40956bea0e4fSmrg # Adjust the below global symbol transforms to fixup imported variables. 40966bea0e4fSmrg lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" 40976bea0e4fSmrg lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" 40986bea0e4fSmrg lt_c_name_lib_hook="\ 40996bea0e4fSmrg -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ 41006bea0e4fSmrg -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" 41016bea0e4fSmrgelse 41026bea0e4fSmrg # Disable hooks by default. 41036bea0e4fSmrg lt_cv_sys_global_symbol_to_import= 41046bea0e4fSmrg lt_cdecl_hook= 41056bea0e4fSmrg lt_c_name_hook= 41066bea0e4fSmrg lt_c_name_lib_hook= 41076bea0e4fSmrgfi 41086bea0e4fSmrg 41096bea0e4fSmrg# Transform an extracted symbol line into a proper C declaration. 41106bea0e4fSmrg# Some systems (esp. on ia64) link data and code symbols differently, 41116bea0e4fSmrg# so use this general approach. 41126bea0e4fSmrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\ 41136bea0e4fSmrg$lt_cdecl_hook\ 41146bea0e4fSmrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ 41156bea0e4fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" 41166bea0e4fSmrg 41176bea0e4fSmrg# Transform an extracted symbol line into symbol name and symbol address 41186bea0e4fSmrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ 41196bea0e4fSmrg$lt_c_name_hook\ 41206bea0e4fSmrg" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 41216bea0e4fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" 41226bea0e4fSmrg 41236bea0e4fSmrg# Transform an extracted symbol line into symbol name with lib prefix and 41246bea0e4fSmrg# symbol address. 41256bea0e4fSmrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ 41266bea0e4fSmrg$lt_c_name_lib_hook\ 41276bea0e4fSmrg" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 41286bea0e4fSmrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ 41296bea0e4fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" 41306bea0e4fSmrg 41316bea0e4fSmrg# Handle CRLF in mingw tool chain 41326bea0e4fSmrgopt_cr= 41336bea0e4fSmrgcase $build_os in 41346bea0e4fSmrgmingw* | windows*) 41356bea0e4fSmrg opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 41366bea0e4fSmrg ;; 41376bea0e4fSmrgesac 41386bea0e4fSmrg 41396bea0e4fSmrg# Try without a prefix underscore, then with it. 41406bea0e4fSmrgfor ac_symprfx in "" "_"; do 41416bea0e4fSmrg 41426bea0e4fSmrg # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 41436bea0e4fSmrg symxfrm="\\1 $ac_symprfx\\2 \\2" 41446bea0e4fSmrg 41456bea0e4fSmrg # Write the raw and C identifiers. 41466bea0e4fSmrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then 41476bea0e4fSmrg # Fake it for dumpbin and say T for any non-static function, 41486bea0e4fSmrg # D for any global variable and I for any imported variable. 41496bea0e4fSmrg # Also find C++ and __fastcall symbols from MSVC++ or ICC, 41506bea0e4fSmrg # which start with @ or ?. 41516bea0e4fSmrg lt_cv_sys_global_symbol_pipe="$AWK ['"\ 41526bea0e4fSmrg" {last_section=section; section=\$ 3};"\ 41536bea0e4fSmrg" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 41546bea0e4fSmrg" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 41556bea0e4fSmrg" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ 41566bea0e4fSmrg" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ 41576bea0e4fSmrg" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ 41586bea0e4fSmrg" \$ 0!~/External *\|/{next};"\ 41596bea0e4fSmrg" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 41606bea0e4fSmrg" {if(hide[section]) next};"\ 41616bea0e4fSmrg" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ 41626bea0e4fSmrg" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ 41636bea0e4fSmrg" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ 41646bea0e4fSmrg" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ 41656bea0e4fSmrg" ' prfx=^$ac_symprfx]" 41666bea0e4fSmrg else 41676bea0e4fSmrg lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 41686bea0e4fSmrg fi 41696bea0e4fSmrg lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" 41706bea0e4fSmrg 41716bea0e4fSmrg # Check to see that the pipe works correctly. 41726bea0e4fSmrg pipe_works=no 41736bea0e4fSmrg 41746bea0e4fSmrg rm -f conftest* 41756bea0e4fSmrg cat > conftest.$ac_ext <<_LT_EOF 41766bea0e4fSmrg#ifdef __cplusplus 41776bea0e4fSmrgextern "C" { 41786bea0e4fSmrg#endif 41796bea0e4fSmrgchar nm_test_var; 41806bea0e4fSmrgvoid nm_test_func(void); 41816bea0e4fSmrgvoid nm_test_func(void){} 41826bea0e4fSmrg#ifdef __cplusplus 41836bea0e4fSmrg} 41846bea0e4fSmrg#endif 41856bea0e4fSmrgint main(void){nm_test_var='a';nm_test_func();return(0);} 41866bea0e4fSmrg_LT_EOF 41876bea0e4fSmrg 41886bea0e4fSmrg if AC_TRY_EVAL(ac_compile); then 41896bea0e4fSmrg # Now try to grab the symbols. 41906bea0e4fSmrg nlist=conftest.nm 41916bea0e4fSmrg $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD 41926bea0e4fSmrg if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then 41936bea0e4fSmrg # Try sorting and uniquifying the output. 41946bea0e4fSmrg if sort "$nlist" | uniq > "$nlist"T; then 41956bea0e4fSmrg mv -f "$nlist"T "$nlist" 41966bea0e4fSmrg else 41976bea0e4fSmrg rm -f "$nlist"T 41986bea0e4fSmrg fi 41996bea0e4fSmrg 42006bea0e4fSmrg # Make sure that we snagged all the symbols we need. 42016bea0e4fSmrg if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 42026bea0e4fSmrg if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 42036bea0e4fSmrg cat <<_LT_EOF > conftest.$ac_ext 42046bea0e4fSmrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 42056bea0e4fSmrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 42066bea0e4fSmrg/* DATA imports from DLLs on WIN32 can't be const, because runtime 42076bea0e4fSmrg relocations are performed -- see ld's documentation on pseudo-relocs. */ 42086bea0e4fSmrg# define LT@&t@_DLSYM_CONST 42096bea0e4fSmrg#elif defined __osf__ 42106bea0e4fSmrg/* This system does not cope well with relocations in const data. */ 42116bea0e4fSmrg# define LT@&t@_DLSYM_CONST 42126bea0e4fSmrg#else 42136bea0e4fSmrg# define LT@&t@_DLSYM_CONST const 42146bea0e4fSmrg#endif 42156bea0e4fSmrg 42166bea0e4fSmrg#ifdef __cplusplus 42176bea0e4fSmrgextern "C" { 42186bea0e4fSmrg#endif 42196bea0e4fSmrg 42206bea0e4fSmrg_LT_EOF 42216bea0e4fSmrg # Now generate the symbol file. 42226bea0e4fSmrg eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 42236bea0e4fSmrg 42246bea0e4fSmrg cat <<_LT_EOF >> conftest.$ac_ext 42256bea0e4fSmrg 42266bea0e4fSmrg/* The mapping between symbol names and symbols. */ 42276bea0e4fSmrgLT@&t@_DLSYM_CONST struct { 42286bea0e4fSmrg const char *name; 42296bea0e4fSmrg void *address; 42306bea0e4fSmrg} 42316bea0e4fSmrglt__PROGRAM__LTX_preloaded_symbols[[]] = 42326bea0e4fSmrg{ 42336bea0e4fSmrg { "@PROGRAM@", (void *) 0 }, 42346bea0e4fSmrg_LT_EOF 42356bea0e4fSmrg $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 42366bea0e4fSmrg cat <<\_LT_EOF >> conftest.$ac_ext 42376bea0e4fSmrg {0, (void *) 0} 42386bea0e4fSmrg}; 42396bea0e4fSmrg 42406bea0e4fSmrg/* This works around a problem in FreeBSD linker */ 42416bea0e4fSmrg#ifdef FREEBSD_WORKAROUND 42426bea0e4fSmrgstatic const void *lt_preloaded_setup() { 42436bea0e4fSmrg return lt__PROGRAM__LTX_preloaded_symbols; 42446bea0e4fSmrg} 42456bea0e4fSmrg#endif 42466bea0e4fSmrg 42476bea0e4fSmrg#ifdef __cplusplus 42486bea0e4fSmrg} 42496bea0e4fSmrg#endif 42506bea0e4fSmrg_LT_EOF 42516bea0e4fSmrg # Now try linking the two files. 42526bea0e4fSmrg mv conftest.$ac_objext conftstm.$ac_objext 42536bea0e4fSmrg lt_globsym_save_LIBS=$LIBS 42546bea0e4fSmrg lt_globsym_save_CFLAGS=$CFLAGS 42556bea0e4fSmrg LIBS=conftstm.$ac_objext 42566bea0e4fSmrg CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 42576bea0e4fSmrg if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then 42586bea0e4fSmrg pipe_works=yes 42596bea0e4fSmrg fi 42606bea0e4fSmrg LIBS=$lt_globsym_save_LIBS 42616bea0e4fSmrg CFLAGS=$lt_globsym_save_CFLAGS 42626bea0e4fSmrg else 42636bea0e4fSmrg echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 42646bea0e4fSmrg fi 42656bea0e4fSmrg else 42666bea0e4fSmrg echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 42676bea0e4fSmrg fi 42686bea0e4fSmrg else 42696bea0e4fSmrg echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 42706bea0e4fSmrg fi 42716bea0e4fSmrg else 42726bea0e4fSmrg echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 42736bea0e4fSmrg cat conftest.$ac_ext >&5 42746bea0e4fSmrg fi 42756bea0e4fSmrg rm -rf conftest* conftst* 42766bea0e4fSmrg 42776bea0e4fSmrg # Do not use the global_symbol_pipe unless it works. 42786bea0e4fSmrg if test yes = "$pipe_works"; then 42796bea0e4fSmrg break 42806bea0e4fSmrg else 42816bea0e4fSmrg lt_cv_sys_global_symbol_pipe= 42826bea0e4fSmrg fi 42836bea0e4fSmrgdone 42846bea0e4fSmrg]) 42856bea0e4fSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then 42866bea0e4fSmrg lt_cv_sys_global_symbol_to_cdecl= 42876bea0e4fSmrgfi 42886bea0e4fSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 42896bea0e4fSmrg AC_MSG_RESULT(failed) 42906bea0e4fSmrgelse 42916bea0e4fSmrg AC_MSG_RESULT(ok) 42926bea0e4fSmrgfi 42936bea0e4fSmrg 42946bea0e4fSmrg# Response file support. 42956bea0e4fSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then 42966bea0e4fSmrg nm_file_list_spec='@' 42976bea0e4fSmrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 42986bea0e4fSmrg nm_file_list_spec='@' 42996bea0e4fSmrgfi 43006bea0e4fSmrg 43016bea0e4fSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 43026bea0e4fSmrg [Take the output of nm and produce a listing of raw symbols and C names]) 43036bea0e4fSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 43046bea0e4fSmrg [Transform the output of nm in a proper C declaration]) 43056bea0e4fSmrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], 43066bea0e4fSmrg [Transform the output of nm into a list of symbols to manually relocate]) 43076bea0e4fSmrg_LT_DECL([global_symbol_to_c_name_address], 43086bea0e4fSmrg [lt_cv_sys_global_symbol_to_c_name_address], [1], 43096bea0e4fSmrg [Transform the output of nm in a C name address pair]) 43106bea0e4fSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 43116bea0e4fSmrg [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 43126bea0e4fSmrg [Transform the output of nm in a C name address pair when lib prefix is needed]) 43136bea0e4fSmrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], 43146bea0e4fSmrg [The name lister interface]) 43156bea0e4fSmrg_LT_DECL([], [nm_file_list_spec], [1], 43166bea0e4fSmrg [Specify filename containing input files for $NM]) 43176bea0e4fSmrg]) # _LT_CMD_GLOBAL_SYMBOLS 43186bea0e4fSmrg 43196bea0e4fSmrg 43206bea0e4fSmrg# _LT_COMPILER_PIC([TAGNAME]) 43216bea0e4fSmrg# --------------------------- 43226bea0e4fSmrgm4_defun([_LT_COMPILER_PIC], 43236bea0e4fSmrg[m4_require([_LT_TAG_COMPILER])dnl 43246bea0e4fSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)= 43256bea0e4fSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)= 43266bea0e4fSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)= 43276bea0e4fSmrg 43286bea0e4fSmrgm4_if([$1], [CXX], [ 43296bea0e4fSmrg # C++ specific cases for pic, static, wl, etc. 43306bea0e4fSmrg if test yes = "$GXX"; then 43316bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 43326bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 43336bea0e4fSmrg 43346bea0e4fSmrg case $host_os in 43356bea0e4fSmrg aix*) 43366bea0e4fSmrg # All AIX code is PIC. 43376bea0e4fSmrg if test ia64 = "$host_cpu"; then 43386bea0e4fSmrg # AIX 5 now supports IA64 processor 43396bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 43406bea0e4fSmrg fi 43416bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 43426bea0e4fSmrg ;; 43436bea0e4fSmrg 43446bea0e4fSmrg amigaos*) 43456bea0e4fSmrg case $host_cpu in 43466bea0e4fSmrg powerpc) 43476bea0e4fSmrg # see comment about AmigaOS4 .so support 43486bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 43496bea0e4fSmrg ;; 43506bea0e4fSmrg m68k) 43516bea0e4fSmrg # FIXME: we need at least 68020 code to build shared libraries, but 43526bea0e4fSmrg # adding the '-m68020' flag to GCC prevents building anything better, 43536bea0e4fSmrg # like '-m68040'. 43546bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 43556bea0e4fSmrg ;; 43566bea0e4fSmrg esac 43576bea0e4fSmrg ;; 43586bea0e4fSmrg 43596bea0e4fSmrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 43606bea0e4fSmrg # PIC is the default for these OSes. 43616bea0e4fSmrg ;; 43626bea0e4fSmrg mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) 43636bea0e4fSmrg # This hack is so that the source file can tell whether it is being 43646bea0e4fSmrg # built for inclusion in a dll (and should export symbols for example). 43656bea0e4fSmrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 43666bea0e4fSmrg # (--disable-auto-import) libraries 43676bea0e4fSmrg m4_if([$1], [GCJ], [], 43686bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 43696bea0e4fSmrg case $host_os in 43706bea0e4fSmrg os2*) 43716bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 43726bea0e4fSmrg ;; 43736bea0e4fSmrg esac 43746bea0e4fSmrg ;; 43756bea0e4fSmrg darwin* | rhapsody*) 43766bea0e4fSmrg # PIC is the default on this platform 43776bea0e4fSmrg # Common symbols not allowed in MH_DYLIB files 43786bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 43796bea0e4fSmrg ;; 43806bea0e4fSmrg *djgpp*) 43816bea0e4fSmrg # DJGPP does not support shared libraries at all 43826bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 43836bea0e4fSmrg ;; 43846bea0e4fSmrg haiku*) 43856bea0e4fSmrg # PIC is the default for Haiku. 43866bea0e4fSmrg # The "-static" flag exists, but is broken. 43876bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 43886bea0e4fSmrg ;; 43896bea0e4fSmrg interix[[3-9]]*) 43906bea0e4fSmrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 43916bea0e4fSmrg # Instead, we relocate shared libraries at runtime. 43926bea0e4fSmrg ;; 43936bea0e4fSmrg sysv4*MP*) 43946bea0e4fSmrg if test -d /usr/nec; then 43956bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 43966bea0e4fSmrg fi 43976bea0e4fSmrg ;; 43986bea0e4fSmrg hpux*) 43996bea0e4fSmrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 44006bea0e4fSmrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 44016bea0e4fSmrg # sets the default TLS model and affects inlining. 44026bea0e4fSmrg case $host_cpu in 44036bea0e4fSmrg hppa*64*) 44046bea0e4fSmrg ;; 44056bea0e4fSmrg *) 44066bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 44076bea0e4fSmrg ;; 44086bea0e4fSmrg esac 44096bea0e4fSmrg ;; 44106bea0e4fSmrg *qnx* | *nto*) 44116bea0e4fSmrg # QNX uses GNU C++, but need to define -shared option too, otherwise 44126bea0e4fSmrg # it will coredump. 44136bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 44146bea0e4fSmrg ;; 44156bea0e4fSmrg *) 44166bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 44176bea0e4fSmrg ;; 44186bea0e4fSmrg esac 44196bea0e4fSmrg else 44206bea0e4fSmrg case $host_os in 44216bea0e4fSmrg aix[[4-9]]*) 44226bea0e4fSmrg # All AIX code is PIC. 44236bea0e4fSmrg if test ia64 = "$host_cpu"; then 44246bea0e4fSmrg # AIX 5 now supports IA64 processor 44256bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 44266bea0e4fSmrg else 44276bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 44286bea0e4fSmrg fi 44296bea0e4fSmrg ;; 44306bea0e4fSmrg chorus*) 44316bea0e4fSmrg case $cc_basename in 44326bea0e4fSmrg cxch68*) 44336bea0e4fSmrg # Green Hills C++ Compiler 44346bea0e4fSmrg # _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" 44356bea0e4fSmrg ;; 44366bea0e4fSmrg esac 44376bea0e4fSmrg ;; 44386bea0e4fSmrg mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) 44396bea0e4fSmrg # This hack is so that the source file can tell whether it is being 44406bea0e4fSmrg # built for inclusion in a dll (and should export symbols for example). 44416bea0e4fSmrg m4_if([$1], [GCJ], [], 44426bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 44436bea0e4fSmrg ;; 44446bea0e4fSmrg dgux*) 44456bea0e4fSmrg case $cc_basename in 44466bea0e4fSmrg ec++*) 44476bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 44486bea0e4fSmrg ;; 44496bea0e4fSmrg ghcx*) 44506bea0e4fSmrg # Green Hills C++ Compiler 44516bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 44526bea0e4fSmrg ;; 44536bea0e4fSmrg *) 44546bea0e4fSmrg ;; 44556bea0e4fSmrg esac 44566bea0e4fSmrg ;; 44576bea0e4fSmrg freebsd* | dragonfly* | midnightbsd*) 44586bea0e4fSmrg # FreeBSD uses GNU C++ 44596bea0e4fSmrg ;; 44606bea0e4fSmrg hpux9* | hpux10* | hpux11*) 44616bea0e4fSmrg case $cc_basename in 44626bea0e4fSmrg CC*) 44636bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 44646bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 44656bea0e4fSmrg if test ia64 != "$host_cpu"; then 44666bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 44676bea0e4fSmrg fi 44686bea0e4fSmrg ;; 44696bea0e4fSmrg aCC*) 44706bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 44716bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 44726bea0e4fSmrg case $host_cpu in 44736bea0e4fSmrg hppa*64*|ia64*) 44746bea0e4fSmrg # +Z the default 44756bea0e4fSmrg ;; 44766bea0e4fSmrg *) 44776bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 44786bea0e4fSmrg ;; 44796bea0e4fSmrg esac 44806bea0e4fSmrg ;; 44816bea0e4fSmrg *) 44826bea0e4fSmrg ;; 44836bea0e4fSmrg esac 44846bea0e4fSmrg ;; 44856bea0e4fSmrg interix*) 44866bea0e4fSmrg # This is c89, which is MS Visual C++ (no shared libs) 44876bea0e4fSmrg # Anyone wants to do a port? 44886bea0e4fSmrg ;; 44896bea0e4fSmrg irix5* | irix6* | nonstopux*) 44906bea0e4fSmrg case $cc_basename in 44916bea0e4fSmrg CC*) 44926bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 44936bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 44946bea0e4fSmrg # CC pic flag -KPIC is the default. 44956bea0e4fSmrg ;; 44966bea0e4fSmrg *) 44976bea0e4fSmrg ;; 44986bea0e4fSmrg esac 44996bea0e4fSmrg ;; 45006bea0e4fSmrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 45016bea0e4fSmrg case $cc_basename in 45026bea0e4fSmrg KCC*) 45036bea0e4fSmrg # KAI C++ Compiler 45046bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 45056bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 45066bea0e4fSmrg ;; 45076bea0e4fSmrg ecpc* ) 45086bea0e4fSmrg # old Intel C++ for x86_64, which still supported -KPIC. 45096bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 45106bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 45116bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 45126bea0e4fSmrg ;; 45136bea0e4fSmrg icpc* ) 45146bea0e4fSmrg # Intel C++, used to be incompatible with GCC. 45156bea0e4fSmrg # ICC 10 doesn't accept -KPIC any more. 45166bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 45176bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 45186bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 45196bea0e4fSmrg ;; 45206bea0e4fSmrg pgCC* | pgcpp*) 45216bea0e4fSmrg # Portland Group C++ compiler 45226bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 45236bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 45246bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 45256bea0e4fSmrg ;; 45266bea0e4fSmrg cxx*) 45276bea0e4fSmrg # Compaq C++ 45286bea0e4fSmrg # Make sure the PIC flag is empty. It appears that all Alpha 45296bea0e4fSmrg # Linux and Compaq Tru64 Unix objects are PIC. 45306bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 45316bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 45326bea0e4fSmrg ;; 45336bea0e4fSmrg xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 45346bea0e4fSmrg # IBM XL 8.0, 9.0 on PPC and BlueGene 45356bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 45366bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 45376bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 45386bea0e4fSmrg ;; 45396bea0e4fSmrg *) 45406bea0e4fSmrg case `$CC -V 2>&1 | $SED 5q` in 45416bea0e4fSmrg *Sun\ C*) 45426bea0e4fSmrg # Sun C++ 5.9 45436bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 45446bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 45456bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 45466bea0e4fSmrg ;; 45476bea0e4fSmrg esac 45486bea0e4fSmrg ;; 45496bea0e4fSmrg esac 45506bea0e4fSmrg ;; 45516bea0e4fSmrg lynxos*) 45526bea0e4fSmrg ;; 45536bea0e4fSmrg m88k*) 45546bea0e4fSmrg ;; 45556bea0e4fSmrg mvs*) 45566bea0e4fSmrg case $cc_basename in 45576bea0e4fSmrg cxx*) 45586bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 45596bea0e4fSmrg ;; 45606bea0e4fSmrg *) 45616bea0e4fSmrg ;; 45626bea0e4fSmrg esac 45636bea0e4fSmrg ;; 45646bea0e4fSmrg netbsd* | netbsdelf*-gnu) 45656bea0e4fSmrg ;; 45666bea0e4fSmrg *-mlibc) 45676bea0e4fSmrg ;; 45686bea0e4fSmrg *qnx* | *nto*) 45696bea0e4fSmrg # QNX uses GNU C++, but need to define -shared option too, otherwise 45706bea0e4fSmrg # it will coredump. 45716bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 45726bea0e4fSmrg ;; 45736bea0e4fSmrg osf3* | osf4* | osf5*) 45746bea0e4fSmrg case $cc_basename in 45756bea0e4fSmrg KCC*) 45766bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 45776bea0e4fSmrg ;; 45786bea0e4fSmrg RCC*) 45796bea0e4fSmrg # Rational C++ 2.4.1 45806bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 45816bea0e4fSmrg ;; 45826bea0e4fSmrg cxx*) 45836bea0e4fSmrg # Digital/Compaq C++ 45846bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 45856bea0e4fSmrg # Make sure the PIC flag is empty. It appears that all Alpha 45866bea0e4fSmrg # Linux and Compaq Tru64 Unix objects are PIC. 45876bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 45886bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 45896bea0e4fSmrg ;; 45906bea0e4fSmrg *) 45916bea0e4fSmrg ;; 45926bea0e4fSmrg esac 45936bea0e4fSmrg ;; 45946bea0e4fSmrg psos*) 45956bea0e4fSmrg ;; 45966bea0e4fSmrg serenity*) 45976bea0e4fSmrg ;; 45986bea0e4fSmrg solaris*) 45996bea0e4fSmrg case $cc_basename in 46006bea0e4fSmrg CC* | sunCC*) 46016bea0e4fSmrg # Sun C++ 4.2, 5.x and Centerline C++ 46026bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 46036bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 46046bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 46056bea0e4fSmrg ;; 46066bea0e4fSmrg gcx*) 46076bea0e4fSmrg # Green Hills C++ Compiler 46086bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 46096bea0e4fSmrg ;; 46106bea0e4fSmrg *) 46116bea0e4fSmrg ;; 46126bea0e4fSmrg esac 46136bea0e4fSmrg ;; 46146bea0e4fSmrg sunos4*) 46156bea0e4fSmrg case $cc_basename in 46166bea0e4fSmrg CC*) 46176bea0e4fSmrg # Sun C++ 4.x 46186bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 46196bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 46206bea0e4fSmrg ;; 46216bea0e4fSmrg lcc*) 46226bea0e4fSmrg # Lucid 46236bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 46246bea0e4fSmrg ;; 46256bea0e4fSmrg *) 46266bea0e4fSmrg ;; 46276bea0e4fSmrg esac 46286bea0e4fSmrg ;; 46296bea0e4fSmrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 46306bea0e4fSmrg case $cc_basename in 46316bea0e4fSmrg CC*) 46326bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 46336bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 46346bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 46356bea0e4fSmrg ;; 46366bea0e4fSmrg esac 46376bea0e4fSmrg ;; 46386bea0e4fSmrg tandem*) 46396bea0e4fSmrg case $cc_basename in 46406bea0e4fSmrg NCC*) 46416bea0e4fSmrg # NonStop-UX NCC 3.20 46426bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 46436bea0e4fSmrg ;; 46446bea0e4fSmrg *) 46456bea0e4fSmrg ;; 46466bea0e4fSmrg esac 46476bea0e4fSmrg ;; 46486bea0e4fSmrg vxworks*) 46496bea0e4fSmrg ;; 46506bea0e4fSmrg *) 46516bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 46526bea0e4fSmrg ;; 46536bea0e4fSmrg esac 46546bea0e4fSmrg fi 46556bea0e4fSmrg], 46566bea0e4fSmrg[ 46576bea0e4fSmrg if test yes = "$GCC"; then 46586bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 46596bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 46606bea0e4fSmrg 46616bea0e4fSmrg case $host_os in 46626bea0e4fSmrg aix*) 46636bea0e4fSmrg # All AIX code is PIC. 46646bea0e4fSmrg if test ia64 = "$host_cpu"; then 46656bea0e4fSmrg # AIX 5 now supports IA64 processor 46666bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 46676bea0e4fSmrg fi 46686bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 46696bea0e4fSmrg ;; 46706bea0e4fSmrg 46716bea0e4fSmrg amigaos*) 46726bea0e4fSmrg case $host_cpu in 46736bea0e4fSmrg powerpc) 46746bea0e4fSmrg # see comment about AmigaOS4 .so support 46756bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 46766bea0e4fSmrg ;; 46776bea0e4fSmrg m68k) 46786bea0e4fSmrg # FIXME: we need at least 68020 code to build shared libraries, but 46796bea0e4fSmrg # adding the '-m68020' flag to GCC prevents building anything better, 46806bea0e4fSmrg # like '-m68040'. 46816bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 46826bea0e4fSmrg ;; 46836bea0e4fSmrg esac 46846bea0e4fSmrg ;; 46856bea0e4fSmrg 46866bea0e4fSmrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 46876bea0e4fSmrg # PIC is the default for these OSes. 46886bea0e4fSmrg ;; 46896bea0e4fSmrg 46906bea0e4fSmrg mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) 46916bea0e4fSmrg # This hack is so that the source file can tell whether it is being 46926bea0e4fSmrg # built for inclusion in a dll (and should export symbols for example). 46936bea0e4fSmrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 46946bea0e4fSmrg # (--disable-auto-import) libraries 46956bea0e4fSmrg m4_if([$1], [GCJ], [], 46966bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 46976bea0e4fSmrg case $host_os in 46986bea0e4fSmrg os2*) 46996bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 47006bea0e4fSmrg ;; 47016bea0e4fSmrg esac 47026bea0e4fSmrg ;; 47036bea0e4fSmrg 47046bea0e4fSmrg darwin* | rhapsody*) 47056bea0e4fSmrg # PIC is the default on this platform 47066bea0e4fSmrg # Common symbols not allowed in MH_DYLIB files 47076bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 47086bea0e4fSmrg ;; 47096bea0e4fSmrg 47106bea0e4fSmrg haiku*) 47116bea0e4fSmrg # PIC is the default for Haiku. 47126bea0e4fSmrg # The "-static" flag exists, but is broken. 47136bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 47146bea0e4fSmrg ;; 47156bea0e4fSmrg 47166bea0e4fSmrg hpux*) 47176bea0e4fSmrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 47186bea0e4fSmrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 47196bea0e4fSmrg # sets the default TLS model and affects inlining. 47206bea0e4fSmrg case $host_cpu in 47216bea0e4fSmrg hppa*64*) 47226bea0e4fSmrg # +Z the default 47236bea0e4fSmrg ;; 47246bea0e4fSmrg *) 47256bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 47266bea0e4fSmrg ;; 47276bea0e4fSmrg esac 47286bea0e4fSmrg ;; 47296bea0e4fSmrg 47306bea0e4fSmrg interix[[3-9]]*) 47316bea0e4fSmrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 47326bea0e4fSmrg # Instead, we relocate shared libraries at runtime. 47336bea0e4fSmrg ;; 47346bea0e4fSmrg 47356bea0e4fSmrg msdosdjgpp*) 47366bea0e4fSmrg # Just because we use GCC doesn't mean we suddenly get shared libraries 47376bea0e4fSmrg # on systems that don't support them. 47386bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 47396bea0e4fSmrg enable_shared=no 47406bea0e4fSmrg ;; 47416bea0e4fSmrg 47426bea0e4fSmrg *nto* | *qnx*) 47436bea0e4fSmrg # QNX uses GNU C++, but need to define -shared option too, otherwise 47446bea0e4fSmrg # it will coredump. 47456bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 47466bea0e4fSmrg ;; 47476bea0e4fSmrg 47486bea0e4fSmrg sysv4*MP*) 47496bea0e4fSmrg if test -d /usr/nec; then 47506bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 47516bea0e4fSmrg fi 47526bea0e4fSmrg ;; 47536bea0e4fSmrg 47546bea0e4fSmrg *) 47556bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 47566bea0e4fSmrg ;; 47576bea0e4fSmrg esac 47586bea0e4fSmrg 47596bea0e4fSmrg case $cc_basename in 47606bea0e4fSmrg nvcc*) # Cuda Compiler Driver 2.2 47616bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 47626bea0e4fSmrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 47636bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 47646bea0e4fSmrg fi 47656bea0e4fSmrg ;; 47666bea0e4fSmrg esac 47676bea0e4fSmrg else 47686bea0e4fSmrg # PORTME Check for flag to pass linker flags through the system compiler. 47696bea0e4fSmrg case $host_os in 47706bea0e4fSmrg aix*) 47716bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 47726bea0e4fSmrg if test ia64 = "$host_cpu"; then 47736bea0e4fSmrg # AIX 5 now supports IA64 processor 47746bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 47756bea0e4fSmrg else 47766bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 47776bea0e4fSmrg fi 47786bea0e4fSmrg ;; 47796bea0e4fSmrg 47806bea0e4fSmrg darwin* | rhapsody*) 47816bea0e4fSmrg # PIC is the default on this platform 47826bea0e4fSmrg # Common symbols not allowed in MH_DYLIB files 47836bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 47846bea0e4fSmrg case $cc_basename in 47856bea0e4fSmrg nagfor*) 47866bea0e4fSmrg # NAG Fortran compiler 47876bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 47886bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 47896bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 47906bea0e4fSmrg ;; 47916bea0e4fSmrg esac 47926bea0e4fSmrg ;; 47936bea0e4fSmrg 47946bea0e4fSmrg mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) 47956bea0e4fSmrg # This hack is so that the source file can tell whether it is being 47966bea0e4fSmrg # built for inclusion in a dll (and should export symbols for example). 47976bea0e4fSmrg m4_if([$1], [GCJ], [], 47986bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 47996bea0e4fSmrg case $host_os in 48006bea0e4fSmrg os2*) 48016bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 48026bea0e4fSmrg ;; 48036bea0e4fSmrg esac 48046bea0e4fSmrg ;; 48056bea0e4fSmrg 48066bea0e4fSmrg hpux9* | hpux10* | hpux11*) 48076bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48086bea0e4fSmrg # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 48096bea0e4fSmrg # not for PA HP-UX. 48106bea0e4fSmrg case $host_cpu in 48116bea0e4fSmrg hppa*64*|ia64*) 48126bea0e4fSmrg # +Z the default 48136bea0e4fSmrg ;; 48146bea0e4fSmrg *) 48156bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 48166bea0e4fSmrg ;; 48176bea0e4fSmrg esac 48186bea0e4fSmrg # Is there a better lt_prog_compiler_static that works with the bundled CC? 48196bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 48206bea0e4fSmrg ;; 48216bea0e4fSmrg 48226bea0e4fSmrg irix5* | irix6* | nonstopux*) 48236bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48246bea0e4fSmrg # PIC (with -KPIC) is the default. 48256bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 48266bea0e4fSmrg ;; 48276bea0e4fSmrg 48286bea0e4fSmrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 48296bea0e4fSmrg case $cc_basename in 48306bea0e4fSmrg # old Intel for x86_64, which still supported -KPIC. 48316bea0e4fSmrg ecc*) 48326bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48336bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 48346bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 48356bea0e4fSmrg ;; 48366bea0e4fSmrg *flang* | ftn | f18* | f95*) 48376bea0e4fSmrg # Flang compiler. 48386bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48396bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 48406bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 48416bea0e4fSmrg ;; 48426bea0e4fSmrg # icc used to be incompatible with GCC. 48436bea0e4fSmrg # ICC 10 doesn't accept -KPIC any more. 48446bea0e4fSmrg icc* | ifort*) 48456bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48466bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 48476bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 48486bea0e4fSmrg ;; 48496bea0e4fSmrg # Lahey Fortran 8.1. 48506bea0e4fSmrg lf95*) 48516bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48526bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 48536bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 48546bea0e4fSmrg ;; 48556bea0e4fSmrg nagfor*) 48566bea0e4fSmrg # NAG Fortran compiler 48576bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 48586bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 48596bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 48606bea0e4fSmrg ;; 48616bea0e4fSmrg tcc*) 48626bea0e4fSmrg # Fabrice Bellard et al's Tiny C Compiler 48636bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48646bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 48656bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 48666bea0e4fSmrg ;; 48676bea0e4fSmrg pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 48686bea0e4fSmrg # Portland Group compilers (*not* the Pentium gcc compiler, 48696bea0e4fSmrg # which looks to be a dead project) 48706bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48716bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 48726bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 48736bea0e4fSmrg ;; 48746bea0e4fSmrg ccc*) 48756bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48766bea0e4fSmrg # All Alpha code is PIC. 48776bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 48786bea0e4fSmrg ;; 48796bea0e4fSmrg xl* | bgxl* | bgf* | mpixl*) 48806bea0e4fSmrg # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 48816bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 48826bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 48836bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 48846bea0e4fSmrg ;; 48856bea0e4fSmrg *) 48866bea0e4fSmrg case `$CC -V 2>&1 | $SED 5q` in 48876bea0e4fSmrg *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 48886bea0e4fSmrg # Sun Fortran 8.3 passes all unrecognized flags to the linker 48896bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 48906bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 48916bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 48926bea0e4fSmrg ;; 48936bea0e4fSmrg *Sun\ F* | *Sun*Fortran*) 48946bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 48956bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 48966bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 48976bea0e4fSmrg ;; 48986bea0e4fSmrg *Sun\ C*) 48996bea0e4fSmrg # Sun C 5.9 49006bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 49016bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49026bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49036bea0e4fSmrg ;; 49046bea0e4fSmrg *Intel*\ [[CF]]*Compiler*) 49056bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49066bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 49076bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 49086bea0e4fSmrg ;; 49096bea0e4fSmrg *Portland\ Group*) 49106bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49116bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 49126bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49136bea0e4fSmrg ;; 49146bea0e4fSmrg esac 49156bea0e4fSmrg ;; 49166bea0e4fSmrg esac 49176bea0e4fSmrg ;; 49186bea0e4fSmrg 49196bea0e4fSmrg newsos6) 49206bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 49216bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49226bea0e4fSmrg ;; 49236bea0e4fSmrg 49246bea0e4fSmrg *-mlibc) 49256bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49266bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 49276bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 49286bea0e4fSmrg ;; 49296bea0e4fSmrg 49306bea0e4fSmrg *nto* | *qnx*) 49316bea0e4fSmrg # QNX uses GNU C++, but need to define -shared option too, otherwise 49326bea0e4fSmrg # it will coredump. 49336bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 49346bea0e4fSmrg ;; 49356bea0e4fSmrg 49366bea0e4fSmrg osf3* | osf4* | osf5*) 49376bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49386bea0e4fSmrg # All OSF/1 code is PIC. 49396bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 49406bea0e4fSmrg ;; 49416bea0e4fSmrg 49426bea0e4fSmrg rdos*) 49436bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 49446bea0e4fSmrg ;; 49456bea0e4fSmrg 49466bea0e4fSmrg serenity*) 49476bea0e4fSmrg ;; 49486bea0e4fSmrg 49496bea0e4fSmrg solaris*) 49506bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 49516bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49526bea0e4fSmrg case $cc_basename in 49536bea0e4fSmrg f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 49546bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 49556bea0e4fSmrg *) 49566bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 49576bea0e4fSmrg esac 49586bea0e4fSmrg ;; 49596bea0e4fSmrg 49606bea0e4fSmrg sunos4*) 49616bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 49626bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 49636bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49646bea0e4fSmrg ;; 49656bea0e4fSmrg 49666bea0e4fSmrg sysv4 | sysv4.2uw2* | sysv4.3*) 49676bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49686bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 49696bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49706bea0e4fSmrg ;; 49716bea0e4fSmrg 49726bea0e4fSmrg sysv4*MP*) 49736bea0e4fSmrg if test -d /usr/nec; then 49746bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 49756bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49766bea0e4fSmrg fi 49776bea0e4fSmrg ;; 49786bea0e4fSmrg 49796bea0e4fSmrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 49806bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49816bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 49826bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49836bea0e4fSmrg ;; 49846bea0e4fSmrg 49856bea0e4fSmrg unicos*) 49866bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 49876bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 49886bea0e4fSmrg ;; 49896bea0e4fSmrg 49906bea0e4fSmrg uts4*) 49916bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 49926bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 49936bea0e4fSmrg ;; 49946bea0e4fSmrg 49956bea0e4fSmrg *) 49966bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 49976bea0e4fSmrg ;; 49986bea0e4fSmrg esac 49996bea0e4fSmrg fi 50006bea0e4fSmrg]) 50016bea0e4fSmrgcase $host_os in 50026bea0e4fSmrg # For platforms that do not support PIC, -DPIC is meaningless: 50036bea0e4fSmrg *djgpp*) 50046bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 50056bea0e4fSmrg ;; 50066bea0e4fSmrg *) 50076bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 50086bea0e4fSmrg ;; 50096bea0e4fSmrgesac 50106bea0e4fSmrg 50116bea0e4fSmrgAC_CACHE_CHECK([for $compiler option to produce PIC], 50126bea0e4fSmrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 50136bea0e4fSmrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 50146bea0e4fSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 50156bea0e4fSmrg 50166bea0e4fSmrg# 50176bea0e4fSmrg# Check to make sure the PIC flag actually works. 50186bea0e4fSmrg# 50196bea0e4fSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 50206bea0e4fSmrg _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 50216bea0e4fSmrg [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 50226bea0e4fSmrg [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 50236bea0e4fSmrg [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 50246bea0e4fSmrg "" | " "*) ;; 50256bea0e4fSmrg *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 50266bea0e4fSmrg esac], 50276bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 50286bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 50296bea0e4fSmrgfi 50306bea0e4fSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 50316bea0e4fSmrg [Additional compiler flags for building library objects]) 50326bea0e4fSmrg 50336bea0e4fSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 50346bea0e4fSmrg [How to pass a linker flag through the compiler]) 50356bea0e4fSmrg# 50366bea0e4fSmrg# Check to make sure the static flag actually works. 50376bea0e4fSmrg# 50386bea0e4fSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 50396bea0e4fSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 50406bea0e4fSmrg _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 50416bea0e4fSmrg $lt_tmp_static_flag, 50426bea0e4fSmrg [], 50436bea0e4fSmrg [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 50446bea0e4fSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 50456bea0e4fSmrg [Compiler flag to prevent dynamic linking]) 50466bea0e4fSmrg])# _LT_COMPILER_PIC 50476bea0e4fSmrg 50486bea0e4fSmrg 50496bea0e4fSmrg# _LT_LINKER_SHLIBS([TAGNAME]) 50506bea0e4fSmrg# ---------------------------- 50516bea0e4fSmrg# See if the linker supports building shared libraries. 50526bea0e4fSmrgm4_defun([_LT_LINKER_SHLIBS], 50536bea0e4fSmrg[AC_REQUIRE([LT_PATH_LD])dnl 50546bea0e4fSmrgAC_REQUIRE([LT_PATH_NM])dnl 50556bea0e4fSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl 50566bea0e4fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 50576bea0e4fSmrgm4_require([_LT_DECL_EGREP])dnl 50586bea0e4fSmrgm4_require([_LT_DECL_SED])dnl 50596bea0e4fSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 50606bea0e4fSmrgm4_require([_LT_TAG_COMPILER])dnl 50616bea0e4fSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 50626bea0e4fSmrgm4_if([$1], [CXX], [ 50636bea0e4fSmrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 50646bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 50656bea0e4fSmrg case $host_os in 50666bea0e4fSmrg aix[[4-9]]*) 50676bea0e4fSmrg # If we're using GNU nm, then we don't want the "-C" option. 50686bea0e4fSmrg # -C means demangle to GNU nm, but means don't demangle to AIX nm. 50696bea0e4fSmrg # Without the "-l" option, or with the "-B" option, AIX nm treats 50706bea0e4fSmrg # weak defined symbols like other global defined symbols, whereas 50716bea0e4fSmrg # GNU nm marks them as "W". 50726bea0e4fSmrg # While the 'weak' keyword is ignored in the Export File, we need 50736bea0e4fSmrg # it in the Import File for the 'aix-soname' feature, so we have 50746bea0e4fSmrg # to replace the "-B" option with "-P" for AIX nm. 50756bea0e4fSmrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 50766bea0e4fSmrg _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' 50776bea0e4fSmrg else 50786bea0e4fSmrg _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 == "L") || (\$ 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' 50796bea0e4fSmrg fi 50806bea0e4fSmrg ;; 50816bea0e4fSmrg pw32*) 50826bea0e4fSmrg _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds 50836bea0e4fSmrg ;; 50846bea0e4fSmrg cygwin* | mingw* | windows* | cegcc*) 50856bea0e4fSmrg case $cc_basename in 50866bea0e4fSmrg cl* | icl*) 50876bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 50886bea0e4fSmrg ;; 50896bea0e4fSmrg *) 50906bea0e4fSmrg _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' 50916bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 50926bea0e4fSmrg ;; 50936bea0e4fSmrg esac 50946bea0e4fSmrg ;; 50956bea0e4fSmrg *) 50966bea0e4fSmrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 50976bea0e4fSmrg ;; 50986bea0e4fSmrg esac 50996bea0e4fSmrg], [ 51006bea0e4fSmrg runpath_var= 51016bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)= 51026bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=no 51036bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)= 51046bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)= 51056bea0e4fSmrg _LT_TAGVAR(compiler_needs_object, $1)=no 51066bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 51076bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 51086bea0e4fSmrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 51096bea0e4fSmrg _LT_TAGVAR(hardcode_automatic, $1)=no 51106bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 51116bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 51126bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 51136bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 51146bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=no 51156bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 51166bea0e4fSmrg _LT_TAGVAR(inherit_rpath, $1)=no 51176bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=unknown 51186bea0e4fSmrg _LT_TAGVAR(module_cmds, $1)= 51196bea0e4fSmrg _LT_TAGVAR(module_expsym_cmds, $1)= 51206bea0e4fSmrg _LT_TAGVAR(old_archive_from_new_cmds, $1)= 51216bea0e4fSmrg _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 51226bea0e4fSmrg _LT_TAGVAR(thread_safe_flag_spec, $1)= 51236bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 51246bea0e4fSmrg # include_expsyms should be a list of space-separated symbols to be *always* 51256bea0e4fSmrg # included in the symbol list 51266bea0e4fSmrg _LT_TAGVAR(include_expsyms, $1)= 51276bea0e4fSmrg # exclude_expsyms can be an extended regexp of symbols to exclude 51286bea0e4fSmrg # it will be wrapped by ' (' and ')$', so one must not match beginning or 51296bea0e4fSmrg # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', 51306bea0e4fSmrg # as well as any symbol that contains 'd'. 51316bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 51326bea0e4fSmrg # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 51336bea0e4fSmrg # platforms (ab)use it in PIC code, but their linkers get confused if 51346bea0e4fSmrg # the symbol is explicitly referenced. Since portable code cannot 51356bea0e4fSmrg # rely on this symbol name, it's probably fine to never include it in 51366bea0e4fSmrg # preloaded symbol tables. 51376bea0e4fSmrg # Exclude shared library initialization/finalization symbols. 51386bea0e4fSmrgdnl Note also adjust exclude_expsyms for C++ above. 51396bea0e4fSmrg extract_expsyms_cmds= 51406bea0e4fSmrg 51416bea0e4fSmrg case $host_os in 51426bea0e4fSmrg cygwin* | mingw* | windows* | pw32* | cegcc*) 51436bea0e4fSmrg # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time 51446bea0e4fSmrg # When not using gcc, we currently assume that we are using 51456bea0e4fSmrg # Microsoft Visual C++ or Intel C++ Compiler. 51466bea0e4fSmrg if test yes != "$GCC"; then 51476bea0e4fSmrg with_gnu_ld=no 51486bea0e4fSmrg fi 51496bea0e4fSmrg ;; 51506bea0e4fSmrg interix*) 51516bea0e4fSmrg # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) 51526bea0e4fSmrg with_gnu_ld=yes 51536bea0e4fSmrg ;; 51546bea0e4fSmrg esac 51556bea0e4fSmrg 51566bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 51576bea0e4fSmrg 51586bea0e4fSmrg # On some targets, GNU ld is compatible enough with the native linker 51596bea0e4fSmrg # that we're better off using the native interface for both. 51606bea0e4fSmrg lt_use_gnu_ld_interface=no 51616bea0e4fSmrg if test yes = "$with_gnu_ld"; then 51626bea0e4fSmrg case $host_os in 51636bea0e4fSmrg aix*) 51646bea0e4fSmrg # The AIX port of GNU ld has always aspired to compatibility 51656bea0e4fSmrg # with the native linker. However, as the warning in the GNU ld 51666bea0e4fSmrg # block says, versions before 2.19.5* couldn't really create working 51676bea0e4fSmrg # shared libraries, regardless of the interface used. 51686bea0e4fSmrg case `$LD -v 2>&1` in 51696bea0e4fSmrg *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 51706bea0e4fSmrg *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 51716bea0e4fSmrg *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 51726bea0e4fSmrg *) 51736bea0e4fSmrg lt_use_gnu_ld_interface=yes 51746bea0e4fSmrg ;; 51756bea0e4fSmrg esac 51766bea0e4fSmrg ;; 51776bea0e4fSmrg *) 51786bea0e4fSmrg lt_use_gnu_ld_interface=yes 51796bea0e4fSmrg ;; 51806bea0e4fSmrg esac 51816bea0e4fSmrg fi 51826bea0e4fSmrg 51836bea0e4fSmrg if test yes = "$lt_use_gnu_ld_interface"; then 51846bea0e4fSmrg # If archive_cmds runs LD, not CC, wlarc should be empty 51856bea0e4fSmrg wlarc='$wl' 51866bea0e4fSmrg 51876bea0e4fSmrg # Set some defaults for GNU ld with shared library support. These 51886bea0e4fSmrg # are reset later if shared libraries are not supported. Putting them 51896bea0e4fSmrg # here allows them to be overridden if necessary. 51906bea0e4fSmrg runpath_var=LD_RUN_PATH 51916bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 51926bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 51936bea0e4fSmrg # ancient GNU ld didn't support --whole-archive et. al. 51946bea0e4fSmrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 51956bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 51966bea0e4fSmrg else 51976bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 51986bea0e4fSmrg fi 51996bea0e4fSmrg supports_anon_versioning=no 52006bea0e4fSmrg case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in 52016bea0e4fSmrg *GNU\ gold*) supports_anon_versioning=yes ;; 52026bea0e4fSmrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 52036bea0e4fSmrg *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 52046bea0e4fSmrg *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 52056bea0e4fSmrg *\ 2.11.*) ;; # other 2.11 versions 52066bea0e4fSmrg *) supports_anon_versioning=yes ;; 52076bea0e4fSmrg esac 52086bea0e4fSmrg 52096bea0e4fSmrg # See if GNU ld supports shared libraries. 52106bea0e4fSmrg case $host_os in 52116bea0e4fSmrg aix[[3-9]]*) 52126bea0e4fSmrg # On AIX/PPC, the GNU linker is very broken 52136bea0e4fSmrg if test ia64 != "$host_cpu"; then 52146bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 52156bea0e4fSmrg cat <<_LT_EOF 1>&2 52166bea0e4fSmrg 52176bea0e4fSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported 52186bea0e4fSmrg*** to be unable to reliably create shared libraries on AIX. 52196bea0e4fSmrg*** Therefore, libtool is disabling shared libraries support. If you 52206bea0e4fSmrg*** really care for shared libraries, you may want to install binutils 52216bea0e4fSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 52226bea0e4fSmrg*** You will then need to restart the configuration process. 52236bea0e4fSmrg 52246bea0e4fSmrg_LT_EOF 52256bea0e4fSmrg fi 52266bea0e4fSmrg ;; 52276bea0e4fSmrg 52286bea0e4fSmrg amigaos*) 52296bea0e4fSmrg case $host_cpu in 52306bea0e4fSmrg powerpc) 52316bea0e4fSmrg # see comment about AmigaOS4 .so support 52326bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 52336bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 52346bea0e4fSmrg ;; 52356bea0e4fSmrg m68k) 52366bea0e4fSmrg _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)' 52376bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 52386bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 52396bea0e4fSmrg ;; 52406bea0e4fSmrg esac 52416bea0e4fSmrg ;; 52426bea0e4fSmrg 52436bea0e4fSmrg beos*) 52446bea0e4fSmrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 52456bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 52466bea0e4fSmrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 52476bea0e4fSmrg # support --undefined. This deserves some investigation. FIXME 52486bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 52496bea0e4fSmrg else 52506bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 52516bea0e4fSmrg fi 52526bea0e4fSmrg ;; 52536bea0e4fSmrg 52546bea0e4fSmrg cygwin* | mingw* | windows* | pw32* | cegcc*) 52556bea0e4fSmrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 52566bea0e4fSmrg # as there is no search path for DLLs. 52576bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 52586bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 52596bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 52606bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=no 52616bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 52626bea0e4fSmrg _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' 52636bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 52646bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 52656bea0e4fSmrg 52666bea0e4fSmrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 52676bea0e4fSmrg _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' 52686bea0e4fSmrg # If the export-symbols file already is a .def file, use it as 52696bea0e4fSmrg # is; otherwise, prepend EXPORTS... 52706bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 52716bea0e4fSmrg cp $export_symbols $output_objdir/$soname.def; 52726bea0e4fSmrg else 52736bea0e4fSmrg echo EXPORTS > $output_objdir/$soname.def; 52746bea0e4fSmrg cat $export_symbols >> $output_objdir/$soname.def; 52756bea0e4fSmrg fi~ 52766bea0e4fSmrg $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 52776bea0e4fSmrg else 52786bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 52796bea0e4fSmrg fi 52806bea0e4fSmrg ;; 52816bea0e4fSmrg 52826bea0e4fSmrg haiku*) 52836bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 52846bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=no 52856bea0e4fSmrg ;; 52866bea0e4fSmrg 52876bea0e4fSmrg os2*) 52886bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 52896bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 52906bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 52916bea0e4fSmrg shrext_cmds=.dll 52926bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 52936bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 52946bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 52956bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 52966bea0e4fSmrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 52976bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 52986bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 52996bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 53006bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 53016bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 53026bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 53036bea0e4fSmrg prefix_cmds="$SED"~ 53046bea0e4fSmrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 53056bea0e4fSmrg prefix_cmds="$prefix_cmds -e 1d"; 53066bea0e4fSmrg fi~ 53076bea0e4fSmrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 53086bea0e4fSmrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 53096bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 53106bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 53116bea0e4fSmrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 53126bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 53136bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 53146bea0e4fSmrg ;; 53156bea0e4fSmrg 53166bea0e4fSmrg interix[[3-9]]*) 53176bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 53186bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 53196bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 53206bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 53216bea0e4fSmrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 53226bea0e4fSmrg # Instead, shared libraries are loaded at an image base (0x10000000 by 53236bea0e4fSmrg # default) and relocated if they conflict, which is a slow very memory 53246bea0e4fSmrg # consuming and fragmenting process. To avoid this, we pick a random, 53256bea0e4fSmrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 53266bea0e4fSmrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 53276bea0e4fSmrg _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' 53286bea0e4fSmrg _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' 53296bea0e4fSmrg ;; 53306bea0e4fSmrg 53316bea0e4fSmrg gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 53326bea0e4fSmrg tmp_diet=no 53336bea0e4fSmrg if test linux-dietlibc = "$host_os"; then 53346bea0e4fSmrg case $cc_basename in 53356bea0e4fSmrg diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 53366bea0e4fSmrg esac 53376bea0e4fSmrg fi 53386bea0e4fSmrg if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 53396bea0e4fSmrg && test no = "$tmp_diet" 53406bea0e4fSmrg then 53416bea0e4fSmrg tmp_addflag=' $pic_flag' 53426bea0e4fSmrg tmp_sharedflag='-shared' 53436bea0e4fSmrg case $cc_basename,$host_cpu in 53446bea0e4fSmrg pgcc*) # Portland Group C compiler 53456bea0e4fSmrg _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' 53466bea0e4fSmrg tmp_addflag=' $pic_flag' 53476bea0e4fSmrg ;; 53486bea0e4fSmrg pgf77* | pgf90* | pgf95* | pgfortran*) 53496bea0e4fSmrg # Portland Group f77 and f90 compilers 53506bea0e4fSmrg _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' 53516bea0e4fSmrg tmp_addflag=' $pic_flag -Mnomain' ;; 53526bea0e4fSmrg ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 53536bea0e4fSmrg tmp_addflag=' -i_dynamic' ;; 53546bea0e4fSmrg efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 53556bea0e4fSmrg tmp_addflag=' -i_dynamic -nofor_main' ;; 53566bea0e4fSmrg ifc* | ifort*) # Intel Fortran compiler 53576bea0e4fSmrg tmp_addflag=' -nofor_main' ;; 53586bea0e4fSmrg lf95*) # Lahey Fortran 8.1 53596bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 53606bea0e4fSmrg tmp_sharedflag='--shared' ;; 53616bea0e4fSmrg nagfor*) # NAGFOR 5.3 53626bea0e4fSmrg tmp_sharedflag='-Wl,-shared' ;; 53636bea0e4fSmrg xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 53646bea0e4fSmrg tmp_sharedflag='-qmkshrobj' 53656bea0e4fSmrg tmp_addflag= ;; 53666bea0e4fSmrg nvcc*) # Cuda Compiler Driver 2.2 53676bea0e4fSmrg _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' 53686bea0e4fSmrg _LT_TAGVAR(compiler_needs_object, $1)=yes 53696bea0e4fSmrg ;; 53706bea0e4fSmrg esac 53716bea0e4fSmrg case `$CC -V 2>&1 | $SED 5q` in 53726bea0e4fSmrg *Sun\ C*) # Sun C 5.9 53736bea0e4fSmrg _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' 53746bea0e4fSmrg _LT_TAGVAR(compiler_needs_object, $1)=yes 53756bea0e4fSmrg tmp_sharedflag='-G' ;; 53766bea0e4fSmrg *Sun\ F*) # Sun Fortran 8.3 53776bea0e4fSmrg tmp_sharedflag='-G' ;; 53786bea0e4fSmrg esac 53796bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 53806bea0e4fSmrg 53816bea0e4fSmrg if test yes = "$supports_anon_versioning"; then 53826bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 53836bea0e4fSmrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 53846bea0e4fSmrg echo "local: *; };" >> $output_objdir/$libname.ver~ 53856bea0e4fSmrg $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 53866bea0e4fSmrg fi 53876bea0e4fSmrg 53886bea0e4fSmrg case $cc_basename in 53896bea0e4fSmrg tcc*) 53906bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 53916bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' 53926bea0e4fSmrg ;; 53936bea0e4fSmrg xlf* | bgf* | bgxlf* | mpixlf*) 53946bea0e4fSmrg # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 53956bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 53966bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 53976bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 53986bea0e4fSmrg if test yes = "$supports_anon_versioning"; then 53996bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 54006bea0e4fSmrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 54016bea0e4fSmrg echo "local: *; };" >> $output_objdir/$libname.ver~ 54026bea0e4fSmrg $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 54036bea0e4fSmrg fi 54046bea0e4fSmrg ;; 54056bea0e4fSmrg esac 54066bea0e4fSmrg else 54076bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54086bea0e4fSmrg fi 54096bea0e4fSmrg ;; 54106bea0e4fSmrg 54116bea0e4fSmrg *-mlibc) 54126bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 54136bea0e4fSmrg _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' 54146bea0e4fSmrg ;; 54156bea0e4fSmrg 54166bea0e4fSmrg netbsd* | netbsdelf*-gnu) 54176bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 54186bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 54196bea0e4fSmrg wlarc= 54206bea0e4fSmrg else 54216bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 54226bea0e4fSmrg _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' 54236bea0e4fSmrg fi 54246bea0e4fSmrg ;; 54256bea0e4fSmrg 54266bea0e4fSmrg solaris*) 54276bea0e4fSmrg if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 54286bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54296bea0e4fSmrg cat <<_LT_EOF 1>&2 54306bea0e4fSmrg 54316bea0e4fSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably 54326bea0e4fSmrg*** create shared libraries on Solaris systems. Therefore, libtool 54336bea0e4fSmrg*** is disabling shared libraries support. We urge you to upgrade GNU 54346bea0e4fSmrg*** binutils to release 2.9.1 or newer. Another option is to modify 54356bea0e4fSmrg*** your PATH or compiler configuration so that the native linker is 54366bea0e4fSmrg*** used, and then restart. 54376bea0e4fSmrg 54386bea0e4fSmrg_LT_EOF 54396bea0e4fSmrg elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 54406bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 54416bea0e4fSmrg _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' 54426bea0e4fSmrg else 54436bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54446bea0e4fSmrg fi 54456bea0e4fSmrg ;; 54466bea0e4fSmrg 54476bea0e4fSmrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 54486bea0e4fSmrg case `$LD -v 2>&1` in 54496bea0e4fSmrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 54506bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54516bea0e4fSmrg cat <<_LT_EOF 1>&2 54526bea0e4fSmrg 54536bea0e4fSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 54546bea0e4fSmrg*** reliably create shared libraries on SCO systems. Therefore, libtool 54556bea0e4fSmrg*** is disabling shared libraries support. We urge you to upgrade GNU 54566bea0e4fSmrg*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 54576bea0e4fSmrg*** your PATH or compiler configuration so that the native linker is 54586bea0e4fSmrg*** used, and then restart. 54596bea0e4fSmrg 54606bea0e4fSmrg_LT_EOF 54616bea0e4fSmrg ;; 54626bea0e4fSmrg *) 54636bea0e4fSmrg # For security reasons, it is highly recommended that you always 54646bea0e4fSmrg # use absolute paths for naming shared libraries, and exclude the 54656bea0e4fSmrg # DT_RUNPATH tag from executables and libraries. But doing so 54666bea0e4fSmrg # requires that you compile everything twice, which is a pain. 54676bea0e4fSmrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 54686bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 54696bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 54706bea0e4fSmrg _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' 54716bea0e4fSmrg else 54726bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54736bea0e4fSmrg fi 54746bea0e4fSmrg ;; 54756bea0e4fSmrg esac 54766bea0e4fSmrg ;; 54776bea0e4fSmrg 54786bea0e4fSmrg sunos4*) 54796bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 54806bea0e4fSmrg wlarc= 54816bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 54826bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 54836bea0e4fSmrg ;; 54846bea0e4fSmrg 54856bea0e4fSmrg *) 54866bea0e4fSmrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 54876bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 54886bea0e4fSmrg _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' 54896bea0e4fSmrg else 54906bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 54916bea0e4fSmrg fi 54926bea0e4fSmrg ;; 54936bea0e4fSmrg esac 54946bea0e4fSmrg 54956bea0e4fSmrg if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then 54966bea0e4fSmrg runpath_var= 54976bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 54986bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 54996bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 55006bea0e4fSmrg fi 55016bea0e4fSmrg else 55026bea0e4fSmrg # PORTME fill in a description of your system's linker (not GNU ld) 55036bea0e4fSmrg case $host_os in 55046bea0e4fSmrg aix3*) 55056bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 55066bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=yes 55076bea0e4fSmrg _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' 55086bea0e4fSmrg # Note: this linker hardcodes the directories in LIBPATH if there 55096bea0e4fSmrg # are no directories specified by -L. 55106bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 55116bea0e4fSmrg if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 55126bea0e4fSmrg # Neither direct hardcoding nor static linking is supported with a 55136bea0e4fSmrg # broken collect2. 55146bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 55156bea0e4fSmrg fi 55166bea0e4fSmrg ;; 55176bea0e4fSmrg 55186bea0e4fSmrg aix[[4-9]]*) 55196bea0e4fSmrg if test ia64 = "$host_cpu"; then 55206bea0e4fSmrg # On IA64, the linker does run time linking by default, so we don't 55216bea0e4fSmrg # have to do anything special. 55226bea0e4fSmrg aix_use_runtimelinking=no 55236bea0e4fSmrg exp_sym_flag='-Bexport' 55246bea0e4fSmrg no_entry_flag= 55256bea0e4fSmrg else 55266bea0e4fSmrg # If we're using GNU nm, then we don't want the "-C" option. 55276bea0e4fSmrg # -C means demangle to GNU nm, but means don't demangle to AIX nm. 55286bea0e4fSmrg # Without the "-l" option, or with the "-B" option, AIX nm treats 55296bea0e4fSmrg # weak defined symbols like other global defined symbols, whereas 55306bea0e4fSmrg # GNU nm marks them as "W". 55316bea0e4fSmrg # While the 'weak' keyword is ignored in the Export File, we need 55326bea0e4fSmrg # it in the Import File for the 'aix-soname' feature, so we have 55336bea0e4fSmrg # to replace the "-B" option with "-P" for AIX nm. 55346bea0e4fSmrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 55356bea0e4fSmrg _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' 55366bea0e4fSmrg else 55376bea0e4fSmrg _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 == "L") || (\$ 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' 55386bea0e4fSmrg fi 55396bea0e4fSmrg aix_use_runtimelinking=no 55406bea0e4fSmrg 55416bea0e4fSmrg # Test if we are trying to use run time linking or normal 55426bea0e4fSmrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 55436bea0e4fSmrg # have runtime linking enabled, and use it for executables. 55446bea0e4fSmrg # For shared libraries, we enable/disable runtime linking 55456bea0e4fSmrg # depending on the kind of the shared library created - 55466bea0e4fSmrg # when "with_aix_soname,aix_use_runtimelinking" is: 55476bea0e4fSmrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 55486bea0e4fSmrg # "aix,yes" lib.so shared, rtl:yes, for executables 55496bea0e4fSmrg # lib.a static archive 55506bea0e4fSmrg # "both,no" lib.so.V(shr.o) shared, rtl:yes 55516bea0e4fSmrg # lib.a(lib.so.V) shared, rtl:no, for executables 55526bea0e4fSmrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 55536bea0e4fSmrg # lib.a(lib.so.V) shared, rtl:no 55546bea0e4fSmrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 55556bea0e4fSmrg # lib.a static archive 55566bea0e4fSmrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 55576bea0e4fSmrg for ld_flag in $LDFLAGS; do 55586bea0e4fSmrg if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 55596bea0e4fSmrg aix_use_runtimelinking=yes 55606bea0e4fSmrg break 55616bea0e4fSmrg fi 55626bea0e4fSmrg done 55636bea0e4fSmrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 55646bea0e4fSmrg # With aix-soname=svr4, we create the lib.so.V shared archives only, 55656bea0e4fSmrg # so we don't have lib.a shared libs to link our executables. 55666bea0e4fSmrg # We have to force runtime linking in this case. 55676bea0e4fSmrg aix_use_runtimelinking=yes 55686bea0e4fSmrg LDFLAGS="$LDFLAGS -Wl,-brtl" 55696bea0e4fSmrg fi 55706bea0e4fSmrg ;; 55716bea0e4fSmrg esac 55726bea0e4fSmrg 55736bea0e4fSmrg exp_sym_flag='-bexport' 55746bea0e4fSmrg no_entry_flag='-bnoentry' 55756bea0e4fSmrg fi 55766bea0e4fSmrg 55776bea0e4fSmrg # When large executables or shared objects are built, AIX ld can 55786bea0e4fSmrg # have problems creating the table of contents. If linking a library 55796bea0e4fSmrg # or program results in "error TOC overflow" add -mminimal-toc to 55806bea0e4fSmrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 55816bea0e4fSmrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 55826bea0e4fSmrg 55836bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='' 55846bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 55856bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 55866bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 55876bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 55886bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 55896bea0e4fSmrg case $with_aix_soname,$aix_use_runtimelinking in 55906bea0e4fSmrg aix,*) ;; # traditional, no import file 55916bea0e4fSmrg svr4,* | *,yes) # use import file 55926bea0e4fSmrg # The Import File defines what to hardcode. 55936bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 55946bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 55956bea0e4fSmrg ;; 55966bea0e4fSmrg esac 55976bea0e4fSmrg 55986bea0e4fSmrg if test yes = "$GCC"; then 55996bea0e4fSmrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 56006bea0e4fSmrg # We only want to do this on AIX 4.2 and lower, the check 56016bea0e4fSmrg # below for broken collect2 doesn't work under 4.3+ 56026bea0e4fSmrg collect2name=`$CC -print-prog-name=collect2` 56036bea0e4fSmrg if test -f "$collect2name" && 56046bea0e4fSmrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 56056bea0e4fSmrg then 56066bea0e4fSmrg # We have reworked collect2 56076bea0e4fSmrg : 56086bea0e4fSmrg else 56096bea0e4fSmrg # We have old collect2 56106bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 56116bea0e4fSmrg # It fails to find uninstalled libraries when the uninstalled 56126bea0e4fSmrg # path is not listed in the libpath. Setting hardcode_minus_L 56136bea0e4fSmrg # to unsupported forces relinking 56146bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 56156bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 56166bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 56176bea0e4fSmrg fi 56186bea0e4fSmrg ;; 56196bea0e4fSmrg esac 56206bea0e4fSmrg shared_flag='-shared' 56216bea0e4fSmrg if test yes = "$aix_use_runtimelinking"; then 56226bea0e4fSmrg shared_flag="$shared_flag "'$wl-G' 56236bea0e4fSmrg fi 56246bea0e4fSmrg # Need to ensure runtime linking is disabled for the traditional 56256bea0e4fSmrg # shared library, or the linker may eventually find shared libraries 56266bea0e4fSmrg # /with/ Import File - we do not want to mix them. 56276bea0e4fSmrg shared_flag_aix='-shared' 56286bea0e4fSmrg shared_flag_svr4='-shared $wl-G' 56296bea0e4fSmrg else 56306bea0e4fSmrg # not using gcc 56316bea0e4fSmrg if test ia64 = "$host_cpu"; then 56326bea0e4fSmrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 56336bea0e4fSmrg # chokes on -Wl,-G. The following line is correct: 56346bea0e4fSmrg shared_flag='-G' 56356bea0e4fSmrg else 56366bea0e4fSmrg if test yes = "$aix_use_runtimelinking"; then 56376bea0e4fSmrg shared_flag='$wl-G' 56386bea0e4fSmrg else 56396bea0e4fSmrg shared_flag='$wl-bM:SRE' 56406bea0e4fSmrg fi 56416bea0e4fSmrg shared_flag_aix='$wl-bM:SRE' 56426bea0e4fSmrg shared_flag_svr4='$wl-G' 56436bea0e4fSmrg fi 56446bea0e4fSmrg fi 56456bea0e4fSmrg 56466bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 56476bea0e4fSmrg # It seems that -bexpall does not export symbols beginning with 56486bea0e4fSmrg # underscore (_), so it is better to generate a list of symbols to export. 56496bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=yes 56506bea0e4fSmrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 56516bea0e4fSmrg # Warning - without using the other runtime loading flags (-brtl), 56526bea0e4fSmrg # -berok will link without error, but may produce a broken library. 56536bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 56546bea0e4fSmrg # Determine the default libpath from the value encoded in an 56556bea0e4fSmrg # empty executable. 56566bea0e4fSmrg _LT_SYS_MODULE_PATH_AIX([$1]) 56576bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 56586bea0e4fSmrg _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 56596bea0e4fSmrg else 56606bea0e4fSmrg if test ia64 = "$host_cpu"; then 56616bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 56626bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 56636bea0e4fSmrg _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" 56646bea0e4fSmrg else 56656bea0e4fSmrg # Determine the default libpath from the value encoded in an 56666bea0e4fSmrg # empty executable. 56676bea0e4fSmrg _LT_SYS_MODULE_PATH_AIX([$1]) 56686bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 56696bea0e4fSmrg # Warning - without using the other run time loading flags, 56706bea0e4fSmrg # -berok will link without error, but may produce a broken library. 56716bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 56726bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 56736bea0e4fSmrg if test yes = "$with_gnu_ld"; then 56746bea0e4fSmrg # We only use this code for GNU lds that support --whole-archive. 56756bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 56766bea0e4fSmrg else 56776bea0e4fSmrg # Exported symbols can be pulled into shared objects from archives 56786bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 56796bea0e4fSmrg fi 56806bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 56816bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 56826bea0e4fSmrg # -brtl affects multiple linker settings, -berok does not and is overridden later 56836bea0e4fSmrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 56846bea0e4fSmrg if test svr4 != "$with_aix_soname"; then 56856bea0e4fSmrg # This is similar to how AIX traditionally builds its shared libraries. 56866bea0e4fSmrg _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' 56876bea0e4fSmrg fi 56886bea0e4fSmrg if test aix != "$with_aix_soname"; then 56896bea0e4fSmrg _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' 56906bea0e4fSmrg else 56916bea0e4fSmrg # used by -dlpreopen to get the symbols 56926bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 56936bea0e4fSmrg fi 56946bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 56956bea0e4fSmrg fi 56966bea0e4fSmrg fi 56976bea0e4fSmrg ;; 56986bea0e4fSmrg 56996bea0e4fSmrg amigaos*) 57006bea0e4fSmrg case $host_cpu in 57016bea0e4fSmrg powerpc) 57026bea0e4fSmrg # see comment about AmigaOS4 .so support 57036bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 57046bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 57056bea0e4fSmrg ;; 57066bea0e4fSmrg m68k) 57076bea0e4fSmrg _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)' 57086bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 57096bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 57106bea0e4fSmrg ;; 57116bea0e4fSmrg esac 57126bea0e4fSmrg ;; 57136bea0e4fSmrg 57146bea0e4fSmrg bsdi[[45]]*) 57156bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 57166bea0e4fSmrg ;; 57176bea0e4fSmrg 57186bea0e4fSmrg cygwin* | mingw* | windows* | pw32* | cegcc*) 57196bea0e4fSmrg # When not using gcc, we currently assume that we are using 57206bea0e4fSmrg # Microsoft Visual C++ or Intel C++ Compiler. 57216bea0e4fSmrg # hardcode_libdir_flag_spec is actually meaningless, as there is 57226bea0e4fSmrg # no search path for DLLs. 57236bea0e4fSmrg case $cc_basename in 57246bea0e4fSmrg cl* | icl*) 57256bea0e4fSmrg # Native MSVC or ICC 57266bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 57276bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 57286bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=yes 57296bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 57306bea0e4fSmrg # Tell ltmain to make .lib files, not .a files. 57316bea0e4fSmrg libext=lib 57326bea0e4fSmrg # Tell ltmain to make .dll files, not .so files. 57336bea0e4fSmrg shrext_cmds=.dll 57346bea0e4fSmrg # FIXME: Setting linknames here is a bad hack. 57356bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 57366bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 57376bea0e4fSmrg cp "$export_symbols" "$output_objdir/$soname.def"; 57386bea0e4fSmrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 57396bea0e4fSmrg else 57406bea0e4fSmrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 57416bea0e4fSmrg fi~ 57426bea0e4fSmrg $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 57436bea0e4fSmrg linknames=' 57446bea0e4fSmrg # The linker will not automatically build a static lib if we build a DLL. 57456bea0e4fSmrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 57466bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 57476bea0e4fSmrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 57486bea0e4fSmrg _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' 57496bea0e4fSmrg # Don't use ranlib 57506bea0e4fSmrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 57516bea0e4fSmrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 57526bea0e4fSmrg lt_tool_outputfile="@TOOL_OUTPUT@"~ 57536bea0e4fSmrg case $lt_outputfile in 57546bea0e4fSmrg *.exe|*.EXE) ;; 57556bea0e4fSmrg *) 57566bea0e4fSmrg lt_outputfile=$lt_outputfile.exe 57576bea0e4fSmrg lt_tool_outputfile=$lt_tool_outputfile.exe 57586bea0e4fSmrg ;; 57596bea0e4fSmrg esac~ 57606bea0e4fSmrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 57616bea0e4fSmrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 57626bea0e4fSmrg $RM "$lt_outputfile.manifest"; 57636bea0e4fSmrg fi' 57646bea0e4fSmrg ;; 57656bea0e4fSmrg *) 57666bea0e4fSmrg # Assume MSVC and ICC wrapper 57676bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 57686bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 57696bea0e4fSmrg # Tell ltmain to make .lib files, not .a files. 57706bea0e4fSmrg libext=lib 57716bea0e4fSmrg # Tell ltmain to make .dll files, not .so files. 57726bea0e4fSmrg shrext_cmds=.dll 57736bea0e4fSmrg # FIXME: Setting linknames here is a bad hack. 57746bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 57756bea0e4fSmrg # The linker will automatically build a .lib file if we build a DLL. 57766bea0e4fSmrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 57776bea0e4fSmrg # FIXME: Should let the user specify the lib program. 57786bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 57796bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 57806bea0e4fSmrg ;; 57816bea0e4fSmrg esac 57826bea0e4fSmrg ;; 57836bea0e4fSmrg 57846bea0e4fSmrg darwin* | rhapsody*) 57856bea0e4fSmrg _LT_DARWIN_LINKER_FEATURES($1) 57866bea0e4fSmrg ;; 57876bea0e4fSmrg 57886bea0e4fSmrg dgux*) 57896bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 57906bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 57916bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 57926bea0e4fSmrg ;; 57936bea0e4fSmrg 57946bea0e4fSmrg # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 57956bea0e4fSmrg # support. Future versions do this automatically, but an explicit c++rt0.o 57966bea0e4fSmrg # does not break anything, and helps significantly (at the cost of a little 57976bea0e4fSmrg # extra space). 57986bea0e4fSmrg freebsd2.2*) 57996bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 58006bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 58016bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58026bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 58036bea0e4fSmrg ;; 58046bea0e4fSmrg 58056bea0e4fSmrg # Unfortunately, older versions of FreeBSD 2 do not have this feature. 58066bea0e4fSmrg freebsd2.*) 58076bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 58086bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58096bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 58106bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 58116bea0e4fSmrg ;; 58126bea0e4fSmrg 58136bea0e4fSmrg # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 58146bea0e4fSmrg freebsd* | dragonfly* | midnightbsd*) 58156bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 58166bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 58176bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58186bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 58196bea0e4fSmrg ;; 58206bea0e4fSmrg 58216bea0e4fSmrg hpux9*) 58226bea0e4fSmrg if test yes = "$GCC"; then 58236bea0e4fSmrg _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' 58246bea0e4fSmrg else 58256bea0e4fSmrg _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' 58266bea0e4fSmrg fi 58276bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 58286bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 58296bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58306bea0e4fSmrg 58316bea0e4fSmrg # hardcode_minus_L: Not really in the search PATH, 58326bea0e4fSmrg # but as the default location of the library. 58336bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 58346bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 58356bea0e4fSmrg ;; 58366bea0e4fSmrg 58376bea0e4fSmrg hpux10*) 58386bea0e4fSmrg if test yes,no = "$GCC,$with_gnu_ld"; then 58396bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 58406bea0e4fSmrg else 58416bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 58426bea0e4fSmrg fi 58436bea0e4fSmrg if test no = "$with_gnu_ld"; then 58446bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 58456bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 58466bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58476bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 58486bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 58496bea0e4fSmrg # hardcode_minus_L: Not really in the search PATH, 58506bea0e4fSmrg # but as the default location of the library. 58516bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 58526bea0e4fSmrg fi 58536bea0e4fSmrg ;; 58546bea0e4fSmrg 58556bea0e4fSmrg hpux11*) 58566bea0e4fSmrg if test yes,no = "$GCC,$with_gnu_ld"; then 58576bea0e4fSmrg case $host_cpu in 58586bea0e4fSmrg hppa*64*) 58596bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 58606bea0e4fSmrg ;; 58616bea0e4fSmrg ia64*) 58626bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 58636bea0e4fSmrg ;; 58646bea0e4fSmrg *) 58656bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 58666bea0e4fSmrg ;; 58676bea0e4fSmrg esac 58686bea0e4fSmrg else 58696bea0e4fSmrg case $host_cpu in 58706bea0e4fSmrg hppa*64*) 58716bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 58726bea0e4fSmrg ;; 58736bea0e4fSmrg ia64*) 58746bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 58756bea0e4fSmrg ;; 58766bea0e4fSmrg *) 58776bea0e4fSmrg m4_if($1, [], [ 58786bea0e4fSmrg # Older versions of the 11.00 compiler do not understand -b yet 58796bea0e4fSmrg # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 58806bea0e4fSmrg _LT_LINKER_OPTION([if $CC understands -b], 58816bea0e4fSmrg _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 58826bea0e4fSmrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 58836bea0e4fSmrg [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 58846bea0e4fSmrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 58856bea0e4fSmrg ;; 58866bea0e4fSmrg esac 58876bea0e4fSmrg fi 58886bea0e4fSmrg if test no = "$with_gnu_ld"; then 58896bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 58906bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 58916bea0e4fSmrg 58926bea0e4fSmrg case $host_cpu in 58936bea0e4fSmrg hppa*64*|ia64*) 58946bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 58956bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 58966bea0e4fSmrg ;; 58976bea0e4fSmrg *) 58986bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 58996bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 59006bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 59016bea0e4fSmrg 59026bea0e4fSmrg # hardcode_minus_L: Not really in the search PATH, 59036bea0e4fSmrg # but as the default location of the library. 59046bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 59056bea0e4fSmrg ;; 59066bea0e4fSmrg esac 59076bea0e4fSmrg fi 59086bea0e4fSmrg ;; 59096bea0e4fSmrg 59106bea0e4fSmrg irix5* | irix6* | nonstopux*) 59116bea0e4fSmrg if test yes = "$GCC"; then 59126bea0e4fSmrg _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' 59136bea0e4fSmrg # Try to use the -exported_symbol ld option, if it does not 59146bea0e4fSmrg # work, assume that -exports_file does not work either and 59156bea0e4fSmrg # implicitly export all symbols. 59166bea0e4fSmrg # This should be the same for all languages, so no per-tag cache variable. 59176bea0e4fSmrg AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 59186bea0e4fSmrg [lt_cv_irix_exported_symbol], 59196bea0e4fSmrg [save_LDFLAGS=$LDFLAGS 59206bea0e4fSmrg LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 59216bea0e4fSmrg AC_LINK_IFELSE( 59226bea0e4fSmrg [AC_LANG_SOURCE( 59236bea0e4fSmrg [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 59246bea0e4fSmrg [C++], [[int foo (void) { return 0; }]], 59256bea0e4fSmrg [Fortran 77], [[ 59266bea0e4fSmrg subroutine foo 59276bea0e4fSmrg end]], 59286bea0e4fSmrg [Fortran], [[ 59296bea0e4fSmrg subroutine foo 59306bea0e4fSmrg end]])])], 59316bea0e4fSmrg [lt_cv_irix_exported_symbol=yes], 59326bea0e4fSmrg [lt_cv_irix_exported_symbol=no]) 59336bea0e4fSmrg LDFLAGS=$save_LDFLAGS]) 59346bea0e4fSmrg if test yes = "$lt_cv_irix_exported_symbol"; then 59356bea0e4fSmrg _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' 59366bea0e4fSmrg fi 59376bea0e4fSmrg else 59386bea0e4fSmrg _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' 59396bea0e4fSmrg _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' 59406bea0e4fSmrg fi 59416bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 59426bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 59436bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 59446bea0e4fSmrg _LT_TAGVAR(inherit_rpath, $1)=yes 59456bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 59466bea0e4fSmrg ;; 59476bea0e4fSmrg 59486bea0e4fSmrg linux*) 59496bea0e4fSmrg case $cc_basename in 59506bea0e4fSmrg tcc*) 59516bea0e4fSmrg # Fabrice Bellard et al's Tiny C Compiler 59526bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 59536bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 59546bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 59556bea0e4fSmrg ;; 59566bea0e4fSmrg esac 59576bea0e4fSmrg ;; 59586bea0e4fSmrg 59596bea0e4fSmrg *-mlibc) 59606bea0e4fSmrg ;; 59616bea0e4fSmrg 59626bea0e4fSmrg netbsd* | netbsdelf*-gnu) 59636bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 59646bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 59656bea0e4fSmrg else 59666bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 59676bea0e4fSmrg fi 59686bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 59696bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 59706bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 59716bea0e4fSmrg ;; 59726bea0e4fSmrg 59736bea0e4fSmrg newsos6) 59746bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 59756bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 59766bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 59776bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 59786bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 59796bea0e4fSmrg ;; 59806bea0e4fSmrg 59816bea0e4fSmrg *nto* | *qnx*) 59826bea0e4fSmrg ;; 59836bea0e4fSmrg 59846bea0e4fSmrg openbsd*) 59856bea0e4fSmrg if test -f /usr/libexec/ld.so; then 59866bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 59876bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 59886bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 59896bea0e4fSmrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 59906bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 59916bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' 59926bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 59936bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 59946bea0e4fSmrg else 59956bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 59966bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 59976bea0e4fSmrg fi 59986bea0e4fSmrg else 59996bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 60006bea0e4fSmrg fi 60016bea0e4fSmrg ;; 60026bea0e4fSmrg 60036bea0e4fSmrg os2*) 60046bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 60056bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 60066bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 60076bea0e4fSmrg shrext_cmds=.dll 60086bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 60096bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 60106bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 60116bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 60126bea0e4fSmrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 60136bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 60146bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 60156bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 60166bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 60176bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 60186bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 60196bea0e4fSmrg prefix_cmds="$SED"~ 60206bea0e4fSmrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 60216bea0e4fSmrg prefix_cmds="$prefix_cmds -e 1d"; 60226bea0e4fSmrg fi~ 60236bea0e4fSmrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 60246bea0e4fSmrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 60256bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 60266bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 60276bea0e4fSmrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 60286bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 60296bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 60306bea0e4fSmrg ;; 60316bea0e4fSmrg 60326bea0e4fSmrg osf3*) 60336bea0e4fSmrg if test yes = "$GCC"; then 60346bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 60356bea0e4fSmrg _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' 60366bea0e4fSmrg else 60376bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 60386bea0e4fSmrg _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' 60396bea0e4fSmrg fi 60406bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 60416bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 60426bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 60436bea0e4fSmrg ;; 60446bea0e4fSmrg 60456bea0e4fSmrg osf4* | osf5*) # as osf3* with the addition of -msym flag 60466bea0e4fSmrg if test yes = "$GCC"; then 60476bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 60486bea0e4fSmrg _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' 60496bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 60506bea0e4fSmrg else 60516bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 60526bea0e4fSmrg _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' 60536bea0e4fSmrg _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~ 60546bea0e4fSmrg $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' 60556bea0e4fSmrg 60566bea0e4fSmrg # Both c and cxx compiler support -rpath directly 60576bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 60586bea0e4fSmrg fi 60596bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 60606bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 60616bea0e4fSmrg ;; 60626bea0e4fSmrg 60636bea0e4fSmrg serenity*) 60646bea0e4fSmrg ;; 60656bea0e4fSmrg 60666bea0e4fSmrg solaris*) 60676bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 60686bea0e4fSmrg if test yes = "$GCC"; then 60696bea0e4fSmrg wlarc='$wl' 60706bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 60716bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 60726bea0e4fSmrg $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' 60736bea0e4fSmrg else 60746bea0e4fSmrg case `$CC -V 2>&1` in 60756bea0e4fSmrg *"Compilers 5.0"*) 60766bea0e4fSmrg wlarc='' 60776bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' 60786bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 60796bea0e4fSmrg $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 60806bea0e4fSmrg ;; 60816bea0e4fSmrg *) 60826bea0e4fSmrg wlarc='$wl' 60836bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' 60846bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 60856bea0e4fSmrg $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 60866bea0e4fSmrg ;; 60876bea0e4fSmrg esac 60886bea0e4fSmrg fi 60896bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 60906bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 60916bea0e4fSmrg case $host_os in 60926bea0e4fSmrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 60936bea0e4fSmrg *) 60946bea0e4fSmrg # The compiler driver will combine and reorder linker options, 60956bea0e4fSmrg # but understands '-z linker_flag'. GCC discards it without '$wl', 60966bea0e4fSmrg # but is careful enough not to reorder. 60976bea0e4fSmrg # Supported since Solaris 2.6 (maybe 2.5.1?) 60986bea0e4fSmrg if test yes = "$GCC"; then 60996bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 61006bea0e4fSmrg else 61016bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 61026bea0e4fSmrg fi 61036bea0e4fSmrg ;; 61046bea0e4fSmrg esac 61056bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 61066bea0e4fSmrg ;; 61076bea0e4fSmrg 61086bea0e4fSmrg sunos4*) 61096bea0e4fSmrg if test sequent = "$host_vendor"; then 61106bea0e4fSmrg # Use $CC to link under sequent, because it throws in some extra .o 61116bea0e4fSmrg # files that make .init and .fini sections work. 61126bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 61136bea0e4fSmrg else 61146bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 61156bea0e4fSmrg fi 61166bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 61176bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 61186bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 61196bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61206bea0e4fSmrg ;; 61216bea0e4fSmrg 61226bea0e4fSmrg sysv4) 61236bea0e4fSmrg case $host_vendor in 61246bea0e4fSmrg sni) 61256bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 61266bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 61276bea0e4fSmrg ;; 61286bea0e4fSmrg siemens) 61296bea0e4fSmrg ## LD is ld it makes a PLAMLIB 61306bea0e4fSmrg ## CC just makes a GrossModule. 61316bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 61326bea0e4fSmrg _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 61336bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 61346bea0e4fSmrg ;; 61356bea0e4fSmrg motorola) 61366bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 61376bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 61386bea0e4fSmrg ;; 61396bea0e4fSmrg esac 61406bea0e4fSmrg runpath_var='LD_RUN_PATH' 61416bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61426bea0e4fSmrg ;; 61436bea0e4fSmrg 61446bea0e4fSmrg sysv4.3*) 61456bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 61466bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61476bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 61486bea0e4fSmrg ;; 61496bea0e4fSmrg 61506bea0e4fSmrg sysv4*MP*) 61516bea0e4fSmrg if test -d /usr/nec; then 61526bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 61536bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61546bea0e4fSmrg runpath_var=LD_RUN_PATH 61556bea0e4fSmrg hardcode_runpath_var=yes 61566bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 61576bea0e4fSmrg fi 61586bea0e4fSmrg ;; 61596bea0e4fSmrg 61606bea0e4fSmrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 61616bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 61626bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 61636bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61646bea0e4fSmrg runpath_var='LD_RUN_PATH' 61656bea0e4fSmrg 61666bea0e4fSmrg if test yes = "$GCC"; then 61676bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61686bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61696bea0e4fSmrg else 61706bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61716bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61726bea0e4fSmrg fi 61736bea0e4fSmrg ;; 61746bea0e4fSmrg 61756bea0e4fSmrg sysv5* | sco3.2v5* | sco5v6*) 61766bea0e4fSmrg # Note: We CANNOT use -z defs as we might desire, because we do not 61776bea0e4fSmrg # link with -lc, and that would cause any symbols used from libc to 61786bea0e4fSmrg # always be unresolved, which means just about no library would 61796bea0e4fSmrg # ever link correctly. If we're not using GNU ld we use -z text 61806bea0e4fSmrg # though, which does catch some bad symbols but isn't as heavy-handed 61816bea0e4fSmrg # as -z defs. 61826bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 61836bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 61846bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 61856bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 61866bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 61876bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 61886bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 61896bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 61906bea0e4fSmrg runpath_var='LD_RUN_PATH' 61916bea0e4fSmrg 61926bea0e4fSmrg if test yes = "$GCC"; then 61936bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61946bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61956bea0e4fSmrg else 61966bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61976bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 61986bea0e4fSmrg fi 61996bea0e4fSmrg ;; 62006bea0e4fSmrg 62016bea0e4fSmrg uts4*) 62026bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 62036bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 62046bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 62056bea0e4fSmrg ;; 62066bea0e4fSmrg 62076bea0e4fSmrg *) 62086bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 62096bea0e4fSmrg ;; 62106bea0e4fSmrg esac 62116bea0e4fSmrg 62126bea0e4fSmrg if test sni = "$host_vendor"; then 62136bea0e4fSmrg case $host in 62146bea0e4fSmrg sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 62156bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' 62166bea0e4fSmrg ;; 62176bea0e4fSmrg esac 62186bea0e4fSmrg fi 62196bea0e4fSmrg fi 62206bea0e4fSmrg]) 62216bea0e4fSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 62226bea0e4fSmrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 62236bea0e4fSmrg 62246bea0e4fSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 62256bea0e4fSmrg 62266bea0e4fSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 62276bea0e4fSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 62286bea0e4fSmrg_LT_DECL([], [extract_expsyms_cmds], [2], 62296bea0e4fSmrg [The commands to extract the exported symbol list from a shared archive]) 62306bea0e4fSmrg 62316bea0e4fSmrg# 62326bea0e4fSmrg# Do we need to explicitly link libc? 62336bea0e4fSmrg# 62346bea0e4fSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 62356bea0e4fSmrgx|xyes) 62366bea0e4fSmrg # Assume -lc should be added 62376bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 62386bea0e4fSmrg 62396bea0e4fSmrg if test yes,yes = "$GCC,$enable_shared"; then 62406bea0e4fSmrg case $_LT_TAGVAR(archive_cmds, $1) in 62416bea0e4fSmrg *'~'*) 62426bea0e4fSmrg # FIXME: we may have to deal with multi-command sequences. 62436bea0e4fSmrg ;; 62446bea0e4fSmrg '$CC '*) 62456bea0e4fSmrg # Test whether the compiler implicitly links with -lc since on some 62466bea0e4fSmrg # systems, -lgcc has to come before -lc. If gcc already passes -lc 62476bea0e4fSmrg # to ld, don't add -lc before -lgcc. 62486bea0e4fSmrg AC_CACHE_CHECK([whether -lc should be explicitly linked in], 62496bea0e4fSmrg [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 62506bea0e4fSmrg [$RM conftest* 62516bea0e4fSmrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 62526bea0e4fSmrg 62536bea0e4fSmrg if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 62546bea0e4fSmrg soname=conftest 62556bea0e4fSmrg lib=conftest 62566bea0e4fSmrg libobjs=conftest.$ac_objext 62576bea0e4fSmrg deplibs= 62586bea0e4fSmrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 62596bea0e4fSmrg pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 62606bea0e4fSmrg compiler_flags=-v 62616bea0e4fSmrg linker_flags=-v 62626bea0e4fSmrg verstring= 62636bea0e4fSmrg output_objdir=. 62646bea0e4fSmrg libname=conftest 62656bea0e4fSmrg lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 62666bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)= 62676bea0e4fSmrg if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 62686bea0e4fSmrg then 62696bea0e4fSmrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 62706bea0e4fSmrg else 62716bea0e4fSmrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 62726bea0e4fSmrg fi 62736bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 62746bea0e4fSmrg else 62756bea0e4fSmrg cat conftest.err 1>&5 62766bea0e4fSmrg fi 62776bea0e4fSmrg $RM conftest* 62786bea0e4fSmrg ]) 62796bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 62806bea0e4fSmrg ;; 62816bea0e4fSmrg esac 62826bea0e4fSmrg fi 62836bea0e4fSmrg ;; 62846bea0e4fSmrgesac 62856bea0e4fSmrg 62866bea0e4fSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 62876bea0e4fSmrg [Whether or not to add -lc for building shared libraries]) 62886bea0e4fSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 62896bea0e4fSmrg [enable_shared_with_static_runtimes], [0], 62906bea0e4fSmrg [Whether or not to disallow shared libs when runtime libs are static]) 62916bea0e4fSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 62926bea0e4fSmrg [Compiler flag to allow reflexive dlopens]) 62936bea0e4fSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1], 62946bea0e4fSmrg [Compiler flag to generate shared objects directly from archives]) 62956bea0e4fSmrg_LT_TAGDECL([], [compiler_needs_object], [1], 62966bea0e4fSmrg [Whether the compiler copes with passing no objects directly]) 62976bea0e4fSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 62986bea0e4fSmrg [Create an old-style archive from a shared archive]) 62996bea0e4fSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 63006bea0e4fSmrg [Create a temporary old-style archive to link instead of a shared archive]) 63016bea0e4fSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 63026bea0e4fSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2]) 63036bea0e4fSmrg_LT_TAGDECL([], [module_cmds], [2], 63046bea0e4fSmrg [Commands used to build a loadable module if different from building 63056bea0e4fSmrg a shared archive.]) 63066bea0e4fSmrg_LT_TAGDECL([], [module_expsym_cmds], [2]) 63076bea0e4fSmrg_LT_TAGDECL([], [with_gnu_ld], [1], 63086bea0e4fSmrg [Whether we are building with GNU ld or not]) 63096bea0e4fSmrg_LT_TAGDECL([], [allow_undefined_flag], [1], 63106bea0e4fSmrg [Flag that allows shared libraries with undefined symbols to be built]) 63116bea0e4fSmrg_LT_TAGDECL([], [no_undefined_flag], [1], 63126bea0e4fSmrg [Flag that enforces no undefined symbols]) 63136bea0e4fSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 63146bea0e4fSmrg [Flag to hardcode $libdir into a binary during linking. 63156bea0e4fSmrg This must work even if $libdir does not exist]) 63166bea0e4fSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1], 63176bea0e4fSmrg [Whether we need a single "-rpath" flag with a separated argument]) 63186bea0e4fSmrg_LT_TAGDECL([], [hardcode_direct], [0], 63196bea0e4fSmrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 63206bea0e4fSmrg DIR into the resulting binary]) 63216bea0e4fSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0], 63226bea0e4fSmrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 63236bea0e4fSmrg DIR into the resulting binary and the resulting library dependency is 63246bea0e4fSmrg "absolute", i.e. impossible to change by setting $shlibpath_var if the 63256bea0e4fSmrg library is relocated]) 63266bea0e4fSmrg_LT_TAGDECL([], [hardcode_minus_L], [0], 63276bea0e4fSmrg [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 63286bea0e4fSmrg into the resulting binary]) 63296bea0e4fSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 63306bea0e4fSmrg [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 63316bea0e4fSmrg into the resulting binary]) 63326bea0e4fSmrg_LT_TAGDECL([], [hardcode_automatic], [0], 63336bea0e4fSmrg [Set to "yes" if building a shared library automatically hardcodes DIR 63346bea0e4fSmrg into the library and all subsequent libraries and executables linked 63356bea0e4fSmrg against it]) 63366bea0e4fSmrg_LT_TAGDECL([], [inherit_rpath], [0], 63376bea0e4fSmrg [Set to yes if linker adds runtime paths of dependent libraries 63386bea0e4fSmrg to runtime path list]) 63396bea0e4fSmrg_LT_TAGDECL([], [link_all_deplibs], [0], 63406bea0e4fSmrg [Whether libtool must link a program against all its dependency libraries]) 63416bea0e4fSmrg_LT_TAGDECL([], [always_export_symbols], [0], 63426bea0e4fSmrg [Set to "yes" if exported symbols are required]) 63436bea0e4fSmrg_LT_TAGDECL([], [export_symbols_cmds], [2], 63446bea0e4fSmrg [The commands to list exported symbols]) 63456bea0e4fSmrg_LT_TAGDECL([], [exclude_expsyms], [1], 63466bea0e4fSmrg [Symbols that should not be listed in the preloaded symbols]) 63476bea0e4fSmrg_LT_TAGDECL([], [include_expsyms], [1], 63486bea0e4fSmrg [Symbols that must always be exported]) 63496bea0e4fSmrg_LT_TAGDECL([], [prelink_cmds], [2], 63506bea0e4fSmrg [Commands necessary for linking programs (against libraries) with templates]) 63516bea0e4fSmrg_LT_TAGDECL([], [postlink_cmds], [2], 63526bea0e4fSmrg [Commands necessary for finishing linking programs]) 63536bea0e4fSmrg_LT_TAGDECL([], [file_list_spec], [1], 63546bea0e4fSmrg [Specify filename containing input files]) 63556bea0e4fSmrgdnl FIXME: Not yet implemented 63566bea0e4fSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 63576bea0e4fSmrgdnl [Compiler flag to generate thread safe objects]) 63586bea0e4fSmrg])# _LT_LINKER_SHLIBS 63596bea0e4fSmrg 63606bea0e4fSmrg 63616bea0e4fSmrg# _LT_LANG_C_CONFIG([TAG]) 63626bea0e4fSmrg# ------------------------ 63636bea0e4fSmrg# Ensure that the configuration variables for a C compiler are suitably 63646bea0e4fSmrg# defined. These variables are subsequently used by _LT_CONFIG to write 63656bea0e4fSmrg# the compiler configuration to 'libtool'. 63666bea0e4fSmrgm4_defun([_LT_LANG_C_CONFIG], 63676bea0e4fSmrg[m4_require([_LT_DECL_EGREP])dnl 63686bea0e4fSmrglt_save_CC=$CC 63696bea0e4fSmrgAC_LANG_PUSH(C) 63706bea0e4fSmrg 63716bea0e4fSmrg# Source file extension for C test sources. 63726bea0e4fSmrgac_ext=c 63736bea0e4fSmrg 63746bea0e4fSmrg# Object file extension for compiled C test sources. 63756bea0e4fSmrgobjext=o 63766bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 63776bea0e4fSmrg 63786bea0e4fSmrg# Code to be used in simple compile tests 63796bea0e4fSmrglt_simple_compile_test_code="int some_variable = 0;" 63806bea0e4fSmrg 63816bea0e4fSmrg# Code to be used in simple link tests 63826bea0e4fSmrglt_simple_link_test_code='int main(void){return(0);}' 63836bea0e4fSmrg 63846bea0e4fSmrg_LT_TAG_COMPILER 63856bea0e4fSmrg# Save the default compiler, since it gets overwritten when the other 63866bea0e4fSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 63876bea0e4fSmrgcompiler_DEFAULT=$CC 63886bea0e4fSmrg 63896bea0e4fSmrg# save warnings/boilerplate of simple test code 63906bea0e4fSmrg_LT_COMPILER_BOILERPLATE 63916bea0e4fSmrg_LT_LINKER_BOILERPLATE 63926bea0e4fSmrg 63936bea0e4fSmrg## CAVEAT EMPTOR: 63946bea0e4fSmrg## There is no encapsulation within the following macros, do not change 63956bea0e4fSmrg## the running order or otherwise move them around unless you know exactly 63966bea0e4fSmrg## what you are doing... 63976bea0e4fSmrgif test -n "$compiler"; then 63986bea0e4fSmrg _LT_COMPILER_NO_RTTI($1) 63996bea0e4fSmrg _LT_COMPILER_PIC($1) 64006bea0e4fSmrg _LT_COMPILER_C_O($1) 64016bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 64026bea0e4fSmrg _LT_LINKER_SHLIBS($1) 64036bea0e4fSmrg _LT_SYS_DYNAMIC_LINKER($1) 64046bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 64056bea0e4fSmrg LT_SYS_DLOPEN_SELF 64066bea0e4fSmrg _LT_CMD_STRIPLIB 64076bea0e4fSmrg 64086bea0e4fSmrg # Report what library types will actually be built 64096bea0e4fSmrg AC_MSG_CHECKING([if libtool supports shared libraries]) 64106bea0e4fSmrg AC_MSG_RESULT([$can_build_shared]) 64116bea0e4fSmrg 64126bea0e4fSmrg AC_MSG_CHECKING([whether to build shared libraries]) 64136bea0e4fSmrg test no = "$can_build_shared" && enable_shared=no 64146bea0e4fSmrg 64156bea0e4fSmrg # On AIX, shared libraries and static libraries use the same namespace, and 64166bea0e4fSmrg # are all built from PIC. 64176bea0e4fSmrg case $host_os in 64186bea0e4fSmrg aix3*) 64196bea0e4fSmrg test yes = "$enable_shared" && enable_static=no 64206bea0e4fSmrg if test -n "$RANLIB"; then 64216bea0e4fSmrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 64226bea0e4fSmrg postinstall_cmds='$RANLIB $lib' 64236bea0e4fSmrg fi 64246bea0e4fSmrg ;; 64256bea0e4fSmrg 64266bea0e4fSmrg aix[[4-9]]*) 64276bea0e4fSmrg if test ia64 != "$host_cpu"; then 64286bea0e4fSmrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 64296bea0e4fSmrg yes,aix,yes) ;; # shared object as lib.so file only 64306bea0e4fSmrg yes,svr4,*) ;; # shared object as lib.so archive member only 64316bea0e4fSmrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 64326bea0e4fSmrg esac 64336bea0e4fSmrg fi 64346bea0e4fSmrg ;; 64356bea0e4fSmrg esac 64366bea0e4fSmrg AC_MSG_RESULT([$enable_shared]) 64376bea0e4fSmrg 64386bea0e4fSmrg AC_MSG_CHECKING([whether to build static libraries]) 64396bea0e4fSmrg # Make sure either enable_shared or enable_static is yes. 64406bea0e4fSmrg test yes = "$enable_shared" || enable_static=yes 64416bea0e4fSmrg AC_MSG_RESULT([$enable_static]) 64426bea0e4fSmrg 64436bea0e4fSmrg _LT_CONFIG($1) 64446bea0e4fSmrgfi 64456bea0e4fSmrgAC_LANG_POP 64466bea0e4fSmrgCC=$lt_save_CC 64476bea0e4fSmrg])# _LT_LANG_C_CONFIG 64486bea0e4fSmrg 64496bea0e4fSmrg 64506bea0e4fSmrg# _LT_LANG_CXX_CONFIG([TAG]) 64516bea0e4fSmrg# -------------------------- 64526bea0e4fSmrg# Ensure that the configuration variables for a C++ compiler are suitably 64536bea0e4fSmrg# defined. These variables are subsequently used by _LT_CONFIG to write 64546bea0e4fSmrg# the compiler configuration to 'libtool'. 64556bea0e4fSmrgm4_defun([_LT_LANG_CXX_CONFIG], 64566bea0e4fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 64576bea0e4fSmrgm4_require([_LT_DECL_EGREP])dnl 64586bea0e4fSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl 64596bea0e4fSmrgif test -n "$CXX" && ( test no != "$CXX" && 64606bea0e4fSmrg ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 64616bea0e4fSmrg (test g++ != "$CXX"))); then 64626bea0e4fSmrg AC_PROG_CXXCPP 64636bea0e4fSmrgelse 64646bea0e4fSmrg _lt_caught_CXX_error=yes 64656bea0e4fSmrgfi 64666bea0e4fSmrg 64676bea0e4fSmrgAC_LANG_PUSH(C++) 64686bea0e4fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 64696bea0e4fSmrg_LT_TAGVAR(allow_undefined_flag, $1)= 64706bea0e4fSmrg_LT_TAGVAR(always_export_symbols, $1)=no 64716bea0e4fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)= 64726bea0e4fSmrg_LT_TAGVAR(compiler_needs_object, $1)=no 64736bea0e4fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 64746bea0e4fSmrg_LT_TAGVAR(hardcode_direct, $1)=no 64756bea0e4fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 64766bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 64776bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 64786bea0e4fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no 64796bea0e4fSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 64806bea0e4fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no 64816bea0e4fSmrg_LT_TAGVAR(inherit_rpath, $1)=no 64826bea0e4fSmrg_LT_TAGVAR(module_cmds, $1)= 64836bea0e4fSmrg_LT_TAGVAR(module_expsym_cmds, $1)= 64846bea0e4fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 64856bea0e4fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 64866bea0e4fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 64876bea0e4fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 64886bea0e4fSmrg_LT_TAGVAR(no_undefined_flag, $1)= 64896bea0e4fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 64906bea0e4fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 64916bea0e4fSmrg 64926bea0e4fSmrg# Source file extension for C++ test sources. 64936bea0e4fSmrgac_ext=cpp 64946bea0e4fSmrg 64956bea0e4fSmrg# Object file extension for compiled C++ test sources. 64966bea0e4fSmrgobjext=o 64976bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 64986bea0e4fSmrg 64996bea0e4fSmrg# No sense in running all these tests if we already determined that 65006bea0e4fSmrg# the CXX compiler isn't working. Some variables (like enable_shared) 65016bea0e4fSmrg# are currently assumed to apply to all compilers on this platform, 65026bea0e4fSmrg# and will be corrupted by setting them based on a non-working compiler. 65036bea0e4fSmrgif test yes != "$_lt_caught_CXX_error"; then 65046bea0e4fSmrg # Code to be used in simple compile tests 65056bea0e4fSmrg lt_simple_compile_test_code="int some_variable = 0;" 65066bea0e4fSmrg 65076bea0e4fSmrg # Code to be used in simple link tests 65086bea0e4fSmrg lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 65096bea0e4fSmrg 65106bea0e4fSmrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 65116bea0e4fSmrg _LT_TAG_COMPILER 65126bea0e4fSmrg 65136bea0e4fSmrg # save warnings/boilerplate of simple test code 65146bea0e4fSmrg _LT_COMPILER_BOILERPLATE 65156bea0e4fSmrg _LT_LINKER_BOILERPLATE 65166bea0e4fSmrg 65176bea0e4fSmrg # Allow CC to be a program name with arguments. 65186bea0e4fSmrg lt_save_CC=$CC 65196bea0e4fSmrg lt_save_CFLAGS=$CFLAGS 65206bea0e4fSmrg lt_save_LD=$LD 65216bea0e4fSmrg lt_save_GCC=$GCC 65226bea0e4fSmrg GCC=$GXX 65236bea0e4fSmrg lt_save_with_gnu_ld=$with_gnu_ld 65246bea0e4fSmrg lt_save_path_LD=$lt_cv_path_LD 65256bea0e4fSmrg if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 65266bea0e4fSmrg lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 65276bea0e4fSmrg else 65286bea0e4fSmrg $as_unset lt_cv_prog_gnu_ld 65296bea0e4fSmrg fi 65306bea0e4fSmrg if test -n "${lt_cv_path_LDCXX+set}"; then 65316bea0e4fSmrg lt_cv_path_LD=$lt_cv_path_LDCXX 65326bea0e4fSmrg else 65336bea0e4fSmrg $as_unset lt_cv_path_LD 65346bea0e4fSmrg fi 65356bea0e4fSmrg test -z "${LDCXX+set}" || LD=$LDCXX 65366bea0e4fSmrg CC=${CXX-"c++"} 65376bea0e4fSmrg CFLAGS=$CXXFLAGS 65386bea0e4fSmrg compiler=$CC 65396bea0e4fSmrg _LT_TAGVAR(compiler, $1)=$CC 65406bea0e4fSmrg _LT_CC_BASENAME([$compiler]) 65416bea0e4fSmrg 65426bea0e4fSmrg if test -n "$compiler"; then 65436bea0e4fSmrg # We don't want -fno-exception when compiling C++ code, so set the 65446bea0e4fSmrg # no_builtin_flag separately 65456bea0e4fSmrg if test yes = "$GXX"; then 65466bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 65476bea0e4fSmrg else 65486bea0e4fSmrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 65496bea0e4fSmrg fi 65506bea0e4fSmrg 65516bea0e4fSmrg if test yes = "$GXX"; then 65526bea0e4fSmrg # Set up default GNU C++ configuration 65536bea0e4fSmrg 65546bea0e4fSmrg LT_PATH_LD 65556bea0e4fSmrg 65566bea0e4fSmrg # Check if GNU C++ uses GNU ld as the underlying linker, since the 65576bea0e4fSmrg # archiving commands below assume that GNU ld is being used. 65586bea0e4fSmrg if test yes = "$with_gnu_ld"; then 65596bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 65606bea0e4fSmrg _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' 65616bea0e4fSmrg 65626bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 65636bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 65646bea0e4fSmrg 65656bea0e4fSmrg # If archive_cmds runs LD, not CC, wlarc should be empty 65666bea0e4fSmrg # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 65676bea0e4fSmrg # investigate it a little bit more. (MM) 65686bea0e4fSmrg wlarc='$wl' 65696bea0e4fSmrg 65706bea0e4fSmrg # ancient GNU ld didn't support --whole-archive et. al. 65716bea0e4fSmrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 65726bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 65736bea0e4fSmrg else 65746bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 65756bea0e4fSmrg fi 65766bea0e4fSmrg else 65776bea0e4fSmrg with_gnu_ld=no 65786bea0e4fSmrg wlarc= 65796bea0e4fSmrg 65806bea0e4fSmrg # A generic and very simple default shared library creation 65816bea0e4fSmrg # command for GNU C++ for the case where it uses the native 65826bea0e4fSmrg # linker, instead of GNU ld. If possible, this setting should 65836bea0e4fSmrg # overridden to take advantage of the native linker features on 65846bea0e4fSmrg # the platform it is being used on. 65856bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 65866bea0e4fSmrg fi 65876bea0e4fSmrg 65886bea0e4fSmrg # Commands to make compiler produce verbose output that lists 65896bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 65906bea0e4fSmrg # linking a shared library. 65916bea0e4fSmrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 65926bea0e4fSmrg 65936bea0e4fSmrg else 65946bea0e4fSmrg GXX=no 65956bea0e4fSmrg with_gnu_ld=no 65966bea0e4fSmrg wlarc= 65976bea0e4fSmrg fi 65986bea0e4fSmrg 65996bea0e4fSmrg # PORTME: fill in a description of your system's C++ link characteristics 66006bea0e4fSmrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 66016bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 66026bea0e4fSmrg case $host_os in 66036bea0e4fSmrg aix3*) 66046bea0e4fSmrg # FIXME: insert proper C++ library support 66056bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 66066bea0e4fSmrg ;; 66076bea0e4fSmrg aix[[4-9]]*) 66086bea0e4fSmrg if test ia64 = "$host_cpu"; then 66096bea0e4fSmrg # On IA64, the linker does run time linking by default, so we don't 66106bea0e4fSmrg # have to do anything special. 66116bea0e4fSmrg aix_use_runtimelinking=no 66126bea0e4fSmrg exp_sym_flag='-Bexport' 66136bea0e4fSmrg no_entry_flag= 66146bea0e4fSmrg else 66156bea0e4fSmrg aix_use_runtimelinking=no 66166bea0e4fSmrg 66176bea0e4fSmrg # Test if we are trying to use run time linking or normal 66186bea0e4fSmrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 66196bea0e4fSmrg # have runtime linking enabled, and use it for executables. 66206bea0e4fSmrg # For shared libraries, we enable/disable runtime linking 66216bea0e4fSmrg # depending on the kind of the shared library created - 66226bea0e4fSmrg # when "with_aix_soname,aix_use_runtimelinking" is: 66236bea0e4fSmrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 66246bea0e4fSmrg # "aix,yes" lib.so shared, rtl:yes, for executables 66256bea0e4fSmrg # lib.a static archive 66266bea0e4fSmrg # "both,no" lib.so.V(shr.o) shared, rtl:yes 66276bea0e4fSmrg # lib.a(lib.so.V) shared, rtl:no, for executables 66286bea0e4fSmrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 66296bea0e4fSmrg # lib.a(lib.so.V) shared, rtl:no 66306bea0e4fSmrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 66316bea0e4fSmrg # lib.a static archive 66326bea0e4fSmrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 66336bea0e4fSmrg for ld_flag in $LDFLAGS; do 66346bea0e4fSmrg case $ld_flag in 66356bea0e4fSmrg *-brtl*) 66366bea0e4fSmrg aix_use_runtimelinking=yes 66376bea0e4fSmrg break 66386bea0e4fSmrg ;; 66396bea0e4fSmrg esac 66406bea0e4fSmrg done 66416bea0e4fSmrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 66426bea0e4fSmrg # With aix-soname=svr4, we create the lib.so.V shared archives only, 66436bea0e4fSmrg # so we don't have lib.a shared libs to link our executables. 66446bea0e4fSmrg # We have to force runtime linking in this case. 66456bea0e4fSmrg aix_use_runtimelinking=yes 66466bea0e4fSmrg LDFLAGS="$LDFLAGS -Wl,-brtl" 66476bea0e4fSmrg fi 66486bea0e4fSmrg ;; 66496bea0e4fSmrg esac 66506bea0e4fSmrg 66516bea0e4fSmrg exp_sym_flag='-bexport' 66526bea0e4fSmrg no_entry_flag='-bnoentry' 66536bea0e4fSmrg fi 66546bea0e4fSmrg 66556bea0e4fSmrg # When large executables or shared objects are built, AIX ld can 66566bea0e4fSmrg # have problems creating the table of contents. If linking a library 66576bea0e4fSmrg # or program results in "error TOC overflow" add -mminimal-toc to 66586bea0e4fSmrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 66596bea0e4fSmrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 66606bea0e4fSmrg 66616bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='' 66626bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 66636bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 66646bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 66656bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 66666bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 66676bea0e4fSmrg case $with_aix_soname,$aix_use_runtimelinking in 66686bea0e4fSmrg aix,*) ;; # no import file 66696bea0e4fSmrg svr4,* | *,yes) # use import file 66706bea0e4fSmrg # The Import File defines what to hardcode. 66716bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 66726bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 66736bea0e4fSmrg ;; 66746bea0e4fSmrg esac 66756bea0e4fSmrg 66766bea0e4fSmrg if test yes = "$GXX"; then 66776bea0e4fSmrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 66786bea0e4fSmrg # We only want to do this on AIX 4.2 and lower, the check 66796bea0e4fSmrg # below for broken collect2 doesn't work under 4.3+ 66806bea0e4fSmrg collect2name=`$CC -print-prog-name=collect2` 66816bea0e4fSmrg if test -f "$collect2name" && 66826bea0e4fSmrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 66836bea0e4fSmrg then 66846bea0e4fSmrg # We have reworked collect2 66856bea0e4fSmrg : 66866bea0e4fSmrg else 66876bea0e4fSmrg # We have old collect2 66886bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 66896bea0e4fSmrg # It fails to find uninstalled libraries when the uninstalled 66906bea0e4fSmrg # path is not listed in the libpath. Setting hardcode_minus_L 66916bea0e4fSmrg # to unsupported forces relinking 66926bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 66936bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 66946bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 66956bea0e4fSmrg fi 66966bea0e4fSmrg esac 66976bea0e4fSmrg shared_flag='-shared' 66986bea0e4fSmrg if test yes = "$aix_use_runtimelinking"; then 66996bea0e4fSmrg shared_flag=$shared_flag' $wl-G' 67006bea0e4fSmrg fi 67016bea0e4fSmrg # Need to ensure runtime linking is disabled for the traditional 67026bea0e4fSmrg # shared library, or the linker may eventually find shared libraries 67036bea0e4fSmrg # /with/ Import File - we do not want to mix them. 67046bea0e4fSmrg shared_flag_aix='-shared' 67056bea0e4fSmrg shared_flag_svr4='-shared $wl-G' 67066bea0e4fSmrg else 67076bea0e4fSmrg # not using gcc 67086bea0e4fSmrg if test ia64 = "$host_cpu"; then 67096bea0e4fSmrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 67106bea0e4fSmrg # chokes on -Wl,-G. The following line is correct: 67116bea0e4fSmrg shared_flag='-G' 67126bea0e4fSmrg else 67136bea0e4fSmrg if test yes = "$aix_use_runtimelinking"; then 67146bea0e4fSmrg shared_flag='$wl-G' 67156bea0e4fSmrg else 67166bea0e4fSmrg shared_flag='$wl-bM:SRE' 67176bea0e4fSmrg fi 67186bea0e4fSmrg shared_flag_aix='$wl-bM:SRE' 67196bea0e4fSmrg shared_flag_svr4='$wl-G' 67206bea0e4fSmrg fi 67216bea0e4fSmrg fi 67226bea0e4fSmrg 67236bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 67246bea0e4fSmrg # It seems that -bexpall does not export symbols beginning with 67256bea0e4fSmrg # underscore (_), so it is better to generate a list of symbols to 67266bea0e4fSmrg # export. 67276bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=yes 67286bea0e4fSmrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 67296bea0e4fSmrg # Warning - without using the other runtime loading flags (-brtl), 67306bea0e4fSmrg # -berok will link without error, but may produce a broken library. 67316bea0e4fSmrg # The "-G" linker flag allows undefined symbols. 67326bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' 67336bea0e4fSmrg # Determine the default libpath from the value encoded in an empty 67346bea0e4fSmrg # executable. 67356bea0e4fSmrg _LT_SYS_MODULE_PATH_AIX([$1]) 67366bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 67376bea0e4fSmrg 67386bea0e4fSmrg _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 67396bea0e4fSmrg else 67406bea0e4fSmrg if test ia64 = "$host_cpu"; then 67416bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 67426bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 67436bea0e4fSmrg _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" 67446bea0e4fSmrg else 67456bea0e4fSmrg # Determine the default libpath from the value encoded in an 67466bea0e4fSmrg # empty executable. 67476bea0e4fSmrg _LT_SYS_MODULE_PATH_AIX([$1]) 67486bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 67496bea0e4fSmrg # Warning - without using the other run time loading flags, 67506bea0e4fSmrg # -berok will link without error, but may produce a broken library. 67516bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 67526bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 67536bea0e4fSmrg if test yes = "$with_gnu_ld"; then 67546bea0e4fSmrg # We only use this code for GNU lds that support --whole-archive. 67556bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 67566bea0e4fSmrg else 67576bea0e4fSmrg # Exported symbols can be pulled into shared objects from archives 67586bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 67596bea0e4fSmrg fi 67606bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 67616bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 67626bea0e4fSmrg # -brtl affects multiple linker settings, -berok does not and is overridden later 67636bea0e4fSmrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 67646bea0e4fSmrg if test svr4 != "$with_aix_soname"; then 67656bea0e4fSmrg # This is similar to how AIX traditionally builds its shared 67666bea0e4fSmrg # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. 67676bea0e4fSmrg _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' 67686bea0e4fSmrg fi 67696bea0e4fSmrg if test aix != "$with_aix_soname"; then 67706bea0e4fSmrg _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' 67716bea0e4fSmrg else 67726bea0e4fSmrg # used by -dlpreopen to get the symbols 67736bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 67746bea0e4fSmrg fi 67756bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 67766bea0e4fSmrg fi 67776bea0e4fSmrg fi 67786bea0e4fSmrg ;; 67796bea0e4fSmrg 67806bea0e4fSmrg beos*) 67816bea0e4fSmrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 67826bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 67836bea0e4fSmrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 67846bea0e4fSmrg # support --undefined. This deserves some investigation. FIXME 67856bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 67866bea0e4fSmrg else 67876bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 67886bea0e4fSmrg fi 67896bea0e4fSmrg ;; 67906bea0e4fSmrg 67916bea0e4fSmrg chorus*) 67926bea0e4fSmrg case $cc_basename in 67936bea0e4fSmrg *) 67946bea0e4fSmrg # FIXME: insert proper C++ library support 67956bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 67966bea0e4fSmrg ;; 67976bea0e4fSmrg esac 67986bea0e4fSmrg ;; 67996bea0e4fSmrg 68006bea0e4fSmrg cygwin* | mingw* | windows* | pw32* | cegcc*) 68016bea0e4fSmrg case $GXX,$cc_basename in 68026bea0e4fSmrg ,cl* | no,cl* | ,icl* | no,icl*) 68036bea0e4fSmrg # Native MSVC or ICC 68046bea0e4fSmrg # hardcode_libdir_flag_spec is actually meaningless, as there is 68056bea0e4fSmrg # no search path for DLLs. 68066bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 68076bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 68086bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=yes 68096bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 68106bea0e4fSmrg # Tell ltmain to make .lib files, not .a files. 68116bea0e4fSmrg libext=lib 68126bea0e4fSmrg # Tell ltmain to make .dll files, not .so files. 68136bea0e4fSmrg shrext_cmds=.dll 68146bea0e4fSmrg # FIXME: Setting linknames here is a bad hack. 68156bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 68166bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 68176bea0e4fSmrg cp "$export_symbols" "$output_objdir/$soname.def"; 68186bea0e4fSmrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 68196bea0e4fSmrg else 68206bea0e4fSmrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 68216bea0e4fSmrg fi~ 68226bea0e4fSmrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 68236bea0e4fSmrg linknames=' 68246bea0e4fSmrg # The linker will not automatically build a static lib if we build a DLL. 68256bea0e4fSmrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 68266bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 68276bea0e4fSmrg # Don't use ranlib 68286bea0e4fSmrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 68296bea0e4fSmrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 68306bea0e4fSmrg lt_tool_outputfile="@TOOL_OUTPUT@"~ 68316bea0e4fSmrg case $lt_outputfile in 68326bea0e4fSmrg *.exe|*.EXE) ;; 68336bea0e4fSmrg *) 68346bea0e4fSmrg lt_outputfile=$lt_outputfile.exe 68356bea0e4fSmrg lt_tool_outputfile=$lt_tool_outputfile.exe 68366bea0e4fSmrg ;; 68376bea0e4fSmrg esac~ 68386bea0e4fSmrg func_to_tool_file "$lt_outputfile"~ 68396bea0e4fSmrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 68406bea0e4fSmrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 68416bea0e4fSmrg $RM "$lt_outputfile.manifest"; 68426bea0e4fSmrg fi' 68436bea0e4fSmrg ;; 68446bea0e4fSmrg *) 68456bea0e4fSmrg # g++ 68466bea0e4fSmrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 68476bea0e4fSmrg # as there is no search path for DLLs. 68486bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 68496bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 68506bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 68516bea0e4fSmrg _LT_TAGVAR(always_export_symbols, $1)=no 68526bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 68536bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 68546bea0e4fSmrg 68556bea0e4fSmrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 68566bea0e4fSmrg _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' 68576bea0e4fSmrg # If the export-symbols file already is a .def file, use it as 68586bea0e4fSmrg # is; otherwise, prepend EXPORTS... 68596bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 68606bea0e4fSmrg cp $export_symbols $output_objdir/$soname.def; 68616bea0e4fSmrg else 68626bea0e4fSmrg echo EXPORTS > $output_objdir/$soname.def; 68636bea0e4fSmrg cat $export_symbols >> $output_objdir/$soname.def; 68646bea0e4fSmrg fi~ 68656bea0e4fSmrg $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' 68666bea0e4fSmrg else 68676bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 68686bea0e4fSmrg fi 68696bea0e4fSmrg ;; 68706bea0e4fSmrg esac 68716bea0e4fSmrg ;; 68726bea0e4fSmrg darwin* | rhapsody*) 68736bea0e4fSmrg _LT_DARWIN_LINKER_FEATURES($1) 68746bea0e4fSmrg ;; 68756bea0e4fSmrg 68766bea0e4fSmrg os2*) 68776bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 68786bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 68796bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 68806bea0e4fSmrg shrext_cmds=.dll 68816bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 68826bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 68836bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 68846bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 68856bea0e4fSmrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 68866bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 68876bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 68886bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 68896bea0e4fSmrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 68906bea0e4fSmrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 68916bea0e4fSmrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 68926bea0e4fSmrg prefix_cmds="$SED"~ 68936bea0e4fSmrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 68946bea0e4fSmrg prefix_cmds="$prefix_cmds -e 1d"; 68956bea0e4fSmrg fi~ 68966bea0e4fSmrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 68976bea0e4fSmrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 68986bea0e4fSmrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 68996bea0e4fSmrg emximp -o $lib $output_objdir/$libname.def' 69006bea0e4fSmrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 69016bea0e4fSmrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 69026bea0e4fSmrg _LT_TAGVAR(file_list_spec, $1)='@' 69036bea0e4fSmrg ;; 69046bea0e4fSmrg 69056bea0e4fSmrg dgux*) 69066bea0e4fSmrg case $cc_basename in 69076bea0e4fSmrg ec++*) 69086bea0e4fSmrg # FIXME: insert proper C++ library support 69096bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69106bea0e4fSmrg ;; 69116bea0e4fSmrg ghcx*) 69126bea0e4fSmrg # Green Hills C++ Compiler 69136bea0e4fSmrg # FIXME: insert proper C++ library support 69146bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69156bea0e4fSmrg ;; 69166bea0e4fSmrg *) 69176bea0e4fSmrg # FIXME: insert proper C++ library support 69186bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69196bea0e4fSmrg ;; 69206bea0e4fSmrg esac 69216bea0e4fSmrg ;; 69226bea0e4fSmrg 69236bea0e4fSmrg freebsd2.*) 69246bea0e4fSmrg # C++ shared libraries reported to be fairly broken before 69256bea0e4fSmrg # switch to ELF 69266bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69276bea0e4fSmrg ;; 69286bea0e4fSmrg 69296bea0e4fSmrg freebsd-elf*) 69306bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 69316bea0e4fSmrg ;; 69326bea0e4fSmrg 69336bea0e4fSmrg freebsd* | dragonfly* | midnightbsd*) 69346bea0e4fSmrg # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 69356bea0e4fSmrg # conventions 69366bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 69376bea0e4fSmrg ;; 69386bea0e4fSmrg 69396bea0e4fSmrg haiku*) 69406bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 69416bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=no 69426bea0e4fSmrg ;; 69436bea0e4fSmrg 69446bea0e4fSmrg hpux9*) 69456bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 69466bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 69476bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 69486bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 69496bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 69506bea0e4fSmrg # but as the default 69516bea0e4fSmrg # location of the library. 69526bea0e4fSmrg 69536bea0e4fSmrg case $cc_basename in 69546bea0e4fSmrg CC*) 69556bea0e4fSmrg # FIXME: insert proper C++ library support 69566bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69576bea0e4fSmrg ;; 69586bea0e4fSmrg aCC*) 69596bea0e4fSmrg _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' 69606bea0e4fSmrg # Commands to make compiler produce verbose output that lists 69616bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 69626bea0e4fSmrg # linking a shared library. 69636bea0e4fSmrg # 69646bea0e4fSmrg # There doesn't appear to be a way to prevent this compiler from 69656bea0e4fSmrg # explicitly linking system object files so we need to strip them 69666bea0e4fSmrg # from the output so that they don't get included in the library 69676bea0e4fSmrg # dependencies. 69686bea0e4fSmrg 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"' 69696bea0e4fSmrg ;; 69706bea0e4fSmrg *) 69716bea0e4fSmrg if test yes = "$GXX"; then 69726bea0e4fSmrg _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' 69736bea0e4fSmrg else 69746bea0e4fSmrg # FIXME: insert proper C++ library support 69756bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 69766bea0e4fSmrg fi 69776bea0e4fSmrg ;; 69786bea0e4fSmrg esac 69796bea0e4fSmrg ;; 69806bea0e4fSmrg 69816bea0e4fSmrg hpux10*|hpux11*) 69826bea0e4fSmrg if test no = "$with_gnu_ld"; then 69836bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 69846bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 69856bea0e4fSmrg 69866bea0e4fSmrg case $host_cpu in 69876bea0e4fSmrg hppa*64*|ia64*) 69886bea0e4fSmrg ;; 69896bea0e4fSmrg *) 69906bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 69916bea0e4fSmrg ;; 69926bea0e4fSmrg esac 69936bea0e4fSmrg fi 69946bea0e4fSmrg case $host_cpu in 69956bea0e4fSmrg hppa*64*|ia64*) 69966bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 69976bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 69986bea0e4fSmrg ;; 69996bea0e4fSmrg *) 70006bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 70016bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 70026bea0e4fSmrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 70036bea0e4fSmrg # but as the default 70046bea0e4fSmrg # location of the library. 70056bea0e4fSmrg ;; 70066bea0e4fSmrg esac 70076bea0e4fSmrg 70086bea0e4fSmrg case $cc_basename in 70096bea0e4fSmrg CC*) 70106bea0e4fSmrg # FIXME: insert proper C++ library support 70116bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 70126bea0e4fSmrg ;; 70136bea0e4fSmrg aCC*) 70146bea0e4fSmrg case $host_cpu in 70156bea0e4fSmrg hppa*64*) 70166bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 70176bea0e4fSmrg ;; 70186bea0e4fSmrg ia64*) 70196bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 70206bea0e4fSmrg ;; 70216bea0e4fSmrg *) 70226bea0e4fSmrg _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' 70236bea0e4fSmrg ;; 70246bea0e4fSmrg esac 70256bea0e4fSmrg # Commands to make compiler produce verbose output that lists 70266bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 70276bea0e4fSmrg # linking a shared library. 70286bea0e4fSmrg # 70296bea0e4fSmrg # There doesn't appear to be a way to prevent this compiler from 70306bea0e4fSmrg # explicitly linking system object files so we need to strip them 70316bea0e4fSmrg # from the output so that they don't get included in the library 70326bea0e4fSmrg # dependencies. 70336bea0e4fSmrg 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"' 70346bea0e4fSmrg ;; 70356bea0e4fSmrg *) 70366bea0e4fSmrg if test yes = "$GXX"; then 70376bea0e4fSmrg if test no = "$with_gnu_ld"; then 70386bea0e4fSmrg case $host_cpu in 70396bea0e4fSmrg hppa*64*) 70406bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 70416bea0e4fSmrg ;; 70426bea0e4fSmrg ia64*) 70436bea0e4fSmrg _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' 70446bea0e4fSmrg ;; 70456bea0e4fSmrg *) 70466bea0e4fSmrg _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' 70476bea0e4fSmrg ;; 70486bea0e4fSmrg esac 70496bea0e4fSmrg fi 70506bea0e4fSmrg else 70516bea0e4fSmrg # FIXME: insert proper C++ library support 70526bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 70536bea0e4fSmrg fi 70546bea0e4fSmrg ;; 70556bea0e4fSmrg esac 70566bea0e4fSmrg ;; 70576bea0e4fSmrg 70586bea0e4fSmrg interix[[3-9]]*) 70596bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=no 70606bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 70616bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 70626bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 70636bea0e4fSmrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 70646bea0e4fSmrg # Instead, shared libraries are loaded at an image base (0x10000000 by 70656bea0e4fSmrg # default) and relocated if they conflict, which is a slow very memory 70666bea0e4fSmrg # consuming and fragmenting process. To avoid this, we pick a random, 70676bea0e4fSmrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 70686bea0e4fSmrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 70696bea0e4fSmrg _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' 70706bea0e4fSmrg _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' 70716bea0e4fSmrg ;; 70726bea0e4fSmrg irix5* | irix6*) 70736bea0e4fSmrg case $cc_basename in 70746bea0e4fSmrg CC*) 70756bea0e4fSmrg # SGI C++ 70766bea0e4fSmrg _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' 70776bea0e4fSmrg 70786bea0e4fSmrg # Archives containing C++ object files must be created using 70796bea0e4fSmrg # "CC -ar", where "CC" is the IRIX C++ compiler. This is 70806bea0e4fSmrg # necessary to make sure instantiated templates are included 70816bea0e4fSmrg # in the archive. 70826bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 70836bea0e4fSmrg ;; 70846bea0e4fSmrg *) 70856bea0e4fSmrg if test yes = "$GXX"; then 70866bea0e4fSmrg if test no = "$with_gnu_ld"; then 70876bea0e4fSmrg _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' 70886bea0e4fSmrg else 70896bea0e4fSmrg _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' 70906bea0e4fSmrg fi 70916bea0e4fSmrg fi 70926bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 70936bea0e4fSmrg ;; 70946bea0e4fSmrg esac 70956bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 70966bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 70976bea0e4fSmrg _LT_TAGVAR(inherit_rpath, $1)=yes 70986bea0e4fSmrg ;; 70996bea0e4fSmrg 71006bea0e4fSmrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 71016bea0e4fSmrg case $cc_basename in 71026bea0e4fSmrg KCC*) 71036bea0e4fSmrg # Kuck and Associates, Inc. (KAI) C++ Compiler 71046bea0e4fSmrg 71056bea0e4fSmrg # KCC will only create a shared library if the output file 71066bea0e4fSmrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 71076bea0e4fSmrg # to its proper name (with version) after linking. 71086bea0e4fSmrg _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' 71096bea0e4fSmrg _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' 71106bea0e4fSmrg # Commands to make compiler produce verbose output that lists 71116bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 71126bea0e4fSmrg # linking a shared library. 71136bea0e4fSmrg # 71146bea0e4fSmrg # There doesn't appear to be a way to prevent this compiler from 71156bea0e4fSmrg # explicitly linking system object files so we need to strip them 71166bea0e4fSmrg # from the output so that they don't get included in the library 71176bea0e4fSmrg # dependencies. 71186bea0e4fSmrg 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"' 71196bea0e4fSmrg 71206bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 71216bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 71226bea0e4fSmrg 71236bea0e4fSmrg # Archives containing C++ object files must be created using 71246bea0e4fSmrg # "CC -Bstatic", where "CC" is the KAI C++ compiler. 71256bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 71266bea0e4fSmrg ;; 71276bea0e4fSmrg icpc* | ecpc* ) 71286bea0e4fSmrg # Intel C++ 71296bea0e4fSmrg with_gnu_ld=yes 71306bea0e4fSmrg # version 8.0 and above of icpc choke on multiply defined symbols 71316bea0e4fSmrg # if we add $predep_objects and $postdep_objects, however 7.1 and 71326bea0e4fSmrg # earlier do not add the objects themselves. 71336bea0e4fSmrg case `$CC -V 2>&1` in 71346bea0e4fSmrg *"Version 7."*) 71356bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 71366bea0e4fSmrg _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' 71376bea0e4fSmrg ;; 71386bea0e4fSmrg *) # Version 8.0 or newer 71396bea0e4fSmrg tmp_idyn= 71406bea0e4fSmrg case $host_cpu in 71416bea0e4fSmrg ia64*) tmp_idyn=' -i_dynamic';; 71426bea0e4fSmrg esac 71436bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 71446bea0e4fSmrg _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' 71456bea0e4fSmrg ;; 71466bea0e4fSmrg esac 71476bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 71486bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 71496bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 71506bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 71516bea0e4fSmrg ;; 71526bea0e4fSmrg pgCC* | pgcpp*) 71536bea0e4fSmrg # Portland Group C++ compiler 71546bea0e4fSmrg case `$CC -V` in 71556bea0e4fSmrg *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 71566bea0e4fSmrg _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 71576bea0e4fSmrg rm -rf $tpldir~ 71586bea0e4fSmrg $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 71596bea0e4fSmrg compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 71606bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 71616bea0e4fSmrg rm -rf $tpldir~ 71626bea0e4fSmrg $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 71636bea0e4fSmrg $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 71646bea0e4fSmrg $RANLIB $oldlib' 71656bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 71666bea0e4fSmrg rm -rf $tpldir~ 71676bea0e4fSmrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 71686bea0e4fSmrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 71696bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 71706bea0e4fSmrg rm -rf $tpldir~ 71716bea0e4fSmrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 71726bea0e4fSmrg $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' 71736bea0e4fSmrg ;; 71746bea0e4fSmrg *) # Version 6 and above use weak symbols 71756bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 71766bea0e4fSmrg _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' 71776bea0e4fSmrg ;; 71786bea0e4fSmrg esac 71796bea0e4fSmrg 71806bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' 71816bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 71826bea0e4fSmrg _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' 71836bea0e4fSmrg ;; 71846bea0e4fSmrg cxx*) 71856bea0e4fSmrg # Compaq C++ 71866bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 71876bea0e4fSmrg _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' 71886bea0e4fSmrg 71896bea0e4fSmrg runpath_var=LD_RUN_PATH 71906bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 71916bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 71926bea0e4fSmrg 71936bea0e4fSmrg # Commands to make compiler produce verbose output that lists 71946bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 71956bea0e4fSmrg # linking a shared library. 71966bea0e4fSmrg # 71976bea0e4fSmrg # There doesn't appear to be a way to prevent this compiler from 71986bea0e4fSmrg # explicitly linking system object files so we need to strip them 71996bea0e4fSmrg # from the output so that they don't get included in the library 72006bea0e4fSmrg # dependencies. 72016bea0e4fSmrg 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' 72026bea0e4fSmrg ;; 72036bea0e4fSmrg xl* | mpixl* | bgxl*) 72046bea0e4fSmrg # IBM XL 8.0 on PPC, with GNU ld 72056bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 72066bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 72076bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 72086bea0e4fSmrg if test yes = "$supports_anon_versioning"; then 72096bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 72106bea0e4fSmrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 72116bea0e4fSmrg echo "local: *; };" >> $output_objdir/$libname.ver~ 72126bea0e4fSmrg $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 72136bea0e4fSmrg fi 72146bea0e4fSmrg ;; 72156bea0e4fSmrg *) 72166bea0e4fSmrg case `$CC -V 2>&1 | $SED 5q` in 72176bea0e4fSmrg *Sun\ C*) 72186bea0e4fSmrg # Sun C++ 5.9 72196bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 72206bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 72216bea0e4fSmrg _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' 72226bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 72236bea0e4fSmrg _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' 72246bea0e4fSmrg _LT_TAGVAR(compiler_needs_object, $1)=yes 72256bea0e4fSmrg 72266bea0e4fSmrg # Not sure whether something based on 72276bea0e4fSmrg # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 72286bea0e4fSmrg # would be better. 72296bea0e4fSmrg output_verbose_link_cmd='func_echo_all' 72306bea0e4fSmrg 72316bea0e4fSmrg # Archives containing C++ object files must be created using 72326bea0e4fSmrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 72336bea0e4fSmrg # necessary to make sure instantiated templates are included 72346bea0e4fSmrg # in the archive. 72356bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 72366bea0e4fSmrg ;; 72376bea0e4fSmrg esac 72386bea0e4fSmrg ;; 72396bea0e4fSmrg esac 72406bea0e4fSmrg ;; 72416bea0e4fSmrg 72426bea0e4fSmrg lynxos*) 72436bea0e4fSmrg # FIXME: insert proper C++ library support 72446bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 72456bea0e4fSmrg ;; 72466bea0e4fSmrg 72476bea0e4fSmrg m88k*) 72486bea0e4fSmrg # FIXME: insert proper C++ library support 72496bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 72506bea0e4fSmrg ;; 72516bea0e4fSmrg 72526bea0e4fSmrg mvs*) 72536bea0e4fSmrg case $cc_basename in 72546bea0e4fSmrg cxx*) 72556bea0e4fSmrg # FIXME: insert proper C++ library support 72566bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 72576bea0e4fSmrg ;; 72586bea0e4fSmrg *) 72596bea0e4fSmrg # FIXME: insert proper C++ library support 72606bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 72616bea0e4fSmrg ;; 72626bea0e4fSmrg esac 72636bea0e4fSmrg ;; 72646bea0e4fSmrg 72656bea0e4fSmrg *-mlibc) 72666bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 72676bea0e4fSmrg ;; 72686bea0e4fSmrg 72696bea0e4fSmrg netbsd*) 72706bea0e4fSmrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 72716bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 72726bea0e4fSmrg wlarc= 72736bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 72746bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 72756bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 72766bea0e4fSmrg fi 72776bea0e4fSmrg # Workaround some broken pre-1.5 toolchains 72786bea0e4fSmrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 72796bea0e4fSmrg ;; 72806bea0e4fSmrg 72816bea0e4fSmrg *nto* | *qnx*) 72826bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=yes 72836bea0e4fSmrg ;; 72846bea0e4fSmrg 72856bea0e4fSmrg openbsd*) 72866bea0e4fSmrg if test -f /usr/libexec/ld.so; then 72876bea0e4fSmrg _LT_TAGVAR(hardcode_direct, $1)=yes 72886bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 72896bea0e4fSmrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 72906bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 72916bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 72926bea0e4fSmrg if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then 72936bea0e4fSmrg _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' 72946bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 72956bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 72966bea0e4fSmrg fi 72976bea0e4fSmrg output_verbose_link_cmd=func_echo_all 72986bea0e4fSmrg else 72996bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 73006bea0e4fSmrg fi 73016bea0e4fSmrg ;; 73026bea0e4fSmrg 73036bea0e4fSmrg osf3* | osf4* | osf5*) 73046bea0e4fSmrg case $cc_basename in 73056bea0e4fSmrg KCC*) 73066bea0e4fSmrg # Kuck and Associates, Inc. (KAI) C++ Compiler 73076bea0e4fSmrg 73086bea0e4fSmrg # KCC will only create a shared library if the output file 73096bea0e4fSmrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 73106bea0e4fSmrg # to its proper name (with version) after linking. 73116bea0e4fSmrg _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' 73126bea0e4fSmrg 73136bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 73146bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 73156bea0e4fSmrg 73166bea0e4fSmrg # Archives containing C++ object files must be created using 73176bea0e4fSmrg # the KAI C++ compiler. 73186bea0e4fSmrg case $host in 73196bea0e4fSmrg osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 73206bea0e4fSmrg *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 73216bea0e4fSmrg esac 73226bea0e4fSmrg ;; 73236bea0e4fSmrg RCC*) 73246bea0e4fSmrg # Rational C++ 2.4.1 73256bea0e4fSmrg # FIXME: insert proper C++ library support 73266bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 73276bea0e4fSmrg ;; 73286bea0e4fSmrg cxx*) 73296bea0e4fSmrg case $host in 73306bea0e4fSmrg osf3*) 73316bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 73326bea0e4fSmrg _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' 73336bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 73346bea0e4fSmrg ;; 73356bea0e4fSmrg *) 73366bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 73376bea0e4fSmrg _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' 73386bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 73396bea0e4fSmrg echo "-hidden">> $lib.exp~ 73406bea0e4fSmrg $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~ 73416bea0e4fSmrg $RM $lib.exp' 73426bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 73436bea0e4fSmrg ;; 73446bea0e4fSmrg esac 73456bea0e4fSmrg 73466bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 73476bea0e4fSmrg 73486bea0e4fSmrg # Commands to make compiler produce verbose output that lists 73496bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 73506bea0e4fSmrg # linking a shared library. 73516bea0e4fSmrg # 73526bea0e4fSmrg # There doesn't appear to be a way to prevent this compiler from 73536bea0e4fSmrg # explicitly linking system object files so we need to strip them 73546bea0e4fSmrg # from the output so that they don't get included in the library 73556bea0e4fSmrg # dependencies. 73566bea0e4fSmrg 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"' 73576bea0e4fSmrg ;; 73586bea0e4fSmrg *) 73596bea0e4fSmrg if test yes,no = "$GXX,$with_gnu_ld"; then 73606bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 73616bea0e4fSmrg case $host in 73626bea0e4fSmrg osf3*) 73636bea0e4fSmrg _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' 73646bea0e4fSmrg ;; 73656bea0e4fSmrg *) 73666bea0e4fSmrg _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' 73676bea0e4fSmrg ;; 73686bea0e4fSmrg esac 73696bea0e4fSmrg 73706bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 73716bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 73726bea0e4fSmrg 73736bea0e4fSmrg # Commands to make compiler produce verbose output that lists 73746bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 73756bea0e4fSmrg # linking a shared library. 73766bea0e4fSmrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 73776bea0e4fSmrg 73786bea0e4fSmrg else 73796bea0e4fSmrg # FIXME: insert proper C++ library support 73806bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 73816bea0e4fSmrg fi 73826bea0e4fSmrg ;; 73836bea0e4fSmrg esac 73846bea0e4fSmrg ;; 73856bea0e4fSmrg 73866bea0e4fSmrg psos*) 73876bea0e4fSmrg # FIXME: insert proper C++ library support 73886bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 73896bea0e4fSmrg ;; 73906bea0e4fSmrg 73916bea0e4fSmrg serenity*) 73926bea0e4fSmrg ;; 73936bea0e4fSmrg 73946bea0e4fSmrg sunos4*) 73956bea0e4fSmrg case $cc_basename in 73966bea0e4fSmrg CC*) 73976bea0e4fSmrg # Sun C++ 4.x 73986bea0e4fSmrg # FIXME: insert proper C++ library support 73996bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 74006bea0e4fSmrg ;; 74016bea0e4fSmrg lcc*) 74026bea0e4fSmrg # Lucid 74036bea0e4fSmrg # FIXME: insert proper C++ library support 74046bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 74056bea0e4fSmrg ;; 74066bea0e4fSmrg *) 74076bea0e4fSmrg # FIXME: insert proper C++ library support 74086bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 74096bea0e4fSmrg ;; 74106bea0e4fSmrg esac 74116bea0e4fSmrg ;; 74126bea0e4fSmrg 74136bea0e4fSmrg solaris*) 74146bea0e4fSmrg case $cc_basename in 74156bea0e4fSmrg CC* | sunCC*) 74166bea0e4fSmrg # Sun C++ 4.2, 5.x and Centerline C++ 74176bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 74186bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 74196bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 74206bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 74216bea0e4fSmrg $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' 74226bea0e4fSmrg 74236bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 74246bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 74256bea0e4fSmrg case $host_os in 74266bea0e4fSmrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 74276bea0e4fSmrg *) 74286bea0e4fSmrg # The compiler driver will combine and reorder linker options, 74296bea0e4fSmrg # but understands '-z linker_flag'. 74306bea0e4fSmrg # Supported since Solaris 2.6 (maybe 2.5.1?) 74316bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 74326bea0e4fSmrg ;; 74336bea0e4fSmrg esac 74346bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 74356bea0e4fSmrg 74366bea0e4fSmrg output_verbose_link_cmd='func_echo_all' 74376bea0e4fSmrg 74386bea0e4fSmrg # Archives containing C++ object files must be created using 74396bea0e4fSmrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 74406bea0e4fSmrg # necessary to make sure instantiated templates are included 74416bea0e4fSmrg # in the archive. 74426bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 74436bea0e4fSmrg ;; 74446bea0e4fSmrg gcx*) 74456bea0e4fSmrg # Green Hills C++ Compiler 74466bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 74476bea0e4fSmrg 74486bea0e4fSmrg # The C++ compiler must be used to create the archive. 74496bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 74506bea0e4fSmrg ;; 74516bea0e4fSmrg *) 74526bea0e4fSmrg # GNU C++ compiler with Solaris linker 74536bea0e4fSmrg if test yes,no = "$GXX,$with_gnu_ld"; then 74546bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' 74556bea0e4fSmrg if $CC --version | $GREP -v '^2\.7' > /dev/null; then 74566bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 74576bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 74586bea0e4fSmrg $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' 74596bea0e4fSmrg 74606bea0e4fSmrg # Commands to make compiler produce verbose output that lists 74616bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 74626bea0e4fSmrg # linking a shared library. 74636bea0e4fSmrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 74646bea0e4fSmrg else 74656bea0e4fSmrg # g++ 2.7 appears to require '-G' NOT '-shared' on this 74666bea0e4fSmrg # platform. 74676bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 74686bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 74696bea0e4fSmrg $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' 74706bea0e4fSmrg 74716bea0e4fSmrg # Commands to make compiler produce verbose output that lists 74726bea0e4fSmrg # what "hidden" libraries, object files and flags are used when 74736bea0e4fSmrg # linking a shared library. 74746bea0e4fSmrg output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 74756bea0e4fSmrg fi 74766bea0e4fSmrg 74776bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' 74786bea0e4fSmrg case $host_os in 74796bea0e4fSmrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 74806bea0e4fSmrg *) 74816bea0e4fSmrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 74826bea0e4fSmrg ;; 74836bea0e4fSmrg esac 74846bea0e4fSmrg fi 74856bea0e4fSmrg ;; 74866bea0e4fSmrg esac 74876bea0e4fSmrg ;; 74886bea0e4fSmrg 74896bea0e4fSmrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 74906bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 74916bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 74926bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 74936bea0e4fSmrg runpath_var='LD_RUN_PATH' 74946bea0e4fSmrg 74956bea0e4fSmrg case $cc_basename in 74966bea0e4fSmrg CC*) 74976bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 74986bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 74996bea0e4fSmrg ;; 75006bea0e4fSmrg *) 75016bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75026bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75036bea0e4fSmrg ;; 75046bea0e4fSmrg esac 75056bea0e4fSmrg ;; 75066bea0e4fSmrg 75076bea0e4fSmrg sysv5* | sco3.2v5* | sco5v6*) 75086bea0e4fSmrg # Note: We CANNOT use -z defs as we might desire, because we do not 75096bea0e4fSmrg # link with -lc, and that would cause any symbols used from libc to 75106bea0e4fSmrg # always be unresolved, which means just about no library would 75116bea0e4fSmrg # ever link correctly. If we're not using GNU ld we use -z text 75126bea0e4fSmrg # though, which does catch some bad symbols but isn't as heavy-handed 75136bea0e4fSmrg # as -z defs. 75146bea0e4fSmrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 75156bea0e4fSmrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 75166bea0e4fSmrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 75176bea0e4fSmrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 75186bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 75196bea0e4fSmrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 75206bea0e4fSmrg _LT_TAGVAR(link_all_deplibs, $1)=yes 75216bea0e4fSmrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 75226bea0e4fSmrg runpath_var='LD_RUN_PATH' 75236bea0e4fSmrg 75246bea0e4fSmrg case $cc_basename in 75256bea0e4fSmrg CC*) 75266bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75276bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75286bea0e4fSmrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 75296bea0e4fSmrg '"$_LT_TAGVAR(old_archive_cmds, $1)" 75306bea0e4fSmrg _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 75316bea0e4fSmrg '"$_LT_TAGVAR(reload_cmds, $1)" 75326bea0e4fSmrg ;; 75336bea0e4fSmrg *) 75346bea0e4fSmrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75356bea0e4fSmrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 75366bea0e4fSmrg ;; 75376bea0e4fSmrg esac 75386bea0e4fSmrg ;; 75396bea0e4fSmrg 75406bea0e4fSmrg tandem*) 75416bea0e4fSmrg case $cc_basename in 75426bea0e4fSmrg NCC*) 75436bea0e4fSmrg # NonStop-UX NCC 3.20 75446bea0e4fSmrg # FIXME: insert proper C++ library support 75456bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 75466bea0e4fSmrg ;; 75476bea0e4fSmrg *) 75486bea0e4fSmrg # FIXME: insert proper C++ library support 75496bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 75506bea0e4fSmrg ;; 75516bea0e4fSmrg esac 75526bea0e4fSmrg ;; 75536bea0e4fSmrg 75546bea0e4fSmrg vxworks*) 75556bea0e4fSmrg # FIXME: insert proper C++ library support 75566bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 75576bea0e4fSmrg ;; 75586bea0e4fSmrg 75596bea0e4fSmrg *) 75606bea0e4fSmrg # FIXME: insert proper C++ library support 75616bea0e4fSmrg _LT_TAGVAR(ld_shlibs, $1)=no 75626bea0e4fSmrg ;; 75636bea0e4fSmrg esac 75646bea0e4fSmrg 75656bea0e4fSmrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 75666bea0e4fSmrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 75676bea0e4fSmrg 75686bea0e4fSmrg _LT_TAGVAR(GCC, $1)=$GXX 75696bea0e4fSmrg _LT_TAGVAR(LD, $1)=$LD 75706bea0e4fSmrg 75716bea0e4fSmrg ## CAVEAT EMPTOR: 75726bea0e4fSmrg ## There is no encapsulation within the following macros, do not change 75736bea0e4fSmrg ## the running order or otherwise move them around unless you know exactly 75746bea0e4fSmrg ## what you are doing... 75756bea0e4fSmrg _LT_SYS_HIDDEN_LIBDEPS($1) 75766bea0e4fSmrg _LT_COMPILER_PIC($1) 75776bea0e4fSmrg _LT_COMPILER_C_O($1) 75786bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 75796bea0e4fSmrg _LT_LINKER_SHLIBS($1) 75806bea0e4fSmrg _LT_SYS_DYNAMIC_LINKER($1) 75816bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 75826bea0e4fSmrg 75836bea0e4fSmrg _LT_CONFIG($1) 75846bea0e4fSmrg fi # test -n "$compiler" 75856bea0e4fSmrg 75866bea0e4fSmrg CC=$lt_save_CC 75876bea0e4fSmrg CFLAGS=$lt_save_CFLAGS 75886bea0e4fSmrg LDCXX=$LD 75896bea0e4fSmrg LD=$lt_save_LD 75906bea0e4fSmrg GCC=$lt_save_GCC 75916bea0e4fSmrg with_gnu_ld=$lt_save_with_gnu_ld 75926bea0e4fSmrg lt_cv_path_LDCXX=$lt_cv_path_LD 75936bea0e4fSmrg lt_cv_path_LD=$lt_save_path_LD 75946bea0e4fSmrg lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 75956bea0e4fSmrg lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 75966bea0e4fSmrgfi # test yes != "$_lt_caught_CXX_error" 75976bea0e4fSmrg 75986bea0e4fSmrgAC_LANG_POP 75996bea0e4fSmrg])# _LT_LANG_CXX_CONFIG 76006bea0e4fSmrg 76016bea0e4fSmrg 76026bea0e4fSmrg# _LT_FUNC_STRIPNAME_CNF 76036bea0e4fSmrg# ---------------------- 76046bea0e4fSmrg# func_stripname_cnf prefix suffix name 76056bea0e4fSmrg# strip PREFIX and SUFFIX off of NAME. 76066bea0e4fSmrg# PREFIX and SUFFIX must not contain globbing or regex special 76076bea0e4fSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading 76086bea0e4fSmrg# dot (in which case that matches only a dot). 76096bea0e4fSmrg# 76106bea0e4fSmrg# This function is identical to the (non-XSI) version of func_stripname, 76116bea0e4fSmrg# except this one can be used by m4 code that may be executed by configure, 76126bea0e4fSmrg# rather than the libtool script. 76136bea0e4fSmrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 76146bea0e4fSmrgAC_REQUIRE([_LT_DECL_SED]) 76156bea0e4fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 76166bea0e4fSmrgfunc_stripname_cnf () 76176bea0e4fSmrg{ 76186bea0e4fSmrg case @S|@2 in 76196bea0e4fSmrg .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; 76206bea0e4fSmrg *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; 76216bea0e4fSmrg esac 76226bea0e4fSmrg} # func_stripname_cnf 76236bea0e4fSmrg])# _LT_FUNC_STRIPNAME_CNF 76246bea0e4fSmrg 76256bea0e4fSmrg 76266bea0e4fSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 76276bea0e4fSmrg# --------------------------------- 76286bea0e4fSmrg# Figure out "hidden" library dependencies from verbose 76296bea0e4fSmrg# compiler output when linking a shared library. 76306bea0e4fSmrg# Parse the compiler output and extract the necessary 76316bea0e4fSmrg# objects, libraries and library flags. 76326bea0e4fSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 76336bea0e4fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 76346bea0e4fSmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 76356bea0e4fSmrg# Dependencies to place before and after the object being linked: 76366bea0e4fSmrg_LT_TAGVAR(predep_objects, $1)= 76376bea0e4fSmrg_LT_TAGVAR(postdep_objects, $1)= 76386bea0e4fSmrg_LT_TAGVAR(predeps, $1)= 76396bea0e4fSmrg_LT_TAGVAR(postdeps, $1)= 76406bea0e4fSmrg_LT_TAGVAR(compiler_lib_search_path, $1)= 76416bea0e4fSmrg 76426bea0e4fSmrgdnl we can't use the lt_simple_compile_test_code here, 76436bea0e4fSmrgdnl because it contains code intended for an executable, 76446bea0e4fSmrgdnl not a library. It's possible we should let each 76456bea0e4fSmrgdnl tag define a new lt_????_link_test_code variable, 76466bea0e4fSmrgdnl but it's only used here... 76476bea0e4fSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 76486bea0e4fSmrgint a; 76496bea0e4fSmrgvoid foo (void) { a = 0; } 76506bea0e4fSmrg_LT_EOF 76516bea0e4fSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 76526bea0e4fSmrgclass Foo 76536bea0e4fSmrg{ 76546bea0e4fSmrgpublic: 76556bea0e4fSmrg Foo (void) { a = 0; } 76566bea0e4fSmrgprivate: 76576bea0e4fSmrg int a; 76586bea0e4fSmrg}; 76596bea0e4fSmrg_LT_EOF 76606bea0e4fSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 76616bea0e4fSmrg subroutine foo 76626bea0e4fSmrg implicit none 76636bea0e4fSmrg integer*4 a 76646bea0e4fSmrg a=0 76656bea0e4fSmrg return 76666bea0e4fSmrg end 76676bea0e4fSmrg_LT_EOF 76686bea0e4fSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 76696bea0e4fSmrg subroutine foo 76706bea0e4fSmrg implicit none 76716bea0e4fSmrg integer a 76726bea0e4fSmrg a=0 76736bea0e4fSmrg return 76746bea0e4fSmrg end 76756bea0e4fSmrg_LT_EOF 76766bea0e4fSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 76776bea0e4fSmrgpublic class foo { 76786bea0e4fSmrg private int a; 76796bea0e4fSmrg public void bar (void) { 76806bea0e4fSmrg a = 0; 76816bea0e4fSmrg } 76826bea0e4fSmrg}; 76836bea0e4fSmrg_LT_EOF 76846bea0e4fSmrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 76856bea0e4fSmrgpackage foo 76866bea0e4fSmrgfunc foo() { 76876bea0e4fSmrg} 76886bea0e4fSmrg_LT_EOF 76896bea0e4fSmrg]) 76906bea0e4fSmrg 76916bea0e4fSmrg_lt_libdeps_save_CFLAGS=$CFLAGS 76926bea0e4fSmrgcase "$CC $CFLAGS " in #( 76936bea0e4fSmrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 76946bea0e4fSmrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 76956bea0e4fSmrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 76966bea0e4fSmrgesac 76976bea0e4fSmrg 76986bea0e4fSmrgdnl Parse the compiler output and extract the necessary 76996bea0e4fSmrgdnl objects, libraries and library flags. 77006bea0e4fSmrgif AC_TRY_EVAL(ac_compile); then 77016bea0e4fSmrg # Parse the compiler output and extract the necessary 77026bea0e4fSmrg # objects, libraries and library flags. 77036bea0e4fSmrg 77046bea0e4fSmrg # Sentinel used to keep track of whether or not we are before 77056bea0e4fSmrg # the conftest object file. 77066bea0e4fSmrg pre_test_object_deps_done=no 77076bea0e4fSmrg 77086bea0e4fSmrg for p in `eval "$output_verbose_link_cmd"`; do 77096bea0e4fSmrg case $prev$p in 77106bea0e4fSmrg 77116bea0e4fSmrg -L* | -R* | -l*) 77126bea0e4fSmrg # Some compilers place space between "-{L,R,l}" and the path. 77136bea0e4fSmrg # Remove the space. 77146bea0e4fSmrg if test x-L = x"$p" || 77156bea0e4fSmrg test x-R = x"$p" || 77166bea0e4fSmrg test x-l = x"$p"; then 77176bea0e4fSmrg prev=$p 77186bea0e4fSmrg continue 77196bea0e4fSmrg fi 77206bea0e4fSmrg 77216bea0e4fSmrg # Expand the sysroot to ease extracting the directories later. 77226bea0e4fSmrg if test -z "$prev"; then 77236bea0e4fSmrg case $p in 77246bea0e4fSmrg -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 77256bea0e4fSmrg -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 77266bea0e4fSmrg -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 77276bea0e4fSmrg esac 77286bea0e4fSmrg fi 77296bea0e4fSmrg case $p in 77306bea0e4fSmrg =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 77316bea0e4fSmrg esac 77326bea0e4fSmrg if test no = "$pre_test_object_deps_done"; then 77336bea0e4fSmrg case $prev in 77346bea0e4fSmrg -L | -R) 77356bea0e4fSmrg # Internal compiler library paths should come after those 77366bea0e4fSmrg # provided the user. The postdeps already come after the 77376bea0e4fSmrg # user supplied libs so there is no need to process them. 77386bea0e4fSmrg if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 77396bea0e4fSmrg _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p 77406bea0e4fSmrg else 77416bea0e4fSmrg _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" 77426bea0e4fSmrg fi 77436bea0e4fSmrg ;; 77446bea0e4fSmrg # The "-l" case would never come before the object being 77456bea0e4fSmrg # linked, so don't bother handling this case. 77466bea0e4fSmrg esac 77476bea0e4fSmrg else 77486bea0e4fSmrg if test -z "$_LT_TAGVAR(postdeps, $1)"; then 77496bea0e4fSmrg _LT_TAGVAR(postdeps, $1)=$prev$p 77506bea0e4fSmrg else 77516bea0e4fSmrg _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" 77526bea0e4fSmrg fi 77536bea0e4fSmrg fi 77546bea0e4fSmrg prev= 77556bea0e4fSmrg ;; 77566bea0e4fSmrg 77576bea0e4fSmrg *.lto.$objext) ;; # Ignore GCC LTO objects 77586bea0e4fSmrg *.$objext) 77596bea0e4fSmrg # This assumes that the test object file only shows up 77606bea0e4fSmrg # once in the compiler output. 77616bea0e4fSmrg if test "$p" = "conftest.$objext"; then 77626bea0e4fSmrg pre_test_object_deps_done=yes 77636bea0e4fSmrg continue 77646bea0e4fSmrg fi 77656bea0e4fSmrg 77666bea0e4fSmrg if test no = "$pre_test_object_deps_done"; then 77676bea0e4fSmrg if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 77686bea0e4fSmrg _LT_TAGVAR(predep_objects, $1)=$p 77696bea0e4fSmrg else 77706bea0e4fSmrg _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 77716bea0e4fSmrg fi 77726bea0e4fSmrg else 77736bea0e4fSmrg if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 77746bea0e4fSmrg _LT_TAGVAR(postdep_objects, $1)=$p 77756bea0e4fSmrg else 77766bea0e4fSmrg _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 77776bea0e4fSmrg fi 77786bea0e4fSmrg fi 77796bea0e4fSmrg ;; 77806bea0e4fSmrg 77816bea0e4fSmrg *) ;; # Ignore the rest. 77826bea0e4fSmrg 77836bea0e4fSmrg esac 77846bea0e4fSmrg done 77856bea0e4fSmrg 77866bea0e4fSmrg # Clean up. 77876bea0e4fSmrg rm -f a.out a.exe 77886bea0e4fSmrgelse 77896bea0e4fSmrg echo "libtool.m4: error: problem compiling $1 test program" 77906bea0e4fSmrgfi 77916bea0e4fSmrg 77926bea0e4fSmrg$RM -f confest.$objext 77936bea0e4fSmrgCFLAGS=$_lt_libdeps_save_CFLAGS 77946bea0e4fSmrg 77956bea0e4fSmrg# PORTME: override above test on systems where it is broken 77966bea0e4fSmrgm4_if([$1], [CXX], 77976bea0e4fSmrg[case $host_os in 77986bea0e4fSmrginterix[[3-9]]*) 77996bea0e4fSmrg # Interix 3.5 installs completely hosed .la files for C++, so rather than 78006bea0e4fSmrg # hack all around it, let's just trust "g++" to DTRT. 78016bea0e4fSmrg _LT_TAGVAR(predep_objects,$1)= 78026bea0e4fSmrg _LT_TAGVAR(postdep_objects,$1)= 78036bea0e4fSmrg _LT_TAGVAR(postdeps,$1)= 78046bea0e4fSmrg ;; 78056bea0e4fSmrgesac 78066bea0e4fSmrg]) 78076bea0e4fSmrg 78086bea0e4fSmrgcase " $_LT_TAGVAR(postdeps, $1) " in 78096bea0e4fSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 78106bea0e4fSmrgesac 78116bea0e4fSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)= 78126bea0e4fSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 78136bea0e4fSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` 78146bea0e4fSmrgfi 78156bea0e4fSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 78166bea0e4fSmrg [The directories searched by this compiler when creating a shared library]) 78176bea0e4fSmrg_LT_TAGDECL([], [predep_objects], [1], 78186bea0e4fSmrg [Dependencies to place before and after the objects being linked to 78196bea0e4fSmrg create a shared library]) 78206bea0e4fSmrg_LT_TAGDECL([], [postdep_objects], [1]) 78216bea0e4fSmrg_LT_TAGDECL([], [predeps], [1]) 78226bea0e4fSmrg_LT_TAGDECL([], [postdeps], [1]) 78236bea0e4fSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1], 78246bea0e4fSmrg [The library search path used internally by the compiler when linking 78256bea0e4fSmrg a shared library]) 78266bea0e4fSmrg])# _LT_SYS_HIDDEN_LIBDEPS 78276bea0e4fSmrg 78286bea0e4fSmrg 78296bea0e4fSmrg# _LT_LANG_F77_CONFIG([TAG]) 78306bea0e4fSmrg# -------------------------- 78316bea0e4fSmrg# Ensure that the configuration variables for a Fortran 77 compiler are 78326bea0e4fSmrg# suitably defined. These variables are subsequently used by _LT_CONFIG 78336bea0e4fSmrg# to write the compiler configuration to 'libtool'. 78346bea0e4fSmrgm4_defun([_LT_LANG_F77_CONFIG], 78356bea0e4fSmrg[AC_LANG_PUSH(Fortran 77) 78366bea0e4fSmrgif test -z "$F77" || test no = "$F77"; then 78376bea0e4fSmrg _lt_disable_F77=yes 78386bea0e4fSmrgfi 78396bea0e4fSmrg 78406bea0e4fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 78416bea0e4fSmrg_LT_TAGVAR(allow_undefined_flag, $1)= 78426bea0e4fSmrg_LT_TAGVAR(always_export_symbols, $1)=no 78436bea0e4fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)= 78446bea0e4fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 78456bea0e4fSmrg_LT_TAGVAR(hardcode_direct, $1)=no 78466bea0e4fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 78476bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 78486bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 78496bea0e4fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no 78506bea0e4fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no 78516bea0e4fSmrg_LT_TAGVAR(inherit_rpath, $1)=no 78526bea0e4fSmrg_LT_TAGVAR(module_cmds, $1)= 78536bea0e4fSmrg_LT_TAGVAR(module_expsym_cmds, $1)= 78546bea0e4fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 78556bea0e4fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 78566bea0e4fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 78576bea0e4fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 78586bea0e4fSmrg_LT_TAGVAR(no_undefined_flag, $1)= 78596bea0e4fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 78606bea0e4fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 78616bea0e4fSmrg 78626bea0e4fSmrg# Source file extension for f77 test sources. 78636bea0e4fSmrgac_ext=f 78646bea0e4fSmrg 78656bea0e4fSmrg# Object file extension for compiled f77 test sources. 78666bea0e4fSmrgobjext=o 78676bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 78686bea0e4fSmrg 78696bea0e4fSmrg# No sense in running all these tests if we already determined that 78706bea0e4fSmrg# the F77 compiler isn't working. Some variables (like enable_shared) 78716bea0e4fSmrg# are currently assumed to apply to all compilers on this platform, 78726bea0e4fSmrg# and will be corrupted by setting them based on a non-working compiler. 78736bea0e4fSmrgif test yes != "$_lt_disable_F77"; then 78746bea0e4fSmrg # Code to be used in simple compile tests 78756bea0e4fSmrg lt_simple_compile_test_code="\ 78766bea0e4fSmrg subroutine t 78776bea0e4fSmrg return 78786bea0e4fSmrg end 78796bea0e4fSmrg" 78806bea0e4fSmrg 78816bea0e4fSmrg # Code to be used in simple link tests 78826bea0e4fSmrg lt_simple_link_test_code="\ 78836bea0e4fSmrg program t 78846bea0e4fSmrg end 78856bea0e4fSmrg" 78866bea0e4fSmrg 78876bea0e4fSmrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 78886bea0e4fSmrg _LT_TAG_COMPILER 78896bea0e4fSmrg 78906bea0e4fSmrg # save warnings/boilerplate of simple test code 78916bea0e4fSmrg _LT_COMPILER_BOILERPLATE 78926bea0e4fSmrg _LT_LINKER_BOILERPLATE 78936bea0e4fSmrg 78946bea0e4fSmrg # Allow CC to be a program name with arguments. 78956bea0e4fSmrg lt_save_CC=$CC 78966bea0e4fSmrg lt_save_GCC=$GCC 78976bea0e4fSmrg lt_save_CFLAGS=$CFLAGS 78986bea0e4fSmrg CC=${F77-"f77"} 78996bea0e4fSmrg CFLAGS=$FFLAGS 79006bea0e4fSmrg compiler=$CC 79016bea0e4fSmrg _LT_TAGVAR(compiler, $1)=$CC 79026bea0e4fSmrg _LT_CC_BASENAME([$compiler]) 79036bea0e4fSmrg GCC=$G77 79046bea0e4fSmrg if test -n "$compiler"; then 79056bea0e4fSmrg AC_MSG_CHECKING([if libtool supports shared libraries]) 79066bea0e4fSmrg AC_MSG_RESULT([$can_build_shared]) 79076bea0e4fSmrg 79086bea0e4fSmrg AC_MSG_CHECKING([whether to build shared libraries]) 79096bea0e4fSmrg test no = "$can_build_shared" && enable_shared=no 79106bea0e4fSmrg 79116bea0e4fSmrg # On AIX, shared libraries and static libraries use the same namespace, and 79126bea0e4fSmrg # are all built from PIC. 79136bea0e4fSmrg case $host_os in 79146bea0e4fSmrg aix3*) 79156bea0e4fSmrg test yes = "$enable_shared" && enable_static=no 79166bea0e4fSmrg if test -n "$RANLIB"; then 79176bea0e4fSmrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 79186bea0e4fSmrg postinstall_cmds='$RANLIB $lib' 79196bea0e4fSmrg fi 79206bea0e4fSmrg ;; 79216bea0e4fSmrg aix[[4-9]]*) 79226bea0e4fSmrg if test ia64 != "$host_cpu"; then 79236bea0e4fSmrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 79246bea0e4fSmrg yes,aix,yes) ;; # shared object as lib.so file only 79256bea0e4fSmrg yes,svr4,*) ;; # shared object as lib.so archive member only 79266bea0e4fSmrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 79276bea0e4fSmrg esac 79286bea0e4fSmrg fi 79296bea0e4fSmrg ;; 79306bea0e4fSmrg esac 79316bea0e4fSmrg AC_MSG_RESULT([$enable_shared]) 79326bea0e4fSmrg 79336bea0e4fSmrg AC_MSG_CHECKING([whether to build static libraries]) 79346bea0e4fSmrg # Make sure either enable_shared or enable_static is yes. 79356bea0e4fSmrg test yes = "$enable_shared" || enable_static=yes 79366bea0e4fSmrg AC_MSG_RESULT([$enable_static]) 79376bea0e4fSmrg 79386bea0e4fSmrg _LT_TAGVAR(GCC, $1)=$G77 79396bea0e4fSmrg _LT_TAGVAR(LD, $1)=$LD 79406bea0e4fSmrg 79416bea0e4fSmrg ## CAVEAT EMPTOR: 79426bea0e4fSmrg ## There is no encapsulation within the following macros, do not change 79436bea0e4fSmrg ## the running order or otherwise move them around unless you know exactly 79446bea0e4fSmrg ## what you are doing... 79456bea0e4fSmrg _LT_COMPILER_PIC($1) 79466bea0e4fSmrg _LT_COMPILER_C_O($1) 79476bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 79486bea0e4fSmrg _LT_LINKER_SHLIBS($1) 79496bea0e4fSmrg _LT_SYS_DYNAMIC_LINKER($1) 79506bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 79516bea0e4fSmrg 79526bea0e4fSmrg _LT_CONFIG($1) 79536bea0e4fSmrg fi # test -n "$compiler" 79546bea0e4fSmrg 79556bea0e4fSmrg GCC=$lt_save_GCC 79566bea0e4fSmrg CC=$lt_save_CC 79576bea0e4fSmrg CFLAGS=$lt_save_CFLAGS 79586bea0e4fSmrgfi # test yes != "$_lt_disable_F77" 79596bea0e4fSmrg 79606bea0e4fSmrgAC_LANG_POP 79616bea0e4fSmrg])# _LT_LANG_F77_CONFIG 79626bea0e4fSmrg 79636bea0e4fSmrg 79646bea0e4fSmrg# _LT_LANG_FC_CONFIG([TAG]) 79656bea0e4fSmrg# ------------------------- 79666bea0e4fSmrg# Ensure that the configuration variables for a Fortran compiler are 79676bea0e4fSmrg# suitably defined. These variables are subsequently used by _LT_CONFIG 79686bea0e4fSmrg# to write the compiler configuration to 'libtool'. 79696bea0e4fSmrgm4_defun([_LT_LANG_FC_CONFIG], 79706bea0e4fSmrg[AC_LANG_PUSH(Fortran) 79716bea0e4fSmrg 79726bea0e4fSmrgif test -z "$FC" || test no = "$FC"; then 79736bea0e4fSmrg _lt_disable_FC=yes 79746bea0e4fSmrgfi 79756bea0e4fSmrg 79766bea0e4fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 79776bea0e4fSmrg_LT_TAGVAR(allow_undefined_flag, $1)= 79786bea0e4fSmrg_LT_TAGVAR(always_export_symbols, $1)=no 79796bea0e4fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)= 79806bea0e4fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 79816bea0e4fSmrg_LT_TAGVAR(hardcode_direct, $1)=no 79826bea0e4fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 79836bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 79846bea0e4fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 79856bea0e4fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no 79866bea0e4fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no 79876bea0e4fSmrg_LT_TAGVAR(inherit_rpath, $1)=no 79886bea0e4fSmrg_LT_TAGVAR(module_cmds, $1)= 79896bea0e4fSmrg_LT_TAGVAR(module_expsym_cmds, $1)= 79906bea0e4fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 79916bea0e4fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 79926bea0e4fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 79936bea0e4fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 79946bea0e4fSmrg_LT_TAGVAR(no_undefined_flag, $1)= 79956bea0e4fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 79966bea0e4fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 79976bea0e4fSmrg 79986bea0e4fSmrg# Source file extension for fc test sources. 79996bea0e4fSmrgac_ext=${ac_fc_srcext-f} 80006bea0e4fSmrg 80016bea0e4fSmrg# Object file extension for compiled fc test sources. 80026bea0e4fSmrgobjext=o 80036bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 80046bea0e4fSmrg 80056bea0e4fSmrg# No sense in running all these tests if we already determined that 80066bea0e4fSmrg# the FC compiler isn't working. Some variables (like enable_shared) 80076bea0e4fSmrg# are currently assumed to apply to all compilers on this platform, 80086bea0e4fSmrg# and will be corrupted by setting them based on a non-working compiler. 80096bea0e4fSmrgif test yes != "$_lt_disable_FC"; then 80106bea0e4fSmrg # Code to be used in simple compile tests 80116bea0e4fSmrg lt_simple_compile_test_code="\ 80126bea0e4fSmrg subroutine t 80136bea0e4fSmrg return 80146bea0e4fSmrg end 80156bea0e4fSmrg" 80166bea0e4fSmrg 80176bea0e4fSmrg # Code to be used in simple link tests 80186bea0e4fSmrg lt_simple_link_test_code="\ 80196bea0e4fSmrg program t 80206bea0e4fSmrg end 80216bea0e4fSmrg" 80226bea0e4fSmrg 80236bea0e4fSmrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 80246bea0e4fSmrg _LT_TAG_COMPILER 80256bea0e4fSmrg 80266bea0e4fSmrg # save warnings/boilerplate of simple test code 80276bea0e4fSmrg _LT_COMPILER_BOILERPLATE 80286bea0e4fSmrg _LT_LINKER_BOILERPLATE 80296bea0e4fSmrg 80306bea0e4fSmrg # Allow CC to be a program name with arguments. 80316bea0e4fSmrg lt_save_CC=$CC 80326bea0e4fSmrg lt_save_GCC=$GCC 80336bea0e4fSmrg lt_save_CFLAGS=$CFLAGS 80346bea0e4fSmrg CC=${FC-"f95"} 80356bea0e4fSmrg CFLAGS=$FCFLAGS 80366bea0e4fSmrg compiler=$CC 80376bea0e4fSmrg GCC=$ac_cv_fc_compiler_gnu 80386bea0e4fSmrg 80396bea0e4fSmrg _LT_TAGVAR(compiler, $1)=$CC 80406bea0e4fSmrg _LT_CC_BASENAME([$compiler]) 80416bea0e4fSmrg 80426bea0e4fSmrg if test -n "$compiler"; then 80436bea0e4fSmrg AC_MSG_CHECKING([if libtool supports shared libraries]) 80446bea0e4fSmrg AC_MSG_RESULT([$can_build_shared]) 80456bea0e4fSmrg 80466bea0e4fSmrg AC_MSG_CHECKING([whether to build shared libraries]) 80476bea0e4fSmrg test no = "$can_build_shared" && enable_shared=no 80486bea0e4fSmrg 80496bea0e4fSmrg # On AIX, shared libraries and static libraries use the same namespace, and 80506bea0e4fSmrg # are all built from PIC. 80516bea0e4fSmrg case $host_os in 80526bea0e4fSmrg aix3*) 80536bea0e4fSmrg test yes = "$enable_shared" && enable_static=no 80546bea0e4fSmrg if test -n "$RANLIB"; then 80556bea0e4fSmrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 80566bea0e4fSmrg postinstall_cmds='$RANLIB $lib' 80576bea0e4fSmrg fi 80586bea0e4fSmrg ;; 80596bea0e4fSmrg aix[[4-9]]*) 80606bea0e4fSmrg if test ia64 != "$host_cpu"; then 80616bea0e4fSmrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 80626bea0e4fSmrg yes,aix,yes) ;; # shared object as lib.so file only 80636bea0e4fSmrg yes,svr4,*) ;; # shared object as lib.so archive member only 80646bea0e4fSmrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 80656bea0e4fSmrg esac 80666bea0e4fSmrg fi 80676bea0e4fSmrg ;; 80686bea0e4fSmrg esac 80696bea0e4fSmrg AC_MSG_RESULT([$enable_shared]) 80706bea0e4fSmrg 80716bea0e4fSmrg AC_MSG_CHECKING([whether to build static libraries]) 80726bea0e4fSmrg # Make sure either enable_shared or enable_static is yes. 80736bea0e4fSmrg test yes = "$enable_shared" || enable_static=yes 80746bea0e4fSmrg AC_MSG_RESULT([$enable_static]) 80756bea0e4fSmrg 80766bea0e4fSmrg _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu 80776bea0e4fSmrg _LT_TAGVAR(LD, $1)=$LD 80786bea0e4fSmrg 80796bea0e4fSmrg ## CAVEAT EMPTOR: 80806bea0e4fSmrg ## There is no encapsulation within the following macros, do not change 80816bea0e4fSmrg ## the running order or otherwise move them around unless you know exactly 80826bea0e4fSmrg ## what you are doing... 80836bea0e4fSmrg _LT_SYS_HIDDEN_LIBDEPS($1) 80846bea0e4fSmrg _LT_COMPILER_PIC($1) 80856bea0e4fSmrg _LT_COMPILER_C_O($1) 80866bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 80876bea0e4fSmrg _LT_LINKER_SHLIBS($1) 80886bea0e4fSmrg _LT_SYS_DYNAMIC_LINKER($1) 80896bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 80906bea0e4fSmrg 80916bea0e4fSmrg _LT_CONFIG($1) 80926bea0e4fSmrg fi # test -n "$compiler" 80936bea0e4fSmrg 80946bea0e4fSmrg GCC=$lt_save_GCC 80956bea0e4fSmrg CC=$lt_save_CC 80966bea0e4fSmrg CFLAGS=$lt_save_CFLAGS 80976bea0e4fSmrgfi # test yes != "$_lt_disable_FC" 80986bea0e4fSmrg 80996bea0e4fSmrgAC_LANG_POP 81006bea0e4fSmrg])# _LT_LANG_FC_CONFIG 81016bea0e4fSmrg 81026bea0e4fSmrg 81036bea0e4fSmrg# _LT_LANG_GCJ_CONFIG([TAG]) 81046bea0e4fSmrg# -------------------------- 81056bea0e4fSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler 81066bea0e4fSmrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 81076bea0e4fSmrg# to write the compiler configuration to 'libtool'. 81086bea0e4fSmrgm4_defun([_LT_LANG_GCJ_CONFIG], 81096bea0e4fSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl 81106bea0e4fSmrgAC_LANG_SAVE 81116bea0e4fSmrg 81126bea0e4fSmrg# Source file extension for Java test sources. 81136bea0e4fSmrgac_ext=java 81146bea0e4fSmrg 81156bea0e4fSmrg# Object file extension for compiled Java test sources. 81166bea0e4fSmrgobjext=o 81176bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 81186bea0e4fSmrg 81196bea0e4fSmrg# Code to be used in simple compile tests 81206bea0e4fSmrglt_simple_compile_test_code="class foo {}" 81216bea0e4fSmrg 81226bea0e4fSmrg# Code to be used in simple link tests 81236bea0e4fSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 81246bea0e4fSmrg 81256bea0e4fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 81266bea0e4fSmrg_LT_TAG_COMPILER 81276bea0e4fSmrg 81286bea0e4fSmrg# save warnings/boilerplate of simple test code 81296bea0e4fSmrg_LT_COMPILER_BOILERPLATE 81306bea0e4fSmrg_LT_LINKER_BOILERPLATE 81316bea0e4fSmrg 81326bea0e4fSmrg# Allow CC to be a program name with arguments. 81336bea0e4fSmrglt_save_CC=$CC 81346bea0e4fSmrglt_save_CFLAGS=$CFLAGS 81356bea0e4fSmrglt_save_GCC=$GCC 81366bea0e4fSmrgGCC=yes 81376bea0e4fSmrgCC=${GCJ-"gcj"} 81386bea0e4fSmrgCFLAGS=$GCJFLAGS 81396bea0e4fSmrgcompiler=$CC 81406bea0e4fSmrg_LT_TAGVAR(compiler, $1)=$CC 81416bea0e4fSmrg_LT_TAGVAR(LD, $1)=$LD 81426bea0e4fSmrg_LT_CC_BASENAME([$compiler]) 81436bea0e4fSmrg 81446bea0e4fSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in. 81456bea0e4fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 81466bea0e4fSmrg 81476bea0e4fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 81486bea0e4fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 81496bea0e4fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 81506bea0e4fSmrg 81516bea0e4fSmrg## CAVEAT EMPTOR: 81526bea0e4fSmrg## There is no encapsulation within the following macros, do not change 81536bea0e4fSmrg## the running order or otherwise move them around unless you know exactly 81546bea0e4fSmrg## what you are doing... 81556bea0e4fSmrgif test -n "$compiler"; then 81566bea0e4fSmrg _LT_COMPILER_NO_RTTI($1) 81576bea0e4fSmrg _LT_COMPILER_PIC($1) 81586bea0e4fSmrg _LT_COMPILER_C_O($1) 81596bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 81606bea0e4fSmrg _LT_LINKER_SHLIBS($1) 81616bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 81626bea0e4fSmrg 81636bea0e4fSmrg _LT_CONFIG($1) 81646bea0e4fSmrgfi 81656bea0e4fSmrg 81666bea0e4fSmrgAC_LANG_RESTORE 81676bea0e4fSmrg 81686bea0e4fSmrgGCC=$lt_save_GCC 81696bea0e4fSmrgCC=$lt_save_CC 81706bea0e4fSmrgCFLAGS=$lt_save_CFLAGS 81716bea0e4fSmrg])# _LT_LANG_GCJ_CONFIG 81726bea0e4fSmrg 81736bea0e4fSmrg 81746bea0e4fSmrg# _LT_LANG_GO_CONFIG([TAG]) 81756bea0e4fSmrg# -------------------------- 81766bea0e4fSmrg# Ensure that the configuration variables for the GNU Go compiler 81776bea0e4fSmrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 81786bea0e4fSmrg# to write the compiler configuration to 'libtool'. 81796bea0e4fSmrgm4_defun([_LT_LANG_GO_CONFIG], 81806bea0e4fSmrg[AC_REQUIRE([LT_PROG_GO])dnl 81816bea0e4fSmrgAC_LANG_SAVE 81826bea0e4fSmrg 81836bea0e4fSmrg# Source file extension for Go test sources. 81846bea0e4fSmrgac_ext=go 81856bea0e4fSmrg 81866bea0e4fSmrg# Object file extension for compiled Go test sources. 81876bea0e4fSmrgobjext=o 81886bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 81896bea0e4fSmrg 81906bea0e4fSmrg# Code to be used in simple compile tests 81916bea0e4fSmrglt_simple_compile_test_code="package main; func main() { }" 81926bea0e4fSmrg 81936bea0e4fSmrg# Code to be used in simple link tests 81946bea0e4fSmrglt_simple_link_test_code='package main; func main() { }' 81956bea0e4fSmrg 81966bea0e4fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 81976bea0e4fSmrg_LT_TAG_COMPILER 81986bea0e4fSmrg 81996bea0e4fSmrg# save warnings/boilerplate of simple test code 82006bea0e4fSmrg_LT_COMPILER_BOILERPLATE 82016bea0e4fSmrg_LT_LINKER_BOILERPLATE 82026bea0e4fSmrg 82036bea0e4fSmrg# Allow CC to be a program name with arguments. 82046bea0e4fSmrglt_save_CC=$CC 82056bea0e4fSmrglt_save_CFLAGS=$CFLAGS 82066bea0e4fSmrglt_save_GCC=$GCC 82076bea0e4fSmrgGCC=yes 82086bea0e4fSmrgCC=${GOC-"gccgo"} 82096bea0e4fSmrgCFLAGS=$GOFLAGS 82106bea0e4fSmrgcompiler=$CC 82116bea0e4fSmrg_LT_TAGVAR(compiler, $1)=$CC 82126bea0e4fSmrg_LT_TAGVAR(LD, $1)=$LD 82136bea0e4fSmrg_LT_CC_BASENAME([$compiler]) 82146bea0e4fSmrg 82156bea0e4fSmrg# Go did not exist at the time GCC didn't implicitly link libc in. 82166bea0e4fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 82176bea0e4fSmrg 82186bea0e4fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 82196bea0e4fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 82206bea0e4fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 82216bea0e4fSmrg 82226bea0e4fSmrg## CAVEAT EMPTOR: 82236bea0e4fSmrg## There is no encapsulation within the following macros, do not change 82246bea0e4fSmrg## the running order or otherwise move them around unless you know exactly 82256bea0e4fSmrg## what you are doing... 82266bea0e4fSmrgif test -n "$compiler"; then 82276bea0e4fSmrg _LT_COMPILER_NO_RTTI($1) 82286bea0e4fSmrg _LT_COMPILER_PIC($1) 82296bea0e4fSmrg _LT_COMPILER_C_O($1) 82306bea0e4fSmrg _LT_COMPILER_FILE_LOCKS($1) 82316bea0e4fSmrg _LT_LINKER_SHLIBS($1) 82326bea0e4fSmrg _LT_LINKER_HARDCODE_LIBPATH($1) 82336bea0e4fSmrg 82346bea0e4fSmrg _LT_CONFIG($1) 82356bea0e4fSmrgfi 82366bea0e4fSmrg 82376bea0e4fSmrgAC_LANG_RESTORE 82386bea0e4fSmrg 82396bea0e4fSmrgGCC=$lt_save_GCC 82406bea0e4fSmrgCC=$lt_save_CC 82416bea0e4fSmrgCFLAGS=$lt_save_CFLAGS 82426bea0e4fSmrg])# _LT_LANG_GO_CONFIG 82436bea0e4fSmrg 82446bea0e4fSmrg 82456bea0e4fSmrg# _LT_LANG_RC_CONFIG([TAG]) 82466bea0e4fSmrg# ------------------------- 82476bea0e4fSmrg# Ensure that the configuration variables for the Windows resource compiler 82486bea0e4fSmrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 82496bea0e4fSmrg# to write the compiler configuration to 'libtool'. 82506bea0e4fSmrgm4_defun([_LT_LANG_RC_CONFIG], 82516bea0e4fSmrg[AC_REQUIRE([LT_PROG_RC])dnl 82526bea0e4fSmrgAC_LANG_SAVE 82536bea0e4fSmrg 82546bea0e4fSmrg# Source file extension for RC test sources. 82556bea0e4fSmrgac_ext=rc 82566bea0e4fSmrg 82576bea0e4fSmrg# Object file extension for compiled RC test sources. 82586bea0e4fSmrgobjext=o 82596bea0e4fSmrg_LT_TAGVAR(objext, $1)=$objext 82606bea0e4fSmrg 82616bea0e4fSmrg# Code to be used in simple compile tests 82626bea0e4fSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 82636bea0e4fSmrg 82646bea0e4fSmrg# Code to be used in simple link tests 82656bea0e4fSmrglt_simple_link_test_code=$lt_simple_compile_test_code 82666bea0e4fSmrg 82676bea0e4fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 82686bea0e4fSmrg_LT_TAG_COMPILER 82696bea0e4fSmrg 82706bea0e4fSmrg# save warnings/boilerplate of simple test code 82716bea0e4fSmrg_LT_COMPILER_BOILERPLATE 82726bea0e4fSmrg_LT_LINKER_BOILERPLATE 82736bea0e4fSmrg 82746bea0e4fSmrg# Allow CC to be a program name with arguments. 82756bea0e4fSmrglt_save_CC=$CC 82766bea0e4fSmrglt_save_CFLAGS=$CFLAGS 82776bea0e4fSmrglt_save_GCC=$GCC 82786bea0e4fSmrgGCC= 82796bea0e4fSmrgCC=${RC-"windres"} 82806bea0e4fSmrgCFLAGS= 82816bea0e4fSmrgcompiler=$CC 82826bea0e4fSmrg_LT_TAGVAR(compiler, $1)=$CC 82836bea0e4fSmrg_LT_CC_BASENAME([$compiler]) 82846bea0e4fSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 82856bea0e4fSmrg 82866bea0e4fSmrgif test -n "$compiler"; then 82876bea0e4fSmrg : 82886bea0e4fSmrg _LT_CONFIG($1) 82896bea0e4fSmrgfi 82906bea0e4fSmrg 82916bea0e4fSmrgGCC=$lt_save_GCC 82926bea0e4fSmrgAC_LANG_RESTORE 82936bea0e4fSmrgCC=$lt_save_CC 82946bea0e4fSmrgCFLAGS=$lt_save_CFLAGS 82956bea0e4fSmrg])# _LT_LANG_RC_CONFIG 82966bea0e4fSmrg 82976bea0e4fSmrg 82986bea0e4fSmrg# LT_PROG_GCJ 82996bea0e4fSmrg# ----------- 83006bea0e4fSmrgAC_DEFUN([LT_PROG_GCJ], 83016bea0e4fSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 83026bea0e4fSmrg [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 83036bea0e4fSmrg [AC_CHECK_TOOL(GCJ, gcj,) 83046bea0e4fSmrg test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" 83056bea0e4fSmrg AC_SUBST(GCJFLAGS)])])[]dnl 83066bea0e4fSmrg]) 83076bea0e4fSmrg 83086bea0e4fSmrg# Old name: 83096bea0e4fSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 83106bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 83116bea0e4fSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 83126bea0e4fSmrg 83136bea0e4fSmrg 83146bea0e4fSmrg# LT_PROG_GO 83156bea0e4fSmrg# ---------- 83166bea0e4fSmrgAC_DEFUN([LT_PROG_GO], 83176bea0e4fSmrg[AC_CHECK_TOOL(GOC, gccgo,) 83186bea0e4fSmrg]) 83196bea0e4fSmrg 83206bea0e4fSmrg 83216bea0e4fSmrg# LT_PROG_RC 83226bea0e4fSmrg# ---------- 83236bea0e4fSmrgAC_DEFUN([LT_PROG_RC], 83246bea0e4fSmrg[AC_CHECK_TOOL(RC, windres,) 83256bea0e4fSmrg]) 83266bea0e4fSmrg 83276bea0e4fSmrg# Old name: 83286bea0e4fSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 83296bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 83306bea0e4fSmrgdnl AC_DEFUN([LT_AC_PROG_RC], []) 83316bea0e4fSmrg 83326bea0e4fSmrg 83336bea0e4fSmrg# _LT_DECL_EGREP 83346bea0e4fSmrg# -------------- 83356bea0e4fSmrg# If we don't have a new enough Autoconf to choose the best grep 83366bea0e4fSmrg# available, choose the one first in the user's PATH. 83376bea0e4fSmrgm4_defun([_LT_DECL_EGREP], 83386bea0e4fSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl 83396bea0e4fSmrgAC_REQUIRE([AC_PROG_FGREP])dnl 83406bea0e4fSmrgtest -z "$GREP" && GREP=grep 83416bea0e4fSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 83426bea0e4fSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher]) 83436bea0e4fSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher]) 83446bea0e4fSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 83456bea0e4fSmrgAC_SUBST([GREP]) 83466bea0e4fSmrg]) 83476bea0e4fSmrg 83486bea0e4fSmrg 83496bea0e4fSmrg# _LT_DECL_OBJDUMP 83506bea0e4fSmrg# -------------- 83516bea0e4fSmrg# If we don't have a new enough Autoconf to choose the best objdump 83526bea0e4fSmrg# available, choose the one first in the user's PATH. 83536bea0e4fSmrgm4_defun([_LT_DECL_OBJDUMP], 83546bea0e4fSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false) 83556bea0e4fSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump 83566bea0e4fSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 83576bea0e4fSmrgAC_SUBST([OBJDUMP]) 83586bea0e4fSmrg]) 83596bea0e4fSmrg 83606bea0e4fSmrg# _LT_DECL_DLLTOOL 83616bea0e4fSmrg# ---------------- 83626bea0e4fSmrg# Ensure DLLTOOL variable is set. 83636bea0e4fSmrgm4_defun([_LT_DECL_DLLTOOL], 83646bea0e4fSmrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false) 83656bea0e4fSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool 83666bea0e4fSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 83676bea0e4fSmrgAC_SUBST([DLLTOOL]) 83686bea0e4fSmrg]) 83696bea0e4fSmrg 83706bea0e4fSmrg# _LT_DECL_FILECMD 83716bea0e4fSmrg# ---------------- 83726bea0e4fSmrg# Check for a file(cmd) program that can be used to detect file type and magic 83736bea0e4fSmrgm4_defun([_LT_DECL_FILECMD], 83746bea0e4fSmrg[AC_CHECK_PROG([FILECMD], [file], [file], [:]) 83756bea0e4fSmrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) 83766bea0e4fSmrg])# _LD_DECL_FILECMD 83776bea0e4fSmrg 83786bea0e4fSmrg# _LT_DECL_SED 83796bea0e4fSmrg# ------------ 83806bea0e4fSmrg# Check for a fully-functional sed program, that truncates 83816bea0e4fSmrg# as few characters as possible. Prefer GNU sed if found. 83826bea0e4fSmrgm4_defun([_LT_DECL_SED], 83836bea0e4fSmrg[AC_PROG_SED 83846bea0e4fSmrgtest -z "$SED" && SED=sed 83856bea0e4fSmrgXsed="$SED -e 1s/^X//" 83866bea0e4fSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 83876bea0e4fSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 83886bea0e4fSmrg [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 83896bea0e4fSmrg])# _LT_DECL_SED 83906bea0e4fSmrgdnl aclocal-1.4 backwards compatibility: 83916bea0e4fSmrgdnl AC_DEFUN([LT_AC_PROG_SED], []) 83926bea0e4fSmrg 83936bea0e4fSmrg 83946bea0e4fSmrg# _LT_CHECK_SHELL_FEATURES 83956bea0e4fSmrg# ------------------------ 83966bea0e4fSmrg# Find out whether the shell is Bourne or XSI compatible, 83976bea0e4fSmrg# or has some other useful features. 83986bea0e4fSmrgm4_defun([_LT_CHECK_SHELL_FEATURES], 83996bea0e4fSmrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 84006bea0e4fSmrg lt_unset=unset 84016bea0e4fSmrgelse 84026bea0e4fSmrg lt_unset=false 84036bea0e4fSmrgfi 84046bea0e4fSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 84056bea0e4fSmrg 84066bea0e4fSmrg# test EBCDIC or ASCII 84076bea0e4fSmrgcase `echo X|tr X '\101'` in 84086bea0e4fSmrg A) # ASCII based system 84096bea0e4fSmrg # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 84106bea0e4fSmrg lt_SP2NL='tr \040 \012' 84116bea0e4fSmrg lt_NL2SP='tr \015\012 \040\040' 84126bea0e4fSmrg ;; 84136bea0e4fSmrg *) # EBCDIC based system 84146bea0e4fSmrg lt_SP2NL='tr \100 \n' 84156bea0e4fSmrg lt_NL2SP='tr \r\n \100\100' 84166bea0e4fSmrg ;; 84176bea0e4fSmrgesac 84186bea0e4fSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 84196bea0e4fSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 84206bea0e4fSmrg])# _LT_CHECK_SHELL_FEATURES 84216bea0e4fSmrg 84226bea0e4fSmrg 84236bea0e4fSmrg# _LT_PATH_CONVERSION_FUNCTIONS 84246bea0e4fSmrg# ----------------------------- 84256bea0e4fSmrg# Determine what file name conversion functions should be used by 84266bea0e4fSmrg# func_to_host_file (and, implicitly, by func_to_host_path). These are needed 84276bea0e4fSmrg# for certain cross-compile configurations and native mingw. 84286bea0e4fSmrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 84296bea0e4fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 84306bea0e4fSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 84316bea0e4fSmrgAC_MSG_CHECKING([how to convert $build file names to $host format]) 84326bea0e4fSmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd, 84336bea0e4fSmrg[case $host in 84346bea0e4fSmrg *-*-mingw* ) 84356bea0e4fSmrg case $build in 84366bea0e4fSmrg *-*-mingw* | *-*-windows* ) # actually msys 84376bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 84386bea0e4fSmrg ;; 84396bea0e4fSmrg *-*-cygwin* ) 84406bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 84416bea0e4fSmrg ;; 84426bea0e4fSmrg * ) # otherwise, assume *nix 84436bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 84446bea0e4fSmrg ;; 84456bea0e4fSmrg esac 84466bea0e4fSmrg ;; 84476bea0e4fSmrg *-*-cygwin* ) 84486bea0e4fSmrg case $build in 84496bea0e4fSmrg *-*-mingw* | *-*-windows* ) # actually msys 84506bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 84516bea0e4fSmrg ;; 84526bea0e4fSmrg *-*-cygwin* ) 84536bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_noop 84546bea0e4fSmrg ;; 84556bea0e4fSmrg * ) # otherwise, assume *nix 84566bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 84576bea0e4fSmrg ;; 84586bea0e4fSmrg esac 84596bea0e4fSmrg ;; 84606bea0e4fSmrg * ) # unhandled hosts (and "normal" native builds) 84616bea0e4fSmrg lt_cv_to_host_file_cmd=func_convert_file_noop 84626bea0e4fSmrg ;; 84636bea0e4fSmrgesac 84646bea0e4fSmrg]) 84656bea0e4fSmrgto_host_file_cmd=$lt_cv_to_host_file_cmd 84666bea0e4fSmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 84676bea0e4fSmrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 84686bea0e4fSmrg [0], [convert $build file names to $host format])dnl 84696bea0e4fSmrg 84706bea0e4fSmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format]) 84716bea0e4fSmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd, 84726bea0e4fSmrg[#assume ordinary cross tools, or native build. 84736bea0e4fSmrglt_cv_to_tool_file_cmd=func_convert_file_noop 84746bea0e4fSmrgcase $host in 84756bea0e4fSmrg *-*-mingw* | *-*-windows* ) 84766bea0e4fSmrg case $build in 84776bea0e4fSmrg *-*-mingw* | *-*-windows* ) # actually msys 84786bea0e4fSmrg lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 84796bea0e4fSmrg ;; 84806bea0e4fSmrg esac 84816bea0e4fSmrg ;; 84826bea0e4fSmrgesac 84836bea0e4fSmrg]) 84846bea0e4fSmrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd 84856bea0e4fSmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 84866bea0e4fSmrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 84876bea0e4fSmrg [0], [convert $build files to toolchain format])dnl 84886bea0e4fSmrg])# _LT_PATH_CONVERSION_FUNCTIONS 8489