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