100ca1914Smrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 200ca1914Smrg# 300ca1914Smrg# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software 400ca1914Smrg# Foundation, Inc. 500ca1914Smrg# Written by Gordon Matzigkeit, 1996 600ca1914Smrg# 700ca1914Smrg# This file is free software; the Free Software Foundation gives 800ca1914Smrg# unlimited permission to copy and/or distribute it, with or without 900ca1914Smrg# modifications, as long as this notice is preserved. 1000ca1914Smrg 1100ca1914Smrgm4_define([_LT_COPYING], [dnl 1200ca1914Smrg# Copyright (C) 2014 Free Software Foundation, Inc. 1300ca1914Smrg# This is free software; see the source for copying conditions. There is NO 1400ca1914Smrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1500ca1914Smrg 1600ca1914Smrg# GNU Libtool is free software; you can redistribute it and/or modify 1700ca1914Smrg# it under the terms of the GNU General Public License as published by 1800ca1914Smrg# the Free Software Foundation; either version 2 of of the License, or 1900ca1914Smrg# (at your option) any later version. 2000ca1914Smrg# 2100ca1914Smrg# As a special exception to the GNU General Public License, if you 2200ca1914Smrg# distribute this file as part of a program or library that is built 2300ca1914Smrg# using GNU Libtool, you may include this file under the same 2400ca1914Smrg# distribution terms that you use for the rest of that program. 2500ca1914Smrg# 2600ca1914Smrg# GNU Libtool is distributed in the hope that it will be useful, but 2700ca1914Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 2800ca1914Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2900ca1914Smrg# GNU General Public License for more details. 3000ca1914Smrg# 3100ca1914Smrg# You should have received a copy of the GNU General Public License 3200ca1914Smrg# along with this program. If not, see <http://www.gnu.org/licenses/>. 3300ca1914Smrg]) 3400ca1914Smrg 3500ca1914Smrg# serial 59 LT_INIT 3600ca1914Smrg 3700ca1914Smrg 3800ca1914Smrg# LT_PREREQ(VERSION) 3900ca1914Smrg# ------------------ 4000ca1914Smrg# Complain and exit if this libtool version is less that VERSION. 4100ca1914Smrgm4_defun([LT_PREREQ], 4200ca1914Smrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 4300ca1914Smrg [m4_default([$3], 4400ca1914Smrg [m4_fatal([Libtool version $1 or higher is required], 4500ca1914Smrg 63)])], 4600ca1914Smrg [$2])]) 4700ca1914Smrg 4800ca1914Smrg 4900ca1914Smrg# _LT_CHECK_BUILDDIR 5000ca1914Smrg# ------------------ 5100ca1914Smrg# Complain if the absolute build directory name contains unusual characters 5200ca1914Smrgm4_defun([_LT_CHECK_BUILDDIR], 5300ca1914Smrg[case `pwd` in 5400ca1914Smrg *\ * | *\ *) 5500ca1914Smrg AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 5600ca1914Smrgesac 5700ca1914Smrg]) 5800ca1914Smrg 5900ca1914Smrg 6000ca1914Smrg# LT_INIT([OPTIONS]) 6100ca1914Smrg# ------------------ 6200ca1914SmrgAC_DEFUN([LT_INIT], 6300ca1914Smrg[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK 6400ca1914SmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 6500ca1914SmrgAC_BEFORE([$0], [LT_LANG])dnl 6600ca1914SmrgAC_BEFORE([$0], [LT_OUTPUT])dnl 6700ca1914SmrgAC_BEFORE([$0], [LTDL_INIT])dnl 6800ca1914Smrgm4_require([_LT_CHECK_BUILDDIR])dnl 6900ca1914Smrg 7000ca1914Smrgdnl Autoconf doesn't catch unexpanded LT_ macros by default: 7100ca1914Smrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 7200ca1914Smrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 7300ca1914Smrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 7400ca1914Smrgdnl unless we require an AC_DEFUNed macro: 7500ca1914SmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl 7600ca1914SmrgAC_REQUIRE([LTSUGAR_VERSION])dnl 7700ca1914SmrgAC_REQUIRE([LTVERSION_VERSION])dnl 7800ca1914SmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl 7900ca1914Smrgm4_require([_LT_PROG_LTMAIN])dnl 8000ca1914Smrg 8100ca1914Smrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 8200ca1914Smrg 8300ca1914Smrgdnl Parse OPTIONS 8400ca1914Smrg_LT_SET_OPTIONS([$0], [$1]) 8500ca1914Smrg 8600ca1914Smrg# This can be used to rebuild libtool when needed 8700ca1914SmrgLIBTOOL_DEPS=$ltmain 8800ca1914Smrg 8900ca1914Smrg# Always use our own libtool. 9000ca1914SmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool' 9100ca1914SmrgAC_SUBST(LIBTOOL)dnl 9200ca1914Smrg 9300ca1914Smrg_LT_SETUP 9400ca1914Smrg 9500ca1914Smrg# Only expand once: 9600ca1914Smrgm4_define([LT_INIT]) 9700ca1914Smrg])# LT_INIT 9800ca1914Smrg 9900ca1914Smrg# Old names: 10000ca1914SmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 10100ca1914SmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 10200ca1914Smrgdnl aclocal-1.4 backwards compatibility: 10300ca1914Smrgdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 10400ca1914Smrgdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 10500ca1914Smrg 10600ca1914Smrg 10700ca1914Smrg# _LT_PREPARE_CC_BASENAME 10800ca1914Smrg# ----------------------- 10900ca1914Smrgm4_defun([_LT_PREPARE_CC_BASENAME], [ 11000ca1914Smrg# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 11100ca1914Smrgfunc_cc_basename () 11200ca1914Smrg{ 11300ca1914Smrg for cc_temp in @S|@*""; do 11400ca1914Smrg case $cc_temp in 11500ca1914Smrg compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 11600ca1914Smrg distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 11700ca1914Smrg \-*) ;; 11800ca1914Smrg *) break;; 11900ca1914Smrg esac 12000ca1914Smrg done 12100ca1914Smrg func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 12200ca1914Smrg} 12300ca1914Smrg])# _LT_PREPARE_CC_BASENAME 12400ca1914Smrg 12500ca1914Smrg 12600ca1914Smrg# _LT_CC_BASENAME(CC) 12700ca1914Smrg# ------------------- 12800ca1914Smrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, 12900ca1914Smrg# but that macro is also expanded into generated libtool script, which 13000ca1914Smrg# arranges for $SED and $ECHO to be set by different means. 13100ca1914Smrgm4_defun([_LT_CC_BASENAME], 13200ca1914Smrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl 13300ca1914SmrgAC_REQUIRE([_LT_DECL_SED])dnl 13400ca1914SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 13500ca1914Smrgfunc_cc_basename $1 13600ca1914Smrgcc_basename=$func_cc_basename_result 13700ca1914Smrg]) 13800ca1914Smrg 13900ca1914Smrg 14000ca1914Smrg# _LT_FILEUTILS_DEFAULTS 14100ca1914Smrg# ---------------------- 14200ca1914Smrg# It is okay to use these file commands and assume they have been set 14300ca1914Smrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. 14400ca1914Smrgm4_defun([_LT_FILEUTILS_DEFAULTS], 14500ca1914Smrg[: ${CP="cp -f"} 14600ca1914Smrg: ${MV="mv -f"} 14700ca1914Smrg: ${RM="rm -f"} 14800ca1914Smrg])# _LT_FILEUTILS_DEFAULTS 14900ca1914Smrg 15000ca1914Smrg 15100ca1914Smrg# _LT_SETUP 15200ca1914Smrg# --------- 15300ca1914Smrgm4_defun([_LT_SETUP], 15400ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 15500ca1914SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 15600ca1914SmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 15700ca1914SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 15800ca1914Smrg 15900ca1914Smrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 16000ca1914Smrgdnl 16100ca1914Smrg_LT_DECL([], [host_alias], [0], [The host system])dnl 16200ca1914Smrg_LT_DECL([], [host], [0])dnl 16300ca1914Smrg_LT_DECL([], [host_os], [0])dnl 16400ca1914Smrgdnl 16500ca1914Smrg_LT_DECL([], [build_alias], [0], [The build system])dnl 16600ca1914Smrg_LT_DECL([], [build], [0])dnl 16700ca1914Smrg_LT_DECL([], [build_os], [0])dnl 16800ca1914Smrgdnl 16900ca1914SmrgAC_REQUIRE([AC_PROG_CC])dnl 17000ca1914SmrgAC_REQUIRE([LT_PATH_LD])dnl 17100ca1914SmrgAC_REQUIRE([LT_PATH_NM])dnl 17200ca1914Smrgdnl 17300ca1914SmrgAC_REQUIRE([AC_PROG_LN_S])dnl 17400ca1914Smrgtest -z "$LN_S" && LN_S="ln -s" 17500ca1914Smrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 17600ca1914Smrgdnl 17700ca1914SmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl 17800ca1914Smrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 17900ca1914Smrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 18000ca1914Smrgdnl 18100ca1914Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 18200ca1914Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 18300ca1914Smrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 18400ca1914Smrgm4_require([_LT_CMD_RELOAD])dnl 18500ca1914Smrgm4_require([_LT_DECL_FILECMD])dnl 18600ca1914Smrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl 18700ca1914Smrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 18800ca1914Smrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl 18900ca1914Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 19000ca1914Smrgm4_require([_LT_WITH_SYSROOT])dnl 19100ca1914Smrgm4_require([_LT_CMD_TRUNCATE])dnl 19200ca1914Smrg 19300ca1914Smrg_LT_CONFIG_LIBTOOL_INIT([ 19400ca1914Smrg# See if we are running on zsh, and set the options that allow our 19500ca1914Smrg# commands through without removal of \ escapes INIT. 19600ca1914Smrgif test -n "\${ZSH_VERSION+set}"; then 19700ca1914Smrg setopt NO_GLOB_SUBST 19800ca1914Smrgfi 19900ca1914Smrg]) 20000ca1914Smrgif test -n "${ZSH_VERSION+set}"; then 20100ca1914Smrg setopt NO_GLOB_SUBST 20200ca1914Smrgfi 20300ca1914Smrg 20400ca1914Smrg_LT_CHECK_OBJDIR 20500ca1914Smrg 20600ca1914Smrgm4_require([_LT_TAG_COMPILER])dnl 20700ca1914Smrg 20800ca1914Smrgcase $host_os in 20900ca1914Smrgaix3*) 21000ca1914Smrg # AIX sometimes has problems with the GCC collect2 program. For some 21100ca1914Smrg # reason, if we set the COLLECT_NAMES environment variable, the problems 21200ca1914Smrg # vanish in a puff of smoke. 21300ca1914Smrg if test set != "${COLLECT_NAMES+set}"; then 21400ca1914Smrg COLLECT_NAMES= 21500ca1914Smrg export COLLECT_NAMES 21600ca1914Smrg fi 21700ca1914Smrg ;; 21800ca1914Smrgesac 21900ca1914Smrg 22000ca1914Smrg# Global variables: 22100ca1914Smrgofile=libtool 22200ca1914Smrgcan_build_shared=yes 22300ca1914Smrg 22400ca1914Smrg# All known linkers require a '.a' archive for static linking (except MSVC and 22500ca1914Smrg# ICC, which need '.lib'). 22600ca1914Smrglibext=a 22700ca1914Smrg 22800ca1914Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld 22900ca1914Smrg 23000ca1914Smrgold_CC=$CC 23100ca1914Smrgold_CFLAGS=$CFLAGS 23200ca1914Smrg 23300ca1914Smrg# Set sane defaults for various variables 23400ca1914Smrgtest -z "$CC" && CC=cc 23500ca1914Smrgtest -z "$LTCC" && LTCC=$CC 23600ca1914Smrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 23700ca1914Smrgtest -z "$LD" && LD=ld 23800ca1914Smrgtest -z "$ac_objext" && ac_objext=o 23900ca1914Smrg 24000ca1914Smrg_LT_CC_BASENAME([$compiler]) 24100ca1914Smrg 24200ca1914Smrg# Only perform the check for file, if the check method requires it 24300ca1914Smrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file 24400ca1914Smrgcase $deplibs_check_method in 24500ca1914Smrgfile_magic*) 24600ca1914Smrg if test "$file_magic_cmd" = '$MAGIC_CMD'; then 24700ca1914Smrg _LT_PATH_MAGIC 24800ca1914Smrg fi 24900ca1914Smrg ;; 25000ca1914Smrgesac 25100ca1914Smrg 25200ca1914Smrg# Use C for the default configuration in the libtool script 25300ca1914SmrgLT_SUPPORTED_TAG([CC]) 25400ca1914Smrg_LT_LANG_C_CONFIG 25500ca1914Smrg_LT_LANG_DEFAULT_CONFIG 25600ca1914Smrg_LT_CONFIG_COMMANDS 25700ca1914Smrg])# _LT_SETUP 25800ca1914Smrg 25900ca1914Smrg 26000ca1914Smrg# _LT_PREPARE_SED_QUOTE_VARS 26100ca1914Smrg# -------------------------- 26200ca1914Smrg# Define a few sed substitution that help us do robust quoting. 26300ca1914Smrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS], 26400ca1914Smrg[# Backslashify metacharacters that are still active within 26500ca1914Smrg# double-quoted strings. 26600ca1914Smrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 26700ca1914Smrg 26800ca1914Smrg# Same as above, but do not quote variable references. 26900ca1914Smrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 27000ca1914Smrg 27100ca1914Smrg# Sed substitution to delay expansion of an escaped shell variable in a 27200ca1914Smrg# double_quote_subst'ed string. 27300ca1914Smrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 27400ca1914Smrg 27500ca1914Smrg# Sed substitution to delay expansion of an escaped single quote. 27600ca1914Smrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 27700ca1914Smrg 27800ca1914Smrg# Sed substitution to avoid accidental globbing in evaled expressions 27900ca1914Smrgno_glob_subst='s/\*/\\\*/g' 28000ca1914Smrg]) 28100ca1914Smrg 28200ca1914Smrg# _LT_PROG_LTMAIN 28300ca1914Smrg# --------------- 28400ca1914Smrg# Note that this code is called both from 'configure', and 'config.status' 28500ca1914Smrg# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 28600ca1914Smrg# 'config.status' has no value for ac_aux_dir unless we are using Automake, 28700ca1914Smrg# so we pass a copy along to make sure it has a sensible value anyway. 28800ca1914Smrgm4_defun([_LT_PROG_LTMAIN], 28900ca1914Smrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 29000ca1914Smrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 29100ca1914Smrgltmain=$ac_aux_dir/ltmain.sh 29200ca1914Smrg])# _LT_PROG_LTMAIN 29300ca1914Smrg 29400ca1914Smrg 29500ca1914Smrg## ------------------------------------- ## 29600ca1914Smrg## Accumulate code for creating libtool. ## 29700ca1914Smrg## ------------------------------------- ## 29800ca1914Smrg 29900ca1914Smrg# So that we can recreate a full libtool script including additional 30000ca1914Smrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 30100ca1914Smrg# in macros and then make a single call at the end using the 'libtool' 30200ca1914Smrg# label. 30300ca1914Smrg 30400ca1914Smrg 30500ca1914Smrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 30600ca1914Smrg# ---------------------------------------- 30700ca1914Smrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 30800ca1914Smrgm4_define([_LT_CONFIG_LIBTOOL_INIT], 30900ca1914Smrg[m4_ifval([$1], 31000ca1914Smrg [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 31100ca1914Smrg [$1 31200ca1914Smrg])])]) 31300ca1914Smrg 31400ca1914Smrg# Initialize. 31500ca1914Smrgm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 31600ca1914Smrg 31700ca1914Smrg 31800ca1914Smrg# _LT_CONFIG_LIBTOOL([COMMANDS]) 31900ca1914Smrg# ------------------------------ 32000ca1914Smrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 32100ca1914Smrgm4_define([_LT_CONFIG_LIBTOOL], 32200ca1914Smrg[m4_ifval([$1], 32300ca1914Smrg [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 32400ca1914Smrg [$1 32500ca1914Smrg])])]) 32600ca1914Smrg 32700ca1914Smrg# Initialize. 32800ca1914Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 32900ca1914Smrg 33000ca1914Smrg 33100ca1914Smrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 33200ca1914Smrg# ----------------------------------------------------- 33300ca1914Smrgm4_defun([_LT_CONFIG_SAVE_COMMANDS], 33400ca1914Smrg[_LT_CONFIG_LIBTOOL([$1]) 33500ca1914Smrg_LT_CONFIG_LIBTOOL_INIT([$2]) 33600ca1914Smrg]) 33700ca1914Smrg 33800ca1914Smrg 33900ca1914Smrg# _LT_FORMAT_COMMENT([COMMENT]) 34000ca1914Smrg# ----------------------------- 34100ca1914Smrg# Add leading comment marks to the start of each line, and a trailing 34200ca1914Smrg# full-stop to the whole comment if one is not present already. 34300ca1914Smrgm4_define([_LT_FORMAT_COMMENT], 34400ca1914Smrg[m4_ifval([$1], [ 34500ca1914Smrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 34600ca1914Smrg [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 34700ca1914Smrg)]) 34800ca1914Smrg 34900ca1914Smrg 35000ca1914Smrg 35100ca1914Smrg## ------------------------ ## 35200ca1914Smrg## FIXME: Eliminate VARNAME ## 35300ca1914Smrg## ------------------------ ## 35400ca1914Smrg 35500ca1914Smrg 35600ca1914Smrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 35700ca1914Smrg# ------------------------------------------------------------------- 35800ca1914Smrg# CONFIGNAME is the name given to the value in the libtool script. 35900ca1914Smrg# VARNAME is the (base) name used in the configure script. 36000ca1914Smrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 36100ca1914Smrg# VARNAME. Any other value will be used directly. 36200ca1914Smrgm4_define([_LT_DECL], 36300ca1914Smrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 36400ca1914Smrg [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 36500ca1914Smrg [m4_ifval([$1], [$1], [$2])]) 36600ca1914Smrg lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 36700ca1914Smrg m4_ifval([$4], 36800ca1914Smrg [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 36900ca1914Smrg lt_dict_add_subkey([lt_decl_dict], [$2], 37000ca1914Smrg [tagged?], [m4_ifval([$5], [yes], [no])])]) 37100ca1914Smrg]) 37200ca1914Smrg 37300ca1914Smrg 37400ca1914Smrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 37500ca1914Smrg# -------------------------------------------------------- 37600ca1914Smrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 37700ca1914Smrg 37800ca1914Smrg 37900ca1914Smrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 38000ca1914Smrg# ------------------------------------------------ 38100ca1914Smrgm4_define([lt_decl_tag_varnames], 38200ca1914Smrg[_lt_decl_filter([tagged?], [yes], $@)]) 38300ca1914Smrg 38400ca1914Smrg 38500ca1914Smrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 38600ca1914Smrg# --------------------------------------------------------- 38700ca1914Smrgm4_define([_lt_decl_filter], 38800ca1914Smrg[m4_case([$#], 38900ca1914Smrg [0], [m4_fatal([$0: too few arguments: $#])], 39000ca1914Smrg [1], [m4_fatal([$0: too few arguments: $#: $1])], 39100ca1914Smrg [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 39200ca1914Smrg [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 39300ca1914Smrg [lt_dict_filter([lt_decl_dict], $@)])[]dnl 39400ca1914Smrg]) 39500ca1914Smrg 39600ca1914Smrg 39700ca1914Smrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 39800ca1914Smrg# -------------------------------------------------- 39900ca1914Smrgm4_define([lt_decl_quote_varnames], 40000ca1914Smrg[_lt_decl_filter([value], [1], $@)]) 40100ca1914Smrg 40200ca1914Smrg 40300ca1914Smrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 40400ca1914Smrg# --------------------------------------------------- 40500ca1914Smrgm4_define([lt_decl_dquote_varnames], 40600ca1914Smrg[_lt_decl_filter([value], [2], $@)]) 40700ca1914Smrg 40800ca1914Smrg 40900ca1914Smrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 41000ca1914Smrg# --------------------------------------------------- 41100ca1914Smrgm4_define([lt_decl_varnames_tagged], 41200ca1914Smrg[m4_assert([$# <= 2])dnl 41300ca1914Smrg_$0(m4_quote(m4_default([$1], [[, ]])), 41400ca1914Smrg m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 41500ca1914Smrg m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 41600ca1914Smrgm4_define([_lt_decl_varnames_tagged], 41700ca1914Smrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 41800ca1914Smrg 41900ca1914Smrg 42000ca1914Smrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 42100ca1914Smrg# ------------------------------------------------ 42200ca1914Smrgm4_define([lt_decl_all_varnames], 42300ca1914Smrg[_$0(m4_quote(m4_default([$1], [[, ]])), 42400ca1914Smrg m4_if([$2], [], 42500ca1914Smrg m4_quote(lt_decl_varnames), 42600ca1914Smrg m4_quote(m4_shift($@))))[]dnl 42700ca1914Smrg]) 42800ca1914Smrgm4_define([_lt_decl_all_varnames], 42900ca1914Smrg[lt_join($@, lt_decl_varnames_tagged([$1], 43000ca1914Smrg lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 43100ca1914Smrg]) 43200ca1914Smrg 43300ca1914Smrg 43400ca1914Smrg# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 43500ca1914Smrg# ------------------------------------ 43600ca1914Smrg# Quote a variable value, and forward it to 'config.status' so that its 43700ca1914Smrg# declaration there will have the same value as in 'configure'. VARNAME 43800ca1914Smrg# must have a single quote delimited value for this to work. 43900ca1914Smrgm4_define([_LT_CONFIG_STATUS_DECLARE], 44000ca1914Smrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 44100ca1914Smrg 44200ca1914Smrg 44300ca1914Smrg# _LT_CONFIG_STATUS_DECLARATIONS 44400ca1914Smrg# ------------------------------ 44500ca1914Smrg# We delimit libtool config variables with single quotes, so when 44600ca1914Smrg# we write them to config.status, we have to be sure to quote all 44700ca1914Smrg# embedded single quotes properly. In configure, this macro expands 44800ca1914Smrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 44900ca1914Smrg# 45000ca1914Smrg# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 45100ca1914Smrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 45200ca1914Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 45300ca1914Smrg [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 45400ca1914Smrg 45500ca1914Smrg 45600ca1914Smrg# _LT_LIBTOOL_TAGS 45700ca1914Smrg# ---------------- 45800ca1914Smrg# Output comment and list of tags supported by the script 45900ca1914Smrgm4_defun([_LT_LIBTOOL_TAGS], 46000ca1914Smrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 46100ca1914Smrgavailable_tags='_LT_TAGS'dnl 46200ca1914Smrg]) 46300ca1914Smrg 46400ca1914Smrg 46500ca1914Smrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 46600ca1914Smrg# ----------------------------------- 46700ca1914Smrg# Extract the dictionary values for VARNAME (optionally with TAG) and 46800ca1914Smrg# expand to a commented shell variable setting: 46900ca1914Smrg# 47000ca1914Smrg# # Some comment about what VAR is for. 47100ca1914Smrg# visible_name=$lt_internal_name 47200ca1914Smrgm4_define([_LT_LIBTOOL_DECLARE], 47300ca1914Smrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 47400ca1914Smrg [description])))[]dnl 47500ca1914Smrgm4_pushdef([_libtool_name], 47600ca1914Smrg m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 47700ca1914Smrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 47800ca1914Smrg [0], [_libtool_name=[$]$1], 47900ca1914Smrg [1], [_libtool_name=$lt_[]$1], 48000ca1914Smrg [2], [_libtool_name=$lt_[]$1], 48100ca1914Smrg [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 48200ca1914Smrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 48300ca1914Smrg]) 48400ca1914Smrg 48500ca1914Smrg 48600ca1914Smrg# _LT_LIBTOOL_CONFIG_VARS 48700ca1914Smrg# ----------------------- 48800ca1914Smrg# Produce commented declarations of non-tagged libtool config variables 48900ca1914Smrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' 49000ca1914Smrg# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 49100ca1914Smrg# section) are produced by _LT_LIBTOOL_TAG_VARS. 49200ca1914Smrgm4_defun([_LT_LIBTOOL_CONFIG_VARS], 49300ca1914Smrg[m4_foreach([_lt_var], 49400ca1914Smrg m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 49500ca1914Smrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 49600ca1914Smrg 49700ca1914Smrg 49800ca1914Smrg# _LT_LIBTOOL_TAG_VARS(TAG) 49900ca1914Smrg# ------------------------- 50000ca1914Smrgm4_define([_LT_LIBTOOL_TAG_VARS], 50100ca1914Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 50200ca1914Smrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 50300ca1914Smrg 50400ca1914Smrg 50500ca1914Smrg# _LT_TAGVAR(VARNAME, [TAGNAME]) 50600ca1914Smrg# ------------------------------ 50700ca1914Smrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 50800ca1914Smrg 50900ca1914Smrg 51000ca1914Smrg# _LT_CONFIG_COMMANDS 51100ca1914Smrg# ------------------- 51200ca1914Smrg# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 51300ca1914Smrg# variables for single and double quote escaping we saved from calls 51400ca1914Smrg# to _LT_DECL, we can put quote escaped variables declarations 51500ca1914Smrg# into 'config.status', and then the shell code to quote escape them in 51600ca1914Smrg# for loops in 'config.status'. Finally, any additional code accumulated 51700ca1914Smrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 51800ca1914Smrgm4_defun([_LT_CONFIG_COMMANDS], 51900ca1914Smrg[AC_PROVIDE_IFELSE([LT_OUTPUT], 52000ca1914Smrg dnl If the libtool generation code has been placed in $CONFIG_LT, 52100ca1914Smrg dnl instead of duplicating it all over again into config.status, 52200ca1914Smrg dnl then we will have config.status run $CONFIG_LT later, so it 52300ca1914Smrg dnl needs to know what name is stored there: 52400ca1914Smrg [AC_CONFIG_COMMANDS([libtool], 52500ca1914Smrg [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 52600ca1914Smrg dnl If the libtool generation code is destined for config.status, 52700ca1914Smrg dnl expand the accumulated commands and init code now: 52800ca1914Smrg [AC_CONFIG_COMMANDS([libtool], 52900ca1914Smrg [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 53000ca1914Smrg])#_LT_CONFIG_COMMANDS 53100ca1914Smrg 53200ca1914Smrg 53300ca1914Smrg# Initialize. 53400ca1914Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 53500ca1914Smrg[ 53600ca1914Smrg 53700ca1914Smrg# The HP-UX ksh and POSIX shell print the target directory to stdout 53800ca1914Smrg# if CDPATH is set. 53900ca1914Smrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 54000ca1914Smrg 54100ca1914Smrgsed_quote_subst='$sed_quote_subst' 54200ca1914Smrgdouble_quote_subst='$double_quote_subst' 54300ca1914Smrgdelay_variable_subst='$delay_variable_subst' 54400ca1914Smrg_LT_CONFIG_STATUS_DECLARATIONS 54500ca1914SmrgLTCC='$LTCC' 54600ca1914SmrgLTCFLAGS='$LTCFLAGS' 54700ca1914Smrgcompiler='$compiler_DEFAULT' 54800ca1914Smrg 54900ca1914Smrg# A function that is used when there is no print builtin or printf. 55000ca1914Smrgfunc_fallback_echo () 55100ca1914Smrg{ 55200ca1914Smrg eval 'cat <<_LTECHO_EOF 55300ca1914Smrg\$[]1 55400ca1914Smrg_LTECHO_EOF' 55500ca1914Smrg} 55600ca1914Smrg 55700ca1914Smrg# Quote evaled strings. 55800ca1914Smrgfor var in lt_decl_all_varnames([[ \ 55900ca1914Smrg]], lt_decl_quote_varnames); do 56000ca1914Smrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 56100ca1914Smrg *[[\\\\\\\`\\"\\\$]]*) 56200ca1914Smrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 56300ca1914Smrg ;; 56400ca1914Smrg *) 56500ca1914Smrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 56600ca1914Smrg ;; 56700ca1914Smrg esac 56800ca1914Smrgdone 56900ca1914Smrg 57000ca1914Smrg# Double-quote double-evaled strings. 57100ca1914Smrgfor var in lt_decl_all_varnames([[ \ 57200ca1914Smrg]], lt_decl_dquote_varnames); do 57300ca1914Smrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 57400ca1914Smrg *[[\\\\\\\`\\"\\\$]]*) 57500ca1914Smrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 57600ca1914Smrg ;; 57700ca1914Smrg *) 57800ca1914Smrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 57900ca1914Smrg ;; 58000ca1914Smrg esac 58100ca1914Smrgdone 58200ca1914Smrg 58300ca1914Smrg_LT_OUTPUT_LIBTOOL_INIT 58400ca1914Smrg]) 58500ca1914Smrg 58600ca1914Smrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 58700ca1914Smrg# ------------------------------------ 58800ca1914Smrg# Generate a child script FILE with all initialization necessary to 58900ca1914Smrg# reuse the environment learned by the parent script, and make the 59000ca1914Smrg# file executable. If COMMENT is supplied, it is inserted after the 59100ca1914Smrg# '#!' sequence but before initialization text begins. After this 59200ca1914Smrg# macro, additional text can be appended to FILE to form the body of 59300ca1914Smrg# the child script. The macro ends with non-zero status if the 59400ca1914Smrg# file could not be fully written (such as if the disk is full). 59500ca1914Smrgm4_ifdef([AS_INIT_GENERATED], 59600ca1914Smrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 59700ca1914Smrg[m4_defun([_LT_GENERATED_FILE_INIT], 59800ca1914Smrg[m4_require([AS_PREPARE])]dnl 59900ca1914Smrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 60000ca1914Smrg[lt_write_fail=0 60100ca1914Smrgcat >$1 <<_ASEOF || lt_write_fail=1 60200ca1914Smrg#! $SHELL 60300ca1914Smrg# Generated by $as_me. 60400ca1914Smrg$2 60500ca1914SmrgSHELL=\${CONFIG_SHELL-$SHELL} 60600ca1914Smrgexport SHELL 60700ca1914Smrg_ASEOF 60800ca1914Smrgcat >>$1 <<\_ASEOF || lt_write_fail=1 60900ca1914SmrgAS_SHELL_SANITIZE 61000ca1914Smrg_AS_PREPARE 61100ca1914Smrgexec AS_MESSAGE_FD>&1 61200ca1914Smrg_ASEOF 61300ca1914Smrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl 61400ca1914Smrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 61500ca1914Smrg 61600ca1914Smrg# LT_OUTPUT 61700ca1914Smrg# --------- 61800ca1914Smrg# This macro allows early generation of the libtool script (before 61900ca1914Smrg# AC_OUTPUT is called), incase it is used in configure for compilation 62000ca1914Smrg# tests. 62100ca1914SmrgAC_DEFUN([LT_OUTPUT], 62200ca1914Smrg[: ${CONFIG_LT=./config.lt} 62300ca1914SmrgAC_MSG_NOTICE([creating $CONFIG_LT]) 62400ca1914Smrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 62500ca1914Smrg[# Run this file to recreate a libtool stub with the current configuration.]) 62600ca1914Smrg 62700ca1914Smrgcat >>"$CONFIG_LT" <<\_LTEOF 62800ca1914Smrglt_cl_silent=false 62900ca1914Smrgexec AS_MESSAGE_LOG_FD>>config.log 63000ca1914Smrg{ 63100ca1914Smrg echo 63200ca1914Smrg AS_BOX([Running $as_me.]) 63300ca1914Smrg} >&AS_MESSAGE_LOG_FD 63400ca1914Smrg 63500ca1914Smrglt_cl_help="\ 63600ca1914Smrg'$as_me' creates a local libtool stub from the current configuration, 63700ca1914Smrgfor use in further configure time tests before the real libtool is 63800ca1914Smrggenerated. 63900ca1914Smrg 64000ca1914SmrgUsage: $[0] [[OPTIONS]] 64100ca1914Smrg 64200ca1914Smrg -h, --help print this help, then exit 64300ca1914Smrg -V, --version print version number, then exit 64400ca1914Smrg -q, --quiet do not print progress messages 64500ca1914Smrg -d, --debug don't remove temporary files 64600ca1914Smrg 64700ca1914SmrgReport bugs to <bug-libtool@gnu.org>." 64800ca1914Smrg 64900ca1914Smrglt_cl_version="\ 65000ca1914Smrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 65100ca1914Smrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 65200ca1914Smrgconfigured by $[0], generated by m4_PACKAGE_STRING. 65300ca1914Smrg 65400ca1914SmrgCopyright (C) 2011 Free Software Foundation, Inc. 65500ca1914SmrgThis config.lt script is free software; the Free Software Foundation 65600ca1914Smrggives unlimited permision to copy, distribute and modify it." 65700ca1914Smrg 65800ca1914Smrgwhile test 0 != $[#] 65900ca1914Smrgdo 66000ca1914Smrg case $[1] in 66100ca1914Smrg --version | --v* | -V ) 66200ca1914Smrg echo "$lt_cl_version"; exit 0 ;; 66300ca1914Smrg --help | --h* | -h ) 66400ca1914Smrg echo "$lt_cl_help"; exit 0 ;; 66500ca1914Smrg --debug | --d* | -d ) 66600ca1914Smrg debug=: ;; 66700ca1914Smrg --quiet | --q* | --silent | --s* | -q ) 66800ca1914Smrg lt_cl_silent=: ;; 66900ca1914Smrg 67000ca1914Smrg -*) AC_MSG_ERROR([unrecognized option: $[1] 67100ca1914SmrgTry '$[0] --help' for more information.]) ;; 67200ca1914Smrg 67300ca1914Smrg *) AC_MSG_ERROR([unrecognized argument: $[1] 67400ca1914SmrgTry '$[0] --help' for more information.]) ;; 67500ca1914Smrg esac 67600ca1914Smrg shift 67700ca1914Smrgdone 67800ca1914Smrg 67900ca1914Smrgif $lt_cl_silent; then 68000ca1914Smrg exec AS_MESSAGE_FD>/dev/null 68100ca1914Smrgfi 68200ca1914Smrg_LTEOF 68300ca1914Smrg 68400ca1914Smrgcat >>"$CONFIG_LT" <<_LTEOF 68500ca1914Smrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 68600ca1914Smrg_LTEOF 68700ca1914Smrg 68800ca1914Smrgcat >>"$CONFIG_LT" <<\_LTEOF 68900ca1914SmrgAC_MSG_NOTICE([creating $ofile]) 69000ca1914Smrg_LT_OUTPUT_LIBTOOL_COMMANDS 69100ca1914SmrgAS_EXIT(0) 69200ca1914Smrg_LTEOF 69300ca1914Smrgchmod +x "$CONFIG_LT" 69400ca1914Smrg 69500ca1914Smrg# configure is writing to config.log, but config.lt does its own redirection, 69600ca1914Smrg# appending to config.log, which fails on DOS, as config.log is still kept 69700ca1914Smrg# open by configure. Here we exec the FD to /dev/null, effectively closing 69800ca1914Smrg# config.log, so it can be properly (re)opened and appended to by config.lt. 69900ca1914Smrglt_cl_success=: 70000ca1914Smrgtest yes = "$silent" && 70100ca1914Smrg lt_config_lt_args="$lt_config_lt_args --quiet" 70200ca1914Smrgexec AS_MESSAGE_LOG_FD>/dev/null 70300ca1914Smrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 70400ca1914Smrgexec AS_MESSAGE_LOG_FD>>config.log 70500ca1914Smrg$lt_cl_success || AS_EXIT(1) 70600ca1914Smrg])# LT_OUTPUT 70700ca1914Smrg 70800ca1914Smrg 70900ca1914Smrg# _LT_CONFIG(TAG) 71000ca1914Smrg# --------------- 71100ca1914Smrg# If TAG is the built-in tag, create an initial libtool script with a 71200ca1914Smrg# default configuration from the untagged config vars. Otherwise add code 71300ca1914Smrg# to config.status for appending the configuration named by TAG from the 71400ca1914Smrg# matching tagged config vars. 71500ca1914Smrgm4_defun([_LT_CONFIG], 71600ca1914Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 71700ca1914Smrg_LT_CONFIG_SAVE_COMMANDS([ 71800ca1914Smrg m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 71900ca1914Smrg m4_if(_LT_TAG, [C], [ 72000ca1914Smrg # See if we are running on zsh, and set the options that allow our 72100ca1914Smrg # commands through without removal of \ escapes. 72200ca1914Smrg if test -n "${ZSH_VERSION+set}"; then 72300ca1914Smrg setopt NO_GLOB_SUBST 72400ca1914Smrg fi 72500ca1914Smrg 72600ca1914Smrg cfgfile=${ofile}T 72700ca1914Smrg trap "$RM \"$cfgfile\"; exit 1" 1 2 15 72800ca1914Smrg $RM "$cfgfile" 72900ca1914Smrg 73000ca1914Smrg cat <<_LT_EOF >> "$cfgfile" 73100ca1914Smrg#! $SHELL 73200ca1914Smrg# Generated automatically by $as_me ($PACKAGE) $VERSION 73300ca1914Smrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 73400ca1914Smrg# NOTE: Changes made to this file will be lost: look at ltmain.sh. 73500ca1914Smrg 73600ca1914Smrg# Provide generalized library-building support services. 73700ca1914Smrg# Written by Gordon Matzigkeit, 1996 73800ca1914Smrg 73900ca1914Smrg_LT_COPYING 74000ca1914Smrg_LT_LIBTOOL_TAGS 74100ca1914Smrg 74200ca1914Smrg# Configured defaults for sys_lib_dlsearch_path munging. 74300ca1914Smrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} 74400ca1914Smrg 74500ca1914Smrg# ### BEGIN LIBTOOL CONFIG 74600ca1914Smrg_LT_LIBTOOL_CONFIG_VARS 74700ca1914Smrg_LT_LIBTOOL_TAG_VARS 74800ca1914Smrg# ### END LIBTOOL CONFIG 74900ca1914Smrg 75000ca1914Smrg_LT_EOF 75100ca1914Smrg 75200ca1914Smrg cat <<'_LT_EOF' >> "$cfgfile" 75300ca1914Smrg 75400ca1914Smrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 75500ca1914Smrg 75600ca1914Smrg_LT_PREPARE_MUNGE_PATH_LIST 75700ca1914Smrg_LT_PREPARE_CC_BASENAME 75800ca1914Smrg 75900ca1914Smrg# ### END FUNCTIONS SHARED WITH CONFIGURE 76000ca1914Smrg 76100ca1914Smrg_LT_EOF 76200ca1914Smrg 76300ca1914Smrg case $host_os in 76400ca1914Smrg aix3*) 76500ca1914Smrg cat <<\_LT_EOF >> "$cfgfile" 76600ca1914Smrg# AIX sometimes has problems with the GCC collect2 program. For some 76700ca1914Smrg# reason, if we set the COLLECT_NAMES environment variable, the problems 76800ca1914Smrg# vanish in a puff of smoke. 76900ca1914Smrgif test set != "${COLLECT_NAMES+set}"; then 77000ca1914Smrg COLLECT_NAMES= 77100ca1914Smrg export COLLECT_NAMES 77200ca1914Smrgfi 77300ca1914Smrg_LT_EOF 77400ca1914Smrg ;; 77500ca1914Smrg esac 77600ca1914Smrg 77700ca1914Smrg _LT_PROG_LTMAIN 77800ca1914Smrg 77900ca1914Smrg # We use sed instead of cat because bash on DJGPP gets confused if 78000ca1914Smrg # if finds mixed CR/LF and LF-only lines. Since sed operates in 78100ca1914Smrg # text mode, it properly converts lines to CR/LF. This bash problem 78200ca1914Smrg # is reportedly fixed, but why not run on old versions too? 78300ca1914Smrg $SED '$q' "$ltmain" >> "$cfgfile" \ 78400ca1914Smrg || (rm -f "$cfgfile"; exit 1) 78500ca1914Smrg 78600ca1914Smrg mv -f "$cfgfile" "$ofile" || 78700ca1914Smrg (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 78800ca1914Smrg chmod +x "$ofile" 78900ca1914Smrg], 79000ca1914Smrg[cat <<_LT_EOF >> "$ofile" 79100ca1914Smrg 79200ca1914Smrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 79300ca1914Smrgdnl in a comment (ie after a #). 79400ca1914Smrg# ### BEGIN LIBTOOL TAG CONFIG: $1 79500ca1914Smrg_LT_LIBTOOL_TAG_VARS(_LT_TAG) 79600ca1914Smrg# ### END LIBTOOL TAG CONFIG: $1 79700ca1914Smrg_LT_EOF 79800ca1914Smrg])dnl /m4_if 79900ca1914Smrg], 80000ca1914Smrg[m4_if([$1], [], [ 80100ca1914Smrg PACKAGE='$PACKAGE' 80200ca1914Smrg VERSION='$VERSION' 80300ca1914Smrg RM='$RM' 80400ca1914Smrg ofile='$ofile'], []) 80500ca1914Smrg])dnl /_LT_CONFIG_SAVE_COMMANDS 80600ca1914Smrg])# _LT_CONFIG 80700ca1914Smrg 80800ca1914Smrg 80900ca1914Smrg# LT_SUPPORTED_TAG(TAG) 81000ca1914Smrg# --------------------- 81100ca1914Smrg# Trace this macro to discover what tags are supported by the libtool 81200ca1914Smrg# --tag option, using: 81300ca1914Smrg# autoconf --trace 'LT_SUPPORTED_TAG:$1' 81400ca1914SmrgAC_DEFUN([LT_SUPPORTED_TAG], []) 81500ca1914Smrg 81600ca1914Smrg 81700ca1914Smrg# C support is built-in for now 81800ca1914Smrgm4_define([_LT_LANG_C_enabled], []) 81900ca1914Smrgm4_define([_LT_TAGS], []) 82000ca1914Smrg 82100ca1914Smrg 82200ca1914Smrg# LT_LANG(LANG) 82300ca1914Smrg# ------------- 82400ca1914Smrg# Enable libtool support for the given language if not already enabled. 82500ca1914SmrgAC_DEFUN([LT_LANG], 82600ca1914Smrg[AC_BEFORE([$0], [LT_OUTPUT])dnl 82700ca1914Smrgm4_case([$1], 82800ca1914Smrg [C], [_LT_LANG(C)], 82900ca1914Smrg [C++], [_LT_LANG(CXX)], 83000ca1914Smrg [Go], [_LT_LANG(GO)], 83100ca1914Smrg [Java], [_LT_LANG(GCJ)], 83200ca1914Smrg [Fortran 77], [_LT_LANG(F77)], 83300ca1914Smrg [Fortran], [_LT_LANG(FC)], 83400ca1914Smrg [Windows Resource], [_LT_LANG(RC)], 83500ca1914Smrg [m4_ifdef([_LT_LANG_]$1[_CONFIG], 83600ca1914Smrg [_LT_LANG($1)], 83700ca1914Smrg [m4_fatal([$0: unsupported language: "$1"])])])dnl 83800ca1914Smrg])# LT_LANG 83900ca1914Smrg 84000ca1914Smrg 84100ca1914Smrg# _LT_LANG(LANGNAME) 84200ca1914Smrg# ------------------ 84300ca1914Smrgm4_defun([_LT_LANG], 84400ca1914Smrg[m4_ifdef([_LT_LANG_]$1[_enabled], [], 84500ca1914Smrg [LT_SUPPORTED_TAG([$1])dnl 84600ca1914Smrg m4_append([_LT_TAGS], [$1 ])dnl 84700ca1914Smrg m4_define([_LT_LANG_]$1[_enabled], [])dnl 84800ca1914Smrg _LT_LANG_$1_CONFIG($1)])dnl 84900ca1914Smrg])# _LT_LANG 85000ca1914Smrg 85100ca1914Smrg 85200ca1914Smrgm4_ifndef([AC_PROG_GO], [ 85300ca1914Smrg############################################################ 85400ca1914Smrg# NOTE: This macro has been submitted for inclusion into # 85500ca1914Smrg# GNU Autoconf as AC_PROG_GO. When it is available in # 85600ca1914Smrg# a released version of Autoconf we should remove this # 85700ca1914Smrg# macro and use it instead. # 85800ca1914Smrg############################################################ 85900ca1914Smrgm4_defun([AC_PROG_GO], 86000ca1914Smrg[AC_LANG_PUSH(Go)dnl 86100ca1914SmrgAC_ARG_VAR([GOC], [Go compiler command])dnl 86200ca1914SmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 86300ca1914Smrg_AC_ARG_VAR_LDFLAGS()dnl 86400ca1914SmrgAC_CHECK_TOOL(GOC, gccgo) 86500ca1914Smrgif test -z "$GOC"; then 86600ca1914Smrg if test -n "$ac_tool_prefix"; then 86700ca1914Smrg AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 86800ca1914Smrg fi 86900ca1914Smrgfi 87000ca1914Smrgif test -z "$GOC"; then 87100ca1914Smrg AC_CHECK_PROG(GOC, gccgo, gccgo, false) 87200ca1914Smrgfi 87300ca1914Smrg])#m4_defun 87400ca1914Smrg])#m4_ifndef 87500ca1914Smrg 87600ca1914Smrg 87700ca1914Smrg# _LT_LANG_DEFAULT_CONFIG 87800ca1914Smrg# ----------------------- 87900ca1914Smrgm4_defun([_LT_LANG_DEFAULT_CONFIG], 88000ca1914Smrg[AC_PROVIDE_IFELSE([AC_PROG_CXX], 88100ca1914Smrg [LT_LANG(CXX)], 88200ca1914Smrg [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 88300ca1914Smrg 88400ca1914SmrgAC_PROVIDE_IFELSE([AC_PROG_F77], 88500ca1914Smrg [LT_LANG(F77)], 88600ca1914Smrg [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 88700ca1914Smrg 88800ca1914SmrgAC_PROVIDE_IFELSE([AC_PROG_FC], 88900ca1914Smrg [LT_LANG(FC)], 89000ca1914Smrg [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 89100ca1914Smrg 89200ca1914Smrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 89300ca1914Smrgdnl pulling things in needlessly. 89400ca1914SmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ], 89500ca1914Smrg [LT_LANG(GCJ)], 89600ca1914Smrg [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 89700ca1914Smrg [LT_LANG(GCJ)], 89800ca1914Smrg [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 89900ca1914Smrg [LT_LANG(GCJ)], 90000ca1914Smrg [m4_ifdef([AC_PROG_GCJ], 90100ca1914Smrg [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 90200ca1914Smrg m4_ifdef([A][M_PROG_GCJ], 90300ca1914Smrg [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 90400ca1914Smrg m4_ifdef([LT_PROG_GCJ], 90500ca1914Smrg [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 90600ca1914Smrg 90700ca1914SmrgAC_PROVIDE_IFELSE([AC_PROG_GO], 90800ca1914Smrg [LT_LANG(GO)], 90900ca1914Smrg [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 91000ca1914Smrg 91100ca1914SmrgAC_PROVIDE_IFELSE([LT_PROG_RC], 91200ca1914Smrg [LT_LANG(RC)], 91300ca1914Smrg [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 91400ca1914Smrg])# _LT_LANG_DEFAULT_CONFIG 91500ca1914Smrg 91600ca1914Smrg# Obsolete macros: 91700ca1914SmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 91800ca1914SmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 91900ca1914SmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 92000ca1914SmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 92100ca1914SmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 92200ca1914Smrgdnl aclocal-1.4 backwards compatibility: 92300ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 92400ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_F77], []) 92500ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_FC], []) 92600ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 92700ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_RC], []) 92800ca1914Smrg 92900ca1914Smrg 93000ca1914Smrg# _LT_TAG_COMPILER 93100ca1914Smrg# ---------------- 93200ca1914Smrgm4_defun([_LT_TAG_COMPILER], 93300ca1914Smrg[AC_REQUIRE([AC_PROG_CC])dnl 93400ca1914Smrg 93500ca1914Smrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 93600ca1914Smrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 93700ca1914Smrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 93800ca1914Smrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 93900ca1914Smrg 94000ca1914Smrg# If no C compiler was specified, use CC. 94100ca1914SmrgLTCC=${LTCC-"$CC"} 94200ca1914Smrg 94300ca1914Smrg# If no C compiler flags were specified, use CFLAGS. 94400ca1914SmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 94500ca1914Smrg 94600ca1914Smrg# Allow CC to be a program name with arguments. 94700ca1914Smrgcompiler=$CC 94800ca1914Smrg])# _LT_TAG_COMPILER 94900ca1914Smrg 95000ca1914Smrg 95100ca1914Smrg# _LT_COMPILER_BOILERPLATE 95200ca1914Smrg# ------------------------ 95300ca1914Smrg# Check for compiler boilerplate output or warnings with 95400ca1914Smrg# the simple compiler test code. 95500ca1914Smrgm4_defun([_LT_COMPILER_BOILERPLATE], 95600ca1914Smrg[m4_require([_LT_DECL_SED])dnl 95700ca1914Smrgac_outfile=conftest.$ac_objext 95800ca1914Smrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext 95900ca1914Smrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 96000ca1914Smrg_lt_compiler_boilerplate=`cat conftest.err` 96100ca1914Smrg$RM conftest* 96200ca1914Smrg])# _LT_COMPILER_BOILERPLATE 96300ca1914Smrg 96400ca1914Smrg 96500ca1914Smrg# _LT_LINKER_BOILERPLATE 96600ca1914Smrg# ---------------------- 96700ca1914Smrg# Check for linker boilerplate output or warnings with 96800ca1914Smrg# the simple link test code. 96900ca1914Smrgm4_defun([_LT_LINKER_BOILERPLATE], 97000ca1914Smrg[m4_require([_LT_DECL_SED])dnl 97100ca1914Smrgac_outfile=conftest.$ac_objext 97200ca1914Smrgecho "$lt_simple_link_test_code" >conftest.$ac_ext 97300ca1914Smrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 97400ca1914Smrg_lt_linker_boilerplate=`cat conftest.err` 97500ca1914Smrg$RM -r conftest* 97600ca1914Smrg])# _LT_LINKER_BOILERPLATE 97700ca1914Smrg 97800ca1914Smrg# _LT_REQUIRED_DARWIN_CHECKS 97900ca1914Smrg# ------------------------- 98000ca1914Smrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 98100ca1914Smrg case $host_os in 98200ca1914Smrg rhapsody* | darwin*) 98300ca1914Smrg AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 98400ca1914Smrg AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 98500ca1914Smrg AC_CHECK_TOOL([LIPO], [lipo], [:]) 98600ca1914Smrg AC_CHECK_TOOL([OTOOL], [otool], [:]) 98700ca1914Smrg AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 98800ca1914Smrg _LT_DECL([], [DSYMUTIL], [1], 98900ca1914Smrg [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 99000ca1914Smrg _LT_DECL([], [NMEDIT], [1], 99100ca1914Smrg [Tool to change global to local symbols on Mac OS X]) 99200ca1914Smrg _LT_DECL([], [LIPO], [1], 99300ca1914Smrg [Tool to manipulate fat objects and archives on Mac OS X]) 99400ca1914Smrg _LT_DECL([], [OTOOL], [1], 99500ca1914Smrg [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 99600ca1914Smrg _LT_DECL([], [OTOOL64], [1], 99700ca1914Smrg [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 99800ca1914Smrg 99900ca1914Smrg AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 100000ca1914Smrg [lt_cv_apple_cc_single_mod=no 100100ca1914Smrg if test -z "$LT_MULTI_MODULE"; then 100200ca1914Smrg # By default we will add the -single_module flag. You can override 100300ca1914Smrg # by either setting the environment variable LT_MULTI_MODULE 100400ca1914Smrg # non-empty at configure time, or by adding -multi_module to the 100500ca1914Smrg # link flags. 100600ca1914Smrg rm -rf libconftest.dylib* 100700ca1914Smrg echo "int foo(void){return 1;}" > conftest.c 100800ca1914Smrg echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 100900ca1914Smrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 101000ca1914Smrg $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 101100ca1914Smrg -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 101200ca1914Smrg _lt_result=$? 101300ca1914Smrg # If there is a non-empty error log, and "single_module" 101400ca1914Smrg # appears in it, assume the flag caused a linker warning 101500ca1914Smrg if test -s conftest.err && $GREP single_module conftest.err; then 101600ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 101700ca1914Smrg # Otherwise, if the output was created with a 0 exit code from 101800ca1914Smrg # the compiler, it worked. 101900ca1914Smrg elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 102000ca1914Smrg lt_cv_apple_cc_single_mod=yes 102100ca1914Smrg else 102200ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 102300ca1914Smrg fi 102400ca1914Smrg rm -rf libconftest.dylib* 102500ca1914Smrg rm -f conftest.* 102600ca1914Smrg fi]) 102700ca1914Smrg 102800ca1914Smrg AC_CACHE_CHECK([for -exported_symbols_list linker flag], 102900ca1914Smrg [lt_cv_ld_exported_symbols_list], 103000ca1914Smrg [lt_cv_ld_exported_symbols_list=no 103100ca1914Smrg save_LDFLAGS=$LDFLAGS 103200ca1914Smrg echo "_main" > conftest.sym 103300ca1914Smrg LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 103400ca1914Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 103500ca1914Smrg [lt_cv_ld_exported_symbols_list=yes], 103600ca1914Smrg [lt_cv_ld_exported_symbols_list=no]) 103700ca1914Smrg LDFLAGS=$save_LDFLAGS 103800ca1914Smrg ]) 103900ca1914Smrg 104000ca1914Smrg AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 104100ca1914Smrg [lt_cv_ld_force_load=no 104200ca1914Smrg cat > conftest.c << _LT_EOF 104300ca1914Smrgint forced_loaded() { return 2;} 104400ca1914Smrg_LT_EOF 104500ca1914Smrg echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 104600ca1914Smrg $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 104700ca1914Smrg echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 104800ca1914Smrg $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 104900ca1914Smrg echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 105000ca1914Smrg $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 105100ca1914Smrg cat > conftest.c << _LT_EOF 105200ca1914Smrgint main() { return 0;} 105300ca1914Smrg_LT_EOF 105400ca1914Smrg echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 105500ca1914Smrg $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 105600ca1914Smrg _lt_result=$? 105700ca1914Smrg if test -s conftest.err && $GREP force_load conftest.err; then 105800ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 105900ca1914Smrg elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 106000ca1914Smrg lt_cv_ld_force_load=yes 106100ca1914Smrg else 106200ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 106300ca1914Smrg fi 106400ca1914Smrg rm -f conftest.err libconftest.a conftest conftest.c 106500ca1914Smrg rm -rf conftest.dSYM 106600ca1914Smrg ]) 106700ca1914Smrg case $host_os in 106800ca1914Smrg rhapsody* | darwin1.[[012]]) 106900ca1914Smrg _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; 107000ca1914Smrg darwin1.*) 107100ca1914Smrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 107200ca1914Smrg darwin*) 107300ca1914Smrg case $MACOSX_DEPLOYMENT_TARGET,$host in 107400ca1914Smrg 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) 107500ca1914Smrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 107600ca1914Smrg *) 107700ca1914Smrg _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 107800ca1914Smrg esac 107900ca1914Smrg ;; 108000ca1914Smrg esac 108100ca1914Smrg if test yes = "$lt_cv_apple_cc_single_mod"; then 108200ca1914Smrg _lt_dar_single_mod='$single_module' 108300ca1914Smrg fi 108400ca1914Smrg if test yes = "$lt_cv_ld_exported_symbols_list"; then 108500ca1914Smrg _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 108600ca1914Smrg else 108700ca1914Smrg _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 108800ca1914Smrg fi 108900ca1914Smrg if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 109000ca1914Smrg _lt_dsymutil='~$DSYMUTIL $lib || :' 109100ca1914Smrg else 109200ca1914Smrg _lt_dsymutil= 109300ca1914Smrg fi 109400ca1914Smrg ;; 109500ca1914Smrg esac 109600ca1914Smrg]) 109700ca1914Smrg 109800ca1914Smrg 109900ca1914Smrg# _LT_DARWIN_LINKER_FEATURES([TAG]) 110000ca1914Smrg# --------------------------------- 110100ca1914Smrg# Checks for linker and compiler features on darwin 110200ca1914Smrgm4_defun([_LT_DARWIN_LINKER_FEATURES], 110300ca1914Smrg[ 110400ca1914Smrg m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 110500ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 110600ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 110700ca1914Smrg _LT_TAGVAR(hardcode_automatic, $1)=yes 110800ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 110900ca1914Smrg if test yes = "$lt_cv_ld_force_load"; then 111000ca1914Smrg _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\"`' 111100ca1914Smrg m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 111200ca1914Smrg [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 111300ca1914Smrg else 111400ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='' 111500ca1914Smrg fi 111600ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 111700ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined 111800ca1914Smrg case $cc_basename in 111900ca1914Smrg ifort*|nagfor*) _lt_dar_can_shared=yes ;; 112000ca1914Smrg *) _lt_dar_can_shared=$GCC ;; 112100ca1914Smrg esac 112200ca1914Smrg if test yes = "$_lt_dar_can_shared"; then 112300ca1914Smrg output_verbose_link_cmd=func_echo_all 112400ca1914Smrg _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" 112500ca1914Smrg _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" 112600ca1914Smrg _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" 112700ca1914Smrg _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" 112800ca1914Smrg m4_if([$1], [CXX], 112900ca1914Smrg[ if test yes != "$lt_cv_apple_cc_single_mod"; then 113000ca1914Smrg _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" 113100ca1914Smrg _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" 113200ca1914Smrg fi 113300ca1914Smrg],[]) 113400ca1914Smrg else 113500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 113600ca1914Smrg fi 113700ca1914Smrg]) 113800ca1914Smrg 113900ca1914Smrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 114000ca1914Smrg# ---------------------------------- 114100ca1914Smrg# Links a minimal program and checks the executable 114200ca1914Smrg# for the system default hardcoded library path. In most cases, 114300ca1914Smrg# this is /usr/lib:/lib, but when the MPI compilers are used 114400ca1914Smrg# the location of the communication and MPI libs are included too. 114500ca1914Smrg# If we don't find anything, use the default library path according 114600ca1914Smrg# to the aix ld manual. 114700ca1914Smrg# Store the results from the different compilers for each TAGNAME. 114800ca1914Smrg# Allow to override them for all tags through lt_cv_aix_libpath. 114900ca1914Smrgm4_defun([_LT_SYS_MODULE_PATH_AIX], 115000ca1914Smrg[m4_require([_LT_DECL_SED])dnl 115100ca1914Smrgif test set = "${lt_cv_aix_libpath+set}"; then 115200ca1914Smrg aix_libpath=$lt_cv_aix_libpath 115300ca1914Smrgelse 115400ca1914Smrg AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 115500ca1914Smrg [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 115600ca1914Smrg lt_aix_libpath_sed='[ 115700ca1914Smrg /Import File Strings/,/^$/ { 115800ca1914Smrg /^0/ { 115900ca1914Smrg s/^0 *\([^ ]*\) *$/\1/ 116000ca1914Smrg p 116100ca1914Smrg } 116200ca1914Smrg }]' 116300ca1914Smrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 116400ca1914Smrg # Check for a 64-bit object if we didn't find anything. 116500ca1914Smrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 116600ca1914Smrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 116700ca1914Smrg fi],[]) 116800ca1914Smrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 116900ca1914Smrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib 117000ca1914Smrg fi 117100ca1914Smrg ]) 117200ca1914Smrg aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 117300ca1914Smrgfi 117400ca1914Smrg])# _LT_SYS_MODULE_PATH_AIX 117500ca1914Smrg 117600ca1914Smrg 117700ca1914Smrg# _LT_SHELL_INIT(ARG) 117800ca1914Smrg# ------------------- 117900ca1914Smrgm4_define([_LT_SHELL_INIT], 118000ca1914Smrg[m4_divert_text([M4SH-INIT], [$1 118100ca1914Smrg])])# _LT_SHELL_INIT 118200ca1914Smrg 118300ca1914Smrg 118400ca1914Smrg 118500ca1914Smrg# _LT_PROG_ECHO_BACKSLASH 118600ca1914Smrg# ----------------------- 118700ca1914Smrg# Find how we can fake an echo command that does not interpret backslash. 118800ca1914Smrg# In particular, with Autoconf 2.60 or later we add some code to the start 118900ca1914Smrg# of the generated configure script that will find a shell with a builtin 119000ca1914Smrg# printf (that we can use as an echo command). 119100ca1914Smrgm4_defun([_LT_PROG_ECHO_BACKSLASH], 119200ca1914Smrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 119300ca1914SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 119400ca1914SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 119500ca1914Smrg 119600ca1914SmrgAC_MSG_CHECKING([how to print strings]) 119700ca1914Smrg# Test print first, because it will be a builtin if present. 119800ca1914Smrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 119900ca1914Smrg test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 120000ca1914Smrg ECHO='print -r --' 120100ca1914Smrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 120200ca1914Smrg ECHO='printf %s\n' 120300ca1914Smrgelse 120400ca1914Smrg # Use this function as a fallback that always works. 120500ca1914Smrg func_fallback_echo () 120600ca1914Smrg { 120700ca1914Smrg eval 'cat <<_LTECHO_EOF 120800ca1914Smrg$[]1 120900ca1914Smrg_LTECHO_EOF' 121000ca1914Smrg } 121100ca1914Smrg ECHO='func_fallback_echo' 121200ca1914Smrgfi 121300ca1914Smrg 121400ca1914Smrg# func_echo_all arg... 121500ca1914Smrg# Invoke $ECHO with all args, space-separated. 121600ca1914Smrgfunc_echo_all () 121700ca1914Smrg{ 121800ca1914Smrg $ECHO "$*" 121900ca1914Smrg} 122000ca1914Smrg 122100ca1914Smrgcase $ECHO in 122200ca1914Smrg printf*) AC_MSG_RESULT([printf]) ;; 122300ca1914Smrg print*) AC_MSG_RESULT([print -r]) ;; 122400ca1914Smrg *) AC_MSG_RESULT([cat]) ;; 122500ca1914Smrgesac 122600ca1914Smrg 122700ca1914Smrgm4_ifdef([_AS_DETECT_SUGGESTED], 122800ca1914Smrg[_AS_DETECT_SUGGESTED([ 122900ca1914Smrg test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 123000ca1914Smrg ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 123100ca1914Smrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 123200ca1914Smrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 123300ca1914Smrg PATH=/empty FPATH=/empty; export PATH FPATH 123400ca1914Smrg test "X`printf %s $ECHO`" = "X$ECHO" \ 123500ca1914Smrg || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 123600ca1914Smrg 123700ca1914Smrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 123800ca1914Smrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 123900ca1914Smrg])# _LT_PROG_ECHO_BACKSLASH 124000ca1914Smrg 124100ca1914Smrg 124200ca1914Smrg# _LT_WITH_SYSROOT 124300ca1914Smrg# ---------------- 124400ca1914SmrgAC_DEFUN([_LT_WITH_SYSROOT], 124500ca1914Smrg[m4_require([_LT_DECL_SED])dnl 124600ca1914SmrgAC_MSG_CHECKING([for sysroot]) 124700ca1914SmrgAC_ARG_WITH([sysroot], 124800ca1914Smrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], 124900ca1914Smrg [Search for dependent libraries within DIR (or the compiler's sysroot 125000ca1914Smrg if not specified).])], 125100ca1914Smrg[], [with_sysroot=no]) 125200ca1914Smrg 125300ca1914Smrgdnl lt_sysroot will always be passed unquoted. We quote it here 125400ca1914Smrgdnl in case the user passed a directory name. 125500ca1914Smrglt_sysroot= 125600ca1914Smrgcase $with_sysroot in #( 125700ca1914Smrg yes) 125800ca1914Smrg if test yes = "$GCC"; then 125900ca1914Smrg lt_sysroot=`$CC --print-sysroot 2>/dev/null` 126000ca1914Smrg fi 126100ca1914Smrg ;; #( 126200ca1914Smrg /*) 126300ca1914Smrg lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` 126400ca1914Smrg ;; #( 126500ca1914Smrg no|'') 126600ca1914Smrg ;; #( 126700ca1914Smrg *) 126800ca1914Smrg AC_MSG_RESULT([$with_sysroot]) 126900ca1914Smrg AC_MSG_ERROR([The sysroot must be an absolute path.]) 127000ca1914Smrg ;; 127100ca1914Smrgesac 127200ca1914Smrg 127300ca1914Smrg AC_MSG_RESULT([${lt_sysroot:-no}]) 127400ca1914Smrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 127500ca1914Smrg[dependent libraries, and where our libraries should be installed.])]) 127600ca1914Smrg 127700ca1914Smrg# _LT_ENABLE_LOCK 127800ca1914Smrg# --------------- 127900ca1914Smrgm4_defun([_LT_ENABLE_LOCK], 128000ca1914Smrg[AC_ARG_ENABLE([libtool-lock], 128100ca1914Smrg [AS_HELP_STRING([--disable-libtool-lock], 128200ca1914Smrg [avoid locking (might break parallel builds)])]) 128300ca1914Smrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes 128400ca1914Smrg 128500ca1914Smrg# Some flags need to be propagated to the compiler or linker for good 128600ca1914Smrg# libtool support. 128700ca1914Smrgcase $host in 128800ca1914Smrgia64-*-hpux*) 128900ca1914Smrg # Find out what ABI is being produced by ac_compile, and set mode 129000ca1914Smrg # options accordingly. 129100ca1914Smrg echo 'int i;' > conftest.$ac_ext 129200ca1914Smrg if AC_TRY_EVAL(ac_compile); then 129300ca1914Smrg case `$FILECMD conftest.$ac_objext` in 129400ca1914Smrg *ELF-32*) 129500ca1914Smrg HPUX_IA64_MODE=32 129600ca1914Smrg ;; 129700ca1914Smrg *ELF-64*) 129800ca1914Smrg HPUX_IA64_MODE=64 129900ca1914Smrg ;; 130000ca1914Smrg esac 130100ca1914Smrg fi 130200ca1914Smrg rm -rf conftest* 130300ca1914Smrg ;; 130400ca1914Smrg*-*-irix6*) 130500ca1914Smrg # Find out what ABI is being produced by ac_compile, and set linker 130600ca1914Smrg # options accordingly. 130700ca1914Smrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 130800ca1914Smrg if AC_TRY_EVAL(ac_compile); then 130900ca1914Smrg if test yes = "$lt_cv_prog_gnu_ld"; then 131000ca1914Smrg case `$FILECMD conftest.$ac_objext` in 131100ca1914Smrg *32-bit*) 131200ca1914Smrg LD="${LD-ld} -melf32bsmip" 131300ca1914Smrg ;; 131400ca1914Smrg *N32*) 131500ca1914Smrg LD="${LD-ld} -melf32bmipn32" 131600ca1914Smrg ;; 131700ca1914Smrg *64-bit*) 131800ca1914Smrg LD="${LD-ld} -melf64bmip" 131900ca1914Smrg ;; 132000ca1914Smrg esac 132100ca1914Smrg else 132200ca1914Smrg case `$FILECMD conftest.$ac_objext` in 132300ca1914Smrg *32-bit*) 132400ca1914Smrg LD="${LD-ld} -32" 132500ca1914Smrg ;; 132600ca1914Smrg *N32*) 132700ca1914Smrg LD="${LD-ld} -n32" 132800ca1914Smrg ;; 132900ca1914Smrg *64-bit*) 133000ca1914Smrg LD="${LD-ld} -64" 133100ca1914Smrg ;; 133200ca1914Smrg esac 133300ca1914Smrg fi 133400ca1914Smrg fi 133500ca1914Smrg rm -rf conftest* 133600ca1914Smrg ;; 133700ca1914Smrg 133800ca1914Smrgmips64*-*linux*) 133900ca1914Smrg # Find out what ABI is being produced by ac_compile, and set linker 134000ca1914Smrg # options accordingly. 134100ca1914Smrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 134200ca1914Smrg if AC_TRY_EVAL(ac_compile); then 134300ca1914Smrg emul=elf 134400ca1914Smrg case `$FILECMD conftest.$ac_objext` in 134500ca1914Smrg *32-bit*) 134600ca1914Smrg emul="${emul}32" 134700ca1914Smrg ;; 134800ca1914Smrg *64-bit*) 134900ca1914Smrg emul="${emul}64" 135000ca1914Smrg ;; 135100ca1914Smrg esac 135200ca1914Smrg case `$FILECMD conftest.$ac_objext` in 135300ca1914Smrg *MSB*) 135400ca1914Smrg emul="${emul}btsmip" 135500ca1914Smrg ;; 135600ca1914Smrg *LSB*) 135700ca1914Smrg emul="${emul}ltsmip" 135800ca1914Smrg ;; 135900ca1914Smrg esac 136000ca1914Smrg case `$FILECMD conftest.$ac_objext` in 136100ca1914Smrg *N32*) 136200ca1914Smrg emul="${emul}n32" 136300ca1914Smrg ;; 136400ca1914Smrg esac 136500ca1914Smrg LD="${LD-ld} -m $emul" 136600ca1914Smrg fi 136700ca1914Smrg rm -rf conftest* 136800ca1914Smrg ;; 136900ca1914Smrg 137000ca1914Smrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 137100ca1914Smrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*) 137200ca1914Smrg # Find out what ABI is being produced by ac_compile, and set linker 137300ca1914Smrg # options accordingly. Note that the listed cases only cover the 137400ca1914Smrg # situations where additional linker options are needed (such as when 137500ca1914Smrg # doing 32-bit compilation for a host where ld defaults to 64-bit, or 137600ca1914Smrg # vice versa); the common cases where no linker options are needed do 137700ca1914Smrg # not appear in the list. 137800ca1914Smrg echo 'int i;' > conftest.$ac_ext 137900ca1914Smrg if AC_TRY_EVAL(ac_compile); then 138000ca1914Smrg case `$FILECMD conftest.o` in 138100ca1914Smrg *32-bit*) 138200ca1914Smrg case $host in 138300ca1914Smrg x86_64-*kfreebsd*-gnu) 138400ca1914Smrg LD="${LD-ld} -m elf_i386_fbsd" 138500ca1914Smrg ;; 138600ca1914Smrg x86_64-*linux*) 138700ca1914Smrg case `$FILECMD conftest.o` in 138800ca1914Smrg *x86-64*) 138900ca1914Smrg LD="${LD-ld} -m elf32_x86_64" 139000ca1914Smrg ;; 139100ca1914Smrg *) 139200ca1914Smrg LD="${LD-ld} -m elf_i386" 139300ca1914Smrg ;; 139400ca1914Smrg esac 139500ca1914Smrg ;; 139600ca1914Smrg powerpc64le-*linux*) 139700ca1914Smrg LD="${LD-ld} -m elf32lppclinux" 139800ca1914Smrg ;; 139900ca1914Smrg powerpc64-*linux*) 140000ca1914Smrg LD="${LD-ld} -m elf32ppclinux" 140100ca1914Smrg ;; 140200ca1914Smrg s390x-*linux*) 140300ca1914Smrg LD="${LD-ld} -m elf_s390" 140400ca1914Smrg ;; 140500ca1914Smrg sparc64-*linux*) 140600ca1914Smrg LD="${LD-ld} -m elf32_sparc" 140700ca1914Smrg ;; 140800ca1914Smrg esac 140900ca1914Smrg ;; 141000ca1914Smrg *64-bit*) 141100ca1914Smrg case $host in 141200ca1914Smrg x86_64-*kfreebsd*-gnu) 141300ca1914Smrg LD="${LD-ld} -m elf_x86_64_fbsd" 141400ca1914Smrg ;; 141500ca1914Smrg x86_64-*linux*) 141600ca1914Smrg LD="${LD-ld} -m elf_x86_64" 141700ca1914Smrg ;; 141800ca1914Smrg powerpcle-*linux*) 141900ca1914Smrg LD="${LD-ld} -m elf64lppc" 142000ca1914Smrg ;; 142100ca1914Smrg powerpc-*linux*) 142200ca1914Smrg LD="${LD-ld} -m elf64ppc" 142300ca1914Smrg ;; 142400ca1914Smrg s390*-*linux*|s390*-*tpf*) 142500ca1914Smrg LD="${LD-ld} -m elf64_s390" 142600ca1914Smrg ;; 142700ca1914Smrg sparc*-*linux*) 142800ca1914Smrg LD="${LD-ld} -m elf64_sparc" 142900ca1914Smrg ;; 143000ca1914Smrg esac 143100ca1914Smrg ;; 143200ca1914Smrg esac 143300ca1914Smrg fi 143400ca1914Smrg rm -rf conftest* 143500ca1914Smrg ;; 143600ca1914Smrg 143700ca1914Smrg*-*-sco3.2v5*) 143800ca1914Smrg # On SCO OpenServer 5, we need -belf to get full-featured binaries. 143900ca1914Smrg SAVE_CFLAGS=$CFLAGS 144000ca1914Smrg CFLAGS="$CFLAGS -belf" 144100ca1914Smrg AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 144200ca1914Smrg [AC_LANG_PUSH(C) 144300ca1914Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 144400ca1914Smrg AC_LANG_POP]) 144500ca1914Smrg if test yes != "$lt_cv_cc_needs_belf"; then 144600ca1914Smrg # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 144700ca1914Smrg CFLAGS=$SAVE_CFLAGS 144800ca1914Smrg fi 144900ca1914Smrg ;; 145000ca1914Smrg*-*solaris*) 145100ca1914Smrg # Find out what ABI is being produced by ac_compile, and set linker 145200ca1914Smrg # options accordingly. 145300ca1914Smrg echo 'int i;' > conftest.$ac_ext 145400ca1914Smrg if AC_TRY_EVAL(ac_compile); then 145500ca1914Smrg case `$FILECMD conftest.o` in 145600ca1914Smrg *64-bit*) 145700ca1914Smrg case $lt_cv_prog_gnu_ld in 145800ca1914Smrg yes*) 145900ca1914Smrg case $host in 146000ca1914Smrg i?86-*-solaris*|x86_64-*-solaris*) 146100ca1914Smrg LD="${LD-ld} -m elf_x86_64" 146200ca1914Smrg ;; 146300ca1914Smrg sparc*-*-solaris*) 146400ca1914Smrg LD="${LD-ld} -m elf64_sparc" 146500ca1914Smrg ;; 146600ca1914Smrg esac 146700ca1914Smrg # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 146800ca1914Smrg if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 146900ca1914Smrg LD=${LD-ld}_sol2 147000ca1914Smrg fi 147100ca1914Smrg ;; 147200ca1914Smrg *) 147300ca1914Smrg if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 147400ca1914Smrg LD="${LD-ld} -64" 147500ca1914Smrg fi 147600ca1914Smrg ;; 147700ca1914Smrg esac 147800ca1914Smrg ;; 147900ca1914Smrg esac 148000ca1914Smrg fi 148100ca1914Smrg rm -rf conftest* 148200ca1914Smrg ;; 148300ca1914Smrgesac 148400ca1914Smrg 148500ca1914Smrgneed_locks=$enable_libtool_lock 148600ca1914Smrg])# _LT_ENABLE_LOCK 148700ca1914Smrg 148800ca1914Smrg 148900ca1914Smrg# _LT_PROG_AR 149000ca1914Smrg# ----------- 149100ca1914Smrgm4_defun([_LT_PROG_AR], 149200ca1914Smrg[AC_CHECK_TOOLS(AR, [ar], false) 149300ca1914Smrg: ${AR=ar} 149400ca1914Smrg_LT_DECL([], [AR], [1], [The archiver]) 149500ca1914Smrg 149600ca1914Smrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with 149700ca1914Smrg# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have 149800ca1914Smrg# higher priority because thats what people were doing historically (setting 149900ca1914Smrg# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS 150000ca1914Smrg# variable obsoleted/removed. 150100ca1914Smrg 150200ca1914Smrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} 150300ca1914Smrglt_ar_flags=$AR_FLAGS 150400ca1914Smrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) 150500ca1914Smrg 150600ca1914Smrg# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override 150700ca1914Smrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die. 150800ca1914Smrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], 150900ca1914Smrg [Flags to create an archive]) 151000ca1914Smrg 151100ca1914SmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 151200ca1914Smrg [lt_cv_ar_at_file=no 151300ca1914Smrg AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 151400ca1914Smrg [echo conftest.$ac_objext > conftest.lst 151500ca1914Smrg lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 151600ca1914Smrg AC_TRY_EVAL([lt_ar_try]) 151700ca1914Smrg if test 0 -eq "$ac_status"; then 151800ca1914Smrg # Ensure the archiver fails upon bogus file names. 151900ca1914Smrg rm -f conftest.$ac_objext libconftest.a 152000ca1914Smrg AC_TRY_EVAL([lt_ar_try]) 152100ca1914Smrg if test 0 -ne "$ac_status"; then 152200ca1914Smrg lt_cv_ar_at_file=@ 152300ca1914Smrg fi 152400ca1914Smrg fi 152500ca1914Smrg rm -f conftest.* libconftest.a 152600ca1914Smrg ]) 152700ca1914Smrg ]) 152800ca1914Smrg 152900ca1914Smrgif test no = "$lt_cv_ar_at_file"; then 153000ca1914Smrg archiver_list_spec= 153100ca1914Smrgelse 153200ca1914Smrg archiver_list_spec=$lt_cv_ar_at_file 153300ca1914Smrgfi 153400ca1914Smrg_LT_DECL([], [archiver_list_spec], [1], 153500ca1914Smrg [How to feed a file listing to the archiver]) 153600ca1914Smrg])# _LT_PROG_AR 153700ca1914Smrg 153800ca1914Smrg 153900ca1914Smrg# _LT_CMD_OLD_ARCHIVE 154000ca1914Smrg# ------------------- 154100ca1914Smrgm4_defun([_LT_CMD_OLD_ARCHIVE], 154200ca1914Smrg[_LT_PROG_AR 154300ca1914Smrg 154400ca1914SmrgAC_CHECK_TOOL(STRIP, strip, :) 154500ca1914Smrgtest -z "$STRIP" && STRIP=: 154600ca1914Smrg_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 154700ca1914Smrg 154800ca1914SmrgAC_CHECK_TOOL(RANLIB, ranlib, :) 154900ca1914Smrgtest -z "$RANLIB" && RANLIB=: 155000ca1914Smrg_LT_DECL([], [RANLIB], [1], 155100ca1914Smrg [Commands used to install an old-style archive]) 155200ca1914Smrg 155300ca1914Smrg# Determine commands to create old-style static archives. 155400ca1914Smrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 155500ca1914Smrgold_postinstall_cmds='chmod 644 $oldlib' 155600ca1914Smrgold_postuninstall_cmds= 155700ca1914Smrg 155800ca1914Smrgif test -n "$RANLIB"; then 155900ca1914Smrg case $host_os in 156000ca1914Smrg bitrig* | openbsd*) 156100ca1914Smrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" 156200ca1914Smrg ;; 156300ca1914Smrg *) 156400ca1914Smrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 156500ca1914Smrg ;; 156600ca1914Smrg esac 156700ca1914Smrg old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 156800ca1914Smrgfi 156900ca1914Smrg 157000ca1914Smrgcase $host_os in 157100ca1914Smrg darwin*) 157200ca1914Smrg lock_old_archive_extraction=yes ;; 157300ca1914Smrg *) 157400ca1914Smrg lock_old_archive_extraction=no ;; 157500ca1914Smrgesac 157600ca1914Smrg_LT_DECL([], [old_postinstall_cmds], [2]) 157700ca1914Smrg_LT_DECL([], [old_postuninstall_cmds], [2]) 157800ca1914Smrg_LT_TAGDECL([], [old_archive_cmds], [2], 157900ca1914Smrg [Commands used to build an old-style archive]) 158000ca1914Smrg_LT_DECL([], [lock_old_archive_extraction], [0], 158100ca1914Smrg [Whether to use a lock for old archive extraction]) 158200ca1914Smrg])# _LT_CMD_OLD_ARCHIVE 158300ca1914Smrg 158400ca1914Smrg 158500ca1914Smrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 158600ca1914Smrg# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 158700ca1914Smrg# ---------------------------------------------------------------- 158800ca1914Smrg# Check whether the given compiler option works 158900ca1914SmrgAC_DEFUN([_LT_COMPILER_OPTION], 159000ca1914Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 159100ca1914Smrgm4_require([_LT_DECL_SED])dnl 159200ca1914SmrgAC_CACHE_CHECK([$1], [$2], 159300ca1914Smrg [$2=no 159400ca1914Smrg m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 159500ca1914Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 159600ca1914Smrg lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment 159700ca1914Smrg # Insert the option either (1) after the last *FLAGS variable, or 159800ca1914Smrg # (2) before a word containing "conftest.", or (3) at the end. 159900ca1914Smrg # Note that $ac_compile itself does not contain backslashes and begins 160000ca1914Smrg # with a dollar sign (not a hyphen), so the echo should work correctly. 160100ca1914Smrg # The option is referenced via a variable to avoid confusing sed. 160200ca1914Smrg lt_compile=`echo "$ac_compile" | $SED \ 160300ca1914Smrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 160400ca1914Smrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 160500ca1914Smrg -e 's:$: $lt_compiler_flag:'` 160600ca1914Smrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 160700ca1914Smrg (eval "$lt_compile" 2>conftest.err) 160800ca1914Smrg ac_status=$? 160900ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 161000ca1914Smrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 161100ca1914Smrg if (exit $ac_status) && test -s "$ac_outfile"; then 161200ca1914Smrg # The compiler can only warn and ignore the option if not recognized 161300ca1914Smrg # So say no if there are warnings other than the usual output. 161400ca1914Smrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 161500ca1914Smrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 161600ca1914Smrg if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 161700ca1914Smrg $2=yes 161800ca1914Smrg fi 161900ca1914Smrg fi 162000ca1914Smrg $RM conftest* 162100ca1914Smrg]) 162200ca1914Smrg 162300ca1914Smrgif test yes = "[$]$2"; then 162400ca1914Smrg m4_if([$5], , :, [$5]) 162500ca1914Smrgelse 162600ca1914Smrg m4_if([$6], , :, [$6]) 162700ca1914Smrgfi 162800ca1914Smrg])# _LT_COMPILER_OPTION 162900ca1914Smrg 163000ca1914Smrg# Old name: 163100ca1914SmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 163200ca1914Smrgdnl aclocal-1.4 backwards compatibility: 163300ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 163400ca1914Smrg 163500ca1914Smrg 163600ca1914Smrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 163700ca1914Smrg# [ACTION-SUCCESS], [ACTION-FAILURE]) 163800ca1914Smrg# ---------------------------------------------------- 163900ca1914Smrg# Check whether the given linker option works 164000ca1914SmrgAC_DEFUN([_LT_LINKER_OPTION], 164100ca1914Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 164200ca1914Smrgm4_require([_LT_DECL_SED])dnl 164300ca1914SmrgAC_CACHE_CHECK([$1], [$2], 164400ca1914Smrg [$2=no 164500ca1914Smrg save_LDFLAGS=$LDFLAGS 164600ca1914Smrg LDFLAGS="$LDFLAGS $3" 164700ca1914Smrg echo "$lt_simple_link_test_code" > conftest.$ac_ext 164800ca1914Smrg if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 164900ca1914Smrg # The linker can only warn and ignore the option if not recognized 165000ca1914Smrg # So say no if there are warnings 165100ca1914Smrg if test -s conftest.err; then 165200ca1914Smrg # Append any errors to the config.log. 165300ca1914Smrg cat conftest.err 1>&AS_MESSAGE_LOG_FD 165400ca1914Smrg $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 165500ca1914Smrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 165600ca1914Smrg if diff conftest.exp conftest.er2 >/dev/null; then 165700ca1914Smrg $2=yes 165800ca1914Smrg fi 165900ca1914Smrg else 166000ca1914Smrg $2=yes 166100ca1914Smrg fi 166200ca1914Smrg fi 166300ca1914Smrg $RM -r conftest* 166400ca1914Smrg LDFLAGS=$save_LDFLAGS 166500ca1914Smrg]) 166600ca1914Smrg 166700ca1914Smrgif test yes = "[$]$2"; then 166800ca1914Smrg m4_if([$4], , :, [$4]) 166900ca1914Smrgelse 167000ca1914Smrg m4_if([$5], , :, [$5]) 167100ca1914Smrgfi 167200ca1914Smrg])# _LT_LINKER_OPTION 167300ca1914Smrg 167400ca1914Smrg# Old name: 167500ca1914SmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 167600ca1914Smrgdnl aclocal-1.4 backwards compatibility: 167700ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 167800ca1914Smrg 167900ca1914Smrg 168000ca1914Smrg# LT_CMD_MAX_LEN 168100ca1914Smrg#--------------- 168200ca1914SmrgAC_DEFUN([LT_CMD_MAX_LEN], 168300ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 168400ca1914Smrg# find the maximum length of command line arguments 168500ca1914SmrgAC_MSG_CHECKING([the maximum length of command line arguments]) 168600ca1914SmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 168700ca1914Smrg i=0 168800ca1914Smrg teststring=ABCD 168900ca1914Smrg 169000ca1914Smrg case $build_os in 169100ca1914Smrg msdosdjgpp*) 169200ca1914Smrg # On DJGPP, this test can blow up pretty badly due to problems in libc 169300ca1914Smrg # (any single argument exceeding 2000 bytes causes a buffer overrun 169400ca1914Smrg # during glob expansion). Even if it were fixed, the result of this 169500ca1914Smrg # check would be larger than it should be. 169600ca1914Smrg lt_cv_sys_max_cmd_len=12288; # 12K is about right 169700ca1914Smrg ;; 169800ca1914Smrg 169900ca1914Smrg gnu*) 170000ca1914Smrg # Under GNU Hurd, this test is not required because there is 170100ca1914Smrg # no limit to the length of command line arguments. 170200ca1914Smrg # Libtool will interpret -1 as no limit whatsoever 170300ca1914Smrg lt_cv_sys_max_cmd_len=-1; 170400ca1914Smrg ;; 170500ca1914Smrg 170600ca1914Smrg cygwin* | mingw* | cegcc*) 170700ca1914Smrg # On Win9x/ME, this test blows up -- it succeeds, but takes 170800ca1914Smrg # about 5 minutes as the teststring grows exponentially. 170900ca1914Smrg # Worse, since 9x/ME are not pre-emptively multitasking, 171000ca1914Smrg # you end up with a "frozen" computer, even though with patience 171100ca1914Smrg # the test eventually succeeds (with a max line length of 256k). 171200ca1914Smrg # Instead, let's just punt: use the minimum linelength reported by 171300ca1914Smrg # all of the supported platforms: 8192 (on NT/2K/XP). 171400ca1914Smrg lt_cv_sys_max_cmd_len=8192; 171500ca1914Smrg ;; 171600ca1914Smrg 171700ca1914Smrg mint*) 171800ca1914Smrg # On MiNT this can take a long time and run out of memory. 171900ca1914Smrg lt_cv_sys_max_cmd_len=8192; 172000ca1914Smrg ;; 172100ca1914Smrg 172200ca1914Smrg amigaos*) 172300ca1914Smrg # On AmigaOS with pdksh, this test takes hours, literally. 172400ca1914Smrg # So we just punt and use a minimum line length of 8192. 172500ca1914Smrg lt_cv_sys_max_cmd_len=8192; 172600ca1914Smrg ;; 172700ca1914Smrg 172800ca1914Smrg bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) 172900ca1914Smrg # This has been around since 386BSD, at least. Likely further. 173000ca1914Smrg if test -x /sbin/sysctl; then 173100ca1914Smrg lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 173200ca1914Smrg elif test -x /usr/sbin/sysctl; then 173300ca1914Smrg lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 173400ca1914Smrg else 173500ca1914Smrg lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 173600ca1914Smrg fi 173700ca1914Smrg # And add a safety zone 173800ca1914Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 173900ca1914Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 174000ca1914Smrg ;; 174100ca1914Smrg 174200ca1914Smrg interix*) 174300ca1914Smrg # We know the value 262144 and hardcode it with a safety zone (like BSD) 174400ca1914Smrg lt_cv_sys_max_cmd_len=196608 174500ca1914Smrg ;; 174600ca1914Smrg 174700ca1914Smrg os2*) 174800ca1914Smrg # The test takes a long time on OS/2. 174900ca1914Smrg lt_cv_sys_max_cmd_len=8192 175000ca1914Smrg ;; 175100ca1914Smrg 175200ca1914Smrg osf*) 175300ca1914Smrg # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 175400ca1914Smrg # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 175500ca1914Smrg # nice to cause kernel panics so lets avoid the loop below. 175600ca1914Smrg # First set a reasonable default. 175700ca1914Smrg lt_cv_sys_max_cmd_len=16384 175800ca1914Smrg # 175900ca1914Smrg if test -x /sbin/sysconfig; then 176000ca1914Smrg case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 176100ca1914Smrg *1*) lt_cv_sys_max_cmd_len=-1 ;; 176200ca1914Smrg esac 176300ca1914Smrg fi 176400ca1914Smrg ;; 176500ca1914Smrg sco3.2v5*) 176600ca1914Smrg lt_cv_sys_max_cmd_len=102400 176700ca1914Smrg ;; 176800ca1914Smrg sysv5* | sco5v6* | sysv4.2uw2*) 176900ca1914Smrg kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 177000ca1914Smrg if test -n "$kargmax"; then 177100ca1914Smrg lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` 177200ca1914Smrg else 177300ca1914Smrg lt_cv_sys_max_cmd_len=32768 177400ca1914Smrg fi 177500ca1914Smrg ;; 177600ca1914Smrg *) 177700ca1914Smrg lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 177800ca1914Smrg if test -n "$lt_cv_sys_max_cmd_len" && \ 177900ca1914Smrg test undefined != "$lt_cv_sys_max_cmd_len"; then 178000ca1914Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 178100ca1914Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 178200ca1914Smrg else 178300ca1914Smrg # Make teststring a little bigger before we do anything with it. 178400ca1914Smrg # a 1K string should be a reasonable start. 178500ca1914Smrg for i in 1 2 3 4 5 6 7 8; do 178600ca1914Smrg teststring=$teststring$teststring 178700ca1914Smrg done 178800ca1914Smrg SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 178900ca1914Smrg # If test is not a shell built-in, we'll probably end up computing a 179000ca1914Smrg # maximum length that is only half of the actual maximum length, but 179100ca1914Smrg # we can't tell. 179200ca1914Smrg while { test X`env echo "$teststring$teststring" 2>/dev/null` \ 179300ca1914Smrg = "X$teststring$teststring"; } >/dev/null 2>&1 && 179400ca1914Smrg test 17 != "$i" # 1/2 MB should be enough 179500ca1914Smrg do 179600ca1914Smrg i=`expr $i + 1` 179700ca1914Smrg teststring=$teststring$teststring 179800ca1914Smrg done 179900ca1914Smrg # Only check the string length outside the loop. 180000ca1914Smrg lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 180100ca1914Smrg teststring= 180200ca1914Smrg # Add a significant safety factor because C++ compilers can tack on 180300ca1914Smrg # massive amounts of additional arguments before passing them to the 180400ca1914Smrg # linker. It appears as though 1/2 is a usable value. 180500ca1914Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 180600ca1914Smrg fi 180700ca1914Smrg ;; 180800ca1914Smrg esac 180900ca1914Smrg]) 181000ca1914Smrgif test -n "$lt_cv_sys_max_cmd_len"; then 181100ca1914Smrg AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 181200ca1914Smrgelse 181300ca1914Smrg AC_MSG_RESULT(none) 181400ca1914Smrgfi 181500ca1914Smrgmax_cmd_len=$lt_cv_sys_max_cmd_len 181600ca1914Smrg_LT_DECL([], [max_cmd_len], [0], 181700ca1914Smrg [What is the maximum length of a command?]) 181800ca1914Smrg])# LT_CMD_MAX_LEN 181900ca1914Smrg 182000ca1914Smrg# Old name: 182100ca1914SmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 182200ca1914Smrgdnl aclocal-1.4 backwards compatibility: 182300ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 182400ca1914Smrg 182500ca1914Smrg 182600ca1914Smrg# _LT_HEADER_DLFCN 182700ca1914Smrg# ---------------- 182800ca1914Smrgm4_defun([_LT_HEADER_DLFCN], 182900ca1914Smrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 183000ca1914Smrg])# _LT_HEADER_DLFCN 183100ca1914Smrg 183200ca1914Smrg 183300ca1914Smrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 183400ca1914Smrg# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 183500ca1914Smrg# ---------------------------------------------------------------- 183600ca1914Smrgm4_defun([_LT_TRY_DLOPEN_SELF], 183700ca1914Smrg[m4_require([_LT_HEADER_DLFCN])dnl 183800ca1914Smrgif test yes = "$cross_compiling"; then : 183900ca1914Smrg [$4] 184000ca1914Smrgelse 184100ca1914Smrg lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 184200ca1914Smrg lt_status=$lt_dlunknown 184300ca1914Smrg cat > conftest.$ac_ext <<_LT_EOF 184400ca1914Smrg[#line $LINENO "configure" 184500ca1914Smrg#include "confdefs.h" 184600ca1914Smrg 184700ca1914Smrg#if HAVE_DLFCN_H 184800ca1914Smrg#include <dlfcn.h> 184900ca1914Smrg#endif 185000ca1914Smrg 185100ca1914Smrg#include <stdio.h> 185200ca1914Smrg 185300ca1914Smrg#ifdef RTLD_GLOBAL 185400ca1914Smrg# define LT_DLGLOBAL RTLD_GLOBAL 185500ca1914Smrg#else 185600ca1914Smrg# ifdef DL_GLOBAL 185700ca1914Smrg# define LT_DLGLOBAL DL_GLOBAL 185800ca1914Smrg# else 185900ca1914Smrg# define LT_DLGLOBAL 0 186000ca1914Smrg# endif 186100ca1914Smrg#endif 186200ca1914Smrg 186300ca1914Smrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 186400ca1914Smrg find out it does not work in some platform. */ 186500ca1914Smrg#ifndef LT_DLLAZY_OR_NOW 186600ca1914Smrg# ifdef RTLD_LAZY 186700ca1914Smrg# define LT_DLLAZY_OR_NOW RTLD_LAZY 186800ca1914Smrg# else 186900ca1914Smrg# ifdef DL_LAZY 187000ca1914Smrg# define LT_DLLAZY_OR_NOW DL_LAZY 187100ca1914Smrg# else 187200ca1914Smrg# ifdef RTLD_NOW 187300ca1914Smrg# define LT_DLLAZY_OR_NOW RTLD_NOW 187400ca1914Smrg# else 187500ca1914Smrg# ifdef DL_NOW 187600ca1914Smrg# define LT_DLLAZY_OR_NOW DL_NOW 187700ca1914Smrg# else 187800ca1914Smrg# define LT_DLLAZY_OR_NOW 0 187900ca1914Smrg# endif 188000ca1914Smrg# endif 188100ca1914Smrg# endif 188200ca1914Smrg# endif 188300ca1914Smrg#endif 188400ca1914Smrg 188500ca1914Smrg/* When -fvisibility=hidden is used, assume the code has been annotated 188600ca1914Smrg correspondingly for the symbols needed. */ 188700ca1914Smrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 188800ca1914Smrgint fnord () __attribute__((visibility("default"))); 188900ca1914Smrg#endif 189000ca1914Smrg 189100ca1914Smrgint fnord () { return 42; } 189200ca1914Smrgint main () 189300ca1914Smrg{ 189400ca1914Smrg void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 189500ca1914Smrg int status = $lt_dlunknown; 189600ca1914Smrg 189700ca1914Smrg if (self) 189800ca1914Smrg { 189900ca1914Smrg if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 190000ca1914Smrg else 190100ca1914Smrg { 190200ca1914Smrg if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 190300ca1914Smrg else puts (dlerror ()); 190400ca1914Smrg } 190500ca1914Smrg /* dlclose (self); */ 190600ca1914Smrg } 190700ca1914Smrg else 190800ca1914Smrg puts (dlerror ()); 190900ca1914Smrg 191000ca1914Smrg return status; 191100ca1914Smrg}] 191200ca1914Smrg_LT_EOF 191300ca1914Smrg if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then 191400ca1914Smrg (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 191500ca1914Smrg lt_status=$? 191600ca1914Smrg case x$lt_status in 191700ca1914Smrg x$lt_dlno_uscore) $1 ;; 191800ca1914Smrg x$lt_dlneed_uscore) $2 ;; 191900ca1914Smrg x$lt_dlunknown|x*) $3 ;; 192000ca1914Smrg esac 192100ca1914Smrg else : 192200ca1914Smrg # compilation failed 192300ca1914Smrg $3 192400ca1914Smrg fi 192500ca1914Smrgfi 192600ca1914Smrgrm -fr conftest* 192700ca1914Smrg])# _LT_TRY_DLOPEN_SELF 192800ca1914Smrg 192900ca1914Smrg 193000ca1914Smrg# LT_SYS_DLOPEN_SELF 193100ca1914Smrg# ------------------ 193200ca1914SmrgAC_DEFUN([LT_SYS_DLOPEN_SELF], 193300ca1914Smrg[m4_require([_LT_HEADER_DLFCN])dnl 193400ca1914Smrgif test yes != "$enable_dlopen"; then 193500ca1914Smrg enable_dlopen=unknown 193600ca1914Smrg enable_dlopen_self=unknown 193700ca1914Smrg enable_dlopen_self_static=unknown 193800ca1914Smrgelse 193900ca1914Smrg lt_cv_dlopen=no 194000ca1914Smrg lt_cv_dlopen_libs= 194100ca1914Smrg 194200ca1914Smrg case $host_os in 194300ca1914Smrg beos*) 194400ca1914Smrg lt_cv_dlopen=load_add_on 194500ca1914Smrg lt_cv_dlopen_libs= 194600ca1914Smrg lt_cv_dlopen_self=yes 194700ca1914Smrg ;; 194800ca1914Smrg 194900ca1914Smrg mingw* | pw32* | cegcc*) 195000ca1914Smrg lt_cv_dlopen=LoadLibrary 195100ca1914Smrg lt_cv_dlopen_libs= 195200ca1914Smrg ;; 195300ca1914Smrg 195400ca1914Smrg cygwin*) 195500ca1914Smrg lt_cv_dlopen=dlopen 195600ca1914Smrg lt_cv_dlopen_libs= 195700ca1914Smrg ;; 195800ca1914Smrg 195900ca1914Smrg darwin*) 196000ca1914Smrg # if libdl is installed we need to link against it 196100ca1914Smrg AC_CHECK_LIB([dl], [dlopen], 196200ca1914Smrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ 196300ca1914Smrg lt_cv_dlopen=dyld 196400ca1914Smrg lt_cv_dlopen_libs= 196500ca1914Smrg lt_cv_dlopen_self=yes 196600ca1914Smrg ]) 196700ca1914Smrg ;; 196800ca1914Smrg 196900ca1914Smrg tpf*) 197000ca1914Smrg # Don't try to run any link tests for TPF. We know it's impossible 197100ca1914Smrg # because TPF is a cross-compiler, and we know how we open DSOs. 197200ca1914Smrg lt_cv_dlopen=dlopen 197300ca1914Smrg lt_cv_dlopen_libs= 197400ca1914Smrg lt_cv_dlopen_self=no 197500ca1914Smrg ;; 197600ca1914Smrg 197700ca1914Smrg *) 197800ca1914Smrg AC_CHECK_FUNC([shl_load], 197900ca1914Smrg [lt_cv_dlopen=shl_load], 198000ca1914Smrg [AC_CHECK_LIB([dld], [shl_load], 198100ca1914Smrg [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], 198200ca1914Smrg [AC_CHECK_FUNC([dlopen], 198300ca1914Smrg [lt_cv_dlopen=dlopen], 198400ca1914Smrg [AC_CHECK_LIB([dl], [dlopen], 198500ca1914Smrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], 198600ca1914Smrg [AC_CHECK_LIB([svld], [dlopen], 198700ca1914Smrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], 198800ca1914Smrg [AC_CHECK_LIB([dld], [dld_link], 198900ca1914Smrg [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) 199000ca1914Smrg ]) 199100ca1914Smrg ]) 199200ca1914Smrg ]) 199300ca1914Smrg ]) 199400ca1914Smrg ]) 199500ca1914Smrg ;; 199600ca1914Smrg esac 199700ca1914Smrg 199800ca1914Smrg if test no = "$lt_cv_dlopen"; then 199900ca1914Smrg enable_dlopen=no 200000ca1914Smrg else 200100ca1914Smrg enable_dlopen=yes 200200ca1914Smrg fi 200300ca1914Smrg 200400ca1914Smrg case $lt_cv_dlopen in 200500ca1914Smrg dlopen) 200600ca1914Smrg save_CPPFLAGS=$CPPFLAGS 200700ca1914Smrg test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 200800ca1914Smrg 200900ca1914Smrg save_LDFLAGS=$LDFLAGS 201000ca1914Smrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 201100ca1914Smrg 201200ca1914Smrg save_LIBS=$LIBS 201300ca1914Smrg LIBS="$lt_cv_dlopen_libs $LIBS" 201400ca1914Smrg 201500ca1914Smrg AC_CACHE_CHECK([whether a program can dlopen itself], 201600ca1914Smrg lt_cv_dlopen_self, [dnl 201700ca1914Smrg _LT_TRY_DLOPEN_SELF( 201800ca1914Smrg lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 201900ca1914Smrg lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 202000ca1914Smrg ]) 202100ca1914Smrg 202200ca1914Smrg if test yes = "$lt_cv_dlopen_self"; then 202300ca1914Smrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 202400ca1914Smrg AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 202500ca1914Smrg lt_cv_dlopen_self_static, [dnl 202600ca1914Smrg _LT_TRY_DLOPEN_SELF( 202700ca1914Smrg lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 202800ca1914Smrg lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 202900ca1914Smrg ]) 203000ca1914Smrg fi 203100ca1914Smrg 203200ca1914Smrg CPPFLAGS=$save_CPPFLAGS 203300ca1914Smrg LDFLAGS=$save_LDFLAGS 203400ca1914Smrg LIBS=$save_LIBS 203500ca1914Smrg ;; 203600ca1914Smrg esac 203700ca1914Smrg 203800ca1914Smrg case $lt_cv_dlopen_self in 203900ca1914Smrg yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 204000ca1914Smrg *) enable_dlopen_self=unknown ;; 204100ca1914Smrg esac 204200ca1914Smrg 204300ca1914Smrg case $lt_cv_dlopen_self_static in 204400ca1914Smrg yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 204500ca1914Smrg *) enable_dlopen_self_static=unknown ;; 204600ca1914Smrg esac 204700ca1914Smrgfi 204800ca1914Smrg_LT_DECL([dlopen_support], [enable_dlopen], [0], 204900ca1914Smrg [Whether dlopen is supported]) 205000ca1914Smrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 205100ca1914Smrg [Whether dlopen of programs is supported]) 205200ca1914Smrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 205300ca1914Smrg [Whether dlopen of statically linked programs is supported]) 205400ca1914Smrg])# LT_SYS_DLOPEN_SELF 205500ca1914Smrg 205600ca1914Smrg# Old name: 205700ca1914SmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 205800ca1914Smrgdnl aclocal-1.4 backwards compatibility: 205900ca1914Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 206000ca1914Smrg 206100ca1914Smrg 206200ca1914Smrg# _LT_COMPILER_C_O([TAGNAME]) 206300ca1914Smrg# --------------------------- 206400ca1914Smrg# Check to see if options -c and -o are simultaneously supported by compiler. 206500ca1914Smrg# This macro does not hard code the compiler like AC_PROG_CC_C_O. 206600ca1914Smrgm4_defun([_LT_COMPILER_C_O], 206700ca1914Smrg[m4_require([_LT_DECL_SED])dnl 206800ca1914Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 206900ca1914Smrgm4_require([_LT_TAG_COMPILER])dnl 207000ca1914SmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 207100ca1914Smrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 207200ca1914Smrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 207300ca1914Smrg $RM -r conftest 2>/dev/null 207400ca1914Smrg mkdir conftest 207500ca1914Smrg cd conftest 207600ca1914Smrg mkdir out 207700ca1914Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 207800ca1914Smrg 207900ca1914Smrg lt_compiler_flag="-o out/conftest2.$ac_objext" 208000ca1914Smrg # Insert the option either (1) after the last *FLAGS variable, or 208100ca1914Smrg # (2) before a word containing "conftest.", or (3) at the end. 208200ca1914Smrg # Note that $ac_compile itself does not contain backslashes and begins 208300ca1914Smrg # with a dollar sign (not a hyphen), so the echo should work correctly. 208400ca1914Smrg lt_compile=`echo "$ac_compile" | $SED \ 208500ca1914Smrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 208600ca1914Smrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 208700ca1914Smrg -e 's:$: $lt_compiler_flag:'` 208800ca1914Smrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 208900ca1914Smrg (eval "$lt_compile" 2>out/conftest.err) 209000ca1914Smrg ac_status=$? 209100ca1914Smrg cat out/conftest.err >&AS_MESSAGE_LOG_FD 209200ca1914Smrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 209300ca1914Smrg if (exit $ac_status) && test -s out/conftest2.$ac_objext 209400ca1914Smrg then 209500ca1914Smrg # The compiler can only warn and ignore the option if not recognized 209600ca1914Smrg # So say no if there are warnings 209700ca1914Smrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 209800ca1914Smrg $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 209900ca1914Smrg if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 210000ca1914Smrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 210100ca1914Smrg fi 210200ca1914Smrg fi 210300ca1914Smrg chmod u+w . 2>&AS_MESSAGE_LOG_FD 210400ca1914Smrg $RM conftest* 210500ca1914Smrg # SGI C++ compiler will create directory out/ii_files/ for 210600ca1914Smrg # template instantiation 210700ca1914Smrg test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 210800ca1914Smrg $RM out/* && rmdir out 210900ca1914Smrg cd .. 211000ca1914Smrg $RM -r conftest 211100ca1914Smrg $RM conftest* 211200ca1914Smrg]) 211300ca1914Smrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 211400ca1914Smrg [Does compiler simultaneously support -c and -o options?]) 211500ca1914Smrg])# _LT_COMPILER_C_O 211600ca1914Smrg 211700ca1914Smrg 211800ca1914Smrg# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 211900ca1914Smrg# ---------------------------------- 212000ca1914Smrg# Check to see if we can do hard links to lock some files if needed 212100ca1914Smrgm4_defun([_LT_COMPILER_FILE_LOCKS], 212200ca1914Smrg[m4_require([_LT_ENABLE_LOCK])dnl 212300ca1914Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 212400ca1914Smrg_LT_COMPILER_C_O([$1]) 212500ca1914Smrg 212600ca1914Smrghard_links=nottested 212700ca1914Smrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then 212800ca1914Smrg # do not overwrite the value of need_locks provided by the user 212900ca1914Smrg AC_MSG_CHECKING([if we can lock with hard links]) 213000ca1914Smrg hard_links=yes 213100ca1914Smrg $RM conftest* 213200ca1914Smrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 213300ca1914Smrg touch conftest.a 213400ca1914Smrg ln conftest.a conftest.b 2>&5 || hard_links=no 213500ca1914Smrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 213600ca1914Smrg AC_MSG_RESULT([$hard_links]) 213700ca1914Smrg if test no = "$hard_links"; then 213800ca1914Smrg AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) 213900ca1914Smrg need_locks=warn 214000ca1914Smrg fi 214100ca1914Smrgelse 214200ca1914Smrg need_locks=no 214300ca1914Smrgfi 214400ca1914Smrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 214500ca1914Smrg])# _LT_COMPILER_FILE_LOCKS 214600ca1914Smrg 214700ca1914Smrg 214800ca1914Smrg# _LT_CHECK_OBJDIR 214900ca1914Smrg# ---------------- 215000ca1914Smrgm4_defun([_LT_CHECK_OBJDIR], 215100ca1914Smrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 215200ca1914Smrg[rm -f .libs 2>/dev/null 215300ca1914Smrgmkdir .libs 2>/dev/null 215400ca1914Smrgif test -d .libs; then 215500ca1914Smrg lt_cv_objdir=.libs 215600ca1914Smrgelse 215700ca1914Smrg # MS-DOS does not allow filenames that begin with a dot. 215800ca1914Smrg lt_cv_objdir=_libs 215900ca1914Smrgfi 216000ca1914Smrgrmdir .libs 2>/dev/null]) 216100ca1914Smrgobjdir=$lt_cv_objdir 216200ca1914Smrg_LT_DECL([], [objdir], [0], 216300ca1914Smrg [The name of the directory that contains temporary libtool files])dnl 216400ca1914Smrgm4_pattern_allow([LT_OBJDIR])dnl 216500ca1914SmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", 216600ca1914Smrg [Define to the sub-directory where libtool stores uninstalled libraries.]) 216700ca1914Smrg])# _LT_CHECK_OBJDIR 216800ca1914Smrg 216900ca1914Smrg 217000ca1914Smrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 217100ca1914Smrg# -------------------------------------- 217200ca1914Smrg# Check hardcoding attributes. 217300ca1914Smrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 217400ca1914Smrg[AC_MSG_CHECKING([how to hardcode library paths into programs]) 217500ca1914Smrg_LT_TAGVAR(hardcode_action, $1)= 217600ca1914Smrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 217700ca1914Smrg test -n "$_LT_TAGVAR(runpath_var, $1)" || 217800ca1914Smrg test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then 217900ca1914Smrg 218000ca1914Smrg # We can hardcode non-existent directories. 218100ca1914Smrg if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && 218200ca1914Smrg # If the only mechanism to avoid hardcoding is shlibpath_var, we 218300ca1914Smrg # have to relink, otherwise we might link with an installed library 218400ca1914Smrg # when we should be linking with a yet-to-be-installed one 218500ca1914Smrg ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && 218600ca1914Smrg test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then 218700ca1914Smrg # Linking always hardcodes the temporary library directory. 218800ca1914Smrg _LT_TAGVAR(hardcode_action, $1)=relink 218900ca1914Smrg else 219000ca1914Smrg # We can link without hardcoding, and we can hardcode nonexisting dirs. 219100ca1914Smrg _LT_TAGVAR(hardcode_action, $1)=immediate 219200ca1914Smrg fi 219300ca1914Smrgelse 219400ca1914Smrg # We cannot hardcode anything, or else we can only hardcode existing 219500ca1914Smrg # directories. 219600ca1914Smrg _LT_TAGVAR(hardcode_action, $1)=unsupported 219700ca1914Smrgfi 219800ca1914SmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 219900ca1914Smrg 220000ca1914Smrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" || 220100ca1914Smrg test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then 220200ca1914Smrg # Fast installation is not supported 220300ca1914Smrg enable_fast_install=no 220400ca1914Smrgelif test yes = "$shlibpath_overrides_runpath" || 220500ca1914Smrg test no = "$enable_shared"; then 220600ca1914Smrg # Fast installation is not necessary 220700ca1914Smrg enable_fast_install=needless 220800ca1914Smrgfi 220900ca1914Smrg_LT_TAGDECL([], [hardcode_action], [0], 221000ca1914Smrg [How to hardcode a shared library path into an executable]) 221100ca1914Smrg])# _LT_LINKER_HARDCODE_LIBPATH 221200ca1914Smrg 221300ca1914Smrg 221400ca1914Smrg# _LT_CMD_STRIPLIB 221500ca1914Smrg# ---------------- 221600ca1914Smrgm4_defun([_LT_CMD_STRIPLIB], 221700ca1914Smrg[m4_require([_LT_DECL_EGREP]) 221800ca1914Smrgstriplib= 221900ca1914Smrgold_striplib= 222000ca1914SmrgAC_MSG_CHECKING([whether stripping libraries is possible]) 222100ca1914Smrgif test -z "$STRIP"; then 222200ca1914Smrg AC_MSG_RESULT([no]) 222300ca1914Smrgelse 222400ca1914Smrg if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 222500ca1914Smrg old_striplib="$STRIP --strip-debug" 222600ca1914Smrg striplib="$STRIP --strip-unneeded" 222700ca1914Smrg AC_MSG_RESULT([yes]) 222800ca1914Smrg else 222900ca1914Smrg case $host_os in 223000ca1914Smrg darwin*) 223100ca1914Smrg # FIXME - insert some real tests, host_os isn't really good enough 223200ca1914Smrg striplib="$STRIP -x" 223300ca1914Smrg old_striplib="$STRIP -S" 223400ca1914Smrg AC_MSG_RESULT([yes]) 223500ca1914Smrg ;; 223600ca1914Smrg freebsd*) 223700ca1914Smrg if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then 223800ca1914Smrg old_striplib="$STRIP --strip-debug" 223900ca1914Smrg striplib="$STRIP --strip-unneeded" 224000ca1914Smrg AC_MSG_RESULT([yes]) 224100ca1914Smrg else 224200ca1914Smrg AC_MSG_RESULT([no]) 224300ca1914Smrg fi 224400ca1914Smrg ;; 224500ca1914Smrg *) 224600ca1914Smrg AC_MSG_RESULT([no]) 224700ca1914Smrg ;; 224800ca1914Smrg esac 224900ca1914Smrg fi 225000ca1914Smrgfi 225100ca1914Smrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 225200ca1914Smrg_LT_DECL([], [striplib], [1]) 225300ca1914Smrg])# _LT_CMD_STRIPLIB 225400ca1914Smrg 225500ca1914Smrg 225600ca1914Smrg# _LT_PREPARE_MUNGE_PATH_LIST 225700ca1914Smrg# --------------------------- 225800ca1914Smrg# Make sure func_munge_path_list() is defined correctly. 225900ca1914Smrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST], 226000ca1914Smrg[[# func_munge_path_list VARIABLE PATH 226100ca1914Smrg# ----------------------------------- 226200ca1914Smrg# VARIABLE is name of variable containing _space_ separated list of 226300ca1914Smrg# directories to be munged by the contents of PATH, which is string 226400ca1914Smrg# having a format: 226500ca1914Smrg# "DIR[:DIR]:" 226600ca1914Smrg# string "DIR[ DIR]" will be prepended to VARIABLE 226700ca1914Smrg# ":DIR[:DIR]" 226800ca1914Smrg# string "DIR[ DIR]" will be appended to VARIABLE 226900ca1914Smrg# "DIRP[:DIRP]::[DIRA:]DIRA" 227000ca1914Smrg# string "DIRP[ DIRP]" will be prepended to VARIABLE and string 227100ca1914Smrg# "DIRA[ DIRA]" will be appended to VARIABLE 227200ca1914Smrg# "DIR[:DIR]" 227300ca1914Smrg# VARIABLE will be replaced by "DIR[ DIR]" 227400ca1914Smrgfunc_munge_path_list () 227500ca1914Smrg{ 227600ca1914Smrg case x@S|@2 in 227700ca1914Smrg x) 227800ca1914Smrg ;; 227900ca1914Smrg *:) 228000ca1914Smrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" 228100ca1914Smrg ;; 228200ca1914Smrg x:*) 228300ca1914Smrg eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" 228400ca1914Smrg ;; 228500ca1914Smrg *::*) 228600ca1914Smrg eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" 228700ca1914Smrg eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" 228800ca1914Smrg ;; 228900ca1914Smrg *) 229000ca1914Smrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" 229100ca1914Smrg ;; 229200ca1914Smrg esac 229300ca1914Smrg} 229400ca1914Smrg]])# _LT_PREPARE_PATH_LIST 229500ca1914Smrg 229600ca1914Smrg 229700ca1914Smrg# _LT_SYS_DYNAMIC_LINKER([TAG]) 229800ca1914Smrg# ----------------------------- 229900ca1914Smrg# PORTME Fill in your ld.so characteristics 230000ca1914Smrgm4_defun([_LT_SYS_DYNAMIC_LINKER], 230100ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 230200ca1914Smrgm4_require([_LT_DECL_EGREP])dnl 230300ca1914Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 230400ca1914Smrgm4_require([_LT_DECL_OBJDUMP])dnl 230500ca1914Smrgm4_require([_LT_DECL_SED])dnl 230600ca1914Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 230700ca1914Smrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl 230800ca1914SmrgAC_MSG_CHECKING([dynamic linker characteristics]) 230900ca1914Smrgm4_if([$1], 231000ca1914Smrg [], [ 231100ca1914Smrgif test yes = "$GCC"; then 231200ca1914Smrg case $host_os in 231300ca1914Smrg darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 231400ca1914Smrg *) lt_awk_arg='/^libraries:/' ;; 231500ca1914Smrg esac 231600ca1914Smrg case $host_os in 231700ca1914Smrg mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; 231800ca1914Smrg *) lt_sed_strip_eq='s|=/|/|g' ;; 231900ca1914Smrg esac 232000ca1914Smrg lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 232100ca1914Smrg case $lt_search_path_spec in 232200ca1914Smrg *\;*) 232300ca1914Smrg # if the path contains ";" then we assume it to be the separator 232400ca1914Smrg # otherwise default to the standard path separator (i.e. ":") - it is 232500ca1914Smrg # assumed that no part of a normal pathname contains ";" but that should 232600ca1914Smrg # okay in the real world where ";" in dirpaths is itself problematic. 232700ca1914Smrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 232800ca1914Smrg ;; 232900ca1914Smrg *) 233000ca1914Smrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 233100ca1914Smrg ;; 233200ca1914Smrg esac 233300ca1914Smrg # Ok, now we have the path, separated by spaces, we can step through it 233400ca1914Smrg # and add multilib dir if necessary... 233500ca1914Smrg lt_tmp_lt_search_path_spec= 233600ca1914Smrg lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 233700ca1914Smrg # ...but if some path component already ends with the multilib dir we assume 233800ca1914Smrg # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). 233900ca1914Smrg case "$lt_multi_os_dir; $lt_search_path_spec " in 234000ca1914Smrg "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 234100ca1914Smrg lt_multi_os_dir= 234200ca1914Smrg ;; 234300ca1914Smrg esac 234400ca1914Smrg for lt_sys_path in $lt_search_path_spec; do 234500ca1914Smrg if test -d "$lt_sys_path$lt_multi_os_dir"; then 234600ca1914Smrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" 234700ca1914Smrg elif test -n "$lt_multi_os_dir"; then 234800ca1914Smrg test -d "$lt_sys_path" && \ 234900ca1914Smrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 235000ca1914Smrg fi 235100ca1914Smrg done 235200ca1914Smrg lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 235300ca1914SmrgBEGIN {RS = " "; FS = "/|\n";} { 235400ca1914Smrg lt_foo = ""; 235500ca1914Smrg lt_count = 0; 235600ca1914Smrg for (lt_i = NF; lt_i > 0; lt_i--) { 235700ca1914Smrg if ($lt_i != "" && $lt_i != ".") { 235800ca1914Smrg if ($lt_i == "..") { 235900ca1914Smrg lt_count++; 236000ca1914Smrg } else { 236100ca1914Smrg if (lt_count == 0) { 236200ca1914Smrg lt_foo = "/" $lt_i lt_foo; 236300ca1914Smrg } else { 236400ca1914Smrg lt_count--; 236500ca1914Smrg } 236600ca1914Smrg } 236700ca1914Smrg } 236800ca1914Smrg } 236900ca1914Smrg if (lt_foo != "") { lt_freq[[lt_foo]]++; } 237000ca1914Smrg if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 237100ca1914Smrg}'` 237200ca1914Smrg # AWK program above erroneously prepends '/' to C:/dos/paths 237300ca1914Smrg # for these hosts. 237400ca1914Smrg case $host_os in 237500ca1914Smrg mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 237600ca1914Smrg $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; 237700ca1914Smrg esac 237800ca1914Smrg sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 237900ca1914Smrgelse 238000ca1914Smrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 238100ca1914Smrgfi]) 238200ca1914Smrglibrary_names_spec= 238300ca1914Smrglibname_spec='lib$name' 238400ca1914Smrgsoname_spec= 238500ca1914Smrgshrext_cmds=.so 238600ca1914Smrgpostinstall_cmds= 238700ca1914Smrgpostuninstall_cmds= 238800ca1914Smrgfinish_cmds= 238900ca1914Smrgfinish_eval= 239000ca1914Smrgshlibpath_var= 239100ca1914Smrgshlibpath_overrides_runpath=unknown 239200ca1914Smrgversion_type=none 239300ca1914Smrgdynamic_linker="$host_os ld.so" 239400ca1914Smrgsys_lib_dlsearch_path_spec="/lib /usr/lib" 239500ca1914Smrgneed_lib_prefix=unknown 239600ca1914Smrghardcode_into_libs=no 239700ca1914Smrg 239800ca1914Smrg# when you set need_version to no, make sure it does not cause -set_version 239900ca1914Smrg# flags to be left without arguments 240000ca1914Smrgneed_version=unknown 240100ca1914Smrg 240200ca1914SmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH], 240300ca1914Smrg[User-defined run-time library search path.]) 240400ca1914Smrg 240500ca1914Smrgcase $host_os in 240600ca1914Smrgaix3*) 240700ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 240800ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 240900ca1914Smrg shlibpath_var=LIBPATH 241000ca1914Smrg 241100ca1914Smrg # AIX 3 has no versioning support, so we append a major version to the name. 241200ca1914Smrg soname_spec='$libname$release$shared_ext$major' 241300ca1914Smrg ;; 241400ca1914Smrg 241500ca1914Smrgaix[[4-9]]*) 241600ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 241700ca1914Smrg need_lib_prefix=no 241800ca1914Smrg need_version=no 241900ca1914Smrg hardcode_into_libs=yes 242000ca1914Smrg if test ia64 = "$host_cpu"; then 242100ca1914Smrg # AIX 5 supports IA64 242200ca1914Smrg library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 242300ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 242400ca1914Smrg else 242500ca1914Smrg # With GCC up to 2.95.x, collect2 would create an import file 242600ca1914Smrg # for dependence libraries. The import file would start with 242700ca1914Smrg # the line '#! .'. This would cause the generated library to 242800ca1914Smrg # depend on '.', always an invalid library. This was fixed in 242900ca1914Smrg # development snapshots of GCC prior to 3.0. 243000ca1914Smrg case $host_os in 243100ca1914Smrg aix4 | aix4.[[01]] | aix4.[[01]].*) 243200ca1914Smrg if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 243300ca1914Smrg echo ' yes ' 243400ca1914Smrg echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then 243500ca1914Smrg : 243600ca1914Smrg else 243700ca1914Smrg can_build_shared=no 243800ca1914Smrg fi 243900ca1914Smrg ;; 244000ca1914Smrg esac 244100ca1914Smrg # Using Import Files as archive members, it is possible to support 244200ca1914Smrg # filename-based versioning of shared library archives on AIX. While 244300ca1914Smrg # this would work for both with and without runtime linking, it will 244400ca1914Smrg # prevent static linking of such archives. So we do filename-based 244500ca1914Smrg # shared library versioning with .so extension only, which is used 244600ca1914Smrg # when both runtime linking and shared linking is enabled. 244700ca1914Smrg # Unfortunately, runtime linking may impact performance, so we do 244800ca1914Smrg # not want this to be the default eventually. Also, we use the 244900ca1914Smrg # versioned .so libs for executables only if there is the -brtl 245000ca1914Smrg # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. 245100ca1914Smrg # To allow for filename-based versioning support, we need to create 245200ca1914Smrg # libNAME.so.V as an archive file, containing: 245300ca1914Smrg # *) an Import File, referring to the versioned filename of the 245400ca1914Smrg # archive as well as the shared archive member, telling the 245500ca1914Smrg # bitwidth (32 or 64) of that shared object, and providing the 245600ca1914Smrg # list of exported symbols of that shared object, eventually 245700ca1914Smrg # decorated with the 'weak' keyword 245800ca1914Smrg # *) the shared object with the F_LOADONLY flag set, to really avoid 245900ca1914Smrg # it being seen by the linker. 246000ca1914Smrg # At run time we better use the real file rather than another symlink, 246100ca1914Smrg # but for link time we create the symlink libNAME.so -> libNAME.so.V 246200ca1914Smrg 246300ca1914Smrg case $with_aix_soname,$aix_use_runtimelinking in 246400ca1914Smrg # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 246500ca1914Smrg # soname into executable. Probably we can add versioning support to 246600ca1914Smrg # collect2, so additional links can be useful in future. 246700ca1914Smrg aix,yes) # traditional libtool 246800ca1914Smrg dynamic_linker='AIX unversionable lib.so' 246900ca1914Smrg # If using run time linking (on AIX 4.2 or later) use lib<name>.so 247000ca1914Smrg # instead of lib<name>.a to let people know that these are not 247100ca1914Smrg # typical AIX shared libraries. 247200ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 247300ca1914Smrg ;; 247400ca1914Smrg aix,no) # traditional AIX only 247500ca1914Smrg dynamic_linker='AIX lib.a[(]lib.so.V[)]' 247600ca1914Smrg # We preserve .a as extension for shared libraries through AIX4.2 247700ca1914Smrg # and later when we are not doing run time linking. 247800ca1914Smrg library_names_spec='$libname$release.a $libname.a' 247900ca1914Smrg soname_spec='$libname$release$shared_ext$major' 248000ca1914Smrg ;; 248100ca1914Smrg svr4,*) # full svr4 only 248200ca1914Smrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" 248300ca1914Smrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 248400ca1914Smrg # We do not specify a path in Import Files, so LIBPATH fires. 248500ca1914Smrg shlibpath_overrides_runpath=yes 248600ca1914Smrg ;; 248700ca1914Smrg *,yes) # both, prefer svr4 248800ca1914Smrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" 248900ca1914Smrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 249000ca1914Smrg # unpreferred sharedlib libNAME.a needs extra handling 249100ca1914Smrg 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"' 249200ca1914Smrg 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"' 249300ca1914Smrg # We do not specify a path in Import Files, so LIBPATH fires. 249400ca1914Smrg shlibpath_overrides_runpath=yes 249500ca1914Smrg ;; 249600ca1914Smrg *,no) # both, prefer aix 249700ca1914Smrg dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" 249800ca1914Smrg library_names_spec='$libname$release.a $libname.a' 249900ca1914Smrg soname_spec='$libname$release$shared_ext$major' 250000ca1914Smrg # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling 250100ca1914Smrg 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)' 250200ca1914Smrg 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"' 250300ca1914Smrg ;; 250400ca1914Smrg esac 250500ca1914Smrg shlibpath_var=LIBPATH 250600ca1914Smrg fi 250700ca1914Smrg ;; 250800ca1914Smrg 250900ca1914Smrgamigaos*) 251000ca1914Smrg case $host_cpu in 251100ca1914Smrg powerpc) 251200ca1914Smrg # Since July 2007 AmigaOS4 officially supports .so libraries. 251300ca1914Smrg # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 251400ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 251500ca1914Smrg ;; 251600ca1914Smrg m68k) 251700ca1914Smrg library_names_spec='$libname.ixlibrary $libname.a' 251800ca1914Smrg # Create ${libname}_ixlibrary.a entries in /sys/libs. 251900ca1914Smrg 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' 252000ca1914Smrg ;; 252100ca1914Smrg esac 252200ca1914Smrg ;; 252300ca1914Smrg 252400ca1914Smrgbeos*) 252500ca1914Smrg library_names_spec='$libname$shared_ext' 252600ca1914Smrg dynamic_linker="$host_os ld.so" 252700ca1914Smrg shlibpath_var=LIBRARY_PATH 252800ca1914Smrg ;; 252900ca1914Smrg 253000ca1914Smrgbsdi[[45]]*) 253100ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 253200ca1914Smrg need_version=no 253300ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 253400ca1914Smrg soname_spec='$libname$release$shared_ext$major' 253500ca1914Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 253600ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 253700ca1914Smrg sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 253800ca1914Smrg sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 253900ca1914Smrg # the default ld.so.conf also contains /usr/contrib/lib and 254000ca1914Smrg # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 254100ca1914Smrg # libtool to hard-code these into programs 254200ca1914Smrg ;; 254300ca1914Smrg 254400ca1914Smrgcygwin* | mingw* | pw32* | cegcc*) 254500ca1914Smrg version_type=windows 254600ca1914Smrg shrext_cmds=.dll 254700ca1914Smrg need_version=no 254800ca1914Smrg need_lib_prefix=no 254900ca1914Smrg 255000ca1914Smrg case $GCC,$cc_basename in 255100ca1914Smrg yes,*) 255200ca1914Smrg # gcc 255300ca1914Smrg library_names_spec='$libname.dll.a' 255400ca1914Smrg # DLL is installed to $(libdir)/../bin by postinstall_cmds 255500ca1914Smrg postinstall_cmds='base_file=`basename \$file`~ 255600ca1914Smrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 255700ca1914Smrg dldir=$destdir/`dirname \$dlpath`~ 255800ca1914Smrg test -d \$dldir || mkdir -p \$dldir~ 255900ca1914Smrg $install_prog $dir/$dlname \$dldir/$dlname~ 256000ca1914Smrg chmod a+x \$dldir/$dlname~ 256100ca1914Smrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 256200ca1914Smrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 256300ca1914Smrg fi' 256400ca1914Smrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 256500ca1914Smrg dlpath=$dir/\$dldll~ 256600ca1914Smrg $RM \$dlpath' 256700ca1914Smrg shlibpath_overrides_runpath=yes 256800ca1914Smrg 256900ca1914Smrg case $host_os in 257000ca1914Smrg cygwin*) 257100ca1914Smrg # Cygwin DLLs use 'cyg' prefix rather than 'lib' 257200ca1914Smrg soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 257300ca1914Smrgm4_if([$1], [],[ 257400ca1914Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 257500ca1914Smrg ;; 257600ca1914Smrg mingw* | cegcc*) 257700ca1914Smrg # MinGW DLLs use traditional 'lib' prefix 257800ca1914Smrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 257900ca1914Smrg ;; 258000ca1914Smrg pw32*) 258100ca1914Smrg # pw32 DLLs use 'pw' prefix rather than 'lib' 258200ca1914Smrg library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 258300ca1914Smrg ;; 258400ca1914Smrg esac 258500ca1914Smrg dynamic_linker='Win32 ld.exe' 258600ca1914Smrg ;; 258700ca1914Smrg 258800ca1914Smrg *,cl* | *,icl*) 258900ca1914Smrg # Native MSVC or ICC 259000ca1914Smrg libname_spec='$name' 259100ca1914Smrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 259200ca1914Smrg library_names_spec='$libname.dll.lib' 259300ca1914Smrg 259400ca1914Smrg case $build_os in 259500ca1914Smrg mingw*) 259600ca1914Smrg sys_lib_search_path_spec= 259700ca1914Smrg lt_save_ifs=$IFS 259800ca1914Smrg IFS=';' 259900ca1914Smrg for lt_path in $LIB 260000ca1914Smrg do 260100ca1914Smrg IFS=$lt_save_ifs 260200ca1914Smrg # Let DOS variable expansion print the short 8.3 style file name. 260300ca1914Smrg lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 260400ca1914Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 260500ca1914Smrg done 260600ca1914Smrg IFS=$lt_save_ifs 260700ca1914Smrg # Convert to MSYS style. 260800ca1914Smrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 260900ca1914Smrg ;; 261000ca1914Smrg cygwin*) 261100ca1914Smrg # Convert to unix form, then to dos form, then back to unix form 261200ca1914Smrg # but this time dos style (no spaces!) so that the unix form looks 261300ca1914Smrg # like /cygdrive/c/PROGRA~1:/cygdr... 261400ca1914Smrg sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 261500ca1914Smrg sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 261600ca1914Smrg sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 261700ca1914Smrg ;; 261800ca1914Smrg *) 261900ca1914Smrg sys_lib_search_path_spec=$LIB 262000ca1914Smrg if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 262100ca1914Smrg # It is most probably a Windows format PATH. 262200ca1914Smrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 262300ca1914Smrg else 262400ca1914Smrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 262500ca1914Smrg fi 262600ca1914Smrg # FIXME: find the short name or the path components, as spaces are 262700ca1914Smrg # common. (e.g. "Program Files" -> "PROGRA~1") 262800ca1914Smrg ;; 262900ca1914Smrg esac 263000ca1914Smrg 263100ca1914Smrg # DLL is installed to $(libdir)/../bin by postinstall_cmds 263200ca1914Smrg postinstall_cmds='base_file=`basename \$file`~ 263300ca1914Smrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 263400ca1914Smrg dldir=$destdir/`dirname \$dlpath`~ 263500ca1914Smrg test -d \$dldir || mkdir -p \$dldir~ 263600ca1914Smrg $install_prog $dir/$dlname \$dldir/$dlname' 263700ca1914Smrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 263800ca1914Smrg dlpath=$dir/\$dldll~ 263900ca1914Smrg $RM \$dlpath' 264000ca1914Smrg shlibpath_overrides_runpath=yes 264100ca1914Smrg dynamic_linker='Win32 link.exe' 264200ca1914Smrg ;; 264300ca1914Smrg 264400ca1914Smrg *) 264500ca1914Smrg # Assume MSVC and ICC wrapper 264600ca1914Smrg library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' 264700ca1914Smrg dynamic_linker='Win32 ld.exe' 264800ca1914Smrg ;; 264900ca1914Smrg esac 265000ca1914Smrg # FIXME: first we should search . and the directory the executable is in 265100ca1914Smrg shlibpath_var=PATH 265200ca1914Smrg ;; 265300ca1914Smrg 265400ca1914Smrgdarwin* | rhapsody*) 265500ca1914Smrg dynamic_linker="$host_os dyld" 265600ca1914Smrg version_type=darwin 265700ca1914Smrg need_lib_prefix=no 265800ca1914Smrg need_version=no 265900ca1914Smrg library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 266000ca1914Smrg soname_spec='$libname$release$major$shared_ext' 266100ca1914Smrg shlibpath_overrides_runpath=yes 266200ca1914Smrg shlibpath_var=DYLD_LIBRARY_PATH 266300ca1914Smrg shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 266400ca1914Smrgm4_if([$1], [],[ 266500ca1914Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 266600ca1914Smrg sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 266700ca1914Smrg ;; 266800ca1914Smrg 266900ca1914Smrgdgux*) 267000ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 267100ca1914Smrg need_lib_prefix=no 267200ca1914Smrg need_version=no 267300ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 267400ca1914Smrg soname_spec='$libname$release$shared_ext$major' 267500ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 267600ca1914Smrg ;; 267700ca1914Smrg 267800ca1914Smrgfreebsd* | dragonfly* | midnightbsd*) 267900ca1914Smrg # DragonFly does not have aout. When/if they implement a new 268000ca1914Smrg # versioning mechanism, adjust this. 268100ca1914Smrg if test -x /usr/bin/objformat; then 268200ca1914Smrg objformat=`/usr/bin/objformat` 268300ca1914Smrg else 268400ca1914Smrg case $host_os in 268500ca1914Smrg freebsd[[23]].*) objformat=aout ;; 268600ca1914Smrg *) objformat=elf ;; 268700ca1914Smrg esac 268800ca1914Smrg fi 268900ca1914Smrg version_type=freebsd-$objformat 269000ca1914Smrg case $version_type in 269100ca1914Smrg freebsd-elf*) 269200ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 269300ca1914Smrg soname_spec='$libname$release$shared_ext$major' 269400ca1914Smrg need_version=no 269500ca1914Smrg need_lib_prefix=no 269600ca1914Smrg ;; 269700ca1914Smrg freebsd-*) 269800ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 269900ca1914Smrg need_version=yes 270000ca1914Smrg ;; 270100ca1914Smrg esac 270200ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 270300ca1914Smrg case $host_os in 270400ca1914Smrg freebsd2.*) 270500ca1914Smrg shlibpath_overrides_runpath=yes 270600ca1914Smrg ;; 270700ca1914Smrg freebsd3.[[01]]* | freebsdelf3.[[01]]*) 270800ca1914Smrg shlibpath_overrides_runpath=yes 270900ca1914Smrg hardcode_into_libs=yes 271000ca1914Smrg ;; 271100ca1914Smrg freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 271200ca1914Smrg freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 271300ca1914Smrg shlibpath_overrides_runpath=no 271400ca1914Smrg hardcode_into_libs=yes 271500ca1914Smrg ;; 271600ca1914Smrg *) # from 4.6 on, and DragonFly 271700ca1914Smrg shlibpath_overrides_runpath=yes 271800ca1914Smrg hardcode_into_libs=yes 271900ca1914Smrg ;; 272000ca1914Smrg esac 272100ca1914Smrg ;; 272200ca1914Smrg 272300ca1914Smrghaiku*) 272400ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 272500ca1914Smrg need_lib_prefix=no 272600ca1914Smrg need_version=no 272700ca1914Smrg dynamic_linker="$host_os runtime_loader" 272800ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 272900ca1914Smrg soname_spec='$libname$release$shared_ext$major' 273000ca1914Smrg shlibpath_var=LIBRARY_PATH 273100ca1914Smrg shlibpath_overrides_runpath=no 273200ca1914Smrg sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 273300ca1914Smrg hardcode_into_libs=yes 273400ca1914Smrg ;; 273500ca1914Smrg 273600ca1914Smrghpux9* | hpux10* | hpux11*) 273700ca1914Smrg # Give a soname corresponding to the major version so that dld.sl refuses to 273800ca1914Smrg # link against other versions. 273900ca1914Smrg version_type=sunos 274000ca1914Smrg need_lib_prefix=no 274100ca1914Smrg need_version=no 274200ca1914Smrg case $host_cpu in 274300ca1914Smrg ia64*) 274400ca1914Smrg shrext_cmds='.so' 274500ca1914Smrg hardcode_into_libs=yes 274600ca1914Smrg dynamic_linker="$host_os dld.so" 274700ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 274800ca1914Smrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 274900ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 275000ca1914Smrg soname_spec='$libname$release$shared_ext$major' 275100ca1914Smrg if test 32 = "$HPUX_IA64_MODE"; then 275200ca1914Smrg sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 275300ca1914Smrg sys_lib_dlsearch_path_spec=/usr/lib/hpux32 275400ca1914Smrg else 275500ca1914Smrg sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 275600ca1914Smrg sys_lib_dlsearch_path_spec=/usr/lib/hpux64 275700ca1914Smrg fi 275800ca1914Smrg ;; 275900ca1914Smrg hppa*64*) 276000ca1914Smrg shrext_cmds='.sl' 276100ca1914Smrg hardcode_into_libs=yes 276200ca1914Smrg dynamic_linker="$host_os dld.sl" 276300ca1914Smrg shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 276400ca1914Smrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 276500ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 276600ca1914Smrg soname_spec='$libname$release$shared_ext$major' 276700ca1914Smrg sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 276800ca1914Smrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 276900ca1914Smrg ;; 277000ca1914Smrg *) 277100ca1914Smrg shrext_cmds='.sl' 277200ca1914Smrg dynamic_linker="$host_os dld.sl" 277300ca1914Smrg shlibpath_var=SHLIB_PATH 277400ca1914Smrg shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 277500ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 277600ca1914Smrg soname_spec='$libname$release$shared_ext$major' 277700ca1914Smrg ;; 277800ca1914Smrg esac 277900ca1914Smrg # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 278000ca1914Smrg postinstall_cmds='chmod 555 $lib' 278100ca1914Smrg # or fails outright, so override atomically: 278200ca1914Smrg install_override_mode=555 278300ca1914Smrg ;; 278400ca1914Smrg 278500ca1914Smrginterix[[3-9]]*) 278600ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 278700ca1914Smrg need_lib_prefix=no 278800ca1914Smrg need_version=no 278900ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 279000ca1914Smrg soname_spec='$libname$release$shared_ext$major' 279100ca1914Smrg dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 279200ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 279300ca1914Smrg shlibpath_overrides_runpath=no 279400ca1914Smrg hardcode_into_libs=yes 279500ca1914Smrg ;; 279600ca1914Smrg 279700ca1914Smrgirix5* | irix6* | nonstopux*) 279800ca1914Smrg case $host_os in 279900ca1914Smrg nonstopux*) version_type=nonstopux ;; 280000ca1914Smrg *) 280100ca1914Smrg if test yes = "$lt_cv_prog_gnu_ld"; then 280200ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 280300ca1914Smrg else 280400ca1914Smrg version_type=irix 280500ca1914Smrg fi ;; 280600ca1914Smrg esac 280700ca1914Smrg need_lib_prefix=no 280800ca1914Smrg need_version=no 280900ca1914Smrg soname_spec='$libname$release$shared_ext$major' 281000ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' 281100ca1914Smrg case $host_os in 281200ca1914Smrg irix5* | nonstopux*) 281300ca1914Smrg libsuff= shlibsuff= 281400ca1914Smrg ;; 281500ca1914Smrg *) 281600ca1914Smrg case $LD in # libtool.m4 will add one of these switches to LD 281700ca1914Smrg *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 281800ca1914Smrg libsuff= shlibsuff= libmagic=32-bit;; 281900ca1914Smrg *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 282000ca1914Smrg libsuff=32 shlibsuff=N32 libmagic=N32;; 282100ca1914Smrg *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 282200ca1914Smrg libsuff=64 shlibsuff=64 libmagic=64-bit;; 282300ca1914Smrg *) libsuff= shlibsuff= libmagic=never-match;; 282400ca1914Smrg esac 282500ca1914Smrg ;; 282600ca1914Smrg esac 282700ca1914Smrg shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 282800ca1914Smrg shlibpath_overrides_runpath=no 282900ca1914Smrg sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" 283000ca1914Smrg sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" 283100ca1914Smrg hardcode_into_libs=yes 283200ca1914Smrg ;; 283300ca1914Smrg 283400ca1914Smrg# No shared lib support for Linux oldld, aout, or coff. 283500ca1914Smrglinux*oldld* | linux*aout* | linux*coff*) 283600ca1914Smrg dynamic_linker=no 283700ca1914Smrg ;; 283800ca1914Smrg 283900ca1914Smrglinux*android*) 284000ca1914Smrg version_type=none # Android doesn't support versioned libraries. 284100ca1914Smrg need_lib_prefix=no 284200ca1914Smrg need_version=no 284300ca1914Smrg library_names_spec='$libname$release$shared_ext' 284400ca1914Smrg soname_spec='$libname$release$shared_ext' 284500ca1914Smrg finish_cmds= 284600ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 284700ca1914Smrg shlibpath_overrides_runpath=yes 284800ca1914Smrg 284900ca1914Smrg # This implies no fast_install, which is unacceptable. 285000ca1914Smrg # Some rework will be needed to allow for fast_install 285100ca1914Smrg # before this can be enabled. 285200ca1914Smrg hardcode_into_libs=yes 285300ca1914Smrg 285400ca1914Smrg dynamic_linker='Android linker' 285500ca1914Smrg # Don't embed -rpath directories since the linker doesn't support them. 285600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 285700ca1914Smrg ;; 285800ca1914Smrg 285900ca1914Smrg# This must be glibc/ELF. 286000ca1914Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 286100ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 286200ca1914Smrg need_lib_prefix=no 286300ca1914Smrg need_version=no 286400ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 286500ca1914Smrg soname_spec='$libname$release$shared_ext$major' 286600ca1914Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 286700ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 286800ca1914Smrg shlibpath_overrides_runpath=no 286900ca1914Smrg 287000ca1914Smrg # Some binutils ld are patched to set DT_RUNPATH 287100ca1914Smrg AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 287200ca1914Smrg [lt_cv_shlibpath_overrides_runpath=no 287300ca1914Smrg save_LDFLAGS=$LDFLAGS 287400ca1914Smrg save_libdir=$libdir 287500ca1914Smrg eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 287600ca1914Smrg LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 287700ca1914Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 287800ca1914Smrg [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 287900ca1914Smrg [lt_cv_shlibpath_overrides_runpath=yes])]) 288000ca1914Smrg LDFLAGS=$save_LDFLAGS 288100ca1914Smrg libdir=$save_libdir 288200ca1914Smrg ]) 288300ca1914Smrg shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 288400ca1914Smrg 288500ca1914Smrg # This implies no fast_install, which is unacceptable. 288600ca1914Smrg # Some rework will be needed to allow for fast_install 288700ca1914Smrg # before this can be enabled. 288800ca1914Smrg hardcode_into_libs=yes 288900ca1914Smrg 289000ca1914Smrg # Ideally, we could use ldconfig to report *all* directores which are 289100ca1914Smrg # searched for libraries, however this is still not possible. Aside from not 289200ca1914Smrg # being certain /sbin/ldconfig is available, command 289300ca1914Smrg # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, 289400ca1914Smrg # even though it is searched at run-time. Try to do the best guess by 289500ca1914Smrg # appending ld.so.conf contents (and includes) to the search path. 289600ca1914Smrg if test -f /etc/ld.so.conf; then 289700ca1914Smrg 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' ' '` 289800ca1914Smrg sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 289900ca1914Smrg fi 290000ca1914Smrg 290100ca1914Smrg # We used to test for /lib/ld.so.1 and disable shared libraries on 290200ca1914Smrg # powerpc, because MkLinux only supported shared libraries with the 290300ca1914Smrg # GNU dynamic linker. Since this was broken with cross compilers, 290400ca1914Smrg # most powerpc-linux boxes support dynamic linking these days and 290500ca1914Smrg # people can always --disable-shared, the test was removed, and we 290600ca1914Smrg # assume the GNU/Linux dynamic linker is in use. 290700ca1914Smrg dynamic_linker='GNU/Linux ld.so' 290800ca1914Smrg ;; 290900ca1914Smrg 291000ca1914Smrgnetbsd*) 291100ca1914Smrg version_type=sunos 291200ca1914Smrg need_lib_prefix=no 291300ca1914Smrg need_version=no 291400ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 291500ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 291600ca1914Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 291700ca1914Smrg dynamic_linker='NetBSD (a.out) ld.so' 291800ca1914Smrg else 291900ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 292000ca1914Smrg soname_spec='$libname$release$shared_ext$major' 292100ca1914Smrg dynamic_linker='NetBSD ld.elf_so' 292200ca1914Smrg fi 292300ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 292400ca1914Smrg shlibpath_overrides_runpath=yes 292500ca1914Smrg hardcode_into_libs=yes 292600ca1914Smrg ;; 292700ca1914Smrg 292800ca1914Smrgnewsos6) 292900ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 293000ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 293100ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 293200ca1914Smrg shlibpath_overrides_runpath=yes 293300ca1914Smrg ;; 293400ca1914Smrg 293500ca1914Smrg*nto* | *qnx*) 293600ca1914Smrg version_type=qnx 293700ca1914Smrg need_lib_prefix=no 293800ca1914Smrg need_version=no 293900ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 294000ca1914Smrg soname_spec='$libname$release$shared_ext$major' 294100ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 294200ca1914Smrg shlibpath_overrides_runpath=no 294300ca1914Smrg hardcode_into_libs=yes 294400ca1914Smrg dynamic_linker='ldqnx.so' 294500ca1914Smrg ;; 294600ca1914Smrg 294700ca1914Smrgopenbsd* | bitrig*) 294800ca1914Smrg version_type=sunos 294900ca1914Smrg sys_lib_dlsearch_path_spec=/usr/lib 295000ca1914Smrg need_lib_prefix=no 295100ca1914Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 295200ca1914Smrg need_version=no 295300ca1914Smrg else 295400ca1914Smrg need_version=yes 295500ca1914Smrg fi 295600ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 295700ca1914Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 295800ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 295900ca1914Smrg shlibpath_overrides_runpath=yes 296000ca1914Smrg ;; 296100ca1914Smrg 296200ca1914Smrgos2*) 296300ca1914Smrg libname_spec='$name' 296400ca1914Smrg version_type=windows 296500ca1914Smrg shrext_cmds=.dll 296600ca1914Smrg need_version=no 296700ca1914Smrg need_lib_prefix=no 296800ca1914Smrg # OS/2 can only load a DLL with a base name of 8 characters or less. 296900ca1914Smrg soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; 297000ca1914Smrg v=$($ECHO $release$versuffix | tr -d .-); 297100ca1914Smrg n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); 297200ca1914Smrg $ECHO $n$v`$shared_ext' 297300ca1914Smrg library_names_spec='${libname}_dll.$libext' 297400ca1914Smrg dynamic_linker='OS/2 ld.exe' 297500ca1914Smrg shlibpath_var=BEGINLIBPATH 297600ca1914Smrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 297700ca1914Smrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 297800ca1914Smrg postinstall_cmds='base_file=`basename \$file`~ 297900ca1914Smrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ 298000ca1914Smrg dldir=$destdir/`dirname \$dlpath`~ 298100ca1914Smrg test -d \$dldir || mkdir -p \$dldir~ 298200ca1914Smrg $install_prog $dir/$dlname \$dldir/$dlname~ 298300ca1914Smrg chmod a+x \$dldir/$dlname~ 298400ca1914Smrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 298500ca1914Smrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 298600ca1914Smrg fi' 298700ca1914Smrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ 298800ca1914Smrg dlpath=$dir/\$dldll~ 298900ca1914Smrg $RM \$dlpath' 299000ca1914Smrg ;; 299100ca1914Smrg 299200ca1914Smrgosf3* | osf4* | osf5*) 299300ca1914Smrg version_type=osf 299400ca1914Smrg need_lib_prefix=no 299500ca1914Smrg need_version=no 299600ca1914Smrg soname_spec='$libname$release$shared_ext$major' 299700ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 299800ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 299900ca1914Smrg sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 300000ca1914Smrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 300100ca1914Smrg ;; 300200ca1914Smrg 300300ca1914Smrgrdos*) 300400ca1914Smrg dynamic_linker=no 300500ca1914Smrg ;; 300600ca1914Smrg 300700ca1914Smrgsolaris*) 300800ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 300900ca1914Smrg need_lib_prefix=no 301000ca1914Smrg need_version=no 301100ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 301200ca1914Smrg soname_spec='$libname$release$shared_ext$major' 301300ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 301400ca1914Smrg shlibpath_overrides_runpath=yes 301500ca1914Smrg hardcode_into_libs=yes 301600ca1914Smrg # ldd complains unless libraries are executable 301700ca1914Smrg postinstall_cmds='chmod +x $lib' 301800ca1914Smrg ;; 301900ca1914Smrg 302000ca1914Smrgsunos4*) 302100ca1914Smrg version_type=sunos 302200ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 302300ca1914Smrg finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 302400ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 302500ca1914Smrg shlibpath_overrides_runpath=yes 302600ca1914Smrg if test yes = "$with_gnu_ld"; then 302700ca1914Smrg need_lib_prefix=no 302800ca1914Smrg fi 302900ca1914Smrg need_version=yes 303000ca1914Smrg ;; 303100ca1914Smrg 303200ca1914Smrgsysv4 | sysv4.3*) 303300ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 303400ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 303500ca1914Smrg soname_spec='$libname$release$shared_ext$major' 303600ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 303700ca1914Smrg case $host_vendor in 303800ca1914Smrg sni) 303900ca1914Smrg shlibpath_overrides_runpath=no 304000ca1914Smrg need_lib_prefix=no 304100ca1914Smrg runpath_var=LD_RUN_PATH 304200ca1914Smrg ;; 304300ca1914Smrg siemens) 304400ca1914Smrg need_lib_prefix=no 304500ca1914Smrg ;; 304600ca1914Smrg motorola) 304700ca1914Smrg need_lib_prefix=no 304800ca1914Smrg need_version=no 304900ca1914Smrg shlibpath_overrides_runpath=no 305000ca1914Smrg sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 305100ca1914Smrg ;; 305200ca1914Smrg esac 305300ca1914Smrg ;; 305400ca1914Smrg 305500ca1914Smrgsysv4*MP*) 305600ca1914Smrg if test -d /usr/nec; then 305700ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 305800ca1914Smrg library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' 305900ca1914Smrg soname_spec='$libname$shared_ext.$major' 306000ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 306100ca1914Smrg fi 306200ca1914Smrg ;; 306300ca1914Smrg 306400ca1914Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 306500ca1914Smrg version_type=sco 306600ca1914Smrg need_lib_prefix=no 306700ca1914Smrg need_version=no 306800ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' 306900ca1914Smrg soname_spec='$libname$release$shared_ext$major' 307000ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 307100ca1914Smrg shlibpath_overrides_runpath=yes 307200ca1914Smrg hardcode_into_libs=yes 307300ca1914Smrg if test yes = "$with_gnu_ld"; then 307400ca1914Smrg sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 307500ca1914Smrg else 307600ca1914Smrg sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 307700ca1914Smrg case $host_os in 307800ca1914Smrg sco3.2v5*) 307900ca1914Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 308000ca1914Smrg ;; 308100ca1914Smrg esac 308200ca1914Smrg fi 308300ca1914Smrg sys_lib_dlsearch_path_spec='/usr/lib' 308400ca1914Smrg ;; 308500ca1914Smrg 308600ca1914Smrgtpf*) 308700ca1914Smrg # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 308800ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 308900ca1914Smrg need_lib_prefix=no 309000ca1914Smrg need_version=no 309100ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 309200ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 309300ca1914Smrg shlibpath_overrides_runpath=no 309400ca1914Smrg hardcode_into_libs=yes 309500ca1914Smrg ;; 309600ca1914Smrg 309700ca1914Smrguts4*) 309800ca1914Smrg version_type=linux # correct to gnu/linux during the next big refactor 309900ca1914Smrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 310000ca1914Smrg soname_spec='$libname$release$shared_ext$major' 310100ca1914Smrg shlibpath_var=LD_LIBRARY_PATH 310200ca1914Smrg ;; 310300ca1914Smrg 310400ca1914Smrg*) 310500ca1914Smrg dynamic_linker=no 310600ca1914Smrg ;; 310700ca1914Smrgesac 310800ca1914SmrgAC_MSG_RESULT([$dynamic_linker]) 310900ca1914Smrgtest no = "$dynamic_linker" && can_build_shared=no 311000ca1914Smrg 311100ca1914Smrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 311200ca1914Smrgif test yes = "$GCC"; then 311300ca1914Smrg variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 311400ca1914Smrgfi 311500ca1914Smrg 311600ca1914Smrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 311700ca1914Smrg sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 311800ca1914Smrgfi 311900ca1914Smrg 312000ca1914Smrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 312100ca1914Smrg sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 312200ca1914Smrgfi 312300ca1914Smrg 312400ca1914Smrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 312500ca1914Smrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 312600ca1914Smrg 312700ca1914Smrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 312800ca1914Smrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" 312900ca1914Smrg 313000ca1914Smrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool 313100ca1914Smrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 313200ca1914Smrg 313300ca1914Smrg_LT_DECL([], [variables_saved_for_relink], [1], 313400ca1914Smrg [Variables whose values should be saved in libtool wrapper scripts and 313500ca1914Smrg restored at link time]) 313600ca1914Smrg_LT_DECL([], [need_lib_prefix], [0], 313700ca1914Smrg [Do we need the "lib" prefix for modules?]) 313800ca1914Smrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 313900ca1914Smrg_LT_DECL([], [version_type], [0], [Library versioning type]) 314000ca1914Smrg_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 314100ca1914Smrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 314200ca1914Smrg_LT_DECL([], [shlibpath_overrides_runpath], [0], 314300ca1914Smrg [Is shlibpath searched before the hard-coded library search path?]) 314400ca1914Smrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 314500ca1914Smrg_LT_DECL([], [library_names_spec], [1], 314600ca1914Smrg [[List of archive names. First name is the real one, the rest are links. 314700ca1914Smrg The last name is the one that the linker finds with -lNAME]]) 314800ca1914Smrg_LT_DECL([], [soname_spec], [1], 314900ca1914Smrg [[The coded name of the library, if different from the real name]]) 315000ca1914Smrg_LT_DECL([], [install_override_mode], [1], 315100ca1914Smrg [Permission mode override for installation of shared libraries]) 315200ca1914Smrg_LT_DECL([], [postinstall_cmds], [2], 315300ca1914Smrg [Command to use after installation of a shared archive]) 315400ca1914Smrg_LT_DECL([], [postuninstall_cmds], [2], 315500ca1914Smrg [Command to use after uninstallation of a shared archive]) 315600ca1914Smrg_LT_DECL([], [finish_cmds], [2], 315700ca1914Smrg [Commands used to finish a libtool library installation in a directory]) 315800ca1914Smrg_LT_DECL([], [finish_eval], [1], 315900ca1914Smrg [[As "finish_cmds", except a single script fragment to be evaled but 316000ca1914Smrg not shown]]) 316100ca1914Smrg_LT_DECL([], [hardcode_into_libs], [0], 316200ca1914Smrg [Whether we should hardcode library paths into libraries]) 316300ca1914Smrg_LT_DECL([], [sys_lib_search_path_spec], [2], 316400ca1914Smrg [Compile-time system search path for libraries]) 316500ca1914Smrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], 316600ca1914Smrg [Detected run-time system search path for libraries]) 316700ca1914Smrg_LT_DECL([], [configure_time_lt_sys_library_path], [2], 316800ca1914Smrg [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) 316900ca1914Smrg])# _LT_SYS_DYNAMIC_LINKER 317000ca1914Smrg 317100ca1914Smrg 317200ca1914Smrg# _LT_PATH_TOOL_PREFIX(TOOL) 317300ca1914Smrg# -------------------------- 317400ca1914Smrg# find a file program that can recognize shared library 317500ca1914SmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX], 317600ca1914Smrg[m4_require([_LT_DECL_EGREP])dnl 317700ca1914SmrgAC_MSG_CHECKING([for $1]) 317800ca1914SmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 317900ca1914Smrg[case $MAGIC_CMD in 318000ca1914Smrg[[\\/*] | ?:[\\/]*]) 318100ca1914Smrg lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. 318200ca1914Smrg ;; 318300ca1914Smrg*) 318400ca1914Smrg lt_save_MAGIC_CMD=$MAGIC_CMD 318500ca1914Smrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 318600ca1914Smrgdnl $ac_dummy forces splitting on constant user-supplied paths. 318700ca1914Smrgdnl POSIX.2 word splitting is done only on the output of word expansions, 318800ca1914Smrgdnl not every word. This closes a longstanding sh security hole. 318900ca1914Smrg ac_dummy="m4_if([$2], , $PATH, [$2])" 319000ca1914Smrg for ac_dir in $ac_dummy; do 319100ca1914Smrg IFS=$lt_save_ifs 319200ca1914Smrg test -z "$ac_dir" && ac_dir=. 319300ca1914Smrg if test -f "$ac_dir/$1"; then 319400ca1914Smrg lt_cv_path_MAGIC_CMD=$ac_dir/"$1" 319500ca1914Smrg if test -n "$file_magic_test_file"; then 319600ca1914Smrg case $deplibs_check_method in 319700ca1914Smrg "file_magic "*) 319800ca1914Smrg file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 319900ca1914Smrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD 320000ca1914Smrg if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 320100ca1914Smrg $EGREP "$file_magic_regex" > /dev/null; then 320200ca1914Smrg : 320300ca1914Smrg else 320400ca1914Smrg cat <<_LT_EOF 1>&2 320500ca1914Smrg 320600ca1914Smrg*** Warning: the command libtool uses to detect shared libraries, 320700ca1914Smrg*** $file_magic_cmd, produces output that libtool cannot recognize. 320800ca1914Smrg*** The result is that libtool may fail to recognize shared libraries 320900ca1914Smrg*** as such. This will affect the creation of libtool libraries that 321000ca1914Smrg*** depend on shared libraries, but programs linked with such libtool 321100ca1914Smrg*** libraries will work regardless of this problem. Nevertheless, you 321200ca1914Smrg*** may want to report the problem to your system manager and/or to 321300ca1914Smrg*** bug-libtool@gnu.org 321400ca1914Smrg 321500ca1914Smrg_LT_EOF 321600ca1914Smrg fi ;; 321700ca1914Smrg esac 321800ca1914Smrg fi 321900ca1914Smrg break 322000ca1914Smrg fi 322100ca1914Smrg done 322200ca1914Smrg IFS=$lt_save_ifs 322300ca1914Smrg MAGIC_CMD=$lt_save_MAGIC_CMD 322400ca1914Smrg ;; 322500ca1914Smrgesac]) 322600ca1914SmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD 322700ca1914Smrgif test -n "$MAGIC_CMD"; then 322800ca1914Smrg AC_MSG_RESULT($MAGIC_CMD) 322900ca1914Smrgelse 323000ca1914Smrg AC_MSG_RESULT(no) 323100ca1914Smrgfi 323200ca1914Smrg_LT_DECL([], [MAGIC_CMD], [0], 323300ca1914Smrg [Used to examine libraries when file_magic_cmd begins with "file"])dnl 323400ca1914Smrg])# _LT_PATH_TOOL_PREFIX 323500ca1914Smrg 323600ca1914Smrg# Old name: 323700ca1914SmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 323800ca1914Smrgdnl aclocal-1.4 backwards compatibility: 323900ca1914Smrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 324000ca1914Smrg 324100ca1914Smrg 324200ca1914Smrg# _LT_PATH_MAGIC 324300ca1914Smrg# -------------- 324400ca1914Smrg# find a file program that can recognize a shared library 324500ca1914Smrgm4_defun([_LT_PATH_MAGIC], 324600ca1914Smrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 324700ca1914Smrgif test -z "$lt_cv_path_MAGIC_CMD"; then 324800ca1914Smrg if test -n "$ac_tool_prefix"; then 324900ca1914Smrg _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 325000ca1914Smrg else 325100ca1914Smrg MAGIC_CMD=: 325200ca1914Smrg fi 325300ca1914Smrgfi 325400ca1914Smrg])# _LT_PATH_MAGIC 325500ca1914Smrg 325600ca1914Smrg 325700ca1914Smrg# LT_PATH_LD 325800ca1914Smrg# ---------- 325900ca1914Smrg# find the pathname to the GNU or non-GNU linker 326000ca1914SmrgAC_DEFUN([LT_PATH_LD], 326100ca1914Smrg[AC_REQUIRE([AC_PROG_CC])dnl 326200ca1914SmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl 326300ca1914SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 326400ca1914Smrgm4_require([_LT_DECL_SED])dnl 326500ca1914Smrgm4_require([_LT_DECL_EGREP])dnl 326600ca1914Smrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl 326700ca1914Smrg 326800ca1914SmrgAC_ARG_WITH([gnu-ld], 326900ca1914Smrg [AS_HELP_STRING([--with-gnu-ld], 327000ca1914Smrg [assume the C compiler uses GNU ld @<:@default=no@:>@])], 327100ca1914Smrg [test no = "$withval" || with_gnu_ld=yes], 327200ca1914Smrg [with_gnu_ld=no])dnl 327300ca1914Smrg 327400ca1914Smrgac_prog=ld 327500ca1914Smrgif test yes = "$GCC"; then 327600ca1914Smrg # Check if gcc -print-prog-name=ld gives a path. 327700ca1914Smrg AC_MSG_CHECKING([for ld used by $CC]) 327800ca1914Smrg case $host in 327900ca1914Smrg *-*-mingw*) 328000ca1914Smrg # gcc leaves a trailing carriage return, which upsets mingw 328100ca1914Smrg ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 328200ca1914Smrg *) 328300ca1914Smrg ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 328400ca1914Smrg esac 328500ca1914Smrg case $ac_prog in 328600ca1914Smrg # Accept absolute paths. 328700ca1914Smrg [[\\/]]* | ?:[[\\/]]*) 328800ca1914Smrg re_direlt='/[[^/]][[^/]]*/\.\./' 328900ca1914Smrg # Canonicalize the pathname of ld 329000ca1914Smrg ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 329100ca1914Smrg while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 329200ca1914Smrg ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 329300ca1914Smrg done 329400ca1914Smrg test -z "$LD" && LD=$ac_prog 329500ca1914Smrg ;; 329600ca1914Smrg "") 329700ca1914Smrg # If it fails, then pretend we aren't using GCC. 329800ca1914Smrg ac_prog=ld 329900ca1914Smrg ;; 330000ca1914Smrg *) 330100ca1914Smrg # If it is relative, then search for the first ld in PATH. 330200ca1914Smrg with_gnu_ld=unknown 330300ca1914Smrg ;; 330400ca1914Smrg esac 330500ca1914Smrgelif test yes = "$with_gnu_ld"; then 330600ca1914Smrg AC_MSG_CHECKING([for GNU ld]) 330700ca1914Smrgelse 330800ca1914Smrg AC_MSG_CHECKING([for non-GNU ld]) 330900ca1914Smrgfi 331000ca1914SmrgAC_CACHE_VAL(lt_cv_path_LD, 331100ca1914Smrg[if test -z "$LD"; then 331200ca1914Smrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 331300ca1914Smrg for ac_dir in $PATH; do 331400ca1914Smrg IFS=$lt_save_ifs 331500ca1914Smrg test -z "$ac_dir" && ac_dir=. 331600ca1914Smrg if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 331700ca1914Smrg lt_cv_path_LD=$ac_dir/$ac_prog 331800ca1914Smrg # Check to see if the program is GNU ld. I'd rather use --version, 331900ca1914Smrg # but apparently some variants of GNU ld only accept -v. 332000ca1914Smrg # Break only if it was the GNU/non-GNU ld that we prefer. 332100ca1914Smrg case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 332200ca1914Smrg *GNU* | *'with BFD'*) 332300ca1914Smrg test no != "$with_gnu_ld" && break 332400ca1914Smrg ;; 332500ca1914Smrg *) 332600ca1914Smrg test yes != "$with_gnu_ld" && break 332700ca1914Smrg ;; 332800ca1914Smrg esac 332900ca1914Smrg fi 333000ca1914Smrg done 333100ca1914Smrg IFS=$lt_save_ifs 333200ca1914Smrgelse 333300ca1914Smrg lt_cv_path_LD=$LD # Let the user override the test with a path. 333400ca1914Smrgfi]) 333500ca1914SmrgLD=$lt_cv_path_LD 333600ca1914Smrgif test -n "$LD"; then 333700ca1914Smrg AC_MSG_RESULT($LD) 333800ca1914Smrgelse 333900ca1914Smrg AC_MSG_RESULT(no) 334000ca1914Smrgfi 334100ca1914Smrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 334200ca1914Smrg_LT_PATH_LD_GNU 334300ca1914SmrgAC_SUBST([LD]) 334400ca1914Smrg 334500ca1914Smrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 334600ca1914Smrg])# LT_PATH_LD 334700ca1914Smrg 334800ca1914Smrg# Old names: 334900ca1914SmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 335000ca1914SmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 335100ca1914Smrgdnl aclocal-1.4 backwards compatibility: 335200ca1914Smrgdnl AC_DEFUN([AM_PROG_LD], []) 335300ca1914Smrgdnl AC_DEFUN([AC_PROG_LD], []) 335400ca1914Smrg 335500ca1914Smrg 335600ca1914Smrg# _LT_PATH_LD_GNU 335700ca1914Smrg#- -------------- 335800ca1914Smrgm4_defun([_LT_PATH_LD_GNU], 335900ca1914Smrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 336000ca1914Smrg[# I'd rather use --version here, but apparently some GNU lds only accept -v. 336100ca1914Smrgcase `$LD -v 2>&1 </dev/null` in 336200ca1914Smrg*GNU* | *'with BFD'*) 336300ca1914Smrg lt_cv_prog_gnu_ld=yes 336400ca1914Smrg ;; 336500ca1914Smrg*) 336600ca1914Smrg lt_cv_prog_gnu_ld=no 336700ca1914Smrg ;; 336800ca1914Smrgesac]) 336900ca1914Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld 337000ca1914Smrg])# _LT_PATH_LD_GNU 337100ca1914Smrg 337200ca1914Smrg 337300ca1914Smrg# _LT_CMD_RELOAD 337400ca1914Smrg# -------------- 337500ca1914Smrg# find reload flag for linker 337600ca1914Smrg# -- PORTME Some linkers may need a different reload flag. 337700ca1914Smrgm4_defun([_LT_CMD_RELOAD], 337800ca1914Smrg[AC_CACHE_CHECK([for $LD option to reload object files], 337900ca1914Smrg lt_cv_ld_reload_flag, 338000ca1914Smrg [lt_cv_ld_reload_flag='-r']) 338100ca1914Smrgreload_flag=$lt_cv_ld_reload_flag 338200ca1914Smrgcase $reload_flag in 338300ca1914Smrg"" | " "*) ;; 338400ca1914Smrg*) reload_flag=" $reload_flag" ;; 338500ca1914Smrgesac 338600ca1914Smrgreload_cmds='$LD$reload_flag -o $output$reload_objs' 338700ca1914Smrgcase $host_os in 338800ca1914Smrg cygwin* | mingw* | pw32* | cegcc*) 338900ca1914Smrg if test yes != "$GCC"; then 339000ca1914Smrg reload_cmds=false 339100ca1914Smrg fi 339200ca1914Smrg ;; 339300ca1914Smrg darwin*) 339400ca1914Smrg if test yes = "$GCC"; then 339500ca1914Smrg reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 339600ca1914Smrg else 339700ca1914Smrg reload_cmds='$LD$reload_flag -o $output$reload_objs' 339800ca1914Smrg fi 339900ca1914Smrg ;; 340000ca1914Smrgesac 340100ca1914Smrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 340200ca1914Smrg_LT_TAGDECL([], [reload_cmds], [2])dnl 340300ca1914Smrg])# _LT_CMD_RELOAD 340400ca1914Smrg 340500ca1914Smrg 340600ca1914Smrg# _LT_PATH_DD 340700ca1914Smrg# ----------- 340800ca1914Smrg# find a working dd 340900ca1914Smrgm4_defun([_LT_PATH_DD], 341000ca1914Smrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], 341100ca1914Smrg[printf 0123456789abcdef0123456789abcdef >conftest.i 341200ca1914Smrgcat conftest.i conftest.i >conftest2.i 341300ca1914Smrg: ${lt_DD:=$DD} 341400ca1914SmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], 341500ca1914Smrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 341600ca1914Smrg cmp -s conftest.i conftest.out \ 341700ca1914Smrg && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 341800ca1914Smrgfi]) 341900ca1914Smrgrm -f conftest.i conftest2.i conftest.out]) 342000ca1914Smrg])# _LT_PATH_DD 342100ca1914Smrg 342200ca1914Smrg 342300ca1914Smrg# _LT_CMD_TRUNCATE 342400ca1914Smrg# ---------------- 342500ca1914Smrg# find command to truncate a binary pipe 342600ca1914Smrgm4_defun([_LT_CMD_TRUNCATE], 342700ca1914Smrg[m4_require([_LT_PATH_DD]) 342800ca1914SmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], 342900ca1914Smrg[printf 0123456789abcdef0123456789abcdef >conftest.i 343000ca1914Smrgcat conftest.i conftest.i >conftest2.i 343100ca1914Smrglt_cv_truncate_bin= 343200ca1914Smrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 343300ca1914Smrg cmp -s conftest.i conftest.out \ 343400ca1914Smrg && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 343500ca1914Smrgfi 343600ca1914Smrgrm -f conftest.i conftest2.i conftest.out 343700ca1914Smrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) 343800ca1914Smrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], 343900ca1914Smrg [Command to truncate a binary pipe]) 344000ca1914Smrg])# _LT_CMD_TRUNCATE 344100ca1914Smrg 344200ca1914Smrg 344300ca1914Smrg# _LT_CHECK_MAGIC_METHOD 344400ca1914Smrg# ---------------------- 344500ca1914Smrg# how to check for library dependencies 344600ca1914Smrg# -- PORTME fill in with the dynamic library characteristics 344700ca1914Smrgm4_defun([_LT_CHECK_MAGIC_METHOD], 344800ca1914Smrg[m4_require([_LT_DECL_EGREP]) 344900ca1914Smrgm4_require([_LT_DECL_OBJDUMP]) 345000ca1914SmrgAC_CACHE_CHECK([how to recognize dependent libraries], 345100ca1914Smrglt_cv_deplibs_check_method, 345200ca1914Smrg[lt_cv_file_magic_cmd='$MAGIC_CMD' 345300ca1914Smrglt_cv_file_magic_test_file= 345400ca1914Smrglt_cv_deplibs_check_method='unknown' 345500ca1914Smrg# Need to set the preceding variable on all platforms that support 345600ca1914Smrg# interlibrary dependencies. 345700ca1914Smrg# 'none' -- dependencies not supported. 345800ca1914Smrg# 'unknown' -- same as none, but documents that we really don't know. 345900ca1914Smrg# 'pass_all' -- all dependencies passed with no checks. 346000ca1914Smrg# 'test_compile' -- check by making test program. 346100ca1914Smrg# 'file_magic [[regex]]' -- check by looking for files in library path 346200ca1914Smrg# that responds to the $file_magic_cmd with a given extended regex. 346300ca1914Smrg# If you have 'file' or equivalent on your system and you're not sure 346400ca1914Smrg# whether 'pass_all' will *always* work, you probably want this one. 346500ca1914Smrg 346600ca1914Smrgcase $host_os in 346700ca1914Smrgaix[[4-9]]*) 346800ca1914Smrg lt_cv_deplibs_check_method=pass_all 346900ca1914Smrg ;; 347000ca1914Smrg 347100ca1914Smrgbeos*) 347200ca1914Smrg lt_cv_deplibs_check_method=pass_all 347300ca1914Smrg ;; 347400ca1914Smrg 347500ca1914Smrgbsdi[[45]]*) 347600ca1914Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 347700ca1914Smrg lt_cv_file_magic_cmd='$FILECMD -L' 347800ca1914Smrg lt_cv_file_magic_test_file=/shlib/libc.so 347900ca1914Smrg ;; 348000ca1914Smrg 348100ca1914Smrgcygwin*) 348200ca1914Smrg # func_win32_libid is a shell function defined in ltmain.sh 348300ca1914Smrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 348400ca1914Smrg lt_cv_file_magic_cmd='func_win32_libid' 348500ca1914Smrg ;; 348600ca1914Smrg 348700ca1914Smrgmingw* | pw32*) 348800ca1914Smrg # Base MSYS/MinGW do not provide the 'file' command needed by 348900ca1914Smrg # func_win32_libid shell function, so use a weaker test based on 'objdump', 349000ca1914Smrg # unless we find 'file', for example because we are cross-compiling. 349100ca1914Smrg if ( file / ) >/dev/null 2>&1; then 349200ca1914Smrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 349300ca1914Smrg lt_cv_file_magic_cmd='func_win32_libid' 349400ca1914Smrg else 349500ca1914Smrg # Keep this pattern in sync with the one in func_win32_libid. 349600ca1914Smrg lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' 349700ca1914Smrg lt_cv_file_magic_cmd='$OBJDUMP -f' 349800ca1914Smrg fi 349900ca1914Smrg ;; 350000ca1914Smrg 350100ca1914Smrgcegcc*) 350200ca1914Smrg # use the weaker test based on 'objdump'. See mingw*. 350300ca1914Smrg lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 350400ca1914Smrg lt_cv_file_magic_cmd='$OBJDUMP -f' 350500ca1914Smrg ;; 350600ca1914Smrg 350700ca1914Smrgdarwin* | rhapsody*) 350800ca1914Smrg lt_cv_deplibs_check_method=pass_all 350900ca1914Smrg ;; 351000ca1914Smrg 351100ca1914Smrgfreebsd* | dragonfly* | midnightbsd*) 351200ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 351300ca1914Smrg case $host_cpu in 351400ca1914Smrg i*86 ) 351500ca1914Smrg # Not sure whether the presence of OpenBSD here was a mistake. 351600ca1914Smrg # Let's accept both of them until this is cleared up. 351700ca1914Smrg lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 351800ca1914Smrg lt_cv_file_magic_cmd=$FILECMD 351900ca1914Smrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 352000ca1914Smrg ;; 352100ca1914Smrg esac 352200ca1914Smrg else 352300ca1914Smrg lt_cv_deplibs_check_method=pass_all 352400ca1914Smrg fi 352500ca1914Smrg ;; 352600ca1914Smrg 352700ca1914Smrghaiku*) 352800ca1914Smrg lt_cv_deplibs_check_method=pass_all 352900ca1914Smrg ;; 353000ca1914Smrg 353100ca1914Smrghpux10.20* | hpux11*) 353200ca1914Smrg lt_cv_file_magic_cmd=$FILECMD 353300ca1914Smrg case $host_cpu in 353400ca1914Smrg ia64*) 353500ca1914Smrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 353600ca1914Smrg lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 353700ca1914Smrg ;; 353800ca1914Smrg hppa*64*) 353900ca1914Smrg [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]'] 354000ca1914Smrg lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 354100ca1914Smrg ;; 354200ca1914Smrg *) 354300ca1914Smrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 354400ca1914Smrg lt_cv_file_magic_test_file=/usr/lib/libc.sl 354500ca1914Smrg ;; 354600ca1914Smrg esac 354700ca1914Smrg ;; 354800ca1914Smrg 354900ca1914Smrginterix[[3-9]]*) 355000ca1914Smrg # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 355100ca1914Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 355200ca1914Smrg ;; 355300ca1914Smrg 355400ca1914Smrgirix5* | irix6* | nonstopux*) 355500ca1914Smrg case $LD in 355600ca1914Smrg *-32|*"-32 ") libmagic=32-bit;; 355700ca1914Smrg *-n32|*"-n32 ") libmagic=N32;; 355800ca1914Smrg *-64|*"-64 ") libmagic=64-bit;; 355900ca1914Smrg *) libmagic=never-match;; 356000ca1914Smrg esac 356100ca1914Smrg lt_cv_deplibs_check_method=pass_all 356200ca1914Smrg ;; 356300ca1914Smrg 356400ca1914Smrg# This must be glibc/ELF. 356500ca1914Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 356600ca1914Smrg lt_cv_deplibs_check_method=pass_all 356700ca1914Smrg ;; 356800ca1914Smrg 356900ca1914Smrgnetbsd*) 357000ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 357100ca1914Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 357200ca1914Smrg else 357300ca1914Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 357400ca1914Smrg fi 357500ca1914Smrg ;; 357600ca1914Smrg 357700ca1914Smrgnewos6*) 357800ca1914Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 357900ca1914Smrg lt_cv_file_magic_cmd=$FILECMD 358000ca1914Smrg lt_cv_file_magic_test_file=/usr/lib/libnls.so 358100ca1914Smrg ;; 358200ca1914Smrg 358300ca1914Smrg*nto* | *qnx*) 358400ca1914Smrg lt_cv_deplibs_check_method=pass_all 358500ca1914Smrg ;; 358600ca1914Smrg 358700ca1914Smrgopenbsd* | bitrig*) 358800ca1914Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 358900ca1914Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 359000ca1914Smrg else 359100ca1914Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 359200ca1914Smrg fi 359300ca1914Smrg ;; 359400ca1914Smrg 359500ca1914Smrgosf3* | osf4* | osf5*) 359600ca1914Smrg lt_cv_deplibs_check_method=pass_all 359700ca1914Smrg ;; 359800ca1914Smrg 359900ca1914Smrgrdos*) 360000ca1914Smrg lt_cv_deplibs_check_method=pass_all 360100ca1914Smrg ;; 360200ca1914Smrg 360300ca1914Smrgsolaris*) 360400ca1914Smrg lt_cv_deplibs_check_method=pass_all 360500ca1914Smrg ;; 360600ca1914Smrg 360700ca1914Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 360800ca1914Smrg lt_cv_deplibs_check_method=pass_all 360900ca1914Smrg ;; 361000ca1914Smrg 361100ca1914Smrgsysv4 | sysv4.3*) 361200ca1914Smrg case $host_vendor in 361300ca1914Smrg motorola) 361400ca1914Smrg 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]]' 361500ca1914Smrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 361600ca1914Smrg ;; 361700ca1914Smrg ncr) 361800ca1914Smrg lt_cv_deplibs_check_method=pass_all 361900ca1914Smrg ;; 362000ca1914Smrg sequent) 362100ca1914Smrg lt_cv_file_magic_cmd='/bin/file' 362200ca1914Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 362300ca1914Smrg ;; 362400ca1914Smrg sni) 362500ca1914Smrg lt_cv_file_magic_cmd='/bin/file' 362600ca1914Smrg lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 362700ca1914Smrg lt_cv_file_magic_test_file=/lib/libc.so 362800ca1914Smrg ;; 362900ca1914Smrg siemens) 363000ca1914Smrg lt_cv_deplibs_check_method=pass_all 363100ca1914Smrg ;; 363200ca1914Smrg pc) 363300ca1914Smrg lt_cv_deplibs_check_method=pass_all 363400ca1914Smrg ;; 363500ca1914Smrg esac 363600ca1914Smrg ;; 363700ca1914Smrg 363800ca1914Smrgtpf*) 363900ca1914Smrg lt_cv_deplibs_check_method=pass_all 364000ca1914Smrg ;; 364100ca1914Smrgos2*) 364200ca1914Smrg lt_cv_deplibs_check_method=pass_all 364300ca1914Smrg ;; 364400ca1914Smrgesac 364500ca1914Smrg]) 364600ca1914Smrg 364700ca1914Smrgfile_magic_glob= 364800ca1914Smrgwant_nocaseglob=no 364900ca1914Smrgif test "$build" = "$host"; then 365000ca1914Smrg case $host_os in 365100ca1914Smrg mingw* | pw32*) 365200ca1914Smrg if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 365300ca1914Smrg want_nocaseglob=yes 365400ca1914Smrg else 365500ca1914Smrg file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 365600ca1914Smrg fi 365700ca1914Smrg ;; 365800ca1914Smrg esac 365900ca1914Smrgfi 366000ca1914Smrg 366100ca1914Smrgfile_magic_cmd=$lt_cv_file_magic_cmd 366200ca1914Smrgdeplibs_check_method=$lt_cv_deplibs_check_method 366300ca1914Smrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown 366400ca1914Smrg 366500ca1914Smrg_LT_DECL([], [deplibs_check_method], [1], 366600ca1914Smrg [Method to check whether dependent libraries are shared objects]) 366700ca1914Smrg_LT_DECL([], [file_magic_cmd], [1], 366800ca1914Smrg [Command to use when deplibs_check_method = "file_magic"]) 366900ca1914Smrg_LT_DECL([], [file_magic_glob], [1], 367000ca1914Smrg [How to find potential files when deplibs_check_method = "file_magic"]) 367100ca1914Smrg_LT_DECL([], [want_nocaseglob], [1], 367200ca1914Smrg [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 367300ca1914Smrg])# _LT_CHECK_MAGIC_METHOD 367400ca1914Smrg 367500ca1914Smrg 367600ca1914Smrg# LT_PATH_NM 367700ca1914Smrg# ---------- 367800ca1914Smrg# find the pathname to a BSD- or MS-compatible name lister 367900ca1914SmrgAC_DEFUN([LT_PATH_NM], 368000ca1914Smrg[AC_REQUIRE([AC_PROG_CC])dnl 368100ca1914SmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 368200ca1914Smrg[if test -n "$NM"; then 368300ca1914Smrg # Let the user override the test. 368400ca1914Smrg lt_cv_path_NM=$NM 368500ca1914Smrgelse 368600ca1914Smrg lt_nm_to_check=${ac_tool_prefix}nm 368700ca1914Smrg if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 368800ca1914Smrg lt_nm_to_check="$lt_nm_to_check nm" 368900ca1914Smrg fi 369000ca1914Smrg for lt_tmp_nm in $lt_nm_to_check; do 369100ca1914Smrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 369200ca1914Smrg for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 369300ca1914Smrg IFS=$lt_save_ifs 369400ca1914Smrg test -z "$ac_dir" && ac_dir=. 369500ca1914Smrg tmp_nm=$ac_dir/$lt_tmp_nm 369600ca1914Smrg if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 369700ca1914Smrg # Check to see if the nm accepts a BSD-compat flag. 369800ca1914Smrg # Adding the 'sed 1q' prevents false positives on HP-UX, which says: 369900ca1914Smrg # nm: unknown option "B" ignored 370000ca1914Smrg # Tru64's nm complains that /dev/null is an invalid object file 370100ca1914Smrg # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 370200ca1914Smrg case $build_os in 370300ca1914Smrg mingw*) lt_bad_file=conftest.nm/nofile ;; 370400ca1914Smrg *) lt_bad_file=/dev/null ;; 370500ca1914Smrg esac 370600ca1914Smrg case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in 370700ca1914Smrg *$lt_bad_file* | *'Invalid file or object type'*) 370800ca1914Smrg lt_cv_path_NM="$tmp_nm -B" 370900ca1914Smrg break 2 371000ca1914Smrg ;; 371100ca1914Smrg *) 371200ca1914Smrg case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in 371300ca1914Smrg */dev/null*) 371400ca1914Smrg lt_cv_path_NM="$tmp_nm -p" 371500ca1914Smrg break 2 371600ca1914Smrg ;; 371700ca1914Smrg *) 371800ca1914Smrg lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 371900ca1914Smrg continue # so that we can try to find one that supports BSD flags 372000ca1914Smrg ;; 372100ca1914Smrg esac 372200ca1914Smrg ;; 372300ca1914Smrg esac 372400ca1914Smrg fi 372500ca1914Smrg done 372600ca1914Smrg IFS=$lt_save_ifs 372700ca1914Smrg done 372800ca1914Smrg : ${lt_cv_path_NM=no} 372900ca1914Smrgfi]) 373000ca1914Smrgif test no != "$lt_cv_path_NM"; then 373100ca1914Smrg NM=$lt_cv_path_NM 373200ca1914Smrgelse 373300ca1914Smrg # Didn't find any BSD compatible name lister, look for dumpbin. 373400ca1914Smrg if test -n "$DUMPBIN"; then : 373500ca1914Smrg # Let the user override the test. 373600ca1914Smrg else 373700ca1914Smrg AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 373800ca1914Smrg case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in 373900ca1914Smrg *COFF*) 374000ca1914Smrg DUMPBIN="$DUMPBIN -symbols -headers" 374100ca1914Smrg ;; 374200ca1914Smrg *) 374300ca1914Smrg DUMPBIN=: 374400ca1914Smrg ;; 374500ca1914Smrg esac 374600ca1914Smrg fi 374700ca1914Smrg AC_SUBST([DUMPBIN]) 374800ca1914Smrg if test : != "$DUMPBIN"; then 374900ca1914Smrg NM=$DUMPBIN 375000ca1914Smrg fi 375100ca1914Smrgfi 375200ca1914Smrgtest -z "$NM" && NM=nm 375300ca1914SmrgAC_SUBST([NM]) 375400ca1914Smrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 375500ca1914Smrg 375600ca1914SmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 375700ca1914Smrg [lt_cv_nm_interface="BSD nm" 375800ca1914Smrg echo "int some_variable = 0;" > conftest.$ac_ext 375900ca1914Smrg (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 376000ca1914Smrg (eval "$ac_compile" 2>conftest.err) 376100ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 376200ca1914Smrg (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 376300ca1914Smrg (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 376400ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 376500ca1914Smrg (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 376600ca1914Smrg cat conftest.out >&AS_MESSAGE_LOG_FD 376700ca1914Smrg if $GREP 'External.*some_variable' conftest.out > /dev/null; then 376800ca1914Smrg lt_cv_nm_interface="MS dumpbin" 376900ca1914Smrg fi 377000ca1914Smrg rm -f conftest*]) 377100ca1914Smrg])# LT_PATH_NM 377200ca1914Smrg 377300ca1914Smrg# Old names: 377400ca1914SmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 377500ca1914SmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 377600ca1914Smrgdnl aclocal-1.4 backwards compatibility: 377700ca1914Smrgdnl AC_DEFUN([AM_PROG_NM], []) 377800ca1914Smrgdnl AC_DEFUN([AC_PROG_NM], []) 377900ca1914Smrg 378000ca1914Smrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 378100ca1914Smrg# -------------------------------- 378200ca1914Smrg# how to determine the name of the shared library 378300ca1914Smrg# associated with a specific link library. 378400ca1914Smrg# -- PORTME fill in with the dynamic library characteristics 378500ca1914Smrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 378600ca1914Smrg[m4_require([_LT_DECL_EGREP]) 378700ca1914Smrgm4_require([_LT_DECL_OBJDUMP]) 378800ca1914Smrgm4_require([_LT_DECL_DLLTOOL]) 378900ca1914SmrgAC_CACHE_CHECK([how to associate runtime and link libraries], 379000ca1914Smrglt_cv_sharedlib_from_linklib_cmd, 379100ca1914Smrg[lt_cv_sharedlib_from_linklib_cmd='unknown' 379200ca1914Smrg 379300ca1914Smrgcase $host_os in 379400ca1914Smrgcygwin* | mingw* | pw32* | cegcc*) 379500ca1914Smrg # two different shell functions defined in ltmain.sh; 379600ca1914Smrg # decide which one to use based on capabilities of $DLLTOOL 379700ca1914Smrg case `$DLLTOOL --help 2>&1` in 379800ca1914Smrg *--identify-strict*) 379900ca1914Smrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 380000ca1914Smrg ;; 380100ca1914Smrg *) 380200ca1914Smrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 380300ca1914Smrg ;; 380400ca1914Smrg esac 380500ca1914Smrg ;; 380600ca1914Smrg*) 380700ca1914Smrg # fallback: assume linklib IS sharedlib 380800ca1914Smrg lt_cv_sharedlib_from_linklib_cmd=$ECHO 380900ca1914Smrg ;; 381000ca1914Smrgesac 381100ca1914Smrg]) 381200ca1914Smrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 381300ca1914Smrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 381400ca1914Smrg 381500ca1914Smrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1], 381600ca1914Smrg [Command to associate shared and link libraries]) 381700ca1914Smrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 381800ca1914Smrg 381900ca1914Smrg 382000ca1914Smrg# _LT_PATH_MANIFEST_TOOL 382100ca1914Smrg# ---------------------- 382200ca1914Smrg# locate the manifest tool 382300ca1914Smrgm4_defun([_LT_PATH_MANIFEST_TOOL], 382400ca1914Smrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 382500ca1914Smrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 382600ca1914SmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], 382700ca1914Smrg [lt_cv_path_mainfest_tool=no 382800ca1914Smrg echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 382900ca1914Smrg $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 383000ca1914Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 383100ca1914Smrg if $GREP 'Manifest Tool' conftest.out > /dev/null; then 383200ca1914Smrg lt_cv_path_mainfest_tool=yes 383300ca1914Smrg fi 383400ca1914Smrg rm -f conftest*]) 383500ca1914Smrgif test yes != "$lt_cv_path_mainfest_tool"; then 383600ca1914Smrg MANIFEST_TOOL=: 383700ca1914Smrgfi 383800ca1914Smrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 383900ca1914Smrg])# _LT_PATH_MANIFEST_TOOL 384000ca1914Smrg 384100ca1914Smrg 384200ca1914Smrg# _LT_DLL_DEF_P([FILE]) 384300ca1914Smrg# --------------------- 384400ca1914Smrg# True iff FILE is a Windows DLL '.def' file. 384500ca1914Smrg# Keep in sync with func_dll_def_p in the libtool script 384600ca1914SmrgAC_DEFUN([_LT_DLL_DEF_P], 384700ca1914Smrg[dnl 384800ca1914Smrg test DEF = "`$SED -n dnl 384900ca1914Smrg -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace 385000ca1914Smrg -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments 385100ca1914Smrg -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl 385200ca1914Smrg -e q dnl Only consider the first "real" line 385300ca1914Smrg $1`" dnl 385400ca1914Smrg])# _LT_DLL_DEF_P 385500ca1914Smrg 385600ca1914Smrg 385700ca1914Smrg# LT_LIB_M 385800ca1914Smrg# -------- 385900ca1914Smrg# check for math library 386000ca1914SmrgAC_DEFUN([LT_LIB_M], 386100ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 386200ca1914SmrgLIBM= 386300ca1914Smrgcase $host in 386400ca1914Smrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) 386500ca1914Smrg # These system don't have libm, or don't need it 386600ca1914Smrg ;; 386700ca1914Smrg*-ncr-sysv4.3*) 386800ca1914Smrg AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) 386900ca1914Smrg AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 387000ca1914Smrg ;; 387100ca1914Smrg*) 387200ca1914Smrg AC_CHECK_LIB(m, cos, LIBM=-lm) 387300ca1914Smrg ;; 387400ca1914Smrgesac 387500ca1914SmrgAC_SUBST([LIBM]) 387600ca1914Smrg])# LT_LIB_M 387700ca1914Smrg 387800ca1914Smrg# Old name: 387900ca1914SmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 388000ca1914Smrgdnl aclocal-1.4 backwards compatibility: 388100ca1914Smrgdnl AC_DEFUN([AC_CHECK_LIBM], []) 388200ca1914Smrg 388300ca1914Smrg 388400ca1914Smrg# _LT_COMPILER_NO_RTTI([TAGNAME]) 388500ca1914Smrg# ------------------------------- 388600ca1914Smrgm4_defun([_LT_COMPILER_NO_RTTI], 388700ca1914Smrg[m4_require([_LT_TAG_COMPILER])dnl 388800ca1914Smrg 388900ca1914Smrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 389000ca1914Smrg 389100ca1914Smrgif test yes = "$GCC"; then 389200ca1914Smrg case $cc_basename in 389300ca1914Smrg nvcc*) 389400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 389500ca1914Smrg *) 389600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 389700ca1914Smrg esac 389800ca1914Smrg 389900ca1914Smrg _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 390000ca1914Smrg lt_cv_prog_compiler_rtti_exceptions, 390100ca1914Smrg [-fno-rtti -fno-exceptions], [], 390200ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 390300ca1914Smrgfi 390400ca1914Smrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 390500ca1914Smrg [Compiler flag to turn off builtin functions]) 390600ca1914Smrg])# _LT_COMPILER_NO_RTTI 390700ca1914Smrg 390800ca1914Smrg 390900ca1914Smrg# _LT_CMD_GLOBAL_SYMBOLS 391000ca1914Smrg# ---------------------- 391100ca1914Smrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 391200ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 391300ca1914SmrgAC_REQUIRE([AC_PROG_CC])dnl 391400ca1914SmrgAC_REQUIRE([AC_PROG_AWK])dnl 391500ca1914SmrgAC_REQUIRE([LT_PATH_NM])dnl 391600ca1914SmrgAC_REQUIRE([LT_PATH_LD])dnl 391700ca1914Smrgm4_require([_LT_DECL_SED])dnl 391800ca1914Smrgm4_require([_LT_DECL_EGREP])dnl 391900ca1914Smrgm4_require([_LT_TAG_COMPILER])dnl 392000ca1914Smrg 392100ca1914Smrg# Check for command to grab the raw symbol name followed by C symbol from nm. 392200ca1914SmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 392300ca1914SmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 392400ca1914Smrg[ 392500ca1914Smrg# These are sane defaults that work on at least a few old systems. 392600ca1914Smrg# [They come from Ultrix. What could be older than Ultrix?!! ;)] 392700ca1914Smrg 392800ca1914Smrg# Character class describing NM global symbol codes. 392900ca1914Smrgsymcode='[[BCDEGRST]]' 393000ca1914Smrg 393100ca1914Smrg# Regexp to match symbols that can be accessed directly from C. 393200ca1914Smrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 393300ca1914Smrg 393400ca1914Smrg# Define system-specific variables. 393500ca1914Smrgcase $host_os in 393600ca1914Smrgaix*) 393700ca1914Smrg symcode='[[BCDT]]' 393800ca1914Smrg ;; 393900ca1914Smrgcygwin* | mingw* | pw32* | cegcc*) 394000ca1914Smrg symcode='[[ABCDGISTW]]' 394100ca1914Smrg ;; 394200ca1914Smrghpux*) 394300ca1914Smrg if test ia64 = "$host_cpu"; then 394400ca1914Smrg symcode='[[ABCDEGRST]]' 394500ca1914Smrg fi 394600ca1914Smrg ;; 394700ca1914Smrgirix* | nonstopux*) 394800ca1914Smrg symcode='[[BCDEGRST]]' 394900ca1914Smrg ;; 395000ca1914Smrgosf*) 395100ca1914Smrg symcode='[[BCDEGQRST]]' 395200ca1914Smrg ;; 395300ca1914Smrgsolaris*) 395400ca1914Smrg symcode='[[BDRT]]' 395500ca1914Smrg ;; 395600ca1914Smrgsco3.2v5*) 395700ca1914Smrg symcode='[[DT]]' 395800ca1914Smrg ;; 395900ca1914Smrgsysv4.2uw2*) 396000ca1914Smrg symcode='[[DT]]' 396100ca1914Smrg ;; 396200ca1914Smrgsysv5* | sco5v6* | unixware* | OpenUNIX*) 396300ca1914Smrg symcode='[[ABDT]]' 396400ca1914Smrg ;; 396500ca1914Smrgsysv4) 396600ca1914Smrg symcode='[[DFNSTU]]' 396700ca1914Smrg ;; 396800ca1914Smrgesac 396900ca1914Smrg 397000ca1914Smrg# If we're using GNU nm, then use its standard symbol codes. 397100ca1914Smrgcase `$NM -V 2>&1` in 397200ca1914Smrg*GNU* | *'with BFD'*) 397300ca1914Smrg symcode='[[ABCDGIRSTW]]' ;; 397400ca1914Smrgesac 397500ca1914Smrg 397600ca1914Smrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then 397700ca1914Smrg # Gets list of data symbols to import. 397800ca1914Smrg lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" 397900ca1914Smrg # Adjust the below global symbol transforms to fixup imported variables. 398000ca1914Smrg lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" 398100ca1914Smrg lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" 398200ca1914Smrg lt_c_name_lib_hook="\ 398300ca1914Smrg -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ 398400ca1914Smrg -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" 398500ca1914Smrgelse 398600ca1914Smrg # Disable hooks by default. 398700ca1914Smrg lt_cv_sys_global_symbol_to_import= 398800ca1914Smrg lt_cdecl_hook= 398900ca1914Smrg lt_c_name_hook= 399000ca1914Smrg lt_c_name_lib_hook= 399100ca1914Smrgfi 399200ca1914Smrg 399300ca1914Smrg# Transform an extracted symbol line into a proper C declaration. 399400ca1914Smrg# Some systems (esp. on ia64) link data and code symbols differently, 399500ca1914Smrg# so use this general approach. 399600ca1914Smrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\ 399700ca1914Smrg$lt_cdecl_hook\ 399800ca1914Smrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ 399900ca1914Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" 400000ca1914Smrg 400100ca1914Smrg# Transform an extracted symbol line into symbol name and symbol address 400200ca1914Smrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ 400300ca1914Smrg$lt_c_name_hook\ 400400ca1914Smrg" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 400500ca1914Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" 400600ca1914Smrg 400700ca1914Smrg# Transform an extracted symbol line into symbol name with lib prefix and 400800ca1914Smrg# symbol address. 400900ca1914Smrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ 401000ca1914Smrg$lt_c_name_lib_hook\ 401100ca1914Smrg" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 401200ca1914Smrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ 401300ca1914Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" 401400ca1914Smrg 401500ca1914Smrg# Handle CRLF in mingw tool chain 401600ca1914Smrgopt_cr= 401700ca1914Smrgcase $build_os in 401800ca1914Smrgmingw*) 401900ca1914Smrg opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 402000ca1914Smrg ;; 402100ca1914Smrgesac 402200ca1914Smrg 402300ca1914Smrg# Try without a prefix underscore, then with it. 402400ca1914Smrgfor ac_symprfx in "" "_"; do 402500ca1914Smrg 402600ca1914Smrg # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 402700ca1914Smrg symxfrm="\\1 $ac_symprfx\\2 \\2" 402800ca1914Smrg 402900ca1914Smrg # Write the raw and C identifiers. 403000ca1914Smrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then 403100ca1914Smrg # Fake it for dumpbin and say T for any non-static function, 403200ca1914Smrg # D for any global variable and I for any imported variable. 403300ca1914Smrg # Also find C++ and __fastcall symbols from MSVC++ or ICC, 403400ca1914Smrg # which start with @ or ?. 403500ca1914Smrg lt_cv_sys_global_symbol_pipe="$AWK ['"\ 403600ca1914Smrg" {last_section=section; section=\$ 3};"\ 403700ca1914Smrg" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 403800ca1914Smrg" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 403900ca1914Smrg" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ 404000ca1914Smrg" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ 404100ca1914Smrg" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ 404200ca1914Smrg" \$ 0!~/External *\|/{next};"\ 404300ca1914Smrg" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 404400ca1914Smrg" {if(hide[section]) next};"\ 404500ca1914Smrg" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ 404600ca1914Smrg" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ 404700ca1914Smrg" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ 404800ca1914Smrg" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ 404900ca1914Smrg" ' prfx=^$ac_symprfx]" 405000ca1914Smrg else 405100ca1914Smrg lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 405200ca1914Smrg fi 405300ca1914Smrg lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" 405400ca1914Smrg 405500ca1914Smrg # Check to see that the pipe works correctly. 405600ca1914Smrg pipe_works=no 405700ca1914Smrg 405800ca1914Smrg rm -f conftest* 405900ca1914Smrg cat > conftest.$ac_ext <<_LT_EOF 406000ca1914Smrg#ifdef __cplusplus 406100ca1914Smrgextern "C" { 406200ca1914Smrg#endif 406300ca1914Smrgchar nm_test_var; 406400ca1914Smrgvoid nm_test_func(void); 406500ca1914Smrgvoid nm_test_func(void){} 406600ca1914Smrg#ifdef __cplusplus 406700ca1914Smrg} 406800ca1914Smrg#endif 406900ca1914Smrgint main(){nm_test_var='a';nm_test_func();return(0);} 407000ca1914Smrg_LT_EOF 407100ca1914Smrg 407200ca1914Smrg if AC_TRY_EVAL(ac_compile); then 407300ca1914Smrg # Now try to grab the symbols. 407400ca1914Smrg nlist=conftest.nm 407500ca1914Smrg if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then 407600ca1914Smrg # Try sorting and uniquifying the output. 407700ca1914Smrg if sort "$nlist" | uniq > "$nlist"T; then 407800ca1914Smrg mv -f "$nlist"T "$nlist" 407900ca1914Smrg else 408000ca1914Smrg rm -f "$nlist"T 408100ca1914Smrg fi 408200ca1914Smrg 408300ca1914Smrg # Make sure that we snagged all the symbols we need. 408400ca1914Smrg if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 408500ca1914Smrg if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 408600ca1914Smrg cat <<_LT_EOF > conftest.$ac_ext 408700ca1914Smrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 408800ca1914Smrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 408900ca1914Smrg/* DATA imports from DLLs on WIN32 can't be const, because runtime 409000ca1914Smrg relocations are performed -- see ld's documentation on pseudo-relocs. */ 409100ca1914Smrg# define LT@&t@_DLSYM_CONST 409200ca1914Smrg#elif defined __osf__ 409300ca1914Smrg/* This system does not cope well with relocations in const data. */ 409400ca1914Smrg# define LT@&t@_DLSYM_CONST 409500ca1914Smrg#else 409600ca1914Smrg# define LT@&t@_DLSYM_CONST const 409700ca1914Smrg#endif 409800ca1914Smrg 409900ca1914Smrg#ifdef __cplusplus 410000ca1914Smrgextern "C" { 410100ca1914Smrg#endif 410200ca1914Smrg 410300ca1914Smrg_LT_EOF 410400ca1914Smrg # Now generate the symbol file. 410500ca1914Smrg eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 410600ca1914Smrg 410700ca1914Smrg cat <<_LT_EOF >> conftest.$ac_ext 410800ca1914Smrg 410900ca1914Smrg/* The mapping between symbol names and symbols. */ 411000ca1914SmrgLT@&t@_DLSYM_CONST struct { 411100ca1914Smrg const char *name; 411200ca1914Smrg void *address; 411300ca1914Smrg} 411400ca1914Smrglt__PROGRAM__LTX_preloaded_symbols[[]] = 411500ca1914Smrg{ 411600ca1914Smrg { "@PROGRAM@", (void *) 0 }, 411700ca1914Smrg_LT_EOF 411800ca1914Smrg $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 411900ca1914Smrg cat <<\_LT_EOF >> conftest.$ac_ext 412000ca1914Smrg {0, (void *) 0} 412100ca1914Smrg}; 412200ca1914Smrg 412300ca1914Smrg/* This works around a problem in FreeBSD linker */ 412400ca1914Smrg#ifdef FREEBSD_WORKAROUND 412500ca1914Smrgstatic const void *lt_preloaded_setup() { 412600ca1914Smrg return lt__PROGRAM__LTX_preloaded_symbols; 412700ca1914Smrg} 412800ca1914Smrg#endif 412900ca1914Smrg 413000ca1914Smrg#ifdef __cplusplus 413100ca1914Smrg} 413200ca1914Smrg#endif 413300ca1914Smrg_LT_EOF 413400ca1914Smrg # Now try linking the two files. 413500ca1914Smrg mv conftest.$ac_objext conftstm.$ac_objext 413600ca1914Smrg lt_globsym_save_LIBS=$LIBS 413700ca1914Smrg lt_globsym_save_CFLAGS=$CFLAGS 413800ca1914Smrg LIBS=conftstm.$ac_objext 413900ca1914Smrg CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 414000ca1914Smrg if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then 414100ca1914Smrg pipe_works=yes 414200ca1914Smrg fi 414300ca1914Smrg LIBS=$lt_globsym_save_LIBS 414400ca1914Smrg CFLAGS=$lt_globsym_save_CFLAGS 414500ca1914Smrg else 414600ca1914Smrg echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 414700ca1914Smrg fi 414800ca1914Smrg else 414900ca1914Smrg echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 415000ca1914Smrg fi 415100ca1914Smrg else 415200ca1914Smrg echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 415300ca1914Smrg fi 415400ca1914Smrg else 415500ca1914Smrg echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 415600ca1914Smrg cat conftest.$ac_ext >&5 415700ca1914Smrg fi 415800ca1914Smrg rm -rf conftest* conftst* 415900ca1914Smrg 416000ca1914Smrg # Do not use the global_symbol_pipe unless it works. 416100ca1914Smrg if test yes = "$pipe_works"; then 416200ca1914Smrg break 416300ca1914Smrg else 416400ca1914Smrg lt_cv_sys_global_symbol_pipe= 416500ca1914Smrg fi 416600ca1914Smrgdone 416700ca1914Smrg]) 416800ca1914Smrgif test -z "$lt_cv_sys_global_symbol_pipe"; then 416900ca1914Smrg lt_cv_sys_global_symbol_to_cdecl= 417000ca1914Smrgfi 417100ca1914Smrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 417200ca1914Smrg AC_MSG_RESULT(failed) 417300ca1914Smrgelse 417400ca1914Smrg AC_MSG_RESULT(ok) 417500ca1914Smrgfi 417600ca1914Smrg 417700ca1914Smrg# Response file support. 417800ca1914Smrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then 417900ca1914Smrg nm_file_list_spec='@' 418000ca1914Smrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 418100ca1914Smrg nm_file_list_spec='@' 418200ca1914Smrgfi 418300ca1914Smrg 418400ca1914Smrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 418500ca1914Smrg [Take the output of nm and produce a listing of raw symbols and C names]) 418600ca1914Smrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 418700ca1914Smrg [Transform the output of nm in a proper C declaration]) 418800ca1914Smrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], 418900ca1914Smrg [Transform the output of nm into a list of symbols to manually relocate]) 419000ca1914Smrg_LT_DECL([global_symbol_to_c_name_address], 419100ca1914Smrg [lt_cv_sys_global_symbol_to_c_name_address], [1], 419200ca1914Smrg [Transform the output of nm in a C name address pair]) 419300ca1914Smrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 419400ca1914Smrg [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 419500ca1914Smrg [Transform the output of nm in a C name address pair when lib prefix is needed]) 419600ca1914Smrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], 419700ca1914Smrg [The name lister interface]) 419800ca1914Smrg_LT_DECL([], [nm_file_list_spec], [1], 419900ca1914Smrg [Specify filename containing input files for $NM]) 420000ca1914Smrg]) # _LT_CMD_GLOBAL_SYMBOLS 420100ca1914Smrg 420200ca1914Smrg 420300ca1914Smrg# _LT_COMPILER_PIC([TAGNAME]) 420400ca1914Smrg# --------------------------- 420500ca1914Smrgm4_defun([_LT_COMPILER_PIC], 420600ca1914Smrg[m4_require([_LT_TAG_COMPILER])dnl 420700ca1914Smrg_LT_TAGVAR(lt_prog_compiler_wl, $1)= 420800ca1914Smrg_LT_TAGVAR(lt_prog_compiler_pic, $1)= 420900ca1914Smrg_LT_TAGVAR(lt_prog_compiler_static, $1)= 421000ca1914Smrg 421100ca1914Smrgm4_if([$1], [CXX], [ 421200ca1914Smrg # C++ specific cases for pic, static, wl, etc. 421300ca1914Smrg if test yes = "$GXX"; then 421400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 421500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 421600ca1914Smrg 421700ca1914Smrg case $host_os in 421800ca1914Smrg aix*) 421900ca1914Smrg # All AIX code is PIC. 422000ca1914Smrg if test ia64 = "$host_cpu"; then 422100ca1914Smrg # AIX 5 now supports IA64 processor 422200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 422300ca1914Smrg fi 422400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 422500ca1914Smrg ;; 422600ca1914Smrg 422700ca1914Smrg amigaos*) 422800ca1914Smrg case $host_cpu in 422900ca1914Smrg powerpc) 423000ca1914Smrg # see comment about AmigaOS4 .so support 423100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 423200ca1914Smrg ;; 423300ca1914Smrg m68k) 423400ca1914Smrg # FIXME: we need at least 68020 code to build shared libraries, but 423500ca1914Smrg # adding the '-m68020' flag to GCC prevents building anything better, 423600ca1914Smrg # like '-m68040'. 423700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 423800ca1914Smrg ;; 423900ca1914Smrg esac 424000ca1914Smrg ;; 424100ca1914Smrg 424200ca1914Smrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 424300ca1914Smrg # PIC is the default for these OSes. 424400ca1914Smrg ;; 424500ca1914Smrg mingw* | cygwin* | os2* | pw32* | cegcc*) 424600ca1914Smrg # This hack is so that the source file can tell whether it is being 424700ca1914Smrg # built for inclusion in a dll (and should export symbols for example). 424800ca1914Smrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 424900ca1914Smrg # (--disable-auto-import) libraries 425000ca1914Smrg m4_if([$1], [GCJ], [], 425100ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 425200ca1914Smrg case $host_os in 425300ca1914Smrg os2*) 425400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 425500ca1914Smrg ;; 425600ca1914Smrg esac 425700ca1914Smrg ;; 425800ca1914Smrg darwin* | rhapsody*) 425900ca1914Smrg # PIC is the default on this platform 426000ca1914Smrg # Common symbols not allowed in MH_DYLIB files 426100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 426200ca1914Smrg ;; 426300ca1914Smrg *djgpp*) 426400ca1914Smrg # DJGPP does not support shared libraries at all 426500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 426600ca1914Smrg ;; 426700ca1914Smrg haiku*) 426800ca1914Smrg # PIC is the default for Haiku. 426900ca1914Smrg # The "-static" flag exists, but is broken. 427000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 427100ca1914Smrg ;; 427200ca1914Smrg interix[[3-9]]*) 427300ca1914Smrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 427400ca1914Smrg # Instead, we relocate shared libraries at runtime. 427500ca1914Smrg ;; 427600ca1914Smrg sysv4*MP*) 427700ca1914Smrg if test -d /usr/nec; then 427800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 427900ca1914Smrg fi 428000ca1914Smrg ;; 428100ca1914Smrg hpux*) 428200ca1914Smrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 428300ca1914Smrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 428400ca1914Smrg # sets the default TLS model and affects inlining. 428500ca1914Smrg case $host_cpu in 428600ca1914Smrg hppa*64*) 428700ca1914Smrg ;; 428800ca1914Smrg *) 428900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 429000ca1914Smrg ;; 429100ca1914Smrg esac 429200ca1914Smrg ;; 429300ca1914Smrg *qnx* | *nto*) 429400ca1914Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 429500ca1914Smrg # it will coredump. 429600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 429700ca1914Smrg ;; 429800ca1914Smrg *) 429900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 430000ca1914Smrg ;; 430100ca1914Smrg esac 430200ca1914Smrg else 430300ca1914Smrg case $host_os in 430400ca1914Smrg aix[[4-9]]*) 430500ca1914Smrg # All AIX code is PIC. 430600ca1914Smrg if test ia64 = "$host_cpu"; then 430700ca1914Smrg # AIX 5 now supports IA64 processor 430800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 430900ca1914Smrg else 431000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 431100ca1914Smrg fi 431200ca1914Smrg ;; 431300ca1914Smrg chorus*) 431400ca1914Smrg case $cc_basename in 431500ca1914Smrg cxch68*) 431600ca1914Smrg # Green Hills C++ Compiler 431700ca1914Smrg # _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" 431800ca1914Smrg ;; 431900ca1914Smrg esac 432000ca1914Smrg ;; 432100ca1914Smrg mingw* | cygwin* | os2* | pw32* | cegcc*) 432200ca1914Smrg # This hack is so that the source file can tell whether it is being 432300ca1914Smrg # built for inclusion in a dll (and should export symbols for example). 432400ca1914Smrg m4_if([$1], [GCJ], [], 432500ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 432600ca1914Smrg ;; 432700ca1914Smrg dgux*) 432800ca1914Smrg case $cc_basename in 432900ca1914Smrg ec++*) 433000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 433100ca1914Smrg ;; 433200ca1914Smrg ghcx*) 433300ca1914Smrg # Green Hills C++ Compiler 433400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 433500ca1914Smrg ;; 433600ca1914Smrg *) 433700ca1914Smrg ;; 433800ca1914Smrg esac 433900ca1914Smrg ;; 434000ca1914Smrg freebsd* | dragonfly* | midnightbsd*) 434100ca1914Smrg # FreeBSD uses GNU C++ 434200ca1914Smrg ;; 434300ca1914Smrg hpux9* | hpux10* | hpux11*) 434400ca1914Smrg case $cc_basename in 434500ca1914Smrg CC*) 434600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 434700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 434800ca1914Smrg if test ia64 != "$host_cpu"; then 434900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 435000ca1914Smrg fi 435100ca1914Smrg ;; 435200ca1914Smrg aCC*) 435300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 435400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 435500ca1914Smrg case $host_cpu in 435600ca1914Smrg hppa*64*|ia64*) 435700ca1914Smrg # +Z the default 435800ca1914Smrg ;; 435900ca1914Smrg *) 436000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 436100ca1914Smrg ;; 436200ca1914Smrg esac 436300ca1914Smrg ;; 436400ca1914Smrg *) 436500ca1914Smrg ;; 436600ca1914Smrg esac 436700ca1914Smrg ;; 436800ca1914Smrg interix*) 436900ca1914Smrg # This is c89, which is MS Visual C++ (no shared libs) 437000ca1914Smrg # Anyone wants to do a port? 437100ca1914Smrg ;; 437200ca1914Smrg irix5* | irix6* | nonstopux*) 437300ca1914Smrg case $cc_basename in 437400ca1914Smrg CC*) 437500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 437600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 437700ca1914Smrg # CC pic flag -KPIC is the default. 437800ca1914Smrg ;; 437900ca1914Smrg *) 438000ca1914Smrg ;; 438100ca1914Smrg esac 438200ca1914Smrg ;; 438300ca1914Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 438400ca1914Smrg case $cc_basename in 438500ca1914Smrg KCC*) 438600ca1914Smrg # KAI C++ Compiler 438700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 438800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 438900ca1914Smrg ;; 439000ca1914Smrg ecpc* ) 439100ca1914Smrg # old Intel C++ for x86_64, which still supported -KPIC. 439200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 439300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 439400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 439500ca1914Smrg ;; 439600ca1914Smrg icpc* ) 439700ca1914Smrg # Intel C++, used to be incompatible with GCC. 439800ca1914Smrg # ICC 10 doesn't accept -KPIC any more. 439900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 440000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 440100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 440200ca1914Smrg ;; 440300ca1914Smrg pgCC* | pgcpp*) 440400ca1914Smrg # Portland Group C++ compiler 440500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 440600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 440700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 440800ca1914Smrg ;; 440900ca1914Smrg cxx*) 441000ca1914Smrg # Compaq C++ 441100ca1914Smrg # Make sure the PIC flag is empty. It appears that all Alpha 441200ca1914Smrg # Linux and Compaq Tru64 Unix objects are PIC. 441300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 441400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 441500ca1914Smrg ;; 441600ca1914Smrg xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 441700ca1914Smrg # IBM XL 8.0, 9.0 on PPC and BlueGene 441800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 441900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 442000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 442100ca1914Smrg ;; 442200ca1914Smrg *) 442300ca1914Smrg case `$CC -V 2>&1 | $SED 5q` in 442400ca1914Smrg *Sun\ C*) 442500ca1914Smrg # Sun C++ 5.9 442600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 442700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 442800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 442900ca1914Smrg ;; 443000ca1914Smrg esac 443100ca1914Smrg ;; 443200ca1914Smrg esac 443300ca1914Smrg ;; 443400ca1914Smrg lynxos*) 443500ca1914Smrg ;; 443600ca1914Smrg m88k*) 443700ca1914Smrg ;; 443800ca1914Smrg mvs*) 443900ca1914Smrg case $cc_basename in 444000ca1914Smrg cxx*) 444100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 444200ca1914Smrg ;; 444300ca1914Smrg *) 444400ca1914Smrg ;; 444500ca1914Smrg esac 444600ca1914Smrg ;; 444700ca1914Smrg netbsd*) 444800ca1914Smrg ;; 444900ca1914Smrg *qnx* | *nto*) 445000ca1914Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 445100ca1914Smrg # it will coredump. 445200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 445300ca1914Smrg ;; 445400ca1914Smrg osf3* | osf4* | osf5*) 445500ca1914Smrg case $cc_basename in 445600ca1914Smrg KCC*) 445700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 445800ca1914Smrg ;; 445900ca1914Smrg RCC*) 446000ca1914Smrg # Rational C++ 2.4.1 446100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 446200ca1914Smrg ;; 446300ca1914Smrg cxx*) 446400ca1914Smrg # Digital/Compaq C++ 446500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 446600ca1914Smrg # Make sure the PIC flag is empty. It appears that all Alpha 446700ca1914Smrg # Linux and Compaq Tru64 Unix objects are PIC. 446800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 446900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 447000ca1914Smrg ;; 447100ca1914Smrg *) 447200ca1914Smrg ;; 447300ca1914Smrg esac 447400ca1914Smrg ;; 447500ca1914Smrg psos*) 447600ca1914Smrg ;; 447700ca1914Smrg solaris*) 447800ca1914Smrg case $cc_basename in 447900ca1914Smrg CC* | sunCC*) 448000ca1914Smrg # Sun C++ 4.2, 5.x and Centerline C++ 448100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 448200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 448300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 448400ca1914Smrg ;; 448500ca1914Smrg gcx*) 448600ca1914Smrg # Green Hills C++ Compiler 448700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 448800ca1914Smrg ;; 448900ca1914Smrg *) 449000ca1914Smrg ;; 449100ca1914Smrg esac 449200ca1914Smrg ;; 449300ca1914Smrg sunos4*) 449400ca1914Smrg case $cc_basename in 449500ca1914Smrg CC*) 449600ca1914Smrg # Sun C++ 4.x 449700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 449800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 449900ca1914Smrg ;; 450000ca1914Smrg lcc*) 450100ca1914Smrg # Lucid 450200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 450300ca1914Smrg ;; 450400ca1914Smrg *) 450500ca1914Smrg ;; 450600ca1914Smrg esac 450700ca1914Smrg ;; 450800ca1914Smrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 450900ca1914Smrg case $cc_basename in 451000ca1914Smrg CC*) 451100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 451200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 451300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 451400ca1914Smrg ;; 451500ca1914Smrg esac 451600ca1914Smrg ;; 451700ca1914Smrg tandem*) 451800ca1914Smrg case $cc_basename in 451900ca1914Smrg NCC*) 452000ca1914Smrg # NonStop-UX NCC 3.20 452100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 452200ca1914Smrg ;; 452300ca1914Smrg *) 452400ca1914Smrg ;; 452500ca1914Smrg esac 452600ca1914Smrg ;; 452700ca1914Smrg vxworks*) 452800ca1914Smrg ;; 452900ca1914Smrg *) 453000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 453100ca1914Smrg ;; 453200ca1914Smrg esac 453300ca1914Smrg fi 453400ca1914Smrg], 453500ca1914Smrg[ 453600ca1914Smrg if test yes = "$GCC"; then 453700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 453800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 453900ca1914Smrg 454000ca1914Smrg case $host_os in 454100ca1914Smrg aix*) 454200ca1914Smrg # All AIX code is PIC. 454300ca1914Smrg if test ia64 = "$host_cpu"; then 454400ca1914Smrg # AIX 5 now supports IA64 processor 454500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 454600ca1914Smrg fi 454700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 454800ca1914Smrg ;; 454900ca1914Smrg 455000ca1914Smrg amigaos*) 455100ca1914Smrg case $host_cpu in 455200ca1914Smrg powerpc) 455300ca1914Smrg # see comment about AmigaOS4 .so support 455400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 455500ca1914Smrg ;; 455600ca1914Smrg m68k) 455700ca1914Smrg # FIXME: we need at least 68020 code to build shared libraries, but 455800ca1914Smrg # adding the '-m68020' flag to GCC prevents building anything better, 455900ca1914Smrg # like '-m68040'. 456000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 456100ca1914Smrg ;; 456200ca1914Smrg esac 456300ca1914Smrg ;; 456400ca1914Smrg 456500ca1914Smrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 456600ca1914Smrg # PIC is the default for these OSes. 456700ca1914Smrg ;; 456800ca1914Smrg 456900ca1914Smrg mingw* | cygwin* | pw32* | os2* | cegcc*) 457000ca1914Smrg # This hack is so that the source file can tell whether it is being 457100ca1914Smrg # built for inclusion in a dll (and should export symbols for example). 457200ca1914Smrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 457300ca1914Smrg # (--disable-auto-import) libraries 457400ca1914Smrg m4_if([$1], [GCJ], [], 457500ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 457600ca1914Smrg case $host_os in 457700ca1914Smrg os2*) 457800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 457900ca1914Smrg ;; 458000ca1914Smrg esac 458100ca1914Smrg ;; 458200ca1914Smrg 458300ca1914Smrg darwin* | rhapsody*) 458400ca1914Smrg # PIC is the default on this platform 458500ca1914Smrg # Common symbols not allowed in MH_DYLIB files 458600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 458700ca1914Smrg ;; 458800ca1914Smrg 458900ca1914Smrg haiku*) 459000ca1914Smrg # PIC is the default for Haiku. 459100ca1914Smrg # The "-static" flag exists, but is broken. 459200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 459300ca1914Smrg ;; 459400ca1914Smrg 459500ca1914Smrg hpux*) 459600ca1914Smrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 459700ca1914Smrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 459800ca1914Smrg # sets the default TLS model and affects inlining. 459900ca1914Smrg case $host_cpu in 460000ca1914Smrg hppa*64*) 460100ca1914Smrg # +Z the default 460200ca1914Smrg ;; 460300ca1914Smrg *) 460400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 460500ca1914Smrg ;; 460600ca1914Smrg esac 460700ca1914Smrg ;; 460800ca1914Smrg 460900ca1914Smrg interix[[3-9]]*) 461000ca1914Smrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 461100ca1914Smrg # Instead, we relocate shared libraries at runtime. 461200ca1914Smrg ;; 461300ca1914Smrg 461400ca1914Smrg msdosdjgpp*) 461500ca1914Smrg # Just because we use GCC doesn't mean we suddenly get shared libraries 461600ca1914Smrg # on systems that don't support them. 461700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 461800ca1914Smrg enable_shared=no 461900ca1914Smrg ;; 462000ca1914Smrg 462100ca1914Smrg *nto* | *qnx*) 462200ca1914Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 462300ca1914Smrg # it will coredump. 462400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 462500ca1914Smrg ;; 462600ca1914Smrg 462700ca1914Smrg sysv4*MP*) 462800ca1914Smrg if test -d /usr/nec; then 462900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 463000ca1914Smrg fi 463100ca1914Smrg ;; 463200ca1914Smrg 463300ca1914Smrg *) 463400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 463500ca1914Smrg ;; 463600ca1914Smrg esac 463700ca1914Smrg 463800ca1914Smrg case $cc_basename in 463900ca1914Smrg nvcc*) # Cuda Compiler Driver 2.2 464000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 464100ca1914Smrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 464200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 464300ca1914Smrg fi 464400ca1914Smrg ;; 464500ca1914Smrg esac 464600ca1914Smrg else 464700ca1914Smrg # PORTME Check for flag to pass linker flags through the system compiler. 464800ca1914Smrg case $host_os in 464900ca1914Smrg aix*) 465000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 465100ca1914Smrg if test ia64 = "$host_cpu"; then 465200ca1914Smrg # AIX 5 now supports IA64 processor 465300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 465400ca1914Smrg else 465500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 465600ca1914Smrg fi 465700ca1914Smrg ;; 465800ca1914Smrg 465900ca1914Smrg darwin* | rhapsody*) 466000ca1914Smrg # PIC is the default on this platform 466100ca1914Smrg # Common symbols not allowed in MH_DYLIB files 466200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 466300ca1914Smrg case $cc_basename in 466400ca1914Smrg nagfor*) 466500ca1914Smrg # NAG Fortran compiler 466600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 466700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 466800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 466900ca1914Smrg ;; 467000ca1914Smrg esac 467100ca1914Smrg ;; 467200ca1914Smrg 467300ca1914Smrg mingw* | cygwin* | pw32* | os2* | cegcc*) 467400ca1914Smrg # This hack is so that the source file can tell whether it is being 467500ca1914Smrg # built for inclusion in a dll (and should export symbols for example). 467600ca1914Smrg m4_if([$1], [GCJ], [], 467700ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 467800ca1914Smrg case $host_os in 467900ca1914Smrg os2*) 468000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 468100ca1914Smrg ;; 468200ca1914Smrg esac 468300ca1914Smrg ;; 468400ca1914Smrg 468500ca1914Smrg hpux9* | hpux10* | hpux11*) 468600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 468700ca1914Smrg # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 468800ca1914Smrg # not for PA HP-UX. 468900ca1914Smrg case $host_cpu in 469000ca1914Smrg hppa*64*|ia64*) 469100ca1914Smrg # +Z the default 469200ca1914Smrg ;; 469300ca1914Smrg *) 469400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 469500ca1914Smrg ;; 469600ca1914Smrg esac 469700ca1914Smrg # Is there a better lt_prog_compiler_static that works with the bundled CC? 469800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 469900ca1914Smrg ;; 470000ca1914Smrg 470100ca1914Smrg irix5* | irix6* | nonstopux*) 470200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 470300ca1914Smrg # PIC (with -KPIC) is the default. 470400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 470500ca1914Smrg ;; 470600ca1914Smrg 470700ca1914Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 470800ca1914Smrg case $cc_basename in 470900ca1914Smrg # old Intel for x86_64, which still supported -KPIC. 471000ca1914Smrg ecc*) 471100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 471200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 471300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 471400ca1914Smrg ;; 471500ca1914Smrg # icc used to be incompatible with GCC. 471600ca1914Smrg # ICC 10 doesn't accept -KPIC any more. 471700ca1914Smrg icc* | ifort*) 471800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 471900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 472000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 472100ca1914Smrg ;; 472200ca1914Smrg # Lahey Fortran 8.1. 472300ca1914Smrg lf95*) 472400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 472500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 472600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 472700ca1914Smrg ;; 472800ca1914Smrg nagfor*) 472900ca1914Smrg # NAG Fortran compiler 473000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 473100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 473200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 473300ca1914Smrg ;; 473400ca1914Smrg tcc*) 473500ca1914Smrg # Fabrice Bellard et al's Tiny C Compiler 473600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 473700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 473800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 473900ca1914Smrg ;; 474000ca1914Smrg pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 474100ca1914Smrg # Portland Group compilers (*not* the Pentium gcc compiler, 474200ca1914Smrg # which looks to be a dead project) 474300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 474400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 474500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 474600ca1914Smrg ;; 474700ca1914Smrg ccc*) 474800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 474900ca1914Smrg # All Alpha code is PIC. 475000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 475100ca1914Smrg ;; 475200ca1914Smrg xl* | bgxl* | bgf* | mpixl*) 475300ca1914Smrg # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 475400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 475500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 475600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 475700ca1914Smrg ;; 475800ca1914Smrg *) 475900ca1914Smrg case `$CC -V 2>&1 | $SED 5q` in 476000ca1914Smrg *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 476100ca1914Smrg # Sun Fortran 8.3 passes all unrecognized flags to the linker 476200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 476300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 476400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 476500ca1914Smrg ;; 476600ca1914Smrg *Sun\ F* | *Sun*Fortran*) 476700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 476800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 476900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 477000ca1914Smrg ;; 477100ca1914Smrg *Sun\ C*) 477200ca1914Smrg # Sun C 5.9 477300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 477400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 477500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 477600ca1914Smrg ;; 477700ca1914Smrg *Intel*\ [[CF]]*Compiler*) 477800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 477900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 478000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 478100ca1914Smrg ;; 478200ca1914Smrg *Portland\ Group*) 478300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 478400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 478500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 478600ca1914Smrg ;; 478700ca1914Smrg esac 478800ca1914Smrg ;; 478900ca1914Smrg esac 479000ca1914Smrg ;; 479100ca1914Smrg 479200ca1914Smrg newsos6) 479300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 479400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 479500ca1914Smrg ;; 479600ca1914Smrg 479700ca1914Smrg *nto* | *qnx*) 479800ca1914Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 479900ca1914Smrg # it will coredump. 480000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 480100ca1914Smrg ;; 480200ca1914Smrg 480300ca1914Smrg osf3* | osf4* | osf5*) 480400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 480500ca1914Smrg # All OSF/1 code is PIC. 480600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 480700ca1914Smrg ;; 480800ca1914Smrg 480900ca1914Smrg rdos*) 481000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 481100ca1914Smrg ;; 481200ca1914Smrg 481300ca1914Smrg solaris*) 481400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 481500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 481600ca1914Smrg case $cc_basename in 481700ca1914Smrg f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 481800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 481900ca1914Smrg *) 482000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 482100ca1914Smrg esac 482200ca1914Smrg ;; 482300ca1914Smrg 482400ca1914Smrg sunos4*) 482500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 482600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 482700ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 482800ca1914Smrg ;; 482900ca1914Smrg 483000ca1914Smrg sysv4 | sysv4.2uw2* | sysv4.3*) 483100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 483200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 483300ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 483400ca1914Smrg ;; 483500ca1914Smrg 483600ca1914Smrg sysv4*MP*) 483700ca1914Smrg if test -d /usr/nec; then 483800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 483900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 484000ca1914Smrg fi 484100ca1914Smrg ;; 484200ca1914Smrg 484300ca1914Smrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 484400ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 484500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 484600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 484700ca1914Smrg ;; 484800ca1914Smrg 484900ca1914Smrg unicos*) 485000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 485100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 485200ca1914Smrg ;; 485300ca1914Smrg 485400ca1914Smrg uts4*) 485500ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 485600ca1914Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 485700ca1914Smrg ;; 485800ca1914Smrg 485900ca1914Smrg *) 486000ca1914Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 486100ca1914Smrg ;; 486200ca1914Smrg esac 486300ca1914Smrg fi 486400ca1914Smrg]) 486500ca1914Smrgcase $host_os in 486600ca1914Smrg # For platforms that do not support PIC, -DPIC is meaningless: 486700ca1914Smrg *djgpp*) 486800ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 486900ca1914Smrg ;; 487000ca1914Smrg *) 487100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 487200ca1914Smrg ;; 487300ca1914Smrgesac 487400ca1914Smrg 487500ca1914SmrgAC_CACHE_CHECK([for $compiler option to produce PIC], 487600ca1914Smrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 487700ca1914Smrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 487800ca1914Smrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 487900ca1914Smrg 488000ca1914Smrg# 488100ca1914Smrg# Check to make sure the PIC flag actually works. 488200ca1914Smrg# 488300ca1914Smrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 488400ca1914Smrg _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 488500ca1914Smrg [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 488600ca1914Smrg [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 488700ca1914Smrg [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 488800ca1914Smrg "" | " "*) ;; 488900ca1914Smrg *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 489000ca1914Smrg esac], 489100ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 489200ca1914Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 489300ca1914Smrgfi 489400ca1914Smrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 489500ca1914Smrg [Additional compiler flags for building library objects]) 489600ca1914Smrg 489700ca1914Smrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 489800ca1914Smrg [How to pass a linker flag through the compiler]) 489900ca1914Smrg# 490000ca1914Smrg# Check to make sure the static flag actually works. 490100ca1914Smrg# 490200ca1914Smrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 490300ca1914Smrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 490400ca1914Smrg _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 490500ca1914Smrg $lt_tmp_static_flag, 490600ca1914Smrg [], 490700ca1914Smrg [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 490800ca1914Smrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 490900ca1914Smrg [Compiler flag to prevent dynamic linking]) 491000ca1914Smrg])# _LT_COMPILER_PIC 491100ca1914Smrg 491200ca1914Smrg 491300ca1914Smrg# _LT_LINKER_SHLIBS([TAGNAME]) 491400ca1914Smrg# ---------------------------- 491500ca1914Smrg# See if the linker supports building shared libraries. 491600ca1914Smrgm4_defun([_LT_LINKER_SHLIBS], 491700ca1914Smrg[AC_REQUIRE([LT_PATH_LD])dnl 491800ca1914SmrgAC_REQUIRE([LT_PATH_NM])dnl 491900ca1914Smrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl 492000ca1914Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 492100ca1914Smrgm4_require([_LT_DECL_EGREP])dnl 492200ca1914Smrgm4_require([_LT_DECL_SED])dnl 492300ca1914Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 492400ca1914Smrgm4_require([_LT_TAG_COMPILER])dnl 492500ca1914SmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 492600ca1914Smrgm4_if([$1], [CXX], [ 492700ca1914Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 492800ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 492900ca1914Smrg case $host_os in 493000ca1914Smrg aix[[4-9]]*) 493100ca1914Smrg # If we're using GNU nm, then we don't want the "-C" option. 493200ca1914Smrg # -C means demangle to GNU nm, but means don't demangle to AIX nm. 493300ca1914Smrg # Without the "-l" option, or with the "-B" option, AIX nm treats 493400ca1914Smrg # weak defined symbols like other global defined symbols, whereas 493500ca1914Smrg # GNU nm marks them as "W". 493600ca1914Smrg # While the 'weak' keyword is ignored in the Export File, we need 493700ca1914Smrg # it in the Import File for the 'aix-soname' feature, so we have 493800ca1914Smrg # to replace the "-B" option with "-P" for AIX nm. 493900ca1914Smrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 494000ca1914Smrg _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' 494100ca1914Smrg else 494200ca1914Smrg _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' 494300ca1914Smrg fi 494400ca1914Smrg ;; 494500ca1914Smrg pw32*) 494600ca1914Smrg _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds 494700ca1914Smrg ;; 494800ca1914Smrg cygwin* | mingw* | cegcc*) 494900ca1914Smrg case $cc_basename in 495000ca1914Smrg cl* | icl*) 495100ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 495200ca1914Smrg ;; 495300ca1914Smrg *) 495400ca1914Smrg _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' 495500ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 495600ca1914Smrg ;; 495700ca1914Smrg esac 495800ca1914Smrg ;; 495900ca1914Smrg *) 496000ca1914Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 496100ca1914Smrg ;; 496200ca1914Smrg esac 496300ca1914Smrg], [ 496400ca1914Smrg runpath_var= 496500ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)= 496600ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=no 496700ca1914Smrg _LT_TAGVAR(archive_cmds, $1)= 496800ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)= 496900ca1914Smrg _LT_TAGVAR(compiler_needs_object, $1)=no 497000ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 497100ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 497200ca1914Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 497300ca1914Smrg _LT_TAGVAR(hardcode_automatic, $1)=no 497400ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 497500ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 497600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 497700ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 497800ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=no 497900ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 498000ca1914Smrg _LT_TAGVAR(inherit_rpath, $1)=no 498100ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=unknown 498200ca1914Smrg _LT_TAGVAR(module_cmds, $1)= 498300ca1914Smrg _LT_TAGVAR(module_expsym_cmds, $1)= 498400ca1914Smrg _LT_TAGVAR(old_archive_from_new_cmds, $1)= 498500ca1914Smrg _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 498600ca1914Smrg _LT_TAGVAR(thread_safe_flag_spec, $1)= 498700ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 498800ca1914Smrg # include_expsyms should be a list of space-separated symbols to be *always* 498900ca1914Smrg # included in the symbol list 499000ca1914Smrg _LT_TAGVAR(include_expsyms, $1)= 499100ca1914Smrg # exclude_expsyms can be an extended regexp of symbols to exclude 499200ca1914Smrg # it will be wrapped by ' (' and ')$', so one must not match beginning or 499300ca1914Smrg # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', 499400ca1914Smrg # as well as any symbol that contains 'd'. 499500ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 499600ca1914Smrg # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 499700ca1914Smrg # platforms (ab)use it in PIC code, but their linkers get confused if 499800ca1914Smrg # the symbol is explicitly referenced. Since portable code cannot 499900ca1914Smrg # rely on this symbol name, it's probably fine to never include it in 500000ca1914Smrg # preloaded symbol tables. 500100ca1914Smrg # Exclude shared library initialization/finalization symbols. 500200ca1914Smrgdnl Note also adjust exclude_expsyms for C++ above. 500300ca1914Smrg extract_expsyms_cmds= 500400ca1914Smrg 500500ca1914Smrg case $host_os in 500600ca1914Smrg cygwin* | mingw* | pw32* | cegcc*) 500700ca1914Smrg # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time 500800ca1914Smrg # When not using gcc, we currently assume that we are using 500900ca1914Smrg # Microsoft Visual C++ or Intel C++ Compiler. 501000ca1914Smrg if test yes != "$GCC"; then 501100ca1914Smrg with_gnu_ld=no 501200ca1914Smrg fi 501300ca1914Smrg ;; 501400ca1914Smrg interix*) 501500ca1914Smrg # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) 501600ca1914Smrg with_gnu_ld=yes 501700ca1914Smrg ;; 501800ca1914Smrg openbsd* | bitrig*) 501900ca1914Smrg with_gnu_ld=no 502000ca1914Smrg ;; 502100ca1914Smrg esac 502200ca1914Smrg 502300ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 502400ca1914Smrg 502500ca1914Smrg # On some targets, GNU ld is compatible enough with the native linker 502600ca1914Smrg # that we're better off using the native interface for both. 502700ca1914Smrg lt_use_gnu_ld_interface=no 502800ca1914Smrg if test yes = "$with_gnu_ld"; then 502900ca1914Smrg case $host_os in 503000ca1914Smrg aix*) 503100ca1914Smrg # The AIX port of GNU ld has always aspired to compatibility 503200ca1914Smrg # with the native linker. However, as the warning in the GNU ld 503300ca1914Smrg # block says, versions before 2.19.5* couldn't really create working 503400ca1914Smrg # shared libraries, regardless of the interface used. 503500ca1914Smrg case `$LD -v 2>&1` in 503600ca1914Smrg *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 503700ca1914Smrg *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 503800ca1914Smrg *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 503900ca1914Smrg *) 504000ca1914Smrg lt_use_gnu_ld_interface=yes 504100ca1914Smrg ;; 504200ca1914Smrg esac 504300ca1914Smrg ;; 504400ca1914Smrg *) 504500ca1914Smrg lt_use_gnu_ld_interface=yes 504600ca1914Smrg ;; 504700ca1914Smrg esac 504800ca1914Smrg fi 504900ca1914Smrg 505000ca1914Smrg if test yes = "$lt_use_gnu_ld_interface"; then 505100ca1914Smrg # If archive_cmds runs LD, not CC, wlarc should be empty 505200ca1914Smrg wlarc='$wl' 505300ca1914Smrg 505400ca1914Smrg # Set some defaults for GNU ld with shared library support. These 505500ca1914Smrg # are reset later if shared libraries are not supported. Putting them 505600ca1914Smrg # here allows them to be overridden if necessary. 505700ca1914Smrg runpath_var=LD_RUN_PATH 505800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 505900ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 506000ca1914Smrg # ancient GNU ld didn't support --whole-archive et. al. 506100ca1914Smrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 506200ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 506300ca1914Smrg else 506400ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 506500ca1914Smrg fi 506600ca1914Smrg supports_anon_versioning=no 506700ca1914Smrg case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in 506800ca1914Smrg *GNU\ gold*) supports_anon_versioning=yes ;; 506900ca1914Smrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 507000ca1914Smrg *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 507100ca1914Smrg *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 507200ca1914Smrg *\ 2.11.*) ;; # other 2.11 versions 507300ca1914Smrg *) supports_anon_versioning=yes ;; 507400ca1914Smrg esac 507500ca1914Smrg 507600ca1914Smrg # See if GNU ld supports shared libraries. 507700ca1914Smrg case $host_os in 507800ca1914Smrg aix[[3-9]]*) 507900ca1914Smrg # On AIX/PPC, the GNU linker is very broken 508000ca1914Smrg if test ia64 != "$host_cpu"; then 508100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 508200ca1914Smrg cat <<_LT_EOF 1>&2 508300ca1914Smrg 508400ca1914Smrg*** Warning: the GNU linker, at least up to release 2.19, is reported 508500ca1914Smrg*** to be unable to reliably create shared libraries on AIX. 508600ca1914Smrg*** Therefore, libtool is disabling shared libraries support. If you 508700ca1914Smrg*** really care for shared libraries, you may want to install binutils 508800ca1914Smrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 508900ca1914Smrg*** You will then need to restart the configuration process. 509000ca1914Smrg 509100ca1914Smrg_LT_EOF 509200ca1914Smrg fi 509300ca1914Smrg ;; 509400ca1914Smrg 509500ca1914Smrg amigaos*) 509600ca1914Smrg case $host_cpu in 509700ca1914Smrg powerpc) 509800ca1914Smrg # see comment about AmigaOS4 .so support 509900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 510000ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 510100ca1914Smrg ;; 510200ca1914Smrg m68k) 510300ca1914Smrg _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)' 510400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 510500ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 510600ca1914Smrg ;; 510700ca1914Smrg esac 510800ca1914Smrg ;; 510900ca1914Smrg 511000ca1914Smrg beos*) 511100ca1914Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 511200ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 511300ca1914Smrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 511400ca1914Smrg # support --undefined. This deserves some investigation. FIXME 511500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 511600ca1914Smrg else 511700ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 511800ca1914Smrg fi 511900ca1914Smrg ;; 512000ca1914Smrg 512100ca1914Smrg cygwin* | mingw* | pw32* | cegcc*) 512200ca1914Smrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 512300ca1914Smrg # as there is no search path for DLLs. 512400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 512500ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 512600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 512700ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=no 512800ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 512900ca1914Smrg _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' 513000ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 513100ca1914Smrg 513200ca1914Smrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 513300ca1914Smrg _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' 513400ca1914Smrg # If the export-symbols file already is a .def file, use it as 513500ca1914Smrg # is; otherwise, prepend EXPORTS... 513600ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 513700ca1914Smrg cp $export_symbols $output_objdir/$soname.def; 513800ca1914Smrg else 513900ca1914Smrg echo EXPORTS > $output_objdir/$soname.def; 514000ca1914Smrg cat $export_symbols >> $output_objdir/$soname.def; 514100ca1914Smrg fi~ 514200ca1914Smrg $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 514300ca1914Smrg else 514400ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 514500ca1914Smrg fi 514600ca1914Smrg ;; 514700ca1914Smrg 514800ca1914Smrg haiku*) 514900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 515000ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 515100ca1914Smrg ;; 515200ca1914Smrg 515300ca1914Smrg os2*) 515400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 515500ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 515600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 515700ca1914Smrg shrext_cmds=.dll 515800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 515900ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 516000ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 516100ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 516200ca1914Smrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 516300ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 516400ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 516500ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 516600ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 516700ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 516800ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 516900ca1914Smrg prefix_cmds="$SED"~ 517000ca1914Smrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 517100ca1914Smrg prefix_cmds="$prefix_cmds -e 1d"; 517200ca1914Smrg fi~ 517300ca1914Smrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 517400ca1914Smrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 517500ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 517600ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 517700ca1914Smrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 517800ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 517900ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='@' 518000ca1914Smrg ;; 518100ca1914Smrg 518200ca1914Smrg interix[[3-9]]*) 518300ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 518400ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 518500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 518600ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 518700ca1914Smrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 518800ca1914Smrg # Instead, shared libraries are loaded at an image base (0x10000000 by 518900ca1914Smrg # default) and relocated if they conflict, which is a slow very memory 519000ca1914Smrg # consuming and fragmenting process. To avoid this, we pick a random, 519100ca1914Smrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 519200ca1914Smrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 519300ca1914Smrg _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' 519400ca1914Smrg _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' 519500ca1914Smrg ;; 519600ca1914Smrg 519700ca1914Smrg gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 519800ca1914Smrg tmp_diet=no 519900ca1914Smrg if test linux-dietlibc = "$host_os"; then 520000ca1914Smrg case $cc_basename in 520100ca1914Smrg diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 520200ca1914Smrg esac 520300ca1914Smrg fi 520400ca1914Smrg if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 520500ca1914Smrg && test no = "$tmp_diet" 520600ca1914Smrg then 520700ca1914Smrg tmp_addflag=' $pic_flag' 520800ca1914Smrg tmp_sharedflag='-shared' 520900ca1914Smrg case $cc_basename,$host_cpu in 521000ca1914Smrg pgcc*) # Portland Group C compiler 521100ca1914Smrg _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' 521200ca1914Smrg tmp_addflag=' $pic_flag' 521300ca1914Smrg ;; 521400ca1914Smrg pgf77* | pgf90* | pgf95* | pgfortran*) 521500ca1914Smrg # Portland Group f77 and f90 compilers 521600ca1914Smrg _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' 521700ca1914Smrg tmp_addflag=' $pic_flag -Mnomain' ;; 521800ca1914Smrg ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 521900ca1914Smrg tmp_addflag=' -i_dynamic' ;; 522000ca1914Smrg efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 522100ca1914Smrg tmp_addflag=' -i_dynamic -nofor_main' ;; 522200ca1914Smrg ifc* | ifort*) # Intel Fortran compiler 522300ca1914Smrg tmp_addflag=' -nofor_main' ;; 522400ca1914Smrg lf95*) # Lahey Fortran 8.1 522500ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 522600ca1914Smrg tmp_sharedflag='--shared' ;; 522700ca1914Smrg nagfor*) # NAGFOR 5.3 522800ca1914Smrg tmp_sharedflag='-Wl,-shared' ;; 522900ca1914Smrg xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 523000ca1914Smrg tmp_sharedflag='-qmkshrobj' 523100ca1914Smrg tmp_addflag= ;; 523200ca1914Smrg nvcc*) # Cuda Compiler Driver 2.2 523300ca1914Smrg _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' 523400ca1914Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 523500ca1914Smrg ;; 523600ca1914Smrg esac 523700ca1914Smrg case `$CC -V 2>&1 | $SED 5q` in 523800ca1914Smrg *Sun\ C*) # Sun C 5.9 523900ca1914Smrg _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' 524000ca1914Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 524100ca1914Smrg tmp_sharedflag='-G' ;; 524200ca1914Smrg *Sun\ F*) # Sun Fortran 8.3 524300ca1914Smrg tmp_sharedflag='-G' ;; 524400ca1914Smrg esac 524500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 524600ca1914Smrg 524700ca1914Smrg if test yes = "$supports_anon_versioning"; then 524800ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 524900ca1914Smrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 525000ca1914Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 525100ca1914Smrg $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 525200ca1914Smrg fi 525300ca1914Smrg 525400ca1914Smrg case $cc_basename in 525500ca1914Smrg tcc*) 525600ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' 525700ca1914Smrg ;; 525800ca1914Smrg xlf* | bgf* | bgxlf* | mpixlf*) 525900ca1914Smrg # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 526000ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 526100ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 526200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 526300ca1914Smrg if test yes = "$supports_anon_versioning"; then 526400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 526500ca1914Smrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 526600ca1914Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 526700ca1914Smrg $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 526800ca1914Smrg fi 526900ca1914Smrg ;; 527000ca1914Smrg esac 527100ca1914Smrg else 527200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 527300ca1914Smrg fi 527400ca1914Smrg ;; 527500ca1914Smrg 527600ca1914Smrg netbsd*) 527700ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 527800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 527900ca1914Smrg wlarc= 528000ca1914Smrg else 528100ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 528200ca1914Smrg _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' 528300ca1914Smrg fi 528400ca1914Smrg ;; 528500ca1914Smrg 528600ca1914Smrg solaris*) 528700ca1914Smrg if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 528800ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 528900ca1914Smrg cat <<_LT_EOF 1>&2 529000ca1914Smrg 529100ca1914Smrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably 529200ca1914Smrg*** create shared libraries on Solaris systems. Therefore, libtool 529300ca1914Smrg*** is disabling shared libraries support. We urge you to upgrade GNU 529400ca1914Smrg*** binutils to release 2.9.1 or newer. Another option is to modify 529500ca1914Smrg*** your PATH or compiler configuration so that the native linker is 529600ca1914Smrg*** used, and then restart. 529700ca1914Smrg 529800ca1914Smrg_LT_EOF 529900ca1914Smrg elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 530000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 530100ca1914Smrg _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' 530200ca1914Smrg else 530300ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 530400ca1914Smrg fi 530500ca1914Smrg ;; 530600ca1914Smrg 530700ca1914Smrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 530800ca1914Smrg case `$LD -v 2>&1` in 530900ca1914Smrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 531000ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 531100ca1914Smrg cat <<_LT_EOF 1>&2 531200ca1914Smrg 531300ca1914Smrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 531400ca1914Smrg*** reliably create shared libraries on SCO systems. Therefore, libtool 531500ca1914Smrg*** is disabling shared libraries support. We urge you to upgrade GNU 531600ca1914Smrg*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 531700ca1914Smrg*** your PATH or compiler configuration so that the native linker is 531800ca1914Smrg*** used, and then restart. 531900ca1914Smrg 532000ca1914Smrg_LT_EOF 532100ca1914Smrg ;; 532200ca1914Smrg *) 532300ca1914Smrg # For security reasons, it is highly recommended that you always 532400ca1914Smrg # use absolute paths for naming shared libraries, and exclude the 532500ca1914Smrg # DT_RUNPATH tag from executables and libraries. But doing so 532600ca1914Smrg # requires that you compile everything twice, which is a pain. 532700ca1914Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 532800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 532900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 533000ca1914Smrg _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' 533100ca1914Smrg else 533200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 533300ca1914Smrg fi 533400ca1914Smrg ;; 533500ca1914Smrg esac 533600ca1914Smrg ;; 533700ca1914Smrg 533800ca1914Smrg sunos4*) 533900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 534000ca1914Smrg wlarc= 534100ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 534200ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 534300ca1914Smrg ;; 534400ca1914Smrg 534500ca1914Smrg *) 534600ca1914Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 534700ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 534800ca1914Smrg _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' 534900ca1914Smrg else 535000ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 535100ca1914Smrg fi 535200ca1914Smrg ;; 535300ca1914Smrg esac 535400ca1914Smrg 535500ca1914Smrg if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then 535600ca1914Smrg runpath_var= 535700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 535800ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 535900ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 536000ca1914Smrg fi 536100ca1914Smrg else 536200ca1914Smrg # PORTME fill in a description of your system's linker (not GNU ld) 536300ca1914Smrg case $host_os in 536400ca1914Smrg aix3*) 536500ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 536600ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 536700ca1914Smrg _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' 536800ca1914Smrg # Note: this linker hardcodes the directories in LIBPATH if there 536900ca1914Smrg # are no directories specified by -L. 537000ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 537100ca1914Smrg if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 537200ca1914Smrg # Neither direct hardcoding nor static linking is supported with a 537300ca1914Smrg # broken collect2. 537400ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 537500ca1914Smrg fi 537600ca1914Smrg ;; 537700ca1914Smrg 537800ca1914Smrg aix[[4-9]]*) 537900ca1914Smrg if test ia64 = "$host_cpu"; then 538000ca1914Smrg # On IA64, the linker does run time linking by default, so we don't 538100ca1914Smrg # have to do anything special. 538200ca1914Smrg aix_use_runtimelinking=no 538300ca1914Smrg exp_sym_flag='-Bexport' 538400ca1914Smrg no_entry_flag= 538500ca1914Smrg else 538600ca1914Smrg # If we're using GNU nm, then we don't want the "-C" option. 538700ca1914Smrg # -C means demangle to GNU nm, but means don't demangle to AIX nm. 538800ca1914Smrg # Without the "-l" option, or with the "-B" option, AIX nm treats 538900ca1914Smrg # weak defined symbols like other global defined symbols, whereas 539000ca1914Smrg # GNU nm marks them as "W". 539100ca1914Smrg # While the 'weak' keyword is ignored in the Export File, we need 539200ca1914Smrg # it in the Import File for the 'aix-soname' feature, so we have 539300ca1914Smrg # to replace the "-B" option with "-P" for AIX nm. 539400ca1914Smrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 539500ca1914Smrg _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' 539600ca1914Smrg else 539700ca1914Smrg _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' 539800ca1914Smrg fi 539900ca1914Smrg aix_use_runtimelinking=no 540000ca1914Smrg 540100ca1914Smrg # Test if we are trying to use run time linking or normal 540200ca1914Smrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 540300ca1914Smrg # have runtime linking enabled, and use it for executables. 540400ca1914Smrg # For shared libraries, we enable/disable runtime linking 540500ca1914Smrg # depending on the kind of the shared library created - 540600ca1914Smrg # when "with_aix_soname,aix_use_runtimelinking" is: 540700ca1914Smrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 540800ca1914Smrg # "aix,yes" lib.so shared, rtl:yes, for executables 540900ca1914Smrg # lib.a static archive 541000ca1914Smrg # "both,no" lib.so.V(shr.o) shared, rtl:yes 541100ca1914Smrg # lib.a(lib.so.V) shared, rtl:no, for executables 541200ca1914Smrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 541300ca1914Smrg # lib.a(lib.so.V) shared, rtl:no 541400ca1914Smrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 541500ca1914Smrg # lib.a static archive 541600ca1914Smrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 541700ca1914Smrg for ld_flag in $LDFLAGS; do 541800ca1914Smrg if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 541900ca1914Smrg aix_use_runtimelinking=yes 542000ca1914Smrg break 542100ca1914Smrg fi 542200ca1914Smrg done 542300ca1914Smrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 542400ca1914Smrg # With aix-soname=svr4, we create the lib.so.V shared archives only, 542500ca1914Smrg # so we don't have lib.a shared libs to link our executables. 542600ca1914Smrg # We have to force runtime linking in this case. 542700ca1914Smrg aix_use_runtimelinking=yes 542800ca1914Smrg LDFLAGS="$LDFLAGS -Wl,-brtl" 542900ca1914Smrg fi 543000ca1914Smrg ;; 543100ca1914Smrg esac 543200ca1914Smrg 543300ca1914Smrg exp_sym_flag='-bexport' 543400ca1914Smrg no_entry_flag='-bnoentry' 543500ca1914Smrg fi 543600ca1914Smrg 543700ca1914Smrg # When large executables or shared objects are built, AIX ld can 543800ca1914Smrg # have problems creating the table of contents. If linking a library 543900ca1914Smrg # or program results in "error TOC overflow" add -mminimal-toc to 544000ca1914Smrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 544100ca1914Smrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 544200ca1914Smrg 544300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='' 544400ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 544500ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 544600ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 544700ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 544800ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 544900ca1914Smrg case $with_aix_soname,$aix_use_runtimelinking in 545000ca1914Smrg aix,*) ;; # traditional, no import file 545100ca1914Smrg svr4,* | *,yes) # use import file 545200ca1914Smrg # The Import File defines what to hardcode. 545300ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 545400ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 545500ca1914Smrg ;; 545600ca1914Smrg esac 545700ca1914Smrg 545800ca1914Smrg if test yes = "$GCC"; then 545900ca1914Smrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 546000ca1914Smrg # We only want to do this on AIX 4.2 and lower, the check 546100ca1914Smrg # below for broken collect2 doesn't work under 4.3+ 546200ca1914Smrg collect2name=`$CC -print-prog-name=collect2` 546300ca1914Smrg if test -f "$collect2name" && 546400ca1914Smrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 546500ca1914Smrg then 546600ca1914Smrg # We have reworked collect2 546700ca1914Smrg : 546800ca1914Smrg else 546900ca1914Smrg # We have old collect2 547000ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 547100ca1914Smrg # It fails to find uninstalled libraries when the uninstalled 547200ca1914Smrg # path is not listed in the libpath. Setting hardcode_minus_L 547300ca1914Smrg # to unsupported forces relinking 547400ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 547500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 547600ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 547700ca1914Smrg fi 547800ca1914Smrg ;; 547900ca1914Smrg esac 548000ca1914Smrg shared_flag='-shared' 548100ca1914Smrg if test yes = "$aix_use_runtimelinking"; then 548200ca1914Smrg shared_flag="$shared_flag "'$wl-G' 548300ca1914Smrg fi 548400ca1914Smrg # Need to ensure runtime linking is disabled for the traditional 548500ca1914Smrg # shared library, or the linker may eventually find shared libraries 548600ca1914Smrg # /with/ Import File - we do not want to mix them. 548700ca1914Smrg shared_flag_aix='-shared' 548800ca1914Smrg shared_flag_svr4='-shared $wl-G' 548900ca1914Smrg else 549000ca1914Smrg # not using gcc 549100ca1914Smrg if test ia64 = "$host_cpu"; then 549200ca1914Smrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 549300ca1914Smrg # chokes on -Wl,-G. The following line is correct: 549400ca1914Smrg shared_flag='-G' 549500ca1914Smrg else 549600ca1914Smrg if test yes = "$aix_use_runtimelinking"; then 549700ca1914Smrg shared_flag='$wl-G' 549800ca1914Smrg else 549900ca1914Smrg shared_flag='$wl-bM:SRE' 550000ca1914Smrg fi 550100ca1914Smrg shared_flag_aix='$wl-bM:SRE' 550200ca1914Smrg shared_flag_svr4='$wl-G' 550300ca1914Smrg fi 550400ca1914Smrg fi 550500ca1914Smrg 550600ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 550700ca1914Smrg # It seems that -bexpall does not export symbols beginning with 550800ca1914Smrg # underscore (_), so it is better to generate a list of symbols to export. 550900ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 551000ca1914Smrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 551100ca1914Smrg # Warning - without using the other runtime loading flags (-brtl), 551200ca1914Smrg # -berok will link without error, but may produce a broken library. 551300ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 551400ca1914Smrg # Determine the default libpath from the value encoded in an 551500ca1914Smrg # empty executable. 551600ca1914Smrg _LT_SYS_MODULE_PATH_AIX([$1]) 551700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 551800ca1914Smrg _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 551900ca1914Smrg else 552000ca1914Smrg if test ia64 = "$host_cpu"; then 552100ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 552200ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 552300ca1914Smrg _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" 552400ca1914Smrg else 552500ca1914Smrg # Determine the default libpath from the value encoded in an 552600ca1914Smrg # empty executable. 552700ca1914Smrg _LT_SYS_MODULE_PATH_AIX([$1]) 552800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 552900ca1914Smrg # Warning - without using the other run time loading flags, 553000ca1914Smrg # -berok will link without error, but may produce a broken library. 553100ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 553200ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 553300ca1914Smrg if test yes = "$with_gnu_ld"; then 553400ca1914Smrg # We only use this code for GNU lds that support --whole-archive. 553500ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 553600ca1914Smrg else 553700ca1914Smrg # Exported symbols can be pulled into shared objects from archives 553800ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 553900ca1914Smrg fi 554000ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 554100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 554200ca1914Smrg # -brtl affects multiple linker settings, -berok does not and is overridden later 554300ca1914Smrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 554400ca1914Smrg if test svr4 != "$with_aix_soname"; then 554500ca1914Smrg # This is similar to how AIX traditionally builds its shared libraries. 554600ca1914Smrg _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' 554700ca1914Smrg fi 554800ca1914Smrg if test aix != "$with_aix_soname"; then 554900ca1914Smrg _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' 555000ca1914Smrg else 555100ca1914Smrg # used by -dlpreopen to get the symbols 555200ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 555300ca1914Smrg fi 555400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 555500ca1914Smrg fi 555600ca1914Smrg fi 555700ca1914Smrg ;; 555800ca1914Smrg 555900ca1914Smrg amigaos*) 556000ca1914Smrg case $host_cpu in 556100ca1914Smrg powerpc) 556200ca1914Smrg # see comment about AmigaOS4 .so support 556300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 556400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 556500ca1914Smrg ;; 556600ca1914Smrg m68k) 556700ca1914Smrg _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)' 556800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 556900ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 557000ca1914Smrg ;; 557100ca1914Smrg esac 557200ca1914Smrg ;; 557300ca1914Smrg 557400ca1914Smrg bsdi[[45]]*) 557500ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 557600ca1914Smrg ;; 557700ca1914Smrg 557800ca1914Smrg cygwin* | mingw* | pw32* | cegcc*) 557900ca1914Smrg # When not using gcc, we currently assume that we are using 558000ca1914Smrg # Microsoft Visual C++ or Intel C++ Compiler. 558100ca1914Smrg # hardcode_libdir_flag_spec is actually meaningless, as there is 558200ca1914Smrg # no search path for DLLs. 558300ca1914Smrg case $cc_basename in 558400ca1914Smrg cl* | icl*) 558500ca1914Smrg # Native MSVC or ICC 558600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 558700ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 558800ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 558900ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='@' 559000ca1914Smrg # Tell ltmain to make .lib files, not .a files. 559100ca1914Smrg libext=lib 559200ca1914Smrg # Tell ltmain to make .dll files, not .so files. 559300ca1914Smrg shrext_cmds=.dll 559400ca1914Smrg # FIXME: Setting linknames here is a bad hack. 559500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 559600ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 559700ca1914Smrg cp "$export_symbols" "$output_objdir/$soname.def"; 559800ca1914Smrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 559900ca1914Smrg else 560000ca1914Smrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 560100ca1914Smrg fi~ 560200ca1914Smrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 560300ca1914Smrg linknames=' 560400ca1914Smrg # The linker will not automatically build a static lib if we build a DLL. 560500ca1914Smrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 560600ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 560700ca1914Smrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 560800ca1914Smrg _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' 560900ca1914Smrg # Don't use ranlib 561000ca1914Smrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 561100ca1914Smrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 561200ca1914Smrg lt_tool_outputfile="@TOOL_OUTPUT@"~ 561300ca1914Smrg case $lt_outputfile in 561400ca1914Smrg *.exe|*.EXE) ;; 561500ca1914Smrg *) 561600ca1914Smrg lt_outputfile=$lt_outputfile.exe 561700ca1914Smrg lt_tool_outputfile=$lt_tool_outputfile.exe 561800ca1914Smrg ;; 561900ca1914Smrg esac~ 562000ca1914Smrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 562100ca1914Smrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 562200ca1914Smrg $RM "$lt_outputfile.manifest"; 562300ca1914Smrg fi' 562400ca1914Smrg ;; 562500ca1914Smrg *) 562600ca1914Smrg # Assume MSVC and ICC wrapper 562700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 562800ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 562900ca1914Smrg # Tell ltmain to make .lib files, not .a files. 563000ca1914Smrg libext=lib 563100ca1914Smrg # Tell ltmain to make .dll files, not .so files. 563200ca1914Smrg shrext_cmds=.dll 563300ca1914Smrg # FIXME: Setting linknames here is a bad hack. 563400ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 563500ca1914Smrg # The linker will automatically build a .lib file if we build a DLL. 563600ca1914Smrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 563700ca1914Smrg # FIXME: Should let the user specify the lib program. 563800ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 563900ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 564000ca1914Smrg ;; 564100ca1914Smrg esac 564200ca1914Smrg ;; 564300ca1914Smrg 564400ca1914Smrg darwin* | rhapsody*) 564500ca1914Smrg _LT_DARWIN_LINKER_FEATURES($1) 564600ca1914Smrg ;; 564700ca1914Smrg 564800ca1914Smrg dgux*) 564900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 565000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 565100ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 565200ca1914Smrg ;; 565300ca1914Smrg 565400ca1914Smrg # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 565500ca1914Smrg # support. Future versions do this automatically, but an explicit c++rt0.o 565600ca1914Smrg # does not break anything, and helps significantly (at the cost of a little 565700ca1914Smrg # extra space). 565800ca1914Smrg freebsd2.2*) 565900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 566000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 566100ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 566200ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 566300ca1914Smrg ;; 566400ca1914Smrg 566500ca1914Smrg # Unfortunately, older versions of FreeBSD 2 do not have this feature. 566600ca1914Smrg freebsd2.*) 566700ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 566800ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 566900ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 567000ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 567100ca1914Smrg ;; 567200ca1914Smrg 567300ca1914Smrg # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 567400ca1914Smrg freebsd* | dragonfly* | midnightbsd*) 567500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 567600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 567700ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 567800ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 567900ca1914Smrg ;; 568000ca1914Smrg 568100ca1914Smrg hpux9*) 568200ca1914Smrg if test yes = "$GCC"; then 568300ca1914Smrg _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' 568400ca1914Smrg else 568500ca1914Smrg _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' 568600ca1914Smrg fi 568700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 568800ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 568900ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 569000ca1914Smrg 569100ca1914Smrg # hardcode_minus_L: Not really in the search PATH, 569200ca1914Smrg # but as the default location of the library. 569300ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 569400ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 569500ca1914Smrg ;; 569600ca1914Smrg 569700ca1914Smrg hpux10*) 569800ca1914Smrg if test yes,no = "$GCC,$with_gnu_ld"; then 569900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 570000ca1914Smrg else 570100ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 570200ca1914Smrg fi 570300ca1914Smrg if test no = "$with_gnu_ld"; then 570400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 570500ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 570600ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 570700ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 570800ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 570900ca1914Smrg # hardcode_minus_L: Not really in the search PATH, 571000ca1914Smrg # but as the default location of the library. 571100ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 571200ca1914Smrg fi 571300ca1914Smrg ;; 571400ca1914Smrg 571500ca1914Smrg hpux11*) 571600ca1914Smrg if test yes,no = "$GCC,$with_gnu_ld"; then 571700ca1914Smrg case $host_cpu in 571800ca1914Smrg hppa*64*) 571900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 572000ca1914Smrg ;; 572100ca1914Smrg ia64*) 572200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 572300ca1914Smrg ;; 572400ca1914Smrg *) 572500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 572600ca1914Smrg ;; 572700ca1914Smrg esac 572800ca1914Smrg else 572900ca1914Smrg case $host_cpu in 573000ca1914Smrg hppa*64*) 573100ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 573200ca1914Smrg ;; 573300ca1914Smrg ia64*) 573400ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 573500ca1914Smrg ;; 573600ca1914Smrg *) 573700ca1914Smrg m4_if($1, [], [ 573800ca1914Smrg # Older versions of the 11.00 compiler do not understand -b yet 573900ca1914Smrg # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 574000ca1914Smrg _LT_LINKER_OPTION([if $CC understands -b], 574100ca1914Smrg _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 574200ca1914Smrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 574300ca1914Smrg [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 574400ca1914Smrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 574500ca1914Smrg ;; 574600ca1914Smrg esac 574700ca1914Smrg fi 574800ca1914Smrg if test no = "$with_gnu_ld"; then 574900ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 575000ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 575100ca1914Smrg 575200ca1914Smrg case $host_cpu in 575300ca1914Smrg hppa*64*|ia64*) 575400ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 575500ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 575600ca1914Smrg ;; 575700ca1914Smrg *) 575800ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 575900ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 576000ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 576100ca1914Smrg 576200ca1914Smrg # hardcode_minus_L: Not really in the search PATH, 576300ca1914Smrg # but as the default location of the library. 576400ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 576500ca1914Smrg ;; 576600ca1914Smrg esac 576700ca1914Smrg fi 576800ca1914Smrg ;; 576900ca1914Smrg 577000ca1914Smrg irix5* | irix6* | nonstopux*) 577100ca1914Smrg if test yes = "$GCC"; then 577200ca1914Smrg _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' 577300ca1914Smrg # Try to use the -exported_symbol ld option, if it does not 577400ca1914Smrg # work, assume that -exports_file does not work either and 577500ca1914Smrg # implicitly export all symbols. 577600ca1914Smrg # This should be the same for all languages, so no per-tag cache variable. 577700ca1914Smrg AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 577800ca1914Smrg [lt_cv_irix_exported_symbol], 577900ca1914Smrg [save_LDFLAGS=$LDFLAGS 578000ca1914Smrg LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 578100ca1914Smrg AC_LINK_IFELSE( 578200ca1914Smrg [AC_LANG_SOURCE( 578300ca1914Smrg [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 578400ca1914Smrg [C++], [[int foo (void) { return 0; }]], 578500ca1914Smrg [Fortran 77], [[ 578600ca1914Smrg subroutine foo 578700ca1914Smrg end]], 578800ca1914Smrg [Fortran], [[ 578900ca1914Smrg subroutine foo 579000ca1914Smrg end]])])], 579100ca1914Smrg [lt_cv_irix_exported_symbol=yes], 579200ca1914Smrg [lt_cv_irix_exported_symbol=no]) 579300ca1914Smrg LDFLAGS=$save_LDFLAGS]) 579400ca1914Smrg if test yes = "$lt_cv_irix_exported_symbol"; then 579500ca1914Smrg _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' 579600ca1914Smrg fi 579700ca1914Smrg else 579800ca1914Smrg _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' 579900ca1914Smrg _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' 580000ca1914Smrg fi 580100ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 580200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 580300ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 580400ca1914Smrg _LT_TAGVAR(inherit_rpath, $1)=yes 580500ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 580600ca1914Smrg ;; 580700ca1914Smrg 580800ca1914Smrg linux*) 580900ca1914Smrg case $cc_basename in 581000ca1914Smrg tcc*) 581100ca1914Smrg # Fabrice Bellard et al's Tiny C Compiler 581200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 581300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 581400ca1914Smrg ;; 581500ca1914Smrg esac 581600ca1914Smrg ;; 581700ca1914Smrg 581800ca1914Smrg netbsd*) 581900ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 582000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 582100ca1914Smrg else 582200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 582300ca1914Smrg fi 582400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 582500ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 582600ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 582700ca1914Smrg ;; 582800ca1914Smrg 582900ca1914Smrg newsos6) 583000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 583100ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 583200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 583300ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 583400ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 583500ca1914Smrg ;; 583600ca1914Smrg 583700ca1914Smrg *nto* | *qnx*) 583800ca1914Smrg ;; 583900ca1914Smrg 584000ca1914Smrg openbsd* | bitrig*) 584100ca1914Smrg if test -f /usr/libexec/ld.so; then 584200ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 584300ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 584400ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 584500ca1914Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 584600ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 584700ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' 584800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 584900ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 585000ca1914Smrg else 585100ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 585200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 585300ca1914Smrg fi 585400ca1914Smrg else 585500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 585600ca1914Smrg fi 585700ca1914Smrg ;; 585800ca1914Smrg 585900ca1914Smrg os2*) 586000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 586100ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 586200ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 586300ca1914Smrg shrext_cmds=.dll 586400ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 586500ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 586600ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 586700ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 586800ca1914Smrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 586900ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 587000ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 587100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 587200ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 587300ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 587400ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 587500ca1914Smrg prefix_cmds="$SED"~ 587600ca1914Smrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 587700ca1914Smrg prefix_cmds="$prefix_cmds -e 1d"; 587800ca1914Smrg fi~ 587900ca1914Smrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 588000ca1914Smrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 588100ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 588200ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 588300ca1914Smrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 588400ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 588500ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='@' 588600ca1914Smrg ;; 588700ca1914Smrg 588800ca1914Smrg osf3*) 588900ca1914Smrg if test yes = "$GCC"; then 589000ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 589100ca1914Smrg _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' 589200ca1914Smrg else 589300ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 589400ca1914Smrg _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' 589500ca1914Smrg fi 589600ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 589700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 589800ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 589900ca1914Smrg ;; 590000ca1914Smrg 590100ca1914Smrg osf4* | osf5*) # as osf3* with the addition of -msym flag 590200ca1914Smrg if test yes = "$GCC"; then 590300ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 590400ca1914Smrg _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' 590500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 590600ca1914Smrg else 590700ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 590800ca1914Smrg _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' 590900ca1914Smrg _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~ 591000ca1914Smrg $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' 591100ca1914Smrg 591200ca1914Smrg # Both c and cxx compiler support -rpath directly 591300ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 591400ca1914Smrg fi 591500ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 591600ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 591700ca1914Smrg ;; 591800ca1914Smrg 591900ca1914Smrg solaris*) 592000ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 592100ca1914Smrg if test yes = "$GCC"; then 592200ca1914Smrg wlarc='$wl' 592300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 592400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 592500ca1914Smrg $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' 592600ca1914Smrg else 592700ca1914Smrg case `$CC -V 2>&1` in 592800ca1914Smrg *"Compilers 5.0"*) 592900ca1914Smrg wlarc='' 593000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' 593100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 593200ca1914Smrg $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 593300ca1914Smrg ;; 593400ca1914Smrg *) 593500ca1914Smrg wlarc='$wl' 593600ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' 593700ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 593800ca1914Smrg $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 593900ca1914Smrg ;; 594000ca1914Smrg esac 594100ca1914Smrg fi 594200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 594300ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 594400ca1914Smrg case $host_os in 594500ca1914Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 594600ca1914Smrg *) 594700ca1914Smrg # The compiler driver will combine and reorder linker options, 594800ca1914Smrg # but understands '-z linker_flag'. GCC discards it without '$wl', 594900ca1914Smrg # but is careful enough not to reorder. 595000ca1914Smrg # Supported since Solaris 2.6 (maybe 2.5.1?) 595100ca1914Smrg if test yes = "$GCC"; then 595200ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 595300ca1914Smrg else 595400ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 595500ca1914Smrg fi 595600ca1914Smrg ;; 595700ca1914Smrg esac 595800ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 595900ca1914Smrg ;; 596000ca1914Smrg 596100ca1914Smrg sunos4*) 596200ca1914Smrg if test sequent = "$host_vendor"; then 596300ca1914Smrg # Use $CC to link under sequent, because it throws in some extra .o 596400ca1914Smrg # files that make .init and .fini sections work. 596500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 596600ca1914Smrg else 596700ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 596800ca1914Smrg fi 596900ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 597000ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 597100ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 597200ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 597300ca1914Smrg ;; 597400ca1914Smrg 597500ca1914Smrg sysv4) 597600ca1914Smrg case $host_vendor in 597700ca1914Smrg sni) 597800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 597900ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 598000ca1914Smrg ;; 598100ca1914Smrg siemens) 598200ca1914Smrg ## LD is ld it makes a PLAMLIB 598300ca1914Smrg ## CC just makes a GrossModule. 598400ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 598500ca1914Smrg _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 598600ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 598700ca1914Smrg ;; 598800ca1914Smrg motorola) 598900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 599000ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 599100ca1914Smrg ;; 599200ca1914Smrg esac 599300ca1914Smrg runpath_var='LD_RUN_PATH' 599400ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 599500ca1914Smrg ;; 599600ca1914Smrg 599700ca1914Smrg sysv4.3*) 599800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 599900ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 600000ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 600100ca1914Smrg ;; 600200ca1914Smrg 600300ca1914Smrg sysv4*MP*) 600400ca1914Smrg if test -d /usr/nec; then 600500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 600600ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 600700ca1914Smrg runpath_var=LD_RUN_PATH 600800ca1914Smrg hardcode_runpath_var=yes 600900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 601000ca1914Smrg fi 601100ca1914Smrg ;; 601200ca1914Smrg 601300ca1914Smrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 601400ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 601500ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 601600ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 601700ca1914Smrg runpath_var='LD_RUN_PATH' 601800ca1914Smrg 601900ca1914Smrg if test yes = "$GCC"; then 602000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602200ca1914Smrg else 602300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 602500ca1914Smrg fi 602600ca1914Smrg ;; 602700ca1914Smrg 602800ca1914Smrg sysv5* | sco3.2v5* | sco5v6*) 602900ca1914Smrg # Note: We CANNOT use -z defs as we might desire, because we do not 603000ca1914Smrg # link with -lc, and that would cause any symbols used from libc to 603100ca1914Smrg # always be unresolved, which means just about no library would 603200ca1914Smrg # ever link correctly. If we're not using GNU ld we use -z text 603300ca1914Smrg # though, which does catch some bad symbols but isn't as heavy-handed 603400ca1914Smrg # as -z defs. 603500ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 603600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 603700ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 603800ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 603900ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 604000ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 604100ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 604200ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 604300ca1914Smrg runpath_var='LD_RUN_PATH' 604400ca1914Smrg 604500ca1914Smrg if test yes = "$GCC"; then 604600ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 604700ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 604800ca1914Smrg else 604900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 605000ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 605100ca1914Smrg fi 605200ca1914Smrg ;; 605300ca1914Smrg 605400ca1914Smrg uts4*) 605500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 605600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 605700ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 605800ca1914Smrg ;; 605900ca1914Smrg 606000ca1914Smrg *) 606100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 606200ca1914Smrg ;; 606300ca1914Smrg esac 606400ca1914Smrg 606500ca1914Smrg if test sni = "$host_vendor"; then 606600ca1914Smrg case $host in 606700ca1914Smrg sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 606800ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' 606900ca1914Smrg ;; 607000ca1914Smrg esac 607100ca1914Smrg fi 607200ca1914Smrg fi 607300ca1914Smrg]) 607400ca1914SmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 607500ca1914Smrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 607600ca1914Smrg 607700ca1914Smrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 607800ca1914Smrg 607900ca1914Smrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 608000ca1914Smrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 608100ca1914Smrg_LT_DECL([], [extract_expsyms_cmds], [2], 608200ca1914Smrg [The commands to extract the exported symbol list from a shared archive]) 608300ca1914Smrg 608400ca1914Smrg# 608500ca1914Smrg# Do we need to explicitly link libc? 608600ca1914Smrg# 608700ca1914Smrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 608800ca1914Smrgx|xyes) 608900ca1914Smrg # Assume -lc should be added 609000ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 609100ca1914Smrg 609200ca1914Smrg if test yes,yes = "$GCC,$enable_shared"; then 609300ca1914Smrg case $_LT_TAGVAR(archive_cmds, $1) in 609400ca1914Smrg *'~'*) 609500ca1914Smrg # FIXME: we may have to deal with multi-command sequences. 609600ca1914Smrg ;; 609700ca1914Smrg '$CC '*) 609800ca1914Smrg # Test whether the compiler implicitly links with -lc since on some 609900ca1914Smrg # systems, -lgcc has to come before -lc. If gcc already passes -lc 610000ca1914Smrg # to ld, don't add -lc before -lgcc. 610100ca1914Smrg AC_CACHE_CHECK([whether -lc should be explicitly linked in], 610200ca1914Smrg [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 610300ca1914Smrg [$RM conftest* 610400ca1914Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 610500ca1914Smrg 610600ca1914Smrg if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 610700ca1914Smrg soname=conftest 610800ca1914Smrg lib=conftest 610900ca1914Smrg libobjs=conftest.$ac_objext 611000ca1914Smrg deplibs= 611100ca1914Smrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 611200ca1914Smrg pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 611300ca1914Smrg compiler_flags=-v 611400ca1914Smrg linker_flags=-v 611500ca1914Smrg verstring= 611600ca1914Smrg output_objdir=. 611700ca1914Smrg libname=conftest 611800ca1914Smrg lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 611900ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)= 612000ca1914Smrg if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 612100ca1914Smrg then 612200ca1914Smrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 612300ca1914Smrg else 612400ca1914Smrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 612500ca1914Smrg fi 612600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 612700ca1914Smrg else 612800ca1914Smrg cat conftest.err 1>&5 612900ca1914Smrg fi 613000ca1914Smrg $RM conftest* 613100ca1914Smrg ]) 613200ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 613300ca1914Smrg ;; 613400ca1914Smrg esac 613500ca1914Smrg fi 613600ca1914Smrg ;; 613700ca1914Smrgesac 613800ca1914Smrg 613900ca1914Smrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 614000ca1914Smrg [Whether or not to add -lc for building shared libraries]) 614100ca1914Smrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 614200ca1914Smrg [enable_shared_with_static_runtimes], [0], 614300ca1914Smrg [Whether or not to disallow shared libs when runtime libs are static]) 614400ca1914Smrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 614500ca1914Smrg [Compiler flag to allow reflexive dlopens]) 614600ca1914Smrg_LT_TAGDECL([], [whole_archive_flag_spec], [1], 614700ca1914Smrg [Compiler flag to generate shared objects directly from archives]) 614800ca1914Smrg_LT_TAGDECL([], [compiler_needs_object], [1], 614900ca1914Smrg [Whether the compiler copes with passing no objects directly]) 615000ca1914Smrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 615100ca1914Smrg [Create an old-style archive from a shared archive]) 615200ca1914Smrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 615300ca1914Smrg [Create a temporary old-style archive to link instead of a shared archive]) 615400ca1914Smrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 615500ca1914Smrg_LT_TAGDECL([], [archive_expsym_cmds], [2]) 615600ca1914Smrg_LT_TAGDECL([], [module_cmds], [2], 615700ca1914Smrg [Commands used to build a loadable module if different from building 615800ca1914Smrg a shared archive.]) 615900ca1914Smrg_LT_TAGDECL([], [module_expsym_cmds], [2]) 616000ca1914Smrg_LT_TAGDECL([], [with_gnu_ld], [1], 616100ca1914Smrg [Whether we are building with GNU ld or not]) 616200ca1914Smrg_LT_TAGDECL([], [allow_undefined_flag], [1], 616300ca1914Smrg [Flag that allows shared libraries with undefined symbols to be built]) 616400ca1914Smrg_LT_TAGDECL([], [no_undefined_flag], [1], 616500ca1914Smrg [Flag that enforces no undefined symbols]) 616600ca1914Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 616700ca1914Smrg [Flag to hardcode $libdir into a binary during linking. 616800ca1914Smrg This must work even if $libdir does not exist]) 616900ca1914Smrg_LT_TAGDECL([], [hardcode_libdir_separator], [1], 617000ca1914Smrg [Whether we need a single "-rpath" flag with a separated argument]) 617100ca1914Smrg_LT_TAGDECL([], [hardcode_direct], [0], 617200ca1914Smrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 617300ca1914Smrg DIR into the resulting binary]) 617400ca1914Smrg_LT_TAGDECL([], [hardcode_direct_absolute], [0], 617500ca1914Smrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 617600ca1914Smrg DIR into the resulting binary and the resulting library dependency is 617700ca1914Smrg "absolute", i.e impossible to change by setting $shlibpath_var if the 617800ca1914Smrg library is relocated]) 617900ca1914Smrg_LT_TAGDECL([], [hardcode_minus_L], [0], 618000ca1914Smrg [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 618100ca1914Smrg into the resulting binary]) 618200ca1914Smrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 618300ca1914Smrg [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 618400ca1914Smrg into the resulting binary]) 618500ca1914Smrg_LT_TAGDECL([], [hardcode_automatic], [0], 618600ca1914Smrg [Set to "yes" if building a shared library automatically hardcodes DIR 618700ca1914Smrg into the library and all subsequent libraries and executables linked 618800ca1914Smrg against it]) 618900ca1914Smrg_LT_TAGDECL([], [inherit_rpath], [0], 619000ca1914Smrg [Set to yes if linker adds runtime paths of dependent libraries 619100ca1914Smrg to runtime path list]) 619200ca1914Smrg_LT_TAGDECL([], [link_all_deplibs], [0], 619300ca1914Smrg [Whether libtool must link a program against all its dependency libraries]) 619400ca1914Smrg_LT_TAGDECL([], [always_export_symbols], [0], 619500ca1914Smrg [Set to "yes" if exported symbols are required]) 619600ca1914Smrg_LT_TAGDECL([], [export_symbols_cmds], [2], 619700ca1914Smrg [The commands to list exported symbols]) 619800ca1914Smrg_LT_TAGDECL([], [exclude_expsyms], [1], 619900ca1914Smrg [Symbols that should not be listed in the preloaded symbols]) 620000ca1914Smrg_LT_TAGDECL([], [include_expsyms], [1], 620100ca1914Smrg [Symbols that must always be exported]) 620200ca1914Smrg_LT_TAGDECL([], [prelink_cmds], [2], 620300ca1914Smrg [Commands necessary for linking programs (against libraries) with templates]) 620400ca1914Smrg_LT_TAGDECL([], [postlink_cmds], [2], 620500ca1914Smrg [Commands necessary for finishing linking programs]) 620600ca1914Smrg_LT_TAGDECL([], [file_list_spec], [1], 620700ca1914Smrg [Specify filename containing input files]) 620800ca1914Smrgdnl FIXME: Not yet implemented 620900ca1914Smrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 621000ca1914Smrgdnl [Compiler flag to generate thread safe objects]) 621100ca1914Smrg])# _LT_LINKER_SHLIBS 621200ca1914Smrg 621300ca1914Smrg 621400ca1914Smrg# _LT_LANG_C_CONFIG([TAG]) 621500ca1914Smrg# ------------------------ 621600ca1914Smrg# Ensure that the configuration variables for a C compiler are suitably 621700ca1914Smrg# defined. These variables are subsequently used by _LT_CONFIG to write 621800ca1914Smrg# the compiler configuration to 'libtool'. 621900ca1914Smrgm4_defun([_LT_LANG_C_CONFIG], 622000ca1914Smrg[m4_require([_LT_DECL_EGREP])dnl 622100ca1914Smrglt_save_CC=$CC 622200ca1914SmrgAC_LANG_PUSH(C) 622300ca1914Smrg 622400ca1914Smrg# Source file extension for C test sources. 622500ca1914Smrgac_ext=c 622600ca1914Smrg 622700ca1914Smrg# Object file extension for compiled C test sources. 622800ca1914Smrgobjext=o 622900ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 623000ca1914Smrg 623100ca1914Smrg# Code to be used in simple compile tests 623200ca1914Smrglt_simple_compile_test_code="int some_variable = 0;" 623300ca1914Smrg 623400ca1914Smrg# Code to be used in simple link tests 623500ca1914Smrglt_simple_link_test_code='int main(){return(0);}' 623600ca1914Smrg 623700ca1914Smrg_LT_TAG_COMPILER 623800ca1914Smrg# Save the default compiler, since it gets overwritten when the other 623900ca1914Smrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 624000ca1914Smrgcompiler_DEFAULT=$CC 624100ca1914Smrg 624200ca1914Smrg# save warnings/boilerplate of simple test code 624300ca1914Smrg_LT_COMPILER_BOILERPLATE 624400ca1914Smrg_LT_LINKER_BOILERPLATE 624500ca1914Smrg 624600ca1914Smrg## CAVEAT EMPTOR: 624700ca1914Smrg## There is no encapsulation within the following macros, do not change 624800ca1914Smrg## the running order or otherwise move them around unless you know exactly 624900ca1914Smrg## what you are doing... 625000ca1914Smrgif test -n "$compiler"; then 625100ca1914Smrg _LT_COMPILER_NO_RTTI($1) 625200ca1914Smrg _LT_COMPILER_PIC($1) 625300ca1914Smrg _LT_COMPILER_C_O($1) 625400ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 625500ca1914Smrg _LT_LINKER_SHLIBS($1) 625600ca1914Smrg _LT_SYS_DYNAMIC_LINKER($1) 625700ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 625800ca1914Smrg LT_SYS_DLOPEN_SELF 625900ca1914Smrg _LT_CMD_STRIPLIB 626000ca1914Smrg 626100ca1914Smrg # Report what library types will actually be built 626200ca1914Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 626300ca1914Smrg AC_MSG_RESULT([$can_build_shared]) 626400ca1914Smrg 626500ca1914Smrg AC_MSG_CHECKING([whether to build shared libraries]) 626600ca1914Smrg test no = "$can_build_shared" && enable_shared=no 626700ca1914Smrg 626800ca1914Smrg # On AIX, shared libraries and static libraries use the same namespace, and 626900ca1914Smrg # are all built from PIC. 627000ca1914Smrg case $host_os in 627100ca1914Smrg aix3*) 627200ca1914Smrg test yes = "$enable_shared" && enable_static=no 627300ca1914Smrg if test -n "$RANLIB"; then 627400ca1914Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 627500ca1914Smrg postinstall_cmds='$RANLIB $lib' 627600ca1914Smrg fi 627700ca1914Smrg ;; 627800ca1914Smrg 627900ca1914Smrg aix[[4-9]]*) 628000ca1914Smrg if test ia64 != "$host_cpu"; then 628100ca1914Smrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 628200ca1914Smrg yes,aix,yes) ;; # shared object as lib.so file only 628300ca1914Smrg yes,svr4,*) ;; # shared object as lib.so archive member only 628400ca1914Smrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 628500ca1914Smrg esac 628600ca1914Smrg fi 628700ca1914Smrg ;; 628800ca1914Smrg esac 628900ca1914Smrg AC_MSG_RESULT([$enable_shared]) 629000ca1914Smrg 629100ca1914Smrg AC_MSG_CHECKING([whether to build static libraries]) 629200ca1914Smrg # Make sure either enable_shared or enable_static is yes. 629300ca1914Smrg test yes = "$enable_shared" || enable_static=yes 629400ca1914Smrg AC_MSG_RESULT([$enable_static]) 629500ca1914Smrg 629600ca1914Smrg _LT_CONFIG($1) 629700ca1914Smrgfi 629800ca1914SmrgAC_LANG_POP 629900ca1914SmrgCC=$lt_save_CC 630000ca1914Smrg])# _LT_LANG_C_CONFIG 630100ca1914Smrg 630200ca1914Smrg 630300ca1914Smrg# _LT_LANG_CXX_CONFIG([TAG]) 630400ca1914Smrg# -------------------------- 630500ca1914Smrg# Ensure that the configuration variables for a C++ compiler are suitably 630600ca1914Smrg# defined. These variables are subsequently used by _LT_CONFIG to write 630700ca1914Smrg# the compiler configuration to 'libtool'. 630800ca1914Smrgm4_defun([_LT_LANG_CXX_CONFIG], 630900ca1914Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 631000ca1914Smrgm4_require([_LT_DECL_EGREP])dnl 631100ca1914Smrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl 631200ca1914Smrgif test -n "$CXX" && ( test no != "$CXX" && 631300ca1914Smrg ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 631400ca1914Smrg (test g++ != "$CXX"))); then 631500ca1914Smrg AC_PROG_CXXCPP 631600ca1914Smrgelse 631700ca1914Smrg _lt_caught_CXX_error=yes 631800ca1914Smrgfi 631900ca1914Smrg 632000ca1914SmrgAC_LANG_PUSH(C++) 632100ca1914Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 632200ca1914Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 632300ca1914Smrg_LT_TAGVAR(always_export_symbols, $1)=no 632400ca1914Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 632500ca1914Smrg_LT_TAGVAR(compiler_needs_object, $1)=no 632600ca1914Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 632700ca1914Smrg_LT_TAGVAR(hardcode_direct, $1)=no 632800ca1914Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 632900ca1914Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 633000ca1914Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 633100ca1914Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 633200ca1914Smrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 633300ca1914Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 633400ca1914Smrg_LT_TAGVAR(inherit_rpath, $1)=no 633500ca1914Smrg_LT_TAGVAR(module_cmds, $1)= 633600ca1914Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 633700ca1914Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 633800ca1914Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 633900ca1914Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 634000ca1914Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 634100ca1914Smrg_LT_TAGVAR(no_undefined_flag, $1)= 634200ca1914Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 634300ca1914Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 634400ca1914Smrg 634500ca1914Smrg# Source file extension for C++ test sources. 634600ca1914Smrgac_ext=cpp 634700ca1914Smrg 634800ca1914Smrg# Object file extension for compiled C++ test sources. 634900ca1914Smrgobjext=o 635000ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 635100ca1914Smrg 635200ca1914Smrg# No sense in running all these tests if we already determined that 635300ca1914Smrg# the CXX compiler isn't working. Some variables (like enable_shared) 635400ca1914Smrg# are currently assumed to apply to all compilers on this platform, 635500ca1914Smrg# and will be corrupted by setting them based on a non-working compiler. 635600ca1914Smrgif test yes != "$_lt_caught_CXX_error"; then 635700ca1914Smrg # Code to be used in simple compile tests 635800ca1914Smrg lt_simple_compile_test_code="int some_variable = 0;" 635900ca1914Smrg 636000ca1914Smrg # Code to be used in simple link tests 636100ca1914Smrg lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 636200ca1914Smrg 636300ca1914Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 636400ca1914Smrg _LT_TAG_COMPILER 636500ca1914Smrg 636600ca1914Smrg # save warnings/boilerplate of simple test code 636700ca1914Smrg _LT_COMPILER_BOILERPLATE 636800ca1914Smrg _LT_LINKER_BOILERPLATE 636900ca1914Smrg 637000ca1914Smrg # Allow CC to be a program name with arguments. 637100ca1914Smrg lt_save_CC=$CC 637200ca1914Smrg lt_save_CFLAGS=$CFLAGS 637300ca1914Smrg lt_save_LD=$LD 637400ca1914Smrg lt_save_GCC=$GCC 637500ca1914Smrg GCC=$GXX 637600ca1914Smrg lt_save_with_gnu_ld=$with_gnu_ld 637700ca1914Smrg lt_save_path_LD=$lt_cv_path_LD 637800ca1914Smrg if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 637900ca1914Smrg lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 638000ca1914Smrg else 638100ca1914Smrg $as_unset lt_cv_prog_gnu_ld 638200ca1914Smrg fi 638300ca1914Smrg if test -n "${lt_cv_path_LDCXX+set}"; then 638400ca1914Smrg lt_cv_path_LD=$lt_cv_path_LDCXX 638500ca1914Smrg else 638600ca1914Smrg $as_unset lt_cv_path_LD 638700ca1914Smrg fi 638800ca1914Smrg test -z "${LDCXX+set}" || LD=$LDCXX 638900ca1914Smrg CC=${CXX-"c++"} 639000ca1914Smrg CFLAGS=$CXXFLAGS 639100ca1914Smrg compiler=$CC 639200ca1914Smrg _LT_TAGVAR(compiler, $1)=$CC 639300ca1914Smrg _LT_CC_BASENAME([$compiler]) 639400ca1914Smrg 639500ca1914Smrg if test -n "$compiler"; then 639600ca1914Smrg # We don't want -fno-exception when compiling C++ code, so set the 639700ca1914Smrg # no_builtin_flag separately 639800ca1914Smrg if test yes = "$GXX"; then 639900ca1914Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 640000ca1914Smrg else 640100ca1914Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 640200ca1914Smrg fi 640300ca1914Smrg 640400ca1914Smrg if test yes = "$GXX"; then 640500ca1914Smrg # Set up default GNU C++ configuration 640600ca1914Smrg 640700ca1914Smrg LT_PATH_LD 640800ca1914Smrg 640900ca1914Smrg # Check if GNU C++ uses GNU ld as the underlying linker, since the 641000ca1914Smrg # archiving commands below assume that GNU ld is being used. 641100ca1914Smrg if test yes = "$with_gnu_ld"; then 641200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 641300ca1914Smrg _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' 641400ca1914Smrg 641500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 641600ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 641700ca1914Smrg 641800ca1914Smrg # If archive_cmds runs LD, not CC, wlarc should be empty 641900ca1914Smrg # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 642000ca1914Smrg # investigate it a little bit more. (MM) 642100ca1914Smrg wlarc='$wl' 642200ca1914Smrg 642300ca1914Smrg # ancient GNU ld didn't support --whole-archive et. al. 642400ca1914Smrg if eval "`$CC -print-prog-name=ld` --help 2>&1" | 642500ca1914Smrg $GREP 'no-whole-archive' > /dev/null; then 642600ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 642700ca1914Smrg else 642800ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 642900ca1914Smrg fi 643000ca1914Smrg else 643100ca1914Smrg with_gnu_ld=no 643200ca1914Smrg wlarc= 643300ca1914Smrg 643400ca1914Smrg # A generic and very simple default shared library creation 643500ca1914Smrg # command for GNU C++ for the case where it uses the native 643600ca1914Smrg # linker, instead of GNU ld. If possible, this setting should 643700ca1914Smrg # overridden to take advantage of the native linker features on 643800ca1914Smrg # the platform it is being used on. 643900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 644000ca1914Smrg fi 644100ca1914Smrg 644200ca1914Smrg # Commands to make compiler produce verbose output that lists 644300ca1914Smrg # what "hidden" libraries, object files and flags are used when 644400ca1914Smrg # linking a shared library. 644500ca1914Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 644600ca1914Smrg 644700ca1914Smrg else 644800ca1914Smrg GXX=no 644900ca1914Smrg with_gnu_ld=no 645000ca1914Smrg wlarc= 645100ca1914Smrg fi 645200ca1914Smrg 645300ca1914Smrg # PORTME: fill in a description of your system's C++ link characteristics 645400ca1914Smrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 645500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 645600ca1914Smrg case $host_os in 645700ca1914Smrg aix3*) 645800ca1914Smrg # FIXME: insert proper C++ library support 645900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 646000ca1914Smrg ;; 646100ca1914Smrg aix[[4-9]]*) 646200ca1914Smrg if test ia64 = "$host_cpu"; then 646300ca1914Smrg # On IA64, the linker does run time linking by default, so we don't 646400ca1914Smrg # have to do anything special. 646500ca1914Smrg aix_use_runtimelinking=no 646600ca1914Smrg exp_sym_flag='-Bexport' 646700ca1914Smrg no_entry_flag= 646800ca1914Smrg else 646900ca1914Smrg aix_use_runtimelinking=no 647000ca1914Smrg 647100ca1914Smrg # Test if we are trying to use run time linking or normal 647200ca1914Smrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 647300ca1914Smrg # have runtime linking enabled, and use it for executables. 647400ca1914Smrg # For shared libraries, we enable/disable runtime linking 647500ca1914Smrg # depending on the kind of the shared library created - 647600ca1914Smrg # when "with_aix_soname,aix_use_runtimelinking" is: 647700ca1914Smrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 647800ca1914Smrg # "aix,yes" lib.so shared, rtl:yes, for executables 647900ca1914Smrg # lib.a static archive 648000ca1914Smrg # "both,no" lib.so.V(shr.o) shared, rtl:yes 648100ca1914Smrg # lib.a(lib.so.V) shared, rtl:no, for executables 648200ca1914Smrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 648300ca1914Smrg # lib.a(lib.so.V) shared, rtl:no 648400ca1914Smrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 648500ca1914Smrg # lib.a static archive 648600ca1914Smrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 648700ca1914Smrg for ld_flag in $LDFLAGS; do 648800ca1914Smrg case $ld_flag in 648900ca1914Smrg *-brtl*) 649000ca1914Smrg aix_use_runtimelinking=yes 649100ca1914Smrg break 649200ca1914Smrg ;; 649300ca1914Smrg esac 649400ca1914Smrg done 649500ca1914Smrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 649600ca1914Smrg # With aix-soname=svr4, we create the lib.so.V shared archives only, 649700ca1914Smrg # so we don't have lib.a shared libs to link our executables. 649800ca1914Smrg # We have to force runtime linking in this case. 649900ca1914Smrg aix_use_runtimelinking=yes 650000ca1914Smrg LDFLAGS="$LDFLAGS -Wl,-brtl" 650100ca1914Smrg fi 650200ca1914Smrg ;; 650300ca1914Smrg esac 650400ca1914Smrg 650500ca1914Smrg exp_sym_flag='-bexport' 650600ca1914Smrg no_entry_flag='-bnoentry' 650700ca1914Smrg fi 650800ca1914Smrg 650900ca1914Smrg # When large executables or shared objects are built, AIX ld can 651000ca1914Smrg # have problems creating the table of contents. If linking a library 651100ca1914Smrg # or program results in "error TOC overflow" add -mminimal-toc to 651200ca1914Smrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 651300ca1914Smrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 651400ca1914Smrg 651500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='' 651600ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 651700ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 651800ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 651900ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 652000ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 652100ca1914Smrg case $with_aix_soname,$aix_use_runtimelinking in 652200ca1914Smrg aix,*) ;; # no import file 652300ca1914Smrg svr4,* | *,yes) # use import file 652400ca1914Smrg # The Import File defines what to hardcode. 652500ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 652600ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 652700ca1914Smrg ;; 652800ca1914Smrg esac 652900ca1914Smrg 653000ca1914Smrg if test yes = "$GXX"; then 653100ca1914Smrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 653200ca1914Smrg # We only want to do this on AIX 4.2 and lower, the check 653300ca1914Smrg # below for broken collect2 doesn't work under 4.3+ 653400ca1914Smrg collect2name=`$CC -print-prog-name=collect2` 653500ca1914Smrg if test -f "$collect2name" && 653600ca1914Smrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 653700ca1914Smrg then 653800ca1914Smrg # We have reworked collect2 653900ca1914Smrg : 654000ca1914Smrg else 654100ca1914Smrg # We have old collect2 654200ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 654300ca1914Smrg # It fails to find uninstalled libraries when the uninstalled 654400ca1914Smrg # path is not listed in the libpath. Setting hardcode_minus_L 654500ca1914Smrg # to unsupported forces relinking 654600ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 654700ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 654800ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 654900ca1914Smrg fi 655000ca1914Smrg esac 655100ca1914Smrg shared_flag='-shared' 655200ca1914Smrg if test yes = "$aix_use_runtimelinking"; then 655300ca1914Smrg shared_flag=$shared_flag' $wl-G' 655400ca1914Smrg fi 655500ca1914Smrg # Need to ensure runtime linking is disabled for the traditional 655600ca1914Smrg # shared library, or the linker may eventually find shared libraries 655700ca1914Smrg # /with/ Import File - we do not want to mix them. 655800ca1914Smrg shared_flag_aix='-shared' 655900ca1914Smrg shared_flag_svr4='-shared $wl-G' 656000ca1914Smrg else 656100ca1914Smrg # not using gcc 656200ca1914Smrg if test ia64 = "$host_cpu"; then 656300ca1914Smrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 656400ca1914Smrg # chokes on -Wl,-G. The following line is correct: 656500ca1914Smrg shared_flag='-G' 656600ca1914Smrg else 656700ca1914Smrg if test yes = "$aix_use_runtimelinking"; then 656800ca1914Smrg shared_flag='$wl-G' 656900ca1914Smrg else 657000ca1914Smrg shared_flag='$wl-bM:SRE' 657100ca1914Smrg fi 657200ca1914Smrg shared_flag_aix='$wl-bM:SRE' 657300ca1914Smrg shared_flag_svr4='$wl-G' 657400ca1914Smrg fi 657500ca1914Smrg fi 657600ca1914Smrg 657700ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 657800ca1914Smrg # It seems that -bexpall does not export symbols beginning with 657900ca1914Smrg # underscore (_), so it is better to generate a list of symbols to 658000ca1914Smrg # export. 658100ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 658200ca1914Smrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 658300ca1914Smrg # Warning - without using the other runtime loading flags (-brtl), 658400ca1914Smrg # -berok will link without error, but may produce a broken library. 658500ca1914Smrg # The "-G" linker flag allows undefined symbols. 658600ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' 658700ca1914Smrg # Determine the default libpath from the value encoded in an empty 658800ca1914Smrg # executable. 658900ca1914Smrg _LT_SYS_MODULE_PATH_AIX([$1]) 659000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 659100ca1914Smrg 659200ca1914Smrg _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 659300ca1914Smrg else 659400ca1914Smrg if test ia64 = "$host_cpu"; then 659500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 659600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 659700ca1914Smrg _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" 659800ca1914Smrg else 659900ca1914Smrg # Determine the default libpath from the value encoded in an 660000ca1914Smrg # empty executable. 660100ca1914Smrg _LT_SYS_MODULE_PATH_AIX([$1]) 660200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 660300ca1914Smrg # Warning - without using the other run time loading flags, 660400ca1914Smrg # -berok will link without error, but may produce a broken library. 660500ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 660600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 660700ca1914Smrg if test yes = "$with_gnu_ld"; then 660800ca1914Smrg # We only use this code for GNU lds that support --whole-archive. 660900ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 661000ca1914Smrg else 661100ca1914Smrg # Exported symbols can be pulled into shared objects from archives 661200ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 661300ca1914Smrg fi 661400ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 661500ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 661600ca1914Smrg # -brtl affects multiple linker settings, -berok does not and is overridden later 661700ca1914Smrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 661800ca1914Smrg if test svr4 != "$with_aix_soname"; then 661900ca1914Smrg # This is similar to how AIX traditionally builds its shared 662000ca1914Smrg # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. 662100ca1914Smrg _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' 662200ca1914Smrg fi 662300ca1914Smrg if test aix != "$with_aix_soname"; then 662400ca1914Smrg _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' 662500ca1914Smrg else 662600ca1914Smrg # used by -dlpreopen to get the symbols 662700ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 662800ca1914Smrg fi 662900ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 663000ca1914Smrg fi 663100ca1914Smrg fi 663200ca1914Smrg ;; 663300ca1914Smrg 663400ca1914Smrg beos*) 663500ca1914Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 663600ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 663700ca1914Smrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 663800ca1914Smrg # support --undefined. This deserves some investigation. FIXME 663900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 664000ca1914Smrg else 664100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 664200ca1914Smrg fi 664300ca1914Smrg ;; 664400ca1914Smrg 664500ca1914Smrg chorus*) 664600ca1914Smrg case $cc_basename in 664700ca1914Smrg *) 664800ca1914Smrg # FIXME: insert proper C++ library support 664900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 665000ca1914Smrg ;; 665100ca1914Smrg esac 665200ca1914Smrg ;; 665300ca1914Smrg 665400ca1914Smrg cygwin* | mingw* | pw32* | cegcc*) 665500ca1914Smrg case $GXX,$cc_basename in 665600ca1914Smrg ,cl* | no,cl* | ,icl* | no,icl*) 665700ca1914Smrg # Native MSVC or ICC 665800ca1914Smrg # hardcode_libdir_flag_spec is actually meaningless, as there is 665900ca1914Smrg # no search path for DLLs. 666000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 666100ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 666200ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 666300ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='@' 666400ca1914Smrg # Tell ltmain to make .lib files, not .a files. 666500ca1914Smrg libext=lib 666600ca1914Smrg # Tell ltmain to make .dll files, not .so files. 666700ca1914Smrg shrext_cmds=.dll 666800ca1914Smrg # FIXME: Setting linknames here is a bad hack. 666900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 667000ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 667100ca1914Smrg cp "$export_symbols" "$output_objdir/$soname.def"; 667200ca1914Smrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 667300ca1914Smrg else 667400ca1914Smrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 667500ca1914Smrg fi~ 667600ca1914Smrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 667700ca1914Smrg linknames=' 667800ca1914Smrg # The linker will not automatically build a static lib if we build a DLL. 667900ca1914Smrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 668000ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 668100ca1914Smrg # Don't use ranlib 668200ca1914Smrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 668300ca1914Smrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 668400ca1914Smrg lt_tool_outputfile="@TOOL_OUTPUT@"~ 668500ca1914Smrg case $lt_outputfile in 668600ca1914Smrg *.exe|*.EXE) ;; 668700ca1914Smrg *) 668800ca1914Smrg lt_outputfile=$lt_outputfile.exe 668900ca1914Smrg lt_tool_outputfile=$lt_tool_outputfile.exe 669000ca1914Smrg ;; 669100ca1914Smrg esac~ 669200ca1914Smrg func_to_tool_file "$lt_outputfile"~ 669300ca1914Smrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 669400ca1914Smrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 669500ca1914Smrg $RM "$lt_outputfile.manifest"; 669600ca1914Smrg fi' 669700ca1914Smrg ;; 669800ca1914Smrg *) 669900ca1914Smrg # g++ 670000ca1914Smrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 670100ca1914Smrg # as there is no search path for DLLs. 670200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 670300ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 670400ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 670500ca1914Smrg _LT_TAGVAR(always_export_symbols, $1)=no 670600ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 670700ca1914Smrg 670800ca1914Smrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 670900ca1914Smrg _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' 671000ca1914Smrg # If the export-symbols file already is a .def file, use it as 671100ca1914Smrg # is; otherwise, prepend EXPORTS... 671200ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 671300ca1914Smrg cp $export_symbols $output_objdir/$soname.def; 671400ca1914Smrg else 671500ca1914Smrg echo EXPORTS > $output_objdir/$soname.def; 671600ca1914Smrg cat $export_symbols >> $output_objdir/$soname.def; 671700ca1914Smrg fi~ 671800ca1914Smrg $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' 671900ca1914Smrg else 672000ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 672100ca1914Smrg fi 672200ca1914Smrg ;; 672300ca1914Smrg esac 672400ca1914Smrg ;; 672500ca1914Smrg darwin* | rhapsody*) 672600ca1914Smrg _LT_DARWIN_LINKER_FEATURES($1) 672700ca1914Smrg ;; 672800ca1914Smrg 672900ca1914Smrg os2*) 673000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 673100ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 673200ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 673300ca1914Smrg shrext_cmds=.dll 673400ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 673500ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 673600ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 673700ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 673800ca1914Smrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 673900ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 674000ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 674100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 674200ca1914Smrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 674300ca1914Smrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 674400ca1914Smrg $ECHO EXPORTS >> $output_objdir/$libname.def~ 674500ca1914Smrg prefix_cmds="$SED"~ 674600ca1914Smrg if test EXPORTS = "`$SED 1q $export_symbols`"; then 674700ca1914Smrg prefix_cmds="$prefix_cmds -e 1d"; 674800ca1914Smrg fi~ 674900ca1914Smrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 675000ca1914Smrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 675100ca1914Smrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 675200ca1914Smrg emximp -o $lib $output_objdir/$libname.def' 675300ca1914Smrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 675400ca1914Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 675500ca1914Smrg _LT_TAGVAR(file_list_spec, $1)='@' 675600ca1914Smrg ;; 675700ca1914Smrg 675800ca1914Smrg dgux*) 675900ca1914Smrg case $cc_basename in 676000ca1914Smrg ec++*) 676100ca1914Smrg # FIXME: insert proper C++ library support 676200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 676300ca1914Smrg ;; 676400ca1914Smrg ghcx*) 676500ca1914Smrg # Green Hills C++ Compiler 676600ca1914Smrg # FIXME: insert proper C++ library support 676700ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 676800ca1914Smrg ;; 676900ca1914Smrg *) 677000ca1914Smrg # FIXME: insert proper C++ library support 677100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 677200ca1914Smrg ;; 677300ca1914Smrg esac 677400ca1914Smrg ;; 677500ca1914Smrg 677600ca1914Smrg freebsd2.*) 677700ca1914Smrg # C++ shared libraries reported to be fairly broken before 677800ca1914Smrg # switch to ELF 677900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 678000ca1914Smrg ;; 678100ca1914Smrg 678200ca1914Smrg freebsd-elf*) 678300ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 678400ca1914Smrg ;; 678500ca1914Smrg 678600ca1914Smrg freebsd* | dragonfly* | midnightbsd*) 678700ca1914Smrg # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 678800ca1914Smrg # conventions 678900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 679000ca1914Smrg ;; 679100ca1914Smrg 679200ca1914Smrg haiku*) 679300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 679400ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 679500ca1914Smrg ;; 679600ca1914Smrg 679700ca1914Smrg hpux9*) 679800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 679900ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 680000ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 680100ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 680200ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 680300ca1914Smrg # but as the default 680400ca1914Smrg # location of the library. 680500ca1914Smrg 680600ca1914Smrg case $cc_basename in 680700ca1914Smrg CC*) 680800ca1914Smrg # FIXME: insert proper C++ library support 680900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 681000ca1914Smrg ;; 681100ca1914Smrg aCC*) 681200ca1914Smrg _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' 681300ca1914Smrg # Commands to make compiler produce verbose output that lists 681400ca1914Smrg # what "hidden" libraries, object files and flags are used when 681500ca1914Smrg # linking a shared library. 681600ca1914Smrg # 681700ca1914Smrg # There doesn't appear to be a way to prevent this compiler from 681800ca1914Smrg # explicitly linking system object files so we need to strip them 681900ca1914Smrg # from the output so that they don't get included in the library 682000ca1914Smrg # dependencies. 682100ca1914Smrg 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"' 682200ca1914Smrg ;; 682300ca1914Smrg *) 682400ca1914Smrg if test yes = "$GXX"; then 682500ca1914Smrg _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' 682600ca1914Smrg else 682700ca1914Smrg # FIXME: insert proper C++ library support 682800ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 682900ca1914Smrg fi 683000ca1914Smrg ;; 683100ca1914Smrg esac 683200ca1914Smrg ;; 683300ca1914Smrg 683400ca1914Smrg hpux10*|hpux11*) 683500ca1914Smrg if test no = "$with_gnu_ld"; then 683600ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 683700ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 683800ca1914Smrg 683900ca1914Smrg case $host_cpu in 684000ca1914Smrg hppa*64*|ia64*) 684100ca1914Smrg ;; 684200ca1914Smrg *) 684300ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 684400ca1914Smrg ;; 684500ca1914Smrg esac 684600ca1914Smrg fi 684700ca1914Smrg case $host_cpu in 684800ca1914Smrg hppa*64*|ia64*) 684900ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 685000ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 685100ca1914Smrg ;; 685200ca1914Smrg *) 685300ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 685400ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 685500ca1914Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 685600ca1914Smrg # but as the default 685700ca1914Smrg # location of the library. 685800ca1914Smrg ;; 685900ca1914Smrg esac 686000ca1914Smrg 686100ca1914Smrg case $cc_basename in 686200ca1914Smrg CC*) 686300ca1914Smrg # FIXME: insert proper C++ library support 686400ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 686500ca1914Smrg ;; 686600ca1914Smrg aCC*) 686700ca1914Smrg case $host_cpu in 686800ca1914Smrg hppa*64*) 686900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 687000ca1914Smrg ;; 687100ca1914Smrg ia64*) 687200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 687300ca1914Smrg ;; 687400ca1914Smrg *) 687500ca1914Smrg _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' 687600ca1914Smrg ;; 687700ca1914Smrg esac 687800ca1914Smrg # Commands to make compiler produce verbose output that lists 687900ca1914Smrg # what "hidden" libraries, object files and flags are used when 688000ca1914Smrg # linking a shared library. 688100ca1914Smrg # 688200ca1914Smrg # There doesn't appear to be a way to prevent this compiler from 688300ca1914Smrg # explicitly linking system object files so we need to strip them 688400ca1914Smrg # from the output so that they don't get included in the library 688500ca1914Smrg # dependencies. 688600ca1914Smrg 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"' 688700ca1914Smrg ;; 688800ca1914Smrg *) 688900ca1914Smrg if test yes = "$GXX"; then 689000ca1914Smrg if test no = "$with_gnu_ld"; then 689100ca1914Smrg case $host_cpu in 689200ca1914Smrg hppa*64*) 689300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 689400ca1914Smrg ;; 689500ca1914Smrg ia64*) 689600ca1914Smrg _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' 689700ca1914Smrg ;; 689800ca1914Smrg *) 689900ca1914Smrg _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' 690000ca1914Smrg ;; 690100ca1914Smrg esac 690200ca1914Smrg fi 690300ca1914Smrg else 690400ca1914Smrg # FIXME: insert proper C++ library support 690500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 690600ca1914Smrg fi 690700ca1914Smrg ;; 690800ca1914Smrg esac 690900ca1914Smrg ;; 691000ca1914Smrg 691100ca1914Smrg interix[[3-9]]*) 691200ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=no 691300ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 691400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 691500ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 691600ca1914Smrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 691700ca1914Smrg # Instead, shared libraries are loaded at an image base (0x10000000 by 691800ca1914Smrg # default) and relocated if they conflict, which is a slow very memory 691900ca1914Smrg # consuming and fragmenting process. To avoid this, we pick a random, 692000ca1914Smrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 692100ca1914Smrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 692200ca1914Smrg _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' 692300ca1914Smrg _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' 692400ca1914Smrg ;; 692500ca1914Smrg irix5* | irix6*) 692600ca1914Smrg case $cc_basename in 692700ca1914Smrg CC*) 692800ca1914Smrg # SGI C++ 692900ca1914Smrg _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' 693000ca1914Smrg 693100ca1914Smrg # Archives containing C++ object files must be created using 693200ca1914Smrg # "CC -ar", where "CC" is the IRIX C++ compiler. This is 693300ca1914Smrg # necessary to make sure instantiated templates are included 693400ca1914Smrg # in the archive. 693500ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 693600ca1914Smrg ;; 693700ca1914Smrg *) 693800ca1914Smrg if test yes = "$GXX"; then 693900ca1914Smrg if test no = "$with_gnu_ld"; then 694000ca1914Smrg _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' 694100ca1914Smrg else 694200ca1914Smrg _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' 694300ca1914Smrg fi 694400ca1914Smrg fi 694500ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 694600ca1914Smrg ;; 694700ca1914Smrg esac 694800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 694900ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 695000ca1914Smrg _LT_TAGVAR(inherit_rpath, $1)=yes 695100ca1914Smrg ;; 695200ca1914Smrg 695300ca1914Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 695400ca1914Smrg case $cc_basename in 695500ca1914Smrg KCC*) 695600ca1914Smrg # Kuck and Associates, Inc. (KAI) C++ Compiler 695700ca1914Smrg 695800ca1914Smrg # KCC will only create a shared library if the output file 695900ca1914Smrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 696000ca1914Smrg # to its proper name (with version) after linking. 696100ca1914Smrg _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' 696200ca1914Smrg _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' 696300ca1914Smrg # Commands to make compiler produce verbose output that lists 696400ca1914Smrg # what "hidden" libraries, object files and flags are used when 696500ca1914Smrg # linking a shared library. 696600ca1914Smrg # 696700ca1914Smrg # There doesn't appear to be a way to prevent this compiler from 696800ca1914Smrg # explicitly linking system object files so we need to strip them 696900ca1914Smrg # from the output so that they don't get included in the library 697000ca1914Smrg # dependencies. 697100ca1914Smrg 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"' 697200ca1914Smrg 697300ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 697400ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 697500ca1914Smrg 697600ca1914Smrg # Archives containing C++ object files must be created using 697700ca1914Smrg # "CC -Bstatic", where "CC" is the KAI C++ compiler. 697800ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 697900ca1914Smrg ;; 698000ca1914Smrg icpc* | ecpc* ) 698100ca1914Smrg # Intel C++ 698200ca1914Smrg with_gnu_ld=yes 698300ca1914Smrg # version 8.0 and above of icpc choke on multiply defined symbols 698400ca1914Smrg # if we add $predep_objects and $postdep_objects, however 7.1 and 698500ca1914Smrg # earlier do not add the objects themselves. 698600ca1914Smrg case `$CC -V 2>&1` in 698700ca1914Smrg *"Version 7."*) 698800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 698900ca1914Smrg _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' 699000ca1914Smrg ;; 699100ca1914Smrg *) # Version 8.0 or newer 699200ca1914Smrg tmp_idyn= 699300ca1914Smrg case $host_cpu in 699400ca1914Smrg ia64*) tmp_idyn=' -i_dynamic';; 699500ca1914Smrg esac 699600ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 699700ca1914Smrg _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' 699800ca1914Smrg ;; 699900ca1914Smrg esac 700000ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 700100ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 700200ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 700300ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 700400ca1914Smrg ;; 700500ca1914Smrg pgCC* | pgcpp*) 700600ca1914Smrg # Portland Group C++ compiler 700700ca1914Smrg case `$CC -V` in 700800ca1914Smrg *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 700900ca1914Smrg _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 701000ca1914Smrg rm -rf $tpldir~ 701100ca1914Smrg $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 701200ca1914Smrg compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 701300ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 701400ca1914Smrg rm -rf $tpldir~ 701500ca1914Smrg $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 701600ca1914Smrg $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 701700ca1914Smrg $RANLIB $oldlib' 701800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 701900ca1914Smrg rm -rf $tpldir~ 702000ca1914Smrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 702100ca1914Smrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 702200ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 702300ca1914Smrg rm -rf $tpldir~ 702400ca1914Smrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 702500ca1914Smrg $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' 702600ca1914Smrg ;; 702700ca1914Smrg *) # Version 6 and above use weak symbols 702800ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 702900ca1914Smrg _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' 703000ca1914Smrg ;; 703100ca1914Smrg esac 703200ca1914Smrg 703300ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' 703400ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 703500ca1914Smrg _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' 703600ca1914Smrg ;; 703700ca1914Smrg cxx*) 703800ca1914Smrg # Compaq C++ 703900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 704000ca1914Smrg _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' 704100ca1914Smrg 704200ca1914Smrg runpath_var=LD_RUN_PATH 704300ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 704400ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 704500ca1914Smrg 704600ca1914Smrg # Commands to make compiler produce verbose output that lists 704700ca1914Smrg # what "hidden" libraries, object files and flags are used when 704800ca1914Smrg # linking a shared library. 704900ca1914Smrg # 705000ca1914Smrg # There doesn't appear to be a way to prevent this compiler from 705100ca1914Smrg # explicitly linking system object files so we need to strip them 705200ca1914Smrg # from the output so that they don't get included in the library 705300ca1914Smrg # dependencies. 705400ca1914Smrg 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' 705500ca1914Smrg ;; 705600ca1914Smrg xl* | mpixl* | bgxl*) 705700ca1914Smrg # IBM XL 8.0 on PPC, with GNU ld 705800ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 705900ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 706000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 706100ca1914Smrg if test yes = "$supports_anon_versioning"; then 706200ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 706300ca1914Smrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 706400ca1914Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 706500ca1914Smrg $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 706600ca1914Smrg fi 706700ca1914Smrg ;; 706800ca1914Smrg *) 706900ca1914Smrg case `$CC -V 2>&1 | $SED 5q` in 707000ca1914Smrg *Sun\ C*) 707100ca1914Smrg # Sun C++ 5.9 707200ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 707300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 707400ca1914Smrg _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' 707500ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 707600ca1914Smrg _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' 707700ca1914Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 707800ca1914Smrg 707900ca1914Smrg # Not sure whether something based on 708000ca1914Smrg # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 708100ca1914Smrg # would be better. 708200ca1914Smrg output_verbose_link_cmd='func_echo_all' 708300ca1914Smrg 708400ca1914Smrg # Archives containing C++ object files must be created using 708500ca1914Smrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 708600ca1914Smrg # necessary to make sure instantiated templates are included 708700ca1914Smrg # in the archive. 708800ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 708900ca1914Smrg ;; 709000ca1914Smrg esac 709100ca1914Smrg ;; 709200ca1914Smrg esac 709300ca1914Smrg ;; 709400ca1914Smrg 709500ca1914Smrg lynxos*) 709600ca1914Smrg # FIXME: insert proper C++ library support 709700ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 709800ca1914Smrg ;; 709900ca1914Smrg 710000ca1914Smrg m88k*) 710100ca1914Smrg # FIXME: insert proper C++ library support 710200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 710300ca1914Smrg ;; 710400ca1914Smrg 710500ca1914Smrg mvs*) 710600ca1914Smrg case $cc_basename in 710700ca1914Smrg cxx*) 710800ca1914Smrg # FIXME: insert proper C++ library support 710900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 711000ca1914Smrg ;; 711100ca1914Smrg *) 711200ca1914Smrg # FIXME: insert proper C++ library support 711300ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 711400ca1914Smrg ;; 711500ca1914Smrg esac 711600ca1914Smrg ;; 711700ca1914Smrg 711800ca1914Smrg netbsd*) 711900ca1914Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 712000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 712100ca1914Smrg wlarc= 712200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 712300ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 712400ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 712500ca1914Smrg fi 712600ca1914Smrg # Workaround some broken pre-1.5 toolchains 712700ca1914Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 712800ca1914Smrg ;; 712900ca1914Smrg 713000ca1914Smrg *nto* | *qnx*) 713100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 713200ca1914Smrg ;; 713300ca1914Smrg 713400ca1914Smrg openbsd* | bitrig*) 713500ca1914Smrg if test -f /usr/libexec/ld.so; then 713600ca1914Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 713700ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 713800ca1914Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 713900ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 714000ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 714100ca1914Smrg if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then 714200ca1914Smrg _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' 714300ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 714400ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 714500ca1914Smrg fi 714600ca1914Smrg output_verbose_link_cmd=func_echo_all 714700ca1914Smrg else 714800ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 714900ca1914Smrg fi 715000ca1914Smrg ;; 715100ca1914Smrg 715200ca1914Smrg osf3* | osf4* | osf5*) 715300ca1914Smrg case $cc_basename in 715400ca1914Smrg KCC*) 715500ca1914Smrg # Kuck and Associates, Inc. (KAI) C++ Compiler 715600ca1914Smrg 715700ca1914Smrg # KCC will only create a shared library if the output file 715800ca1914Smrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 715900ca1914Smrg # to its proper name (with version) after linking. 716000ca1914Smrg _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' 716100ca1914Smrg 716200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 716300ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 716400ca1914Smrg 716500ca1914Smrg # Archives containing C++ object files must be created using 716600ca1914Smrg # the KAI C++ compiler. 716700ca1914Smrg case $host in 716800ca1914Smrg osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 716900ca1914Smrg *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 717000ca1914Smrg esac 717100ca1914Smrg ;; 717200ca1914Smrg RCC*) 717300ca1914Smrg # Rational C++ 2.4.1 717400ca1914Smrg # FIXME: insert proper C++ library support 717500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 717600ca1914Smrg ;; 717700ca1914Smrg cxx*) 717800ca1914Smrg case $host in 717900ca1914Smrg osf3*) 718000ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 718100ca1914Smrg _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' 718200ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 718300ca1914Smrg ;; 718400ca1914Smrg *) 718500ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 718600ca1914Smrg _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' 718700ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 718800ca1914Smrg echo "-hidden">> $lib.exp~ 718900ca1914Smrg $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~ 719000ca1914Smrg $RM $lib.exp' 719100ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 719200ca1914Smrg ;; 719300ca1914Smrg esac 719400ca1914Smrg 719500ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 719600ca1914Smrg 719700ca1914Smrg # Commands to make compiler produce verbose output that lists 719800ca1914Smrg # what "hidden" libraries, object files and flags are used when 719900ca1914Smrg # linking a shared library. 720000ca1914Smrg # 720100ca1914Smrg # There doesn't appear to be a way to prevent this compiler from 720200ca1914Smrg # explicitly linking system object files so we need to strip them 720300ca1914Smrg # from the output so that they don't get included in the library 720400ca1914Smrg # dependencies. 720500ca1914Smrg 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"' 720600ca1914Smrg ;; 720700ca1914Smrg *) 720800ca1914Smrg if test yes,no = "$GXX,$with_gnu_ld"; then 720900ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 721000ca1914Smrg case $host in 721100ca1914Smrg osf3*) 721200ca1914Smrg _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' 721300ca1914Smrg ;; 721400ca1914Smrg *) 721500ca1914Smrg _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' 721600ca1914Smrg ;; 721700ca1914Smrg esac 721800ca1914Smrg 721900ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 722000ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 722100ca1914Smrg 722200ca1914Smrg # Commands to make compiler produce verbose output that lists 722300ca1914Smrg # what "hidden" libraries, object files and flags are used when 722400ca1914Smrg # linking a shared library. 722500ca1914Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 722600ca1914Smrg 722700ca1914Smrg else 722800ca1914Smrg # FIXME: insert proper C++ library support 722900ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 723000ca1914Smrg fi 723100ca1914Smrg ;; 723200ca1914Smrg esac 723300ca1914Smrg ;; 723400ca1914Smrg 723500ca1914Smrg psos*) 723600ca1914Smrg # FIXME: insert proper C++ library support 723700ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 723800ca1914Smrg ;; 723900ca1914Smrg 724000ca1914Smrg sunos4*) 724100ca1914Smrg case $cc_basename in 724200ca1914Smrg CC*) 724300ca1914Smrg # Sun C++ 4.x 724400ca1914Smrg # FIXME: insert proper C++ library support 724500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 724600ca1914Smrg ;; 724700ca1914Smrg lcc*) 724800ca1914Smrg # Lucid 724900ca1914Smrg # FIXME: insert proper C++ library support 725000ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 725100ca1914Smrg ;; 725200ca1914Smrg *) 725300ca1914Smrg # FIXME: insert proper C++ library support 725400ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 725500ca1914Smrg ;; 725600ca1914Smrg esac 725700ca1914Smrg ;; 725800ca1914Smrg 725900ca1914Smrg solaris*) 726000ca1914Smrg case $cc_basename in 726100ca1914Smrg CC* | sunCC*) 726200ca1914Smrg # Sun C++ 4.2, 5.x and Centerline C++ 726300ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 726400ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 726500ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 726600ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 726700ca1914Smrg $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' 726800ca1914Smrg 726900ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 727000ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 727100ca1914Smrg case $host_os in 727200ca1914Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 727300ca1914Smrg *) 727400ca1914Smrg # The compiler driver will combine and reorder linker options, 727500ca1914Smrg # but understands '-z linker_flag'. 727600ca1914Smrg # Supported since Solaris 2.6 (maybe 2.5.1?) 727700ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 727800ca1914Smrg ;; 727900ca1914Smrg esac 728000ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 728100ca1914Smrg 728200ca1914Smrg output_verbose_link_cmd='func_echo_all' 728300ca1914Smrg 728400ca1914Smrg # Archives containing C++ object files must be created using 728500ca1914Smrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 728600ca1914Smrg # necessary to make sure instantiated templates are included 728700ca1914Smrg # in the archive. 728800ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 728900ca1914Smrg ;; 729000ca1914Smrg gcx*) 729100ca1914Smrg # Green Hills C++ Compiler 729200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 729300ca1914Smrg 729400ca1914Smrg # The C++ compiler must be used to create the archive. 729500ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 729600ca1914Smrg ;; 729700ca1914Smrg *) 729800ca1914Smrg # GNU C++ compiler with Solaris linker 729900ca1914Smrg if test yes,no = "$GXX,$with_gnu_ld"; then 730000ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' 730100ca1914Smrg if $CC --version | $GREP -v '^2\.7' > /dev/null; then 730200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 730300ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 730400ca1914Smrg $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' 730500ca1914Smrg 730600ca1914Smrg # Commands to make compiler produce verbose output that lists 730700ca1914Smrg # what "hidden" libraries, object files and flags are used when 730800ca1914Smrg # linking a shared library. 730900ca1914Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 731000ca1914Smrg else 731100ca1914Smrg # g++ 2.7 appears to require '-G' NOT '-shared' on this 731200ca1914Smrg # platform. 731300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 731400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 731500ca1914Smrg $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' 731600ca1914Smrg 731700ca1914Smrg # Commands to make compiler produce verbose output that lists 731800ca1914Smrg # what "hidden" libraries, object files and flags are used when 731900ca1914Smrg # linking a shared library. 732000ca1914Smrg output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 732100ca1914Smrg fi 732200ca1914Smrg 732300ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' 732400ca1914Smrg case $host_os in 732500ca1914Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 732600ca1914Smrg *) 732700ca1914Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 732800ca1914Smrg ;; 732900ca1914Smrg esac 733000ca1914Smrg fi 733100ca1914Smrg ;; 733200ca1914Smrg esac 733300ca1914Smrg ;; 733400ca1914Smrg 733500ca1914Smrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 733600ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 733700ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 733800ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 733900ca1914Smrg runpath_var='LD_RUN_PATH' 734000ca1914Smrg 734100ca1914Smrg case $cc_basename in 734200ca1914Smrg CC*) 734300ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 734400ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 734500ca1914Smrg ;; 734600ca1914Smrg *) 734700ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 734800ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 734900ca1914Smrg ;; 735000ca1914Smrg esac 735100ca1914Smrg ;; 735200ca1914Smrg 735300ca1914Smrg sysv5* | sco3.2v5* | sco5v6*) 735400ca1914Smrg # Note: We CANNOT use -z defs as we might desire, because we do not 735500ca1914Smrg # link with -lc, and that would cause any symbols used from libc to 735600ca1914Smrg # always be unresolved, which means just about no library would 735700ca1914Smrg # ever link correctly. If we're not using GNU ld we use -z text 735800ca1914Smrg # though, which does catch some bad symbols but isn't as heavy-handed 735900ca1914Smrg # as -z defs. 736000ca1914Smrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 736100ca1914Smrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 736200ca1914Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 736300ca1914Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 736400ca1914Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 736500ca1914Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 736600ca1914Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 736700ca1914Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 736800ca1914Smrg runpath_var='LD_RUN_PATH' 736900ca1914Smrg 737000ca1914Smrg case $cc_basename in 737100ca1914Smrg CC*) 737200ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 737300ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 737400ca1914Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 737500ca1914Smrg '"$_LT_TAGVAR(old_archive_cmds, $1)" 737600ca1914Smrg _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 737700ca1914Smrg '"$_LT_TAGVAR(reload_cmds, $1)" 737800ca1914Smrg ;; 737900ca1914Smrg *) 738000ca1914Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 738100ca1914Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 738200ca1914Smrg ;; 738300ca1914Smrg esac 738400ca1914Smrg ;; 738500ca1914Smrg 738600ca1914Smrg tandem*) 738700ca1914Smrg case $cc_basename in 738800ca1914Smrg NCC*) 738900ca1914Smrg # NonStop-UX NCC 3.20 739000ca1914Smrg # FIXME: insert proper C++ library support 739100ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 739200ca1914Smrg ;; 739300ca1914Smrg *) 739400ca1914Smrg # FIXME: insert proper C++ library support 739500ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 739600ca1914Smrg ;; 739700ca1914Smrg esac 739800ca1914Smrg ;; 739900ca1914Smrg 740000ca1914Smrg vxworks*) 740100ca1914Smrg # FIXME: insert proper C++ library support 740200ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 740300ca1914Smrg ;; 740400ca1914Smrg 740500ca1914Smrg *) 740600ca1914Smrg # FIXME: insert proper C++ library support 740700ca1914Smrg _LT_TAGVAR(ld_shlibs, $1)=no 740800ca1914Smrg ;; 740900ca1914Smrg esac 741000ca1914Smrg 741100ca1914Smrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 741200ca1914Smrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 741300ca1914Smrg 741400ca1914Smrg _LT_TAGVAR(GCC, $1)=$GXX 741500ca1914Smrg _LT_TAGVAR(LD, $1)=$LD 741600ca1914Smrg 741700ca1914Smrg ## CAVEAT EMPTOR: 741800ca1914Smrg ## There is no encapsulation within the following macros, do not change 741900ca1914Smrg ## the running order or otherwise move them around unless you know exactly 742000ca1914Smrg ## what you are doing... 742100ca1914Smrg _LT_SYS_HIDDEN_LIBDEPS($1) 742200ca1914Smrg _LT_COMPILER_PIC($1) 742300ca1914Smrg _LT_COMPILER_C_O($1) 742400ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 742500ca1914Smrg _LT_LINKER_SHLIBS($1) 742600ca1914Smrg _LT_SYS_DYNAMIC_LINKER($1) 742700ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 742800ca1914Smrg 742900ca1914Smrg _LT_CONFIG($1) 743000ca1914Smrg fi # test -n "$compiler" 743100ca1914Smrg 743200ca1914Smrg CC=$lt_save_CC 743300ca1914Smrg CFLAGS=$lt_save_CFLAGS 743400ca1914Smrg LDCXX=$LD 743500ca1914Smrg LD=$lt_save_LD 743600ca1914Smrg GCC=$lt_save_GCC 743700ca1914Smrg with_gnu_ld=$lt_save_with_gnu_ld 743800ca1914Smrg lt_cv_path_LDCXX=$lt_cv_path_LD 743900ca1914Smrg lt_cv_path_LD=$lt_save_path_LD 744000ca1914Smrg lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 744100ca1914Smrg lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 744200ca1914Smrgfi # test yes != "$_lt_caught_CXX_error" 744300ca1914Smrg 744400ca1914SmrgAC_LANG_POP 744500ca1914Smrg])# _LT_LANG_CXX_CONFIG 744600ca1914Smrg 744700ca1914Smrg 744800ca1914Smrg# _LT_FUNC_STRIPNAME_CNF 744900ca1914Smrg# ---------------------- 745000ca1914Smrg# func_stripname_cnf prefix suffix name 745100ca1914Smrg# strip PREFIX and SUFFIX off of NAME. 745200ca1914Smrg# PREFIX and SUFFIX must not contain globbing or regex special 745300ca1914Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading 745400ca1914Smrg# dot (in which case that matches only a dot). 745500ca1914Smrg# 745600ca1914Smrg# This function is identical to the (non-XSI) version of func_stripname, 745700ca1914Smrg# except this one can be used by m4 code that may be executed by configure, 745800ca1914Smrg# rather than the libtool script. 745900ca1914Smrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 746000ca1914SmrgAC_REQUIRE([_LT_DECL_SED]) 746100ca1914SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 746200ca1914Smrgfunc_stripname_cnf () 746300ca1914Smrg{ 746400ca1914Smrg case @S|@2 in 746500ca1914Smrg .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; 746600ca1914Smrg *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; 746700ca1914Smrg esac 746800ca1914Smrg} # func_stripname_cnf 746900ca1914Smrg])# _LT_FUNC_STRIPNAME_CNF 747000ca1914Smrg 747100ca1914Smrg 747200ca1914Smrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 747300ca1914Smrg# --------------------------------- 747400ca1914Smrg# Figure out "hidden" library dependencies from verbose 747500ca1914Smrg# compiler output when linking a shared library. 747600ca1914Smrg# Parse the compiler output and extract the necessary 747700ca1914Smrg# objects, libraries and library flags. 747800ca1914Smrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 747900ca1914Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 748000ca1914SmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 748100ca1914Smrg# Dependencies to place before and after the object being linked: 748200ca1914Smrg_LT_TAGVAR(predep_objects, $1)= 748300ca1914Smrg_LT_TAGVAR(postdep_objects, $1)= 748400ca1914Smrg_LT_TAGVAR(predeps, $1)= 748500ca1914Smrg_LT_TAGVAR(postdeps, $1)= 748600ca1914Smrg_LT_TAGVAR(compiler_lib_search_path, $1)= 748700ca1914Smrg 748800ca1914Smrgdnl we can't use the lt_simple_compile_test_code here, 748900ca1914Smrgdnl because it contains code intended for an executable, 749000ca1914Smrgdnl not a library. It's possible we should let each 749100ca1914Smrgdnl tag define a new lt_????_link_test_code variable, 749200ca1914Smrgdnl but it's only used here... 749300ca1914Smrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 749400ca1914Smrgint a; 749500ca1914Smrgvoid foo (void) { a = 0; } 749600ca1914Smrg_LT_EOF 749700ca1914Smrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 749800ca1914Smrgclass Foo 749900ca1914Smrg{ 750000ca1914Smrgpublic: 750100ca1914Smrg Foo (void) { a = 0; } 750200ca1914Smrgprivate: 750300ca1914Smrg int a; 750400ca1914Smrg}; 750500ca1914Smrg_LT_EOF 750600ca1914Smrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 750700ca1914Smrg subroutine foo 750800ca1914Smrg implicit none 750900ca1914Smrg integer*4 a 751000ca1914Smrg a=0 751100ca1914Smrg return 751200ca1914Smrg end 751300ca1914Smrg_LT_EOF 751400ca1914Smrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 751500ca1914Smrg subroutine foo 751600ca1914Smrg implicit none 751700ca1914Smrg integer a 751800ca1914Smrg a=0 751900ca1914Smrg return 752000ca1914Smrg end 752100ca1914Smrg_LT_EOF 752200ca1914Smrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 752300ca1914Smrgpublic class foo { 752400ca1914Smrg private int a; 752500ca1914Smrg public void bar (void) { 752600ca1914Smrg a = 0; 752700ca1914Smrg } 752800ca1914Smrg}; 752900ca1914Smrg_LT_EOF 753000ca1914Smrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 753100ca1914Smrgpackage foo 753200ca1914Smrgfunc foo() { 753300ca1914Smrg} 753400ca1914Smrg_LT_EOF 753500ca1914Smrg]) 753600ca1914Smrg 753700ca1914Smrg_lt_libdeps_save_CFLAGS=$CFLAGS 753800ca1914Smrgcase "$CC $CFLAGS " in #( 753900ca1914Smrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 754000ca1914Smrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 754100ca1914Smrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 754200ca1914Smrgesac 754300ca1914Smrg 754400ca1914Smrgdnl Parse the compiler output and extract the necessary 754500ca1914Smrgdnl objects, libraries and library flags. 754600ca1914Smrgif AC_TRY_EVAL(ac_compile); then 754700ca1914Smrg # Parse the compiler output and extract the necessary 754800ca1914Smrg # objects, libraries and library flags. 754900ca1914Smrg 755000ca1914Smrg # Sentinel used to keep track of whether or not we are before 755100ca1914Smrg # the conftest object file. 755200ca1914Smrg pre_test_object_deps_done=no 755300ca1914Smrg 755400ca1914Smrg for p in `eval "$output_verbose_link_cmd"`; do 755500ca1914Smrg case $prev$p in 755600ca1914Smrg 755700ca1914Smrg -L* | -R* | -l*) 755800ca1914Smrg # Some compilers place space between "-{L,R}" and the path. 755900ca1914Smrg # Remove the space. 756000ca1914Smrg if test x-L = "$p" || 756100ca1914Smrg test x-R = "$p"; then 756200ca1914Smrg prev=$p 756300ca1914Smrg continue 756400ca1914Smrg fi 756500ca1914Smrg 756600ca1914Smrg # Expand the sysroot to ease extracting the directories later. 756700ca1914Smrg if test -z "$prev"; then 756800ca1914Smrg case $p in 756900ca1914Smrg -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 757000ca1914Smrg -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 757100ca1914Smrg -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 757200ca1914Smrg esac 757300ca1914Smrg fi 757400ca1914Smrg case $p in 757500ca1914Smrg =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 757600ca1914Smrg esac 757700ca1914Smrg if test no = "$pre_test_object_deps_done"; then 757800ca1914Smrg case $prev in 757900ca1914Smrg -L | -R) 758000ca1914Smrg # Internal compiler library paths should come after those 758100ca1914Smrg # provided the user. The postdeps already come after the 758200ca1914Smrg # user supplied libs so there is no need to process them. 758300ca1914Smrg if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 758400ca1914Smrg _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p 758500ca1914Smrg else 758600ca1914Smrg _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" 758700ca1914Smrg fi 758800ca1914Smrg ;; 758900ca1914Smrg # The "-l" case would never come before the object being 759000ca1914Smrg # linked, so don't bother handling this case. 759100ca1914Smrg esac 759200ca1914Smrg else 759300ca1914Smrg if test -z "$_LT_TAGVAR(postdeps, $1)"; then 759400ca1914Smrg _LT_TAGVAR(postdeps, $1)=$prev$p 759500ca1914Smrg else 759600ca1914Smrg _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" 759700ca1914Smrg fi 759800ca1914Smrg fi 759900ca1914Smrg prev= 760000ca1914Smrg ;; 760100ca1914Smrg 760200ca1914Smrg *.lto.$objext) ;; # Ignore GCC LTO objects 760300ca1914Smrg *.$objext) 760400ca1914Smrg # This assumes that the test object file only shows up 760500ca1914Smrg # once in the compiler output. 760600ca1914Smrg if test "$p" = "conftest.$objext"; then 760700ca1914Smrg pre_test_object_deps_done=yes 760800ca1914Smrg continue 760900ca1914Smrg fi 761000ca1914Smrg 761100ca1914Smrg if test no = "$pre_test_object_deps_done"; then 761200ca1914Smrg if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 761300ca1914Smrg _LT_TAGVAR(predep_objects, $1)=$p 761400ca1914Smrg else 761500ca1914Smrg _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 761600ca1914Smrg fi 761700ca1914Smrg else 761800ca1914Smrg if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 761900ca1914Smrg _LT_TAGVAR(postdep_objects, $1)=$p 762000ca1914Smrg else 762100ca1914Smrg _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 762200ca1914Smrg fi 762300ca1914Smrg fi 762400ca1914Smrg ;; 762500ca1914Smrg 762600ca1914Smrg *) ;; # Ignore the rest. 762700ca1914Smrg 762800ca1914Smrg esac 762900ca1914Smrg done 763000ca1914Smrg 763100ca1914Smrg # Clean up. 763200ca1914Smrg rm -f a.out a.exe 763300ca1914Smrgelse 763400ca1914Smrg echo "libtool.m4: error: problem compiling $1 test program" 763500ca1914Smrgfi 763600ca1914Smrg 763700ca1914Smrg$RM -f confest.$objext 763800ca1914SmrgCFLAGS=$_lt_libdeps_save_CFLAGS 763900ca1914Smrg 764000ca1914Smrg# PORTME: override above test on systems where it is broken 764100ca1914Smrgm4_if([$1], [CXX], 764200ca1914Smrg[case $host_os in 764300ca1914Smrginterix[[3-9]]*) 764400ca1914Smrg # Interix 3.5 installs completely hosed .la files for C++, so rather than 764500ca1914Smrg # hack all around it, let's just trust "g++" to DTRT. 764600ca1914Smrg _LT_TAGVAR(predep_objects,$1)= 764700ca1914Smrg _LT_TAGVAR(postdep_objects,$1)= 764800ca1914Smrg _LT_TAGVAR(postdeps,$1)= 764900ca1914Smrg ;; 765000ca1914Smrgesac 765100ca1914Smrg]) 765200ca1914Smrg 765300ca1914Smrgcase " $_LT_TAGVAR(postdeps, $1) " in 765400ca1914Smrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 765500ca1914Smrgesac 765600ca1914Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)= 765700ca1914Smrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 765800ca1914Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` 765900ca1914Smrgfi 766000ca1914Smrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 766100ca1914Smrg [The directories searched by this compiler when creating a shared library]) 766200ca1914Smrg_LT_TAGDECL([], [predep_objects], [1], 766300ca1914Smrg [Dependencies to place before and after the objects being linked to 766400ca1914Smrg create a shared library]) 766500ca1914Smrg_LT_TAGDECL([], [postdep_objects], [1]) 766600ca1914Smrg_LT_TAGDECL([], [predeps], [1]) 766700ca1914Smrg_LT_TAGDECL([], [postdeps], [1]) 766800ca1914Smrg_LT_TAGDECL([], [compiler_lib_search_path], [1], 766900ca1914Smrg [The library search path used internally by the compiler when linking 767000ca1914Smrg a shared library]) 767100ca1914Smrg])# _LT_SYS_HIDDEN_LIBDEPS 767200ca1914Smrg 767300ca1914Smrg 767400ca1914Smrg# _LT_LANG_F77_CONFIG([TAG]) 767500ca1914Smrg# -------------------------- 767600ca1914Smrg# Ensure that the configuration variables for a Fortran 77 compiler are 767700ca1914Smrg# suitably defined. These variables are subsequently used by _LT_CONFIG 767800ca1914Smrg# to write the compiler configuration to 'libtool'. 767900ca1914Smrgm4_defun([_LT_LANG_F77_CONFIG], 768000ca1914Smrg[AC_LANG_PUSH(Fortran 77) 768100ca1914Smrgif test -z "$F77" || test no = "$F77"; then 768200ca1914Smrg _lt_disable_F77=yes 768300ca1914Smrgfi 768400ca1914Smrg 768500ca1914Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 768600ca1914Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 768700ca1914Smrg_LT_TAGVAR(always_export_symbols, $1)=no 768800ca1914Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 768900ca1914Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 769000ca1914Smrg_LT_TAGVAR(hardcode_direct, $1)=no 769100ca1914Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 769200ca1914Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 769300ca1914Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 769400ca1914Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 769500ca1914Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 769600ca1914Smrg_LT_TAGVAR(inherit_rpath, $1)=no 769700ca1914Smrg_LT_TAGVAR(module_cmds, $1)= 769800ca1914Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 769900ca1914Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 770000ca1914Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 770100ca1914Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 770200ca1914Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 770300ca1914Smrg_LT_TAGVAR(no_undefined_flag, $1)= 770400ca1914Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 770500ca1914Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 770600ca1914Smrg 770700ca1914Smrg# Source file extension for f77 test sources. 770800ca1914Smrgac_ext=f 770900ca1914Smrg 771000ca1914Smrg# Object file extension for compiled f77 test sources. 771100ca1914Smrgobjext=o 771200ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 771300ca1914Smrg 771400ca1914Smrg# No sense in running all these tests if we already determined that 771500ca1914Smrg# the F77 compiler isn't working. Some variables (like enable_shared) 771600ca1914Smrg# are currently assumed to apply to all compilers on this platform, 771700ca1914Smrg# and will be corrupted by setting them based on a non-working compiler. 771800ca1914Smrgif test yes != "$_lt_disable_F77"; then 771900ca1914Smrg # Code to be used in simple compile tests 772000ca1914Smrg lt_simple_compile_test_code="\ 772100ca1914Smrg subroutine t 772200ca1914Smrg return 772300ca1914Smrg end 772400ca1914Smrg" 772500ca1914Smrg 772600ca1914Smrg # Code to be used in simple link tests 772700ca1914Smrg lt_simple_link_test_code="\ 772800ca1914Smrg program t 772900ca1914Smrg end 773000ca1914Smrg" 773100ca1914Smrg 773200ca1914Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 773300ca1914Smrg _LT_TAG_COMPILER 773400ca1914Smrg 773500ca1914Smrg # save warnings/boilerplate of simple test code 773600ca1914Smrg _LT_COMPILER_BOILERPLATE 773700ca1914Smrg _LT_LINKER_BOILERPLATE 773800ca1914Smrg 773900ca1914Smrg # Allow CC to be a program name with arguments. 774000ca1914Smrg lt_save_CC=$CC 774100ca1914Smrg lt_save_GCC=$GCC 774200ca1914Smrg lt_save_CFLAGS=$CFLAGS 774300ca1914Smrg CC=${F77-"f77"} 774400ca1914Smrg CFLAGS=$FFLAGS 774500ca1914Smrg compiler=$CC 774600ca1914Smrg _LT_TAGVAR(compiler, $1)=$CC 774700ca1914Smrg _LT_CC_BASENAME([$compiler]) 774800ca1914Smrg GCC=$G77 774900ca1914Smrg if test -n "$compiler"; then 775000ca1914Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 775100ca1914Smrg AC_MSG_RESULT([$can_build_shared]) 775200ca1914Smrg 775300ca1914Smrg AC_MSG_CHECKING([whether to build shared libraries]) 775400ca1914Smrg test no = "$can_build_shared" && enable_shared=no 775500ca1914Smrg 775600ca1914Smrg # On AIX, shared libraries and static libraries use the same namespace, and 775700ca1914Smrg # are all built from PIC. 775800ca1914Smrg case $host_os in 775900ca1914Smrg aix3*) 776000ca1914Smrg test yes = "$enable_shared" && enable_static=no 776100ca1914Smrg if test -n "$RANLIB"; then 776200ca1914Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 776300ca1914Smrg postinstall_cmds='$RANLIB $lib' 776400ca1914Smrg fi 776500ca1914Smrg ;; 776600ca1914Smrg aix[[4-9]]*) 776700ca1914Smrg if test ia64 != "$host_cpu"; then 776800ca1914Smrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 776900ca1914Smrg yes,aix,yes) ;; # shared object as lib.so file only 777000ca1914Smrg yes,svr4,*) ;; # shared object as lib.so archive member only 777100ca1914Smrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 777200ca1914Smrg esac 777300ca1914Smrg fi 777400ca1914Smrg ;; 777500ca1914Smrg esac 777600ca1914Smrg AC_MSG_RESULT([$enable_shared]) 777700ca1914Smrg 777800ca1914Smrg AC_MSG_CHECKING([whether to build static libraries]) 777900ca1914Smrg # Make sure either enable_shared or enable_static is yes. 778000ca1914Smrg test yes = "$enable_shared" || enable_static=yes 778100ca1914Smrg AC_MSG_RESULT([$enable_static]) 778200ca1914Smrg 778300ca1914Smrg _LT_TAGVAR(GCC, $1)=$G77 778400ca1914Smrg _LT_TAGVAR(LD, $1)=$LD 778500ca1914Smrg 778600ca1914Smrg ## CAVEAT EMPTOR: 778700ca1914Smrg ## There is no encapsulation within the following macros, do not change 778800ca1914Smrg ## the running order or otherwise move them around unless you know exactly 778900ca1914Smrg ## what you are doing... 779000ca1914Smrg _LT_COMPILER_PIC($1) 779100ca1914Smrg _LT_COMPILER_C_O($1) 779200ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 779300ca1914Smrg _LT_LINKER_SHLIBS($1) 779400ca1914Smrg _LT_SYS_DYNAMIC_LINKER($1) 779500ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 779600ca1914Smrg 779700ca1914Smrg _LT_CONFIG($1) 779800ca1914Smrg fi # test -n "$compiler" 779900ca1914Smrg 780000ca1914Smrg GCC=$lt_save_GCC 780100ca1914Smrg CC=$lt_save_CC 780200ca1914Smrg CFLAGS=$lt_save_CFLAGS 780300ca1914Smrgfi # test yes != "$_lt_disable_F77" 780400ca1914Smrg 780500ca1914SmrgAC_LANG_POP 780600ca1914Smrg])# _LT_LANG_F77_CONFIG 780700ca1914Smrg 780800ca1914Smrg 780900ca1914Smrg# _LT_LANG_FC_CONFIG([TAG]) 781000ca1914Smrg# ------------------------- 781100ca1914Smrg# Ensure that the configuration variables for a Fortran compiler are 781200ca1914Smrg# suitably defined. These variables are subsequently used by _LT_CONFIG 781300ca1914Smrg# to write the compiler configuration to 'libtool'. 781400ca1914Smrgm4_defun([_LT_LANG_FC_CONFIG], 781500ca1914Smrg[AC_LANG_PUSH(Fortran) 781600ca1914Smrg 781700ca1914Smrgif test -z "$FC" || test no = "$FC"; then 781800ca1914Smrg _lt_disable_FC=yes 781900ca1914Smrgfi 782000ca1914Smrg 782100ca1914Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 782200ca1914Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 782300ca1914Smrg_LT_TAGVAR(always_export_symbols, $1)=no 782400ca1914Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 782500ca1914Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 782600ca1914Smrg_LT_TAGVAR(hardcode_direct, $1)=no 782700ca1914Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 782800ca1914Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 782900ca1914Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 783000ca1914Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 783100ca1914Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 783200ca1914Smrg_LT_TAGVAR(inherit_rpath, $1)=no 783300ca1914Smrg_LT_TAGVAR(module_cmds, $1)= 783400ca1914Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 783500ca1914Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 783600ca1914Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 783700ca1914Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 783800ca1914Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 783900ca1914Smrg_LT_TAGVAR(no_undefined_flag, $1)= 784000ca1914Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 784100ca1914Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 784200ca1914Smrg 784300ca1914Smrg# Source file extension for fc test sources. 784400ca1914Smrgac_ext=${ac_fc_srcext-f} 784500ca1914Smrg 784600ca1914Smrg# Object file extension for compiled fc test sources. 784700ca1914Smrgobjext=o 784800ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 784900ca1914Smrg 785000ca1914Smrg# No sense in running all these tests if we already determined that 785100ca1914Smrg# the FC compiler isn't working. Some variables (like enable_shared) 785200ca1914Smrg# are currently assumed to apply to all compilers on this platform, 785300ca1914Smrg# and will be corrupted by setting them based on a non-working compiler. 785400ca1914Smrgif test yes != "$_lt_disable_FC"; then 785500ca1914Smrg # Code to be used in simple compile tests 785600ca1914Smrg lt_simple_compile_test_code="\ 785700ca1914Smrg subroutine t 785800ca1914Smrg return 785900ca1914Smrg end 786000ca1914Smrg" 786100ca1914Smrg 786200ca1914Smrg # Code to be used in simple link tests 786300ca1914Smrg lt_simple_link_test_code="\ 786400ca1914Smrg program t 786500ca1914Smrg end 786600ca1914Smrg" 786700ca1914Smrg 786800ca1914Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 786900ca1914Smrg _LT_TAG_COMPILER 787000ca1914Smrg 787100ca1914Smrg # save warnings/boilerplate of simple test code 787200ca1914Smrg _LT_COMPILER_BOILERPLATE 787300ca1914Smrg _LT_LINKER_BOILERPLATE 787400ca1914Smrg 787500ca1914Smrg # Allow CC to be a program name with arguments. 787600ca1914Smrg lt_save_CC=$CC 787700ca1914Smrg lt_save_GCC=$GCC 787800ca1914Smrg lt_save_CFLAGS=$CFLAGS 787900ca1914Smrg CC=${FC-"f95"} 788000ca1914Smrg CFLAGS=$FCFLAGS 788100ca1914Smrg compiler=$CC 788200ca1914Smrg GCC=$ac_cv_fc_compiler_gnu 788300ca1914Smrg 788400ca1914Smrg _LT_TAGVAR(compiler, $1)=$CC 788500ca1914Smrg _LT_CC_BASENAME([$compiler]) 788600ca1914Smrg 788700ca1914Smrg if test -n "$compiler"; then 788800ca1914Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 788900ca1914Smrg AC_MSG_RESULT([$can_build_shared]) 789000ca1914Smrg 789100ca1914Smrg AC_MSG_CHECKING([whether to build shared libraries]) 789200ca1914Smrg test no = "$can_build_shared" && enable_shared=no 789300ca1914Smrg 789400ca1914Smrg # On AIX, shared libraries and static libraries use the same namespace, and 789500ca1914Smrg # are all built from PIC. 789600ca1914Smrg case $host_os in 789700ca1914Smrg aix3*) 789800ca1914Smrg test yes = "$enable_shared" && enable_static=no 789900ca1914Smrg if test -n "$RANLIB"; then 790000ca1914Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 790100ca1914Smrg postinstall_cmds='$RANLIB $lib' 790200ca1914Smrg fi 790300ca1914Smrg ;; 790400ca1914Smrg aix[[4-9]]*) 790500ca1914Smrg if test ia64 != "$host_cpu"; then 790600ca1914Smrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 790700ca1914Smrg yes,aix,yes) ;; # shared object as lib.so file only 790800ca1914Smrg yes,svr4,*) ;; # shared object as lib.so archive member only 790900ca1914Smrg yes,*) enable_static=no ;; # shared object in lib.a archive as well 791000ca1914Smrg esac 791100ca1914Smrg fi 791200ca1914Smrg ;; 791300ca1914Smrg esac 791400ca1914Smrg AC_MSG_RESULT([$enable_shared]) 791500ca1914Smrg 791600ca1914Smrg AC_MSG_CHECKING([whether to build static libraries]) 791700ca1914Smrg # Make sure either enable_shared or enable_static is yes. 791800ca1914Smrg test yes = "$enable_shared" || enable_static=yes 791900ca1914Smrg AC_MSG_RESULT([$enable_static]) 792000ca1914Smrg 792100ca1914Smrg _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu 792200ca1914Smrg _LT_TAGVAR(LD, $1)=$LD 792300ca1914Smrg 792400ca1914Smrg ## CAVEAT EMPTOR: 792500ca1914Smrg ## There is no encapsulation within the following macros, do not change 792600ca1914Smrg ## the running order or otherwise move them around unless you know exactly 792700ca1914Smrg ## what you are doing... 792800ca1914Smrg _LT_SYS_HIDDEN_LIBDEPS($1) 792900ca1914Smrg _LT_COMPILER_PIC($1) 793000ca1914Smrg _LT_COMPILER_C_O($1) 793100ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 793200ca1914Smrg _LT_LINKER_SHLIBS($1) 793300ca1914Smrg _LT_SYS_DYNAMIC_LINKER($1) 793400ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 793500ca1914Smrg 793600ca1914Smrg _LT_CONFIG($1) 793700ca1914Smrg fi # test -n "$compiler" 793800ca1914Smrg 793900ca1914Smrg GCC=$lt_save_GCC 794000ca1914Smrg CC=$lt_save_CC 794100ca1914Smrg CFLAGS=$lt_save_CFLAGS 794200ca1914Smrgfi # test yes != "$_lt_disable_FC" 794300ca1914Smrg 794400ca1914SmrgAC_LANG_POP 794500ca1914Smrg])# _LT_LANG_FC_CONFIG 794600ca1914Smrg 794700ca1914Smrg 794800ca1914Smrg# _LT_LANG_GCJ_CONFIG([TAG]) 794900ca1914Smrg# -------------------------- 795000ca1914Smrg# Ensure that the configuration variables for the GNU Java Compiler compiler 795100ca1914Smrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 795200ca1914Smrg# to write the compiler configuration to 'libtool'. 795300ca1914Smrgm4_defun([_LT_LANG_GCJ_CONFIG], 795400ca1914Smrg[AC_REQUIRE([LT_PROG_GCJ])dnl 795500ca1914SmrgAC_LANG_SAVE 795600ca1914Smrg 795700ca1914Smrg# Source file extension for Java test sources. 795800ca1914Smrgac_ext=java 795900ca1914Smrg 796000ca1914Smrg# Object file extension for compiled Java test sources. 796100ca1914Smrgobjext=o 796200ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 796300ca1914Smrg 796400ca1914Smrg# Code to be used in simple compile tests 796500ca1914Smrglt_simple_compile_test_code="class foo {}" 796600ca1914Smrg 796700ca1914Smrg# Code to be used in simple link tests 796800ca1914Smrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 796900ca1914Smrg 797000ca1914Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 797100ca1914Smrg_LT_TAG_COMPILER 797200ca1914Smrg 797300ca1914Smrg# save warnings/boilerplate of simple test code 797400ca1914Smrg_LT_COMPILER_BOILERPLATE 797500ca1914Smrg_LT_LINKER_BOILERPLATE 797600ca1914Smrg 797700ca1914Smrg# Allow CC to be a program name with arguments. 797800ca1914Smrglt_save_CC=$CC 797900ca1914Smrglt_save_CFLAGS=$CFLAGS 798000ca1914Smrglt_save_GCC=$GCC 798100ca1914SmrgGCC=yes 798200ca1914SmrgCC=${GCJ-"gcj"} 798300ca1914SmrgCFLAGS=$GCJFLAGS 798400ca1914Smrgcompiler=$CC 798500ca1914Smrg_LT_TAGVAR(compiler, $1)=$CC 798600ca1914Smrg_LT_TAGVAR(LD, $1)=$LD 798700ca1914Smrg_LT_CC_BASENAME([$compiler]) 798800ca1914Smrg 798900ca1914Smrg# GCJ did not exist at the time GCC didn't implicitly link libc in. 799000ca1914Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 799100ca1914Smrg 799200ca1914Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 799300ca1914Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 799400ca1914Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 799500ca1914Smrg 799600ca1914Smrg## CAVEAT EMPTOR: 799700ca1914Smrg## There is no encapsulation within the following macros, do not change 799800ca1914Smrg## the running order or otherwise move them around unless you know exactly 799900ca1914Smrg## what you are doing... 800000ca1914Smrgif test -n "$compiler"; then 800100ca1914Smrg _LT_COMPILER_NO_RTTI($1) 800200ca1914Smrg _LT_COMPILER_PIC($1) 800300ca1914Smrg _LT_COMPILER_C_O($1) 800400ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 800500ca1914Smrg _LT_LINKER_SHLIBS($1) 800600ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 800700ca1914Smrg 800800ca1914Smrg _LT_CONFIG($1) 800900ca1914Smrgfi 801000ca1914Smrg 801100ca1914SmrgAC_LANG_RESTORE 801200ca1914Smrg 801300ca1914SmrgGCC=$lt_save_GCC 801400ca1914SmrgCC=$lt_save_CC 801500ca1914SmrgCFLAGS=$lt_save_CFLAGS 801600ca1914Smrg])# _LT_LANG_GCJ_CONFIG 801700ca1914Smrg 801800ca1914Smrg 801900ca1914Smrg# _LT_LANG_GO_CONFIG([TAG]) 802000ca1914Smrg# -------------------------- 802100ca1914Smrg# Ensure that the configuration variables for the GNU Go compiler 802200ca1914Smrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 802300ca1914Smrg# to write the compiler configuration to 'libtool'. 802400ca1914Smrgm4_defun([_LT_LANG_GO_CONFIG], 802500ca1914Smrg[AC_REQUIRE([LT_PROG_GO])dnl 802600ca1914SmrgAC_LANG_SAVE 802700ca1914Smrg 802800ca1914Smrg# Source file extension for Go test sources. 802900ca1914Smrgac_ext=go 803000ca1914Smrg 803100ca1914Smrg# Object file extension for compiled Go test sources. 803200ca1914Smrgobjext=o 803300ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 803400ca1914Smrg 803500ca1914Smrg# Code to be used in simple compile tests 803600ca1914Smrglt_simple_compile_test_code="package main; func main() { }" 803700ca1914Smrg 803800ca1914Smrg# Code to be used in simple link tests 803900ca1914Smrglt_simple_link_test_code='package main; func main() { }' 804000ca1914Smrg 804100ca1914Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 804200ca1914Smrg_LT_TAG_COMPILER 804300ca1914Smrg 804400ca1914Smrg# save warnings/boilerplate of simple test code 804500ca1914Smrg_LT_COMPILER_BOILERPLATE 804600ca1914Smrg_LT_LINKER_BOILERPLATE 804700ca1914Smrg 804800ca1914Smrg# Allow CC to be a program name with arguments. 804900ca1914Smrglt_save_CC=$CC 805000ca1914Smrglt_save_CFLAGS=$CFLAGS 805100ca1914Smrglt_save_GCC=$GCC 805200ca1914SmrgGCC=yes 805300ca1914SmrgCC=${GOC-"gccgo"} 805400ca1914SmrgCFLAGS=$GOFLAGS 805500ca1914Smrgcompiler=$CC 805600ca1914Smrg_LT_TAGVAR(compiler, $1)=$CC 805700ca1914Smrg_LT_TAGVAR(LD, $1)=$LD 805800ca1914Smrg_LT_CC_BASENAME([$compiler]) 805900ca1914Smrg 806000ca1914Smrg# Go did not exist at the time GCC didn't implicitly link libc in. 806100ca1914Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 806200ca1914Smrg 806300ca1914Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 806400ca1914Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 806500ca1914Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 806600ca1914Smrg 806700ca1914Smrg## CAVEAT EMPTOR: 806800ca1914Smrg## There is no encapsulation within the following macros, do not change 806900ca1914Smrg## the running order or otherwise move them around unless you know exactly 807000ca1914Smrg## what you are doing... 807100ca1914Smrgif test -n "$compiler"; then 807200ca1914Smrg _LT_COMPILER_NO_RTTI($1) 807300ca1914Smrg _LT_COMPILER_PIC($1) 807400ca1914Smrg _LT_COMPILER_C_O($1) 807500ca1914Smrg _LT_COMPILER_FILE_LOCKS($1) 807600ca1914Smrg _LT_LINKER_SHLIBS($1) 807700ca1914Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 807800ca1914Smrg 807900ca1914Smrg _LT_CONFIG($1) 808000ca1914Smrgfi 808100ca1914Smrg 808200ca1914SmrgAC_LANG_RESTORE 808300ca1914Smrg 808400ca1914SmrgGCC=$lt_save_GCC 808500ca1914SmrgCC=$lt_save_CC 808600ca1914SmrgCFLAGS=$lt_save_CFLAGS 808700ca1914Smrg])# _LT_LANG_GO_CONFIG 808800ca1914Smrg 808900ca1914Smrg 809000ca1914Smrg# _LT_LANG_RC_CONFIG([TAG]) 809100ca1914Smrg# ------------------------- 809200ca1914Smrg# Ensure that the configuration variables for the Windows resource compiler 809300ca1914Smrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 809400ca1914Smrg# to write the compiler configuration to 'libtool'. 809500ca1914Smrgm4_defun([_LT_LANG_RC_CONFIG], 809600ca1914Smrg[AC_REQUIRE([LT_PROG_RC])dnl 809700ca1914SmrgAC_LANG_SAVE 809800ca1914Smrg 809900ca1914Smrg# Source file extension for RC test sources. 810000ca1914Smrgac_ext=rc 810100ca1914Smrg 810200ca1914Smrg# Object file extension for compiled RC test sources. 810300ca1914Smrgobjext=o 810400ca1914Smrg_LT_TAGVAR(objext, $1)=$objext 810500ca1914Smrg 810600ca1914Smrg# Code to be used in simple compile tests 810700ca1914Smrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 810800ca1914Smrg 810900ca1914Smrg# Code to be used in simple link tests 811000ca1914Smrglt_simple_link_test_code=$lt_simple_compile_test_code 811100ca1914Smrg 811200ca1914Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 811300ca1914Smrg_LT_TAG_COMPILER 811400ca1914Smrg 811500ca1914Smrg# save warnings/boilerplate of simple test code 811600ca1914Smrg_LT_COMPILER_BOILERPLATE 811700ca1914Smrg_LT_LINKER_BOILERPLATE 811800ca1914Smrg 811900ca1914Smrg# Allow CC to be a program name with arguments. 812000ca1914Smrglt_save_CC=$CC 812100ca1914Smrglt_save_CFLAGS=$CFLAGS 812200ca1914Smrglt_save_GCC=$GCC 812300ca1914SmrgGCC= 812400ca1914SmrgCC=${RC-"windres"} 812500ca1914SmrgCFLAGS= 812600ca1914Smrgcompiler=$CC 812700ca1914Smrg_LT_TAGVAR(compiler, $1)=$CC 812800ca1914Smrg_LT_CC_BASENAME([$compiler]) 812900ca1914Smrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 813000ca1914Smrg 813100ca1914Smrgif test -n "$compiler"; then 813200ca1914Smrg : 813300ca1914Smrg _LT_CONFIG($1) 813400ca1914Smrgfi 813500ca1914Smrg 813600ca1914SmrgGCC=$lt_save_GCC 813700ca1914SmrgAC_LANG_RESTORE 813800ca1914SmrgCC=$lt_save_CC 813900ca1914SmrgCFLAGS=$lt_save_CFLAGS 814000ca1914Smrg])# _LT_LANG_RC_CONFIG 814100ca1914Smrg 814200ca1914Smrg 814300ca1914Smrg# LT_PROG_GCJ 814400ca1914Smrg# ----------- 814500ca1914SmrgAC_DEFUN([LT_PROG_GCJ], 814600ca1914Smrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 814700ca1914Smrg [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 814800ca1914Smrg [AC_CHECK_TOOL(GCJ, gcj,) 814900ca1914Smrg test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" 815000ca1914Smrg AC_SUBST(GCJFLAGS)])])[]dnl 815100ca1914Smrg]) 815200ca1914Smrg 815300ca1914Smrg# Old name: 815400ca1914SmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 815500ca1914Smrgdnl aclocal-1.4 backwards compatibility: 815600ca1914Smrgdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 815700ca1914Smrg 815800ca1914Smrg 815900ca1914Smrg# LT_PROG_GO 816000ca1914Smrg# ---------- 816100ca1914SmrgAC_DEFUN([LT_PROG_GO], 816200ca1914Smrg[AC_CHECK_TOOL(GOC, gccgo,) 816300ca1914Smrg]) 816400ca1914Smrg 816500ca1914Smrg 816600ca1914Smrg# LT_PROG_RC 816700ca1914Smrg# ---------- 816800ca1914SmrgAC_DEFUN([LT_PROG_RC], 816900ca1914Smrg[AC_CHECK_TOOL(RC, windres,) 817000ca1914Smrg]) 817100ca1914Smrg 817200ca1914Smrg# Old name: 817300ca1914SmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 817400ca1914Smrgdnl aclocal-1.4 backwards compatibility: 817500ca1914Smrgdnl AC_DEFUN([LT_AC_PROG_RC], []) 817600ca1914Smrg 817700ca1914Smrg 817800ca1914Smrg# _LT_DECL_EGREP 817900ca1914Smrg# -------------- 818000ca1914Smrg# If we don't have a new enough Autoconf to choose the best grep 818100ca1914Smrg# available, choose the one first in the user's PATH. 818200ca1914Smrgm4_defun([_LT_DECL_EGREP], 818300ca1914Smrg[AC_REQUIRE([AC_PROG_EGREP])dnl 818400ca1914SmrgAC_REQUIRE([AC_PROG_FGREP])dnl 818500ca1914Smrgtest -z "$GREP" && GREP=grep 818600ca1914Smrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 818700ca1914Smrg_LT_DECL([], [EGREP], [1], [An ERE matcher]) 818800ca1914Smrg_LT_DECL([], [FGREP], [1], [A literal string matcher]) 818900ca1914Smrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 819000ca1914SmrgAC_SUBST([GREP]) 819100ca1914Smrg]) 819200ca1914Smrg 819300ca1914Smrg 819400ca1914Smrg# _LT_DECL_OBJDUMP 819500ca1914Smrg# -------------- 819600ca1914Smrg# If we don't have a new enough Autoconf to choose the best objdump 819700ca1914Smrg# available, choose the one first in the user's PATH. 819800ca1914Smrgm4_defun([_LT_DECL_OBJDUMP], 819900ca1914Smrg[AC_CHECK_TOOL(OBJDUMP, objdump, false) 820000ca1914Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump 820100ca1914Smrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 820200ca1914SmrgAC_SUBST([OBJDUMP]) 820300ca1914Smrg]) 820400ca1914Smrg 820500ca1914Smrg# _LT_DECL_DLLTOOL 820600ca1914Smrg# ---------------- 820700ca1914Smrg# Ensure DLLTOOL variable is set. 820800ca1914Smrgm4_defun([_LT_DECL_DLLTOOL], 820900ca1914Smrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false) 821000ca1914Smrgtest -z "$DLLTOOL" && DLLTOOL=dlltool 821100ca1914Smrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 821200ca1914SmrgAC_SUBST([DLLTOOL]) 821300ca1914Smrg]) 821400ca1914Smrg 821500ca1914Smrg# _LT_DECL_FILECMD 821600ca1914Smrg# ---------------- 821700ca1914Smrg# Check for a file(cmd) program that can be used to detect file type and magic 821800ca1914Smrgm4_defun([_LT_DECL_FILECMD], 821900ca1914Smrg[AC_CHECK_TOOL([FILECMD], [file], [:]) 822000ca1914Smrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) 822100ca1914Smrg])# _LD_DECL_FILECMD 822200ca1914Smrg 822300ca1914Smrg# _LT_DECL_SED 822400ca1914Smrg# ------------ 822500ca1914Smrg# Check for a fully-functional sed program, that truncates 822600ca1914Smrg# as few characters as possible. Prefer GNU sed if found. 822700ca1914Smrgm4_defun([_LT_DECL_SED], 822800ca1914Smrg[AC_PROG_SED 822900ca1914Smrgtest -z "$SED" && SED=sed 823000ca1914SmrgXsed="$SED -e 1s/^X//" 823100ca1914Smrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 823200ca1914Smrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 823300ca1914Smrg [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 823400ca1914Smrg])# _LT_DECL_SED 823500ca1914Smrg 823600ca1914Smrgm4_ifndef([AC_PROG_SED], [ 823700ca1914Smrg############################################################ 823800ca1914Smrg# NOTE: This macro has been submitted for inclusion into # 823900ca1914Smrg# GNU Autoconf as AC_PROG_SED. When it is available in # 824000ca1914Smrg# a released version of Autoconf we should remove this # 824100ca1914Smrg# macro and use it instead. # 824200ca1914Smrg############################################################ 824300ca1914Smrg 824400ca1914Smrgm4_defun([AC_PROG_SED], 824500ca1914Smrg[AC_MSG_CHECKING([for a sed that does not truncate output]) 824600ca1914SmrgAC_CACHE_VAL(lt_cv_path_SED, 824700ca1914Smrg[# Loop through the user's path and test for sed and gsed. 824800ca1914Smrg# Then use that list of sed's as ones to test for truncation. 824900ca1914Smrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 825000ca1914Smrgfor as_dir in $PATH 825100ca1914Smrgdo 825200ca1914Smrg IFS=$as_save_IFS 825300ca1914Smrg test -z "$as_dir" && as_dir=. 825400ca1914Smrg for lt_ac_prog in sed gsed; do 825500ca1914Smrg for ac_exec_ext in '' $ac_executable_extensions; do 825600ca1914Smrg if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 825700ca1914Smrg lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 825800ca1914Smrg fi 825900ca1914Smrg done 826000ca1914Smrg done 826100ca1914Smrgdone 826200ca1914SmrgIFS=$as_save_IFS 826300ca1914Smrglt_ac_max=0 826400ca1914Smrglt_ac_count=0 826500ca1914Smrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris 826600ca1914Smrg# along with /bin/sed that truncates output. 826700ca1914Smrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 826800ca1914Smrg test ! -f "$lt_ac_sed" && continue 826900ca1914Smrg cat /dev/null > conftest.in 827000ca1914Smrg lt_ac_count=0 827100ca1914Smrg echo $ECHO_N "0123456789$ECHO_C" >conftest.in 827200ca1914Smrg # Check for GNU sed and select it if it is found. 827300ca1914Smrg if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 827400ca1914Smrg lt_cv_path_SED=$lt_ac_sed 827500ca1914Smrg break 827600ca1914Smrg fi 827700ca1914Smrg while true; do 827800ca1914Smrg cat conftest.in conftest.in >conftest.tmp 827900ca1914Smrg mv conftest.tmp conftest.in 828000ca1914Smrg cp conftest.in conftest.nl 828100ca1914Smrg echo >>conftest.nl 828200ca1914Smrg $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 828300ca1914Smrg cmp -s conftest.out conftest.nl || break 828400ca1914Smrg # 10000 chars as input seems more than enough 828500ca1914Smrg test 10 -lt "$lt_ac_count" && break 828600ca1914Smrg lt_ac_count=`expr $lt_ac_count + 1` 828700ca1914Smrg if test "$lt_ac_count" -gt "$lt_ac_max"; then 828800ca1914Smrg lt_ac_max=$lt_ac_count 828900ca1914Smrg lt_cv_path_SED=$lt_ac_sed 829000ca1914Smrg fi 829100ca1914Smrg done 829200ca1914Smrgdone 829300ca1914Smrg]) 829400ca1914SmrgSED=$lt_cv_path_SED 829500ca1914SmrgAC_SUBST([SED]) 829600ca1914SmrgAC_MSG_RESULT([$SED]) 829700ca1914Smrg])#AC_PROG_SED 829800ca1914Smrg])#m4_ifndef 829900ca1914Smrg 830000ca1914Smrg# Old name: 830100ca1914SmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 830200ca1914Smrgdnl aclocal-1.4 backwards compatibility: 830300ca1914Smrgdnl AC_DEFUN([LT_AC_PROG_SED], []) 830400ca1914Smrg 830500ca1914Smrg 830600ca1914Smrg# _LT_CHECK_SHELL_FEATURES 830700ca1914Smrg# ------------------------ 830800ca1914Smrg# Find out whether the shell is Bourne or XSI compatible, 830900ca1914Smrg# or has some other useful features. 831000ca1914Smrgm4_defun([_LT_CHECK_SHELL_FEATURES], 831100ca1914Smrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 831200ca1914Smrg lt_unset=unset 831300ca1914Smrgelse 831400ca1914Smrg lt_unset=false 831500ca1914Smrgfi 831600ca1914Smrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 831700ca1914Smrg 831800ca1914Smrg# test EBCDIC or ASCII 831900ca1914Smrgcase `echo X|tr X '\101'` in 832000ca1914Smrg A) # ASCII based system 832100ca1914Smrg # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 832200ca1914Smrg lt_SP2NL='tr \040 \012' 832300ca1914Smrg lt_NL2SP='tr \015\012 \040\040' 832400ca1914Smrg ;; 832500ca1914Smrg *) # EBCDIC based system 832600ca1914Smrg lt_SP2NL='tr \100 \n' 832700ca1914Smrg lt_NL2SP='tr \r\n \100\100' 832800ca1914Smrg ;; 832900ca1914Smrgesac 833000ca1914Smrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 833100ca1914Smrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 833200ca1914Smrg])# _LT_CHECK_SHELL_FEATURES 833300ca1914Smrg 833400ca1914Smrg 833500ca1914Smrg# _LT_PATH_CONVERSION_FUNCTIONS 833600ca1914Smrg# ----------------------------- 833700ca1914Smrg# Determine what file name conversion functions should be used by 833800ca1914Smrg# func_to_host_file (and, implicitly, by func_to_host_path). These are needed 833900ca1914Smrg# for certain cross-compile configurations and native mingw. 834000ca1914Smrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 834100ca1914Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 834200ca1914SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 834300ca1914SmrgAC_MSG_CHECKING([how to convert $build file names to $host format]) 834400ca1914SmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd, 834500ca1914Smrg[case $host in 834600ca1914Smrg *-*-mingw* ) 834700ca1914Smrg case $build in 834800ca1914Smrg *-*-mingw* ) # actually msys 834900ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 835000ca1914Smrg ;; 835100ca1914Smrg *-*-cygwin* ) 835200ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 835300ca1914Smrg ;; 835400ca1914Smrg * ) # otherwise, assume *nix 835500ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 835600ca1914Smrg ;; 835700ca1914Smrg esac 835800ca1914Smrg ;; 835900ca1914Smrg *-*-cygwin* ) 836000ca1914Smrg case $build in 836100ca1914Smrg *-*-mingw* ) # actually msys 836200ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 836300ca1914Smrg ;; 836400ca1914Smrg *-*-cygwin* ) 836500ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_noop 836600ca1914Smrg ;; 836700ca1914Smrg * ) # otherwise, assume *nix 836800ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 836900ca1914Smrg ;; 837000ca1914Smrg esac 837100ca1914Smrg ;; 837200ca1914Smrg * ) # unhandled hosts (and "normal" native builds) 837300ca1914Smrg lt_cv_to_host_file_cmd=func_convert_file_noop 837400ca1914Smrg ;; 837500ca1914Smrgesac 837600ca1914Smrg]) 837700ca1914Smrgto_host_file_cmd=$lt_cv_to_host_file_cmd 837800ca1914SmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 837900ca1914Smrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 838000ca1914Smrg [0], [convert $build file names to $host format])dnl 838100ca1914Smrg 838200ca1914SmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format]) 838300ca1914SmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd, 838400ca1914Smrg[#assume ordinary cross tools, or native build. 838500ca1914Smrglt_cv_to_tool_file_cmd=func_convert_file_noop 838600ca1914Smrgcase $host in 838700ca1914Smrg *-*-mingw* ) 838800ca1914Smrg case $build in 838900ca1914Smrg *-*-mingw* ) # actually msys 839000ca1914Smrg lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 839100ca1914Smrg ;; 839200ca1914Smrg esac 839300ca1914Smrg ;; 839400ca1914Smrgesac 839500ca1914Smrg]) 839600ca1914Smrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd 839700ca1914SmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 839800ca1914Smrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 839900ca1914Smrg [0], [convert $build files to toolchain format])dnl 840000ca1914Smrg])# _LT_PATH_CONVERSION_FUNCTIONS 8401