104007ebaSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
204007ebaSmrg#
379d5fcd7Smrg#   Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
479d5fcd7Smrg#   Foundation, Inc.
504007ebaSmrg#   Written by Gordon Matzigkeit, 1996
604007ebaSmrg#
704007ebaSmrg# This file is free software; the Free Software Foundation gives
804007ebaSmrg# unlimited permission to copy and/or distribute it, with or without
904007ebaSmrg# modifications, as long as this notice is preserved.
1004007ebaSmrg
1104007ebaSmrgm4_define([_LT_COPYING], [dnl
1205cf1079Smrg# Copyright (C) 2014 Free Software Foundation, Inc.
1305cf1079Smrg# This is free software; see the source for copying conditions.  There is NO
1405cf1079Smrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1505cf1079Smrg
1605cf1079Smrg# GNU Libtool is free software; you can redistribute it and/or modify
1705cf1079Smrg# it under the terms of the GNU General Public License as published by
1805cf1079Smrg# the Free Software Foundation; either version 2 of of the License, or
1905cf1079Smrg# (at your option) any later version.
2004007ebaSmrg#
2105cf1079Smrg# As a special exception to the GNU General Public License, if you
2205cf1079Smrg# distribute this file as part of a program or library that is built
2305cf1079Smrg# using GNU Libtool, you may include this file under the  same
2405cf1079Smrg# distribution terms that you use for the rest of that program.
2504007ebaSmrg#
2605cf1079Smrg# GNU Libtool is distributed in the hope that it will be useful, but
2705cf1079Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
2804007ebaSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2904007ebaSmrg# GNU General Public License for more details.
3004007ebaSmrg#
3104007ebaSmrg# You should have received a copy of the GNU General Public License
3205cf1079Smrg# along with this program.  If not, see <http://www.gnu.org/licenses/>.
3304007ebaSmrg])
3404007ebaSmrg
3579d5fcd7Smrg# serial 59 LT_INIT
3604007ebaSmrg
3704007ebaSmrg
3804007ebaSmrg# LT_PREREQ(VERSION)
3904007ebaSmrg# ------------------
4004007ebaSmrg# Complain and exit if this libtool version is less that VERSION.
4104007ebaSmrgm4_defun([LT_PREREQ],
4204007ebaSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
4304007ebaSmrg       [m4_default([$3],
4404007ebaSmrg		   [m4_fatal([Libtool version $1 or higher is required],
4504007ebaSmrg		             63)])],
4604007ebaSmrg       [$2])])
4704007ebaSmrg
4804007ebaSmrg
4904007ebaSmrg# _LT_CHECK_BUILDDIR
5004007ebaSmrg# ------------------
5104007ebaSmrg# Complain if the absolute build directory name contains unusual characters
5204007ebaSmrgm4_defun([_LT_CHECK_BUILDDIR],
5304007ebaSmrg[case `pwd` in
5404007ebaSmrg  *\ * | *\	*)
5504007ebaSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
5604007ebaSmrgesac
5704007ebaSmrg])
5804007ebaSmrg
5904007ebaSmrg
6004007ebaSmrg# LT_INIT([OPTIONS])
6104007ebaSmrg# ------------------
6204007ebaSmrgAC_DEFUN([LT_INIT],
6305cf1079Smrg[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
6404007ebaSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
6504007ebaSmrgAC_BEFORE([$0], [LT_LANG])dnl
6604007ebaSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
6704007ebaSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
6804007ebaSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
6904007ebaSmrg
7004007ebaSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
7104007ebaSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
7204007ebaSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
7304007ebaSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
7404007ebaSmrgdnl unless we require an AC_DEFUNed macro:
7504007ebaSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
7604007ebaSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
7704007ebaSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
7804007ebaSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
7904007ebaSmrgm4_require([_LT_PROG_LTMAIN])dnl
8004007ebaSmrg
8104007ebaSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
8204007ebaSmrg
8304007ebaSmrgdnl Parse OPTIONS
8404007ebaSmrg_LT_SET_OPTIONS([$0], [$1])
8504007ebaSmrg
8604007ebaSmrg# This can be used to rebuild libtool when needed
8705cf1079SmrgLIBTOOL_DEPS=$ltmain
8804007ebaSmrg
8904007ebaSmrg# Always use our own libtool.
9004007ebaSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
9104007ebaSmrgAC_SUBST(LIBTOOL)dnl
9204007ebaSmrg
9304007ebaSmrg_LT_SETUP
9404007ebaSmrg
9504007ebaSmrg# Only expand once:
9604007ebaSmrgm4_define([LT_INIT])
9704007ebaSmrg])# LT_INIT
9804007ebaSmrg
9904007ebaSmrg# Old names:
10004007ebaSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
10104007ebaSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
10204007ebaSmrgdnl aclocal-1.4 backwards compatibility:
10304007ebaSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
10404007ebaSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
10504007ebaSmrg
10604007ebaSmrg
10705cf1079Smrg# _LT_PREPARE_CC_BASENAME
10805cf1079Smrg# -----------------------
10905cf1079Smrgm4_defun([_LT_PREPARE_CC_BASENAME], [
11005cf1079Smrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
11105cf1079Smrgfunc_cc_basename ()
11205cf1079Smrg{
11305cf1079Smrg    for cc_temp in @S|@*""; do
11405cf1079Smrg      case $cc_temp in
11505cf1079Smrg        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
11605cf1079Smrg        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
11705cf1079Smrg        \-*) ;;
11805cf1079Smrg        *) break;;
11905cf1079Smrg      esac
12005cf1079Smrg    done
12105cf1079Smrg    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
12205cf1079Smrg}
12305cf1079Smrg])# _LT_PREPARE_CC_BASENAME
12405cf1079Smrg
12505cf1079Smrg
12604007ebaSmrg# _LT_CC_BASENAME(CC)
12704007ebaSmrg# -------------------
12805cf1079Smrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
12905cf1079Smrg# but that macro is also expanded into generated libtool script, which
13005cf1079Smrg# arranges for $SED and $ECHO to be set by different means.
13104007ebaSmrgm4_defun([_LT_CC_BASENAME],
13205cf1079Smrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl
13305cf1079SmrgAC_REQUIRE([_LT_DECL_SED])dnl
13405cf1079SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
13505cf1079Smrgfunc_cc_basename $1
13605cf1079Smrgcc_basename=$func_cc_basename_result
13704007ebaSmrg])
13804007ebaSmrg
13904007ebaSmrg
14004007ebaSmrg# _LT_FILEUTILS_DEFAULTS
14104007ebaSmrg# ----------------------
14204007ebaSmrg# It is okay to use these file commands and assume they have been set
14305cf1079Smrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
14404007ebaSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
14504007ebaSmrg[: ${CP="cp -f"}
14604007ebaSmrg: ${MV="mv -f"}
14704007ebaSmrg: ${RM="rm -f"}
14804007ebaSmrg])# _LT_FILEUTILS_DEFAULTS
14904007ebaSmrg
15004007ebaSmrg
15104007ebaSmrg# _LT_SETUP
15204007ebaSmrg# ---------
15304007ebaSmrgm4_defun([_LT_SETUP],
15404007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
15504007ebaSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
15604007ebaSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
15704007ebaSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
15804007ebaSmrg
15904007ebaSmrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
16004007ebaSmrgdnl
16104007ebaSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
16204007ebaSmrg_LT_DECL([], [host], [0])dnl
16304007ebaSmrg_LT_DECL([], [host_os], [0])dnl
16404007ebaSmrgdnl
16504007ebaSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
16604007ebaSmrg_LT_DECL([], [build], [0])dnl
16704007ebaSmrg_LT_DECL([], [build_os], [0])dnl
16804007ebaSmrgdnl
16904007ebaSmrgAC_REQUIRE([AC_PROG_CC])dnl
17004007ebaSmrgAC_REQUIRE([LT_PATH_LD])dnl
17104007ebaSmrgAC_REQUIRE([LT_PATH_NM])dnl
17204007ebaSmrgdnl
17304007ebaSmrgAC_REQUIRE([AC_PROG_LN_S])dnl
17404007ebaSmrgtest -z "$LN_S" && LN_S="ln -s"
17504007ebaSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
17604007ebaSmrgdnl
17704007ebaSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
17804007ebaSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
17904007ebaSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
18004007ebaSmrgdnl
18104007ebaSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
18204007ebaSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
18304007ebaSmrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
18404007ebaSmrgm4_require([_LT_CMD_RELOAD])dnl
18579d5fcd7Smrgm4_require([_LT_DECL_FILECMD])dnl
18604007ebaSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
18704007ebaSmrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
18804007ebaSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
18904007ebaSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
19004007ebaSmrgm4_require([_LT_WITH_SYSROOT])dnl
19105cf1079Smrgm4_require([_LT_CMD_TRUNCATE])dnl
19204007ebaSmrg
19304007ebaSmrg_LT_CONFIG_LIBTOOL_INIT([
19405cf1079Smrg# See if we are running on zsh, and set the options that allow our
19504007ebaSmrg# commands through without removal of \ escapes INIT.
19605cf1079Smrgif test -n "\${ZSH_VERSION+set}"; then
19704007ebaSmrg   setopt NO_GLOB_SUBST
19804007ebaSmrgfi
19904007ebaSmrg])
20005cf1079Smrgif test -n "${ZSH_VERSION+set}"; then
20104007ebaSmrg   setopt NO_GLOB_SUBST
20204007ebaSmrgfi
20304007ebaSmrg
20404007ebaSmrg_LT_CHECK_OBJDIR
20504007ebaSmrg
20604007ebaSmrgm4_require([_LT_TAG_COMPILER])dnl
20704007ebaSmrg
20804007ebaSmrgcase $host_os in
20904007ebaSmrgaix3*)
21004007ebaSmrg  # AIX sometimes has problems with the GCC collect2 program.  For some
21104007ebaSmrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
21204007ebaSmrg  # vanish in a puff of smoke.
21305cf1079Smrg  if test set != "${COLLECT_NAMES+set}"; then
21404007ebaSmrg    COLLECT_NAMES=
21504007ebaSmrg    export COLLECT_NAMES
21604007ebaSmrg  fi
21704007ebaSmrg  ;;
21804007ebaSmrgesac
21904007ebaSmrg
22004007ebaSmrg# Global variables:
22104007ebaSmrgofile=libtool
22204007ebaSmrgcan_build_shared=yes
22304007ebaSmrg
22479d5fcd7Smrg# All known linkers require a '.a' archive for static linking (except MSVC and
22579d5fcd7Smrg# ICC, which need '.lib').
22604007ebaSmrglibext=a
22704007ebaSmrg
22805cf1079Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld
22904007ebaSmrg
23005cf1079Smrgold_CC=$CC
23105cf1079Smrgold_CFLAGS=$CFLAGS
23204007ebaSmrg
23304007ebaSmrg# Set sane defaults for various variables
23404007ebaSmrgtest -z "$CC" && CC=cc
23504007ebaSmrgtest -z "$LTCC" && LTCC=$CC
23604007ebaSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
23704007ebaSmrgtest -z "$LD" && LD=ld
23804007ebaSmrgtest -z "$ac_objext" && ac_objext=o
23904007ebaSmrg
24004007ebaSmrg_LT_CC_BASENAME([$compiler])
24104007ebaSmrg
24204007ebaSmrg# Only perform the check for file, if the check method requires it
24304007ebaSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
24404007ebaSmrgcase $deplibs_check_method in
24504007ebaSmrgfile_magic*)
24604007ebaSmrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
24704007ebaSmrg    _LT_PATH_MAGIC
24804007ebaSmrg  fi
24904007ebaSmrg  ;;
25004007ebaSmrgesac
25104007ebaSmrg
25204007ebaSmrg# Use C for the default configuration in the libtool script
25304007ebaSmrgLT_SUPPORTED_TAG([CC])
25404007ebaSmrg_LT_LANG_C_CONFIG
25504007ebaSmrg_LT_LANG_DEFAULT_CONFIG
25604007ebaSmrg_LT_CONFIG_COMMANDS
25704007ebaSmrg])# _LT_SETUP
25804007ebaSmrg
25904007ebaSmrg
26004007ebaSmrg# _LT_PREPARE_SED_QUOTE_VARS
26104007ebaSmrg# --------------------------
26204007ebaSmrg# Define a few sed substitution that help us do robust quoting.
26304007ebaSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
26404007ebaSmrg[# Backslashify metacharacters that are still active within
26504007ebaSmrg# double-quoted strings.
26604007ebaSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
26704007ebaSmrg
26804007ebaSmrg# Same as above, but do not quote variable references.
26904007ebaSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
27004007ebaSmrg
27104007ebaSmrg# Sed substitution to delay expansion of an escaped shell variable in a
27204007ebaSmrg# double_quote_subst'ed string.
27304007ebaSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
27404007ebaSmrg
27504007ebaSmrg# Sed substitution to delay expansion of an escaped single quote.
27604007ebaSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
27704007ebaSmrg
27804007ebaSmrg# Sed substitution to avoid accidental globbing in evaled expressions
27904007ebaSmrgno_glob_subst='s/\*/\\\*/g'
28004007ebaSmrg])
28104007ebaSmrg
28204007ebaSmrg# _LT_PROG_LTMAIN
28304007ebaSmrg# ---------------
28405cf1079Smrg# Note that this code is called both from 'configure', and 'config.status'
28504007ebaSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
28605cf1079Smrg# 'config.status' has no value for ac_aux_dir unless we are using Automake,
28704007ebaSmrg# so we pass a copy along to make sure it has a sensible value anyway.
28804007ebaSmrgm4_defun([_LT_PROG_LTMAIN],
28904007ebaSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
29004007ebaSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
29105cf1079Smrgltmain=$ac_aux_dir/ltmain.sh
29204007ebaSmrg])# _LT_PROG_LTMAIN
29304007ebaSmrg
29404007ebaSmrg
29504007ebaSmrg## ------------------------------------- ##
29604007ebaSmrg## Accumulate code for creating libtool. ##
29704007ebaSmrg## ------------------------------------- ##
29804007ebaSmrg
29904007ebaSmrg# So that we can recreate a full libtool script including additional
30004007ebaSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
30105cf1079Smrg# in macros and then make a single call at the end using the 'libtool'
30204007ebaSmrg# label.
30304007ebaSmrg
30404007ebaSmrg
30504007ebaSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
30604007ebaSmrg# ----------------------------------------
30704007ebaSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
30804007ebaSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
30904007ebaSmrg[m4_ifval([$1],
31004007ebaSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
31104007ebaSmrg                     [$1
31204007ebaSmrg])])])
31304007ebaSmrg
31404007ebaSmrg# Initialize.
31504007ebaSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
31604007ebaSmrg
31704007ebaSmrg
31804007ebaSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
31904007ebaSmrg# ------------------------------
32004007ebaSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
32104007ebaSmrgm4_define([_LT_CONFIG_LIBTOOL],
32204007ebaSmrg[m4_ifval([$1],
32304007ebaSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
32404007ebaSmrg                     [$1
32504007ebaSmrg])])])
32604007ebaSmrg
32704007ebaSmrg# Initialize.
32804007ebaSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
32904007ebaSmrg
33004007ebaSmrg
33104007ebaSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
33204007ebaSmrg# -----------------------------------------------------
33304007ebaSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
33404007ebaSmrg[_LT_CONFIG_LIBTOOL([$1])
33504007ebaSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
33604007ebaSmrg])
33704007ebaSmrg
33804007ebaSmrg
33904007ebaSmrg# _LT_FORMAT_COMMENT([COMMENT])
34004007ebaSmrg# -----------------------------
34104007ebaSmrg# Add leading comment marks to the start of each line, and a trailing
34204007ebaSmrg# full-stop to the whole comment if one is not present already.
34304007ebaSmrgm4_define([_LT_FORMAT_COMMENT],
34404007ebaSmrg[m4_ifval([$1], [
34504007ebaSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
34604007ebaSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
34704007ebaSmrg)])
34804007ebaSmrg
34904007ebaSmrg
35004007ebaSmrg
35104007ebaSmrg## ------------------------ ##
35204007ebaSmrg## FIXME: Eliminate VARNAME ##
35304007ebaSmrg## ------------------------ ##
35404007ebaSmrg
35504007ebaSmrg
35604007ebaSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
35704007ebaSmrg# -------------------------------------------------------------------
35804007ebaSmrg# CONFIGNAME is the name given to the value in the libtool script.
35904007ebaSmrg# VARNAME is the (base) name used in the configure script.
36004007ebaSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
36104007ebaSmrg# VARNAME.  Any other value will be used directly.
36204007ebaSmrgm4_define([_LT_DECL],
36304007ebaSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
36404007ebaSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
36504007ebaSmrg	[m4_ifval([$1], [$1], [$2])])
36604007ebaSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
36704007ebaSmrg    m4_ifval([$4],
36804007ebaSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
36904007ebaSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
37004007ebaSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
37104007ebaSmrg])
37204007ebaSmrg
37304007ebaSmrg
37404007ebaSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
37504007ebaSmrg# --------------------------------------------------------
37604007ebaSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
37704007ebaSmrg
37804007ebaSmrg
37904007ebaSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
38004007ebaSmrg# ------------------------------------------------
38104007ebaSmrgm4_define([lt_decl_tag_varnames],
38204007ebaSmrg[_lt_decl_filter([tagged?], [yes], $@)])
38304007ebaSmrg
38404007ebaSmrg
38504007ebaSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
38604007ebaSmrg# ---------------------------------------------------------
38704007ebaSmrgm4_define([_lt_decl_filter],
38804007ebaSmrg[m4_case([$#],
38904007ebaSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
39004007ebaSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
39104007ebaSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
39204007ebaSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
39304007ebaSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
39404007ebaSmrg])
39504007ebaSmrg
39604007ebaSmrg
39704007ebaSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
39804007ebaSmrg# --------------------------------------------------
39904007ebaSmrgm4_define([lt_decl_quote_varnames],
40004007ebaSmrg[_lt_decl_filter([value], [1], $@)])
40104007ebaSmrg
40204007ebaSmrg
40304007ebaSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
40404007ebaSmrg# ---------------------------------------------------
40504007ebaSmrgm4_define([lt_decl_dquote_varnames],
40604007ebaSmrg[_lt_decl_filter([value], [2], $@)])
40704007ebaSmrg
40804007ebaSmrg
40904007ebaSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
41004007ebaSmrg# ---------------------------------------------------
41104007ebaSmrgm4_define([lt_decl_varnames_tagged],
41204007ebaSmrg[m4_assert([$# <= 2])dnl
41304007ebaSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
41404007ebaSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
41504007ebaSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
41604007ebaSmrgm4_define([_lt_decl_varnames_tagged],
41704007ebaSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
41804007ebaSmrg
41904007ebaSmrg
42004007ebaSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
42104007ebaSmrg# ------------------------------------------------
42204007ebaSmrgm4_define([lt_decl_all_varnames],
42304007ebaSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
42404007ebaSmrg     m4_if([$2], [],
42504007ebaSmrg	   m4_quote(lt_decl_varnames),
42604007ebaSmrg	m4_quote(m4_shift($@))))[]dnl
42704007ebaSmrg])
42804007ebaSmrgm4_define([_lt_decl_all_varnames],
42904007ebaSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
43004007ebaSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
43104007ebaSmrg])
43204007ebaSmrg
43304007ebaSmrg
43404007ebaSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
43504007ebaSmrg# ------------------------------------
43605cf1079Smrg# Quote a variable value, and forward it to 'config.status' so that its
43705cf1079Smrg# declaration there will have the same value as in 'configure'.  VARNAME
43804007ebaSmrg# must have a single quote delimited value for this to work.
43904007ebaSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
44004007ebaSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
44104007ebaSmrg
44204007ebaSmrg
44304007ebaSmrg# _LT_CONFIG_STATUS_DECLARATIONS
44404007ebaSmrg# ------------------------------
44504007ebaSmrg# We delimit libtool config variables with single quotes, so when
44604007ebaSmrg# we write them to config.status, we have to be sure to quote all
44704007ebaSmrg# embedded single quotes properly.  In configure, this macro expands
44804007ebaSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
44904007ebaSmrg#
45004007ebaSmrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
45104007ebaSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
45204007ebaSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
45304007ebaSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
45404007ebaSmrg
45504007ebaSmrg
45604007ebaSmrg# _LT_LIBTOOL_TAGS
45704007ebaSmrg# ----------------
45804007ebaSmrg# Output comment and list of tags supported by the script
45904007ebaSmrgm4_defun([_LT_LIBTOOL_TAGS],
46004007ebaSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
46105cf1079Smrgavailable_tags='_LT_TAGS'dnl
46204007ebaSmrg])
46304007ebaSmrg
46404007ebaSmrg
46504007ebaSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
46604007ebaSmrg# -----------------------------------
46704007ebaSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
46804007ebaSmrg# expand to a commented shell variable setting:
46904007ebaSmrg#
47004007ebaSmrg#    # Some comment about what VAR is for.
47104007ebaSmrg#    visible_name=$lt_internal_name
47204007ebaSmrgm4_define([_LT_LIBTOOL_DECLARE],
47304007ebaSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
47404007ebaSmrg					   [description])))[]dnl
47504007ebaSmrgm4_pushdef([_libtool_name],
47604007ebaSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
47704007ebaSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
47804007ebaSmrg    [0], [_libtool_name=[$]$1],
47904007ebaSmrg    [1], [_libtool_name=$lt_[]$1],
48004007ebaSmrg    [2], [_libtool_name=$lt_[]$1],
48104007ebaSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
48204007ebaSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
48304007ebaSmrg])
48404007ebaSmrg
48504007ebaSmrg
48604007ebaSmrg# _LT_LIBTOOL_CONFIG_VARS
48704007ebaSmrg# -----------------------
48804007ebaSmrg# Produce commented declarations of non-tagged libtool config variables
48905cf1079Smrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
49004007ebaSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
49104007ebaSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
49204007ebaSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
49304007ebaSmrg[m4_foreach([_lt_var],
49404007ebaSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
49504007ebaSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
49604007ebaSmrg
49704007ebaSmrg
49804007ebaSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
49904007ebaSmrg# -------------------------
50004007ebaSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
50104007ebaSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
50204007ebaSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
50304007ebaSmrg
50404007ebaSmrg
50504007ebaSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
50604007ebaSmrg# ------------------------------
50704007ebaSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
50804007ebaSmrg
50904007ebaSmrg
51004007ebaSmrg# _LT_CONFIG_COMMANDS
51104007ebaSmrg# -------------------
51204007ebaSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
51304007ebaSmrg# variables for single and double quote escaping we saved from calls
51404007ebaSmrg# to _LT_DECL, we can put quote escaped variables declarations
51505cf1079Smrg# into 'config.status', and then the shell code to quote escape them in
51605cf1079Smrg# for loops in 'config.status'.  Finally, any additional code accumulated
51704007ebaSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
51804007ebaSmrgm4_defun([_LT_CONFIG_COMMANDS],
51904007ebaSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
52004007ebaSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
52104007ebaSmrg	dnl instead of duplicating it all over again into config.status,
52204007ebaSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
52304007ebaSmrg	dnl needs to know what name is stored there:
52404007ebaSmrg        [AC_CONFIG_COMMANDS([libtool],
52504007ebaSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
52604007ebaSmrg    dnl If the libtool generation code is destined for config.status,
52704007ebaSmrg    dnl expand the accumulated commands and init code now:
52804007ebaSmrg    [AC_CONFIG_COMMANDS([libtool],
52904007ebaSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
53004007ebaSmrg])#_LT_CONFIG_COMMANDS
53104007ebaSmrg
53204007ebaSmrg
53304007ebaSmrg# Initialize.
53404007ebaSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
53504007ebaSmrg[
53604007ebaSmrg
53704007ebaSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
53804007ebaSmrg# if CDPATH is set.
53904007ebaSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
54004007ebaSmrg
54104007ebaSmrgsed_quote_subst='$sed_quote_subst'
54204007ebaSmrgdouble_quote_subst='$double_quote_subst'
54304007ebaSmrgdelay_variable_subst='$delay_variable_subst'
54404007ebaSmrg_LT_CONFIG_STATUS_DECLARATIONS
54504007ebaSmrgLTCC='$LTCC'
54604007ebaSmrgLTCFLAGS='$LTCFLAGS'
54704007ebaSmrgcompiler='$compiler_DEFAULT'
54804007ebaSmrg
54904007ebaSmrg# A function that is used when there is no print builtin or printf.
55004007ebaSmrgfunc_fallback_echo ()
55104007ebaSmrg{
55204007ebaSmrg  eval 'cat <<_LTECHO_EOF
55304007ebaSmrg\$[]1
55404007ebaSmrg_LTECHO_EOF'
55504007ebaSmrg}
55604007ebaSmrg
55704007ebaSmrg# Quote evaled strings.
55804007ebaSmrgfor var in lt_decl_all_varnames([[ \
55904007ebaSmrg]], lt_decl_quote_varnames); do
56004007ebaSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
56104007ebaSmrg    *[[\\\\\\\`\\"\\\$]]*)
56205cf1079Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
56304007ebaSmrg      ;;
56404007ebaSmrg    *)
56504007ebaSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
56604007ebaSmrg      ;;
56704007ebaSmrg    esac
56804007ebaSmrgdone
56904007ebaSmrg
57004007ebaSmrg# Double-quote double-evaled strings.
57104007ebaSmrgfor var in lt_decl_all_varnames([[ \
57204007ebaSmrg]], lt_decl_dquote_varnames); do
57304007ebaSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
57404007ebaSmrg    *[[\\\\\\\`\\"\\\$]]*)
57505cf1079Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
57604007ebaSmrg      ;;
57704007ebaSmrg    *)
57804007ebaSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
57904007ebaSmrg      ;;
58004007ebaSmrg    esac
58104007ebaSmrgdone
58204007ebaSmrg
58304007ebaSmrg_LT_OUTPUT_LIBTOOL_INIT
58404007ebaSmrg])
58504007ebaSmrg
58604007ebaSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
58704007ebaSmrg# ------------------------------------
58804007ebaSmrg# Generate a child script FILE with all initialization necessary to
58904007ebaSmrg# reuse the environment learned by the parent script, and make the
59004007ebaSmrg# file executable.  If COMMENT is supplied, it is inserted after the
59105cf1079Smrg# '#!' sequence but before initialization text begins.  After this
59204007ebaSmrg# macro, additional text can be appended to FILE to form the body of
59304007ebaSmrg# the child script.  The macro ends with non-zero status if the
59404007ebaSmrg# file could not be fully written (such as if the disk is full).
59504007ebaSmrgm4_ifdef([AS_INIT_GENERATED],
59604007ebaSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
59704007ebaSmrg[m4_defun([_LT_GENERATED_FILE_INIT],
59804007ebaSmrg[m4_require([AS_PREPARE])]dnl
59904007ebaSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
60004007ebaSmrg[lt_write_fail=0
60104007ebaSmrgcat >$1 <<_ASEOF || lt_write_fail=1
60204007ebaSmrg#! $SHELL
60304007ebaSmrg# Generated by $as_me.
60404007ebaSmrg$2
60504007ebaSmrgSHELL=\${CONFIG_SHELL-$SHELL}
60604007ebaSmrgexport SHELL
60704007ebaSmrg_ASEOF
60804007ebaSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1
60904007ebaSmrgAS_SHELL_SANITIZE
61004007ebaSmrg_AS_PREPARE
61104007ebaSmrgexec AS_MESSAGE_FD>&1
61204007ebaSmrg_ASEOF
61305cf1079Smrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
61404007ebaSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
61504007ebaSmrg
61604007ebaSmrg# LT_OUTPUT
61704007ebaSmrg# ---------
61804007ebaSmrg# This macro allows early generation of the libtool script (before
61904007ebaSmrg# AC_OUTPUT is called), incase it is used in configure for compilation
62004007ebaSmrg# tests.
62104007ebaSmrgAC_DEFUN([LT_OUTPUT],
62204007ebaSmrg[: ${CONFIG_LT=./config.lt}
62304007ebaSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
62404007ebaSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
62504007ebaSmrg[# Run this file to recreate a libtool stub with the current configuration.])
62604007ebaSmrg
62704007ebaSmrgcat >>"$CONFIG_LT" <<\_LTEOF
62804007ebaSmrglt_cl_silent=false
62904007ebaSmrgexec AS_MESSAGE_LOG_FD>>config.log
63004007ebaSmrg{
63104007ebaSmrg  echo
63204007ebaSmrg  AS_BOX([Running $as_me.])
63304007ebaSmrg} >&AS_MESSAGE_LOG_FD
63404007ebaSmrg
63504007ebaSmrglt_cl_help="\
63605cf1079Smrg'$as_me' creates a local libtool stub from the current configuration,
63704007ebaSmrgfor use in further configure time tests before the real libtool is
63804007ebaSmrggenerated.
63904007ebaSmrg
64004007ebaSmrgUsage: $[0] [[OPTIONS]]
64104007ebaSmrg
64204007ebaSmrg  -h, --help      print this help, then exit
64304007ebaSmrg  -V, --version   print version number, then exit
64404007ebaSmrg  -q, --quiet     do not print progress messages
64504007ebaSmrg  -d, --debug     don't remove temporary files
64604007ebaSmrg
64704007ebaSmrgReport bugs to <bug-libtool@gnu.org>."
64804007ebaSmrg
64904007ebaSmrglt_cl_version="\
65004007ebaSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
65104007ebaSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
65204007ebaSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
65304007ebaSmrg
65404007ebaSmrgCopyright (C) 2011 Free Software Foundation, Inc.
65504007ebaSmrgThis config.lt script is free software; the Free Software Foundation
65604007ebaSmrggives unlimited permision to copy, distribute and modify it."
65704007ebaSmrg
65805cf1079Smrgwhile test 0 != $[#]
65904007ebaSmrgdo
66004007ebaSmrg  case $[1] in
66104007ebaSmrg    --version | --v* | -V )
66204007ebaSmrg      echo "$lt_cl_version"; exit 0 ;;
66304007ebaSmrg    --help | --h* | -h )
66404007ebaSmrg      echo "$lt_cl_help"; exit 0 ;;
66504007ebaSmrg    --debug | --d* | -d )
66604007ebaSmrg      debug=: ;;
66704007ebaSmrg    --quiet | --q* | --silent | --s* | -q )
66804007ebaSmrg      lt_cl_silent=: ;;
66904007ebaSmrg
67004007ebaSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
67105cf1079SmrgTry '$[0] --help' for more information.]) ;;
67204007ebaSmrg
67304007ebaSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
67405cf1079SmrgTry '$[0] --help' for more information.]) ;;
67504007ebaSmrg  esac
67604007ebaSmrg  shift
67704007ebaSmrgdone
67804007ebaSmrg
67904007ebaSmrgif $lt_cl_silent; then
68004007ebaSmrg  exec AS_MESSAGE_FD>/dev/null
68104007ebaSmrgfi
68204007ebaSmrg_LTEOF
68304007ebaSmrg
68404007ebaSmrgcat >>"$CONFIG_LT" <<_LTEOF
68504007ebaSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
68604007ebaSmrg_LTEOF
68704007ebaSmrg
68804007ebaSmrgcat >>"$CONFIG_LT" <<\_LTEOF
68904007ebaSmrgAC_MSG_NOTICE([creating $ofile])
69004007ebaSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
69104007ebaSmrgAS_EXIT(0)
69204007ebaSmrg_LTEOF
69304007ebaSmrgchmod +x "$CONFIG_LT"
69404007ebaSmrg
69504007ebaSmrg# configure is writing to config.log, but config.lt does its own redirection,
69604007ebaSmrg# appending to config.log, which fails on DOS, as config.log is still kept
69704007ebaSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
69804007ebaSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
69904007ebaSmrglt_cl_success=:
70005cf1079Smrgtest yes = "$silent" &&
70104007ebaSmrg  lt_config_lt_args="$lt_config_lt_args --quiet"
70204007ebaSmrgexec AS_MESSAGE_LOG_FD>/dev/null
70304007ebaSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
70404007ebaSmrgexec AS_MESSAGE_LOG_FD>>config.log
70504007ebaSmrg$lt_cl_success || AS_EXIT(1)
70604007ebaSmrg])# LT_OUTPUT
70704007ebaSmrg
70804007ebaSmrg
70904007ebaSmrg# _LT_CONFIG(TAG)
71004007ebaSmrg# ---------------
71104007ebaSmrg# If TAG is the built-in tag, create an initial libtool script with a
71204007ebaSmrg# default configuration from the untagged config vars.  Otherwise add code
71304007ebaSmrg# to config.status for appending the configuration named by TAG from the
71404007ebaSmrg# matching tagged config vars.
71504007ebaSmrgm4_defun([_LT_CONFIG],
71604007ebaSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
71704007ebaSmrg_LT_CONFIG_SAVE_COMMANDS([
71804007ebaSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
71904007ebaSmrg  m4_if(_LT_TAG, [C], [
72005cf1079Smrg    # See if we are running on zsh, and set the options that allow our
72104007ebaSmrg    # commands through without removal of \ escapes.
72205cf1079Smrg    if test -n "${ZSH_VERSION+set}"; then
72304007ebaSmrg      setopt NO_GLOB_SUBST
72404007ebaSmrg    fi
72504007ebaSmrg
72605cf1079Smrg    cfgfile=${ofile}T
72704007ebaSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
72804007ebaSmrg    $RM "$cfgfile"
72904007ebaSmrg
73004007ebaSmrg    cat <<_LT_EOF >> "$cfgfile"
73104007ebaSmrg#! $SHELL
73205cf1079Smrg# Generated automatically by $as_me ($PACKAGE) $VERSION
73379d5fcd7Smrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
73404007ebaSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
73505cf1079Smrg
73605cf1079Smrg# Provide generalized library-building support services.
73705cf1079Smrg# Written by Gordon Matzigkeit, 1996
73805cf1079Smrg
73904007ebaSmrg_LT_COPYING
74004007ebaSmrg_LT_LIBTOOL_TAGS
74104007ebaSmrg
74205cf1079Smrg# Configured defaults for sys_lib_dlsearch_path munging.
74305cf1079Smrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
74405cf1079Smrg
74504007ebaSmrg# ### BEGIN LIBTOOL CONFIG
74604007ebaSmrg_LT_LIBTOOL_CONFIG_VARS
74704007ebaSmrg_LT_LIBTOOL_TAG_VARS
74804007ebaSmrg# ### END LIBTOOL CONFIG
74904007ebaSmrg
75005cf1079Smrg_LT_EOF
75105cf1079Smrg
75205cf1079Smrg    cat <<'_LT_EOF' >> "$cfgfile"
75305cf1079Smrg
75405cf1079Smrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
75505cf1079Smrg
75605cf1079Smrg_LT_PREPARE_MUNGE_PATH_LIST
75705cf1079Smrg_LT_PREPARE_CC_BASENAME
75805cf1079Smrg
75905cf1079Smrg# ### END FUNCTIONS SHARED WITH CONFIGURE
76005cf1079Smrg
76104007ebaSmrg_LT_EOF
76204007ebaSmrg
76304007ebaSmrg  case $host_os in
76404007ebaSmrg  aix3*)
76504007ebaSmrg    cat <<\_LT_EOF >> "$cfgfile"
76604007ebaSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
76704007ebaSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
76804007ebaSmrg# vanish in a puff of smoke.
76905cf1079Smrgif test set != "${COLLECT_NAMES+set}"; then
77004007ebaSmrg  COLLECT_NAMES=
77104007ebaSmrg  export COLLECT_NAMES
77204007ebaSmrgfi
77304007ebaSmrg_LT_EOF
77404007ebaSmrg    ;;
77504007ebaSmrg  esac
77604007ebaSmrg
77704007ebaSmrg  _LT_PROG_LTMAIN
77804007ebaSmrg
77904007ebaSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
78004007ebaSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
78104007ebaSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
78204007ebaSmrg  # is reportedly fixed, but why not run on old versions too?
78379d5fcd7Smrg  $SED '$q' "$ltmain" >> "$cfgfile" \
78404007ebaSmrg     || (rm -f "$cfgfile"; exit 1)
78504007ebaSmrg
78604007ebaSmrg   mv -f "$cfgfile" "$ofile" ||
78704007ebaSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
78804007ebaSmrg  chmod +x "$ofile"
78904007ebaSmrg],
79004007ebaSmrg[cat <<_LT_EOF >> "$ofile"
79104007ebaSmrg
79204007ebaSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
79304007ebaSmrgdnl in a comment (ie after a #).
79404007ebaSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
79504007ebaSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
79604007ebaSmrg# ### END LIBTOOL TAG CONFIG: $1
79704007ebaSmrg_LT_EOF
79804007ebaSmrg])dnl /m4_if
79904007ebaSmrg],
80004007ebaSmrg[m4_if([$1], [], [
80104007ebaSmrg    PACKAGE='$PACKAGE'
80204007ebaSmrg    VERSION='$VERSION'
80304007ebaSmrg    RM='$RM'
80404007ebaSmrg    ofile='$ofile'], [])
80504007ebaSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
80604007ebaSmrg])# _LT_CONFIG
80704007ebaSmrg
80804007ebaSmrg
80904007ebaSmrg# LT_SUPPORTED_TAG(TAG)
81004007ebaSmrg# ---------------------
81104007ebaSmrg# Trace this macro to discover what tags are supported by the libtool
81204007ebaSmrg# --tag option, using:
81304007ebaSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
81404007ebaSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
81504007ebaSmrg
81604007ebaSmrg
81704007ebaSmrg# C support is built-in for now
81804007ebaSmrgm4_define([_LT_LANG_C_enabled], [])
81904007ebaSmrgm4_define([_LT_TAGS], [])
82004007ebaSmrg
82104007ebaSmrg
82204007ebaSmrg# LT_LANG(LANG)
82304007ebaSmrg# -------------
82404007ebaSmrg# Enable libtool support for the given language if not already enabled.
82504007ebaSmrgAC_DEFUN([LT_LANG],
82604007ebaSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
82704007ebaSmrgm4_case([$1],
82804007ebaSmrg  [C],			[_LT_LANG(C)],
82904007ebaSmrg  [C++],		[_LT_LANG(CXX)],
83004007ebaSmrg  [Go],			[_LT_LANG(GO)],
83104007ebaSmrg  [Java],		[_LT_LANG(GCJ)],
83204007ebaSmrg  [Fortran 77],		[_LT_LANG(F77)],
83304007ebaSmrg  [Fortran],		[_LT_LANG(FC)],
83404007ebaSmrg  [Windows Resource],	[_LT_LANG(RC)],
83504007ebaSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
83604007ebaSmrg    [_LT_LANG($1)],
83704007ebaSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
83804007ebaSmrg])# LT_LANG
83904007ebaSmrg
84004007ebaSmrg
84104007ebaSmrg# _LT_LANG(LANGNAME)
84204007ebaSmrg# ------------------
84304007ebaSmrgm4_defun([_LT_LANG],
84404007ebaSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
84504007ebaSmrg  [LT_SUPPORTED_TAG([$1])dnl
84604007ebaSmrg  m4_append([_LT_TAGS], [$1 ])dnl
84704007ebaSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
84804007ebaSmrg  _LT_LANG_$1_CONFIG($1)])dnl
84904007ebaSmrg])# _LT_LANG
85004007ebaSmrg
85104007ebaSmrg
85204007ebaSmrgm4_ifndef([AC_PROG_GO], [
85304007ebaSmrg############################################################
85404007ebaSmrg# NOTE: This macro has been submitted for inclusion into   #
85504007ebaSmrg#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
85604007ebaSmrg#  a released version of Autoconf we should remove this    #
85704007ebaSmrg#  macro and use it instead.                               #
85804007ebaSmrg############################################################
85904007ebaSmrgm4_defun([AC_PROG_GO],
86004007ebaSmrg[AC_LANG_PUSH(Go)dnl
86104007ebaSmrgAC_ARG_VAR([GOC],     [Go compiler command])dnl
86204007ebaSmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
86304007ebaSmrg_AC_ARG_VAR_LDFLAGS()dnl
86404007ebaSmrgAC_CHECK_TOOL(GOC, gccgo)
86504007ebaSmrgif test -z "$GOC"; then
86604007ebaSmrg  if test -n "$ac_tool_prefix"; then
86704007ebaSmrg    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
86804007ebaSmrg  fi
86904007ebaSmrgfi
87004007ebaSmrgif test -z "$GOC"; then
87104007ebaSmrg  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
87204007ebaSmrgfi
87304007ebaSmrg])#m4_defun
87404007ebaSmrg])#m4_ifndef
87504007ebaSmrg
87604007ebaSmrg
87704007ebaSmrg# _LT_LANG_DEFAULT_CONFIG
87804007ebaSmrg# -----------------------
87904007ebaSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
88004007ebaSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
88104007ebaSmrg  [LT_LANG(CXX)],
88204007ebaSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
88304007ebaSmrg
88404007ebaSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
88504007ebaSmrg  [LT_LANG(F77)],
88604007ebaSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
88704007ebaSmrg
88804007ebaSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
88904007ebaSmrg  [LT_LANG(FC)],
89004007ebaSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
89104007ebaSmrg
89204007ebaSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
89304007ebaSmrgdnl pulling things in needlessly.
89404007ebaSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
89504007ebaSmrg  [LT_LANG(GCJ)],
89604007ebaSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
89704007ebaSmrg    [LT_LANG(GCJ)],
89804007ebaSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
89904007ebaSmrg      [LT_LANG(GCJ)],
90004007ebaSmrg      [m4_ifdef([AC_PROG_GCJ],
90104007ebaSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
90204007ebaSmrg       m4_ifdef([A][M_PROG_GCJ],
90304007ebaSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
90404007ebaSmrg       m4_ifdef([LT_PROG_GCJ],
90504007ebaSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
90604007ebaSmrg
90704007ebaSmrgAC_PROVIDE_IFELSE([AC_PROG_GO],
90804007ebaSmrg  [LT_LANG(GO)],
90904007ebaSmrg  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
91004007ebaSmrg
91104007ebaSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
91204007ebaSmrg  [LT_LANG(RC)],
91304007ebaSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
91404007ebaSmrg])# _LT_LANG_DEFAULT_CONFIG
91504007ebaSmrg
91604007ebaSmrg# Obsolete macros:
91704007ebaSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
91804007ebaSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
91904007ebaSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
92004007ebaSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
92104007ebaSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
92204007ebaSmrgdnl aclocal-1.4 backwards compatibility:
92304007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
92404007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
92504007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
92604007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
92704007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
92804007ebaSmrg
92904007ebaSmrg
93004007ebaSmrg# _LT_TAG_COMPILER
93104007ebaSmrg# ----------------
93204007ebaSmrgm4_defun([_LT_TAG_COMPILER],
93304007ebaSmrg[AC_REQUIRE([AC_PROG_CC])dnl
93404007ebaSmrg
93504007ebaSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
93604007ebaSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
93704007ebaSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
93804007ebaSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
93904007ebaSmrg
94004007ebaSmrg# If no C compiler was specified, use CC.
94104007ebaSmrgLTCC=${LTCC-"$CC"}
94204007ebaSmrg
94304007ebaSmrg# If no C compiler flags were specified, use CFLAGS.
94404007ebaSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
94504007ebaSmrg
94604007ebaSmrg# Allow CC to be a program name with arguments.
94704007ebaSmrgcompiler=$CC
94804007ebaSmrg])# _LT_TAG_COMPILER
94904007ebaSmrg
95004007ebaSmrg
95104007ebaSmrg# _LT_COMPILER_BOILERPLATE
95204007ebaSmrg# ------------------------
95304007ebaSmrg# Check for compiler boilerplate output or warnings with
95404007ebaSmrg# the simple compiler test code.
95504007ebaSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
95604007ebaSmrg[m4_require([_LT_DECL_SED])dnl
95704007ebaSmrgac_outfile=conftest.$ac_objext
95804007ebaSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
95904007ebaSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
96004007ebaSmrg_lt_compiler_boilerplate=`cat conftest.err`
96104007ebaSmrg$RM conftest*
96204007ebaSmrg])# _LT_COMPILER_BOILERPLATE
96304007ebaSmrg
96404007ebaSmrg
96504007ebaSmrg# _LT_LINKER_BOILERPLATE
96604007ebaSmrg# ----------------------
96704007ebaSmrg# Check for linker boilerplate output or warnings with
96804007ebaSmrg# the simple link test code.
96904007ebaSmrgm4_defun([_LT_LINKER_BOILERPLATE],
97004007ebaSmrg[m4_require([_LT_DECL_SED])dnl
97104007ebaSmrgac_outfile=conftest.$ac_objext
97204007ebaSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
97304007ebaSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
97404007ebaSmrg_lt_linker_boilerplate=`cat conftest.err`
97504007ebaSmrg$RM -r conftest*
97604007ebaSmrg])# _LT_LINKER_BOILERPLATE
97704007ebaSmrg
97804007ebaSmrg# _LT_REQUIRED_DARWIN_CHECKS
97904007ebaSmrg# -------------------------
98004007ebaSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
98104007ebaSmrg  case $host_os in
98204007ebaSmrg    rhapsody* | darwin*)
98304007ebaSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
98404007ebaSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
98504007ebaSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
98604007ebaSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
98704007ebaSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
98804007ebaSmrg    _LT_DECL([], [DSYMUTIL], [1],
98904007ebaSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
99004007ebaSmrg    _LT_DECL([], [NMEDIT], [1],
99104007ebaSmrg      [Tool to change global to local symbols on Mac OS X])
99204007ebaSmrg    _LT_DECL([], [LIPO], [1],
99304007ebaSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
99404007ebaSmrg    _LT_DECL([], [OTOOL], [1],
99504007ebaSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
99604007ebaSmrg    _LT_DECL([], [OTOOL64], [1],
99704007ebaSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
99804007ebaSmrg
99904007ebaSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
100004007ebaSmrg      [lt_cv_apple_cc_single_mod=no
100105cf1079Smrg      if test -z "$LT_MULTI_MODULE"; then
100204007ebaSmrg	# By default we will add the -single_module flag. You can override
100304007ebaSmrg	# by either setting the environment variable LT_MULTI_MODULE
100404007ebaSmrg	# non-empty at configure time, or by adding -multi_module to the
100504007ebaSmrg	# link flags.
100604007ebaSmrg	rm -rf libconftest.dylib*
100704007ebaSmrg	echo "int foo(void){return 1;}" > conftest.c
100804007ebaSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
100904007ebaSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
101004007ebaSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
101104007ebaSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
101204007ebaSmrg        _lt_result=$?
101304007ebaSmrg	# If there is a non-empty error log, and "single_module"
101404007ebaSmrg	# appears in it, assume the flag caused a linker warning
101504007ebaSmrg        if test -s conftest.err && $GREP single_module conftest.err; then
101604007ebaSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
101704007ebaSmrg	# Otherwise, if the output was created with a 0 exit code from
101804007ebaSmrg	# the compiler, it worked.
101905cf1079Smrg	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
102004007ebaSmrg	  lt_cv_apple_cc_single_mod=yes
102104007ebaSmrg	else
102204007ebaSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
102304007ebaSmrg	fi
102404007ebaSmrg	rm -rf libconftest.dylib*
102504007ebaSmrg	rm -f conftest.*
102604007ebaSmrg      fi])
102704007ebaSmrg
102804007ebaSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
102904007ebaSmrg      [lt_cv_ld_exported_symbols_list],
103004007ebaSmrg      [lt_cv_ld_exported_symbols_list=no
103104007ebaSmrg      save_LDFLAGS=$LDFLAGS
103204007ebaSmrg      echo "_main" > conftest.sym
103304007ebaSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
103404007ebaSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
103504007ebaSmrg	[lt_cv_ld_exported_symbols_list=yes],
103604007ebaSmrg	[lt_cv_ld_exported_symbols_list=no])
103705cf1079Smrg	LDFLAGS=$save_LDFLAGS
103804007ebaSmrg    ])
103904007ebaSmrg
104004007ebaSmrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
104104007ebaSmrg      [lt_cv_ld_force_load=no
104204007ebaSmrg      cat > conftest.c << _LT_EOF
104304007ebaSmrgint forced_loaded() { return 2;}
104404007ebaSmrg_LT_EOF
104504007ebaSmrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
104604007ebaSmrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
104779d5fcd7Smrg      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
104879d5fcd7Smrg      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
104904007ebaSmrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
105004007ebaSmrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
105104007ebaSmrg      cat > conftest.c << _LT_EOF
105204007ebaSmrgint main() { return 0;}
105304007ebaSmrg_LT_EOF
105404007ebaSmrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
105504007ebaSmrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
105604007ebaSmrg      _lt_result=$?
105704007ebaSmrg      if test -s conftest.err && $GREP force_load conftest.err; then
105804007ebaSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
105905cf1079Smrg      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
106004007ebaSmrg	lt_cv_ld_force_load=yes
106104007ebaSmrg      else
106204007ebaSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
106304007ebaSmrg      fi
106404007ebaSmrg        rm -f conftest.err libconftest.a conftest conftest.c
106504007ebaSmrg        rm -rf conftest.dSYM
106604007ebaSmrg    ])
106704007ebaSmrg    case $host_os in
106804007ebaSmrg    rhapsody* | darwin1.[[012]])
106905cf1079Smrg      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
107004007ebaSmrg    darwin1.*)
107105cf1079Smrg      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
107279d5fcd7Smrg    darwin*)
107379d5fcd7Smrg      case $MACOSX_DEPLOYMENT_TARGET,$host in
107479d5fcd7Smrg        10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
107579d5fcd7Smrg          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
107679d5fcd7Smrg        *)
107779d5fcd7Smrg          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
107804007ebaSmrg      esac
107904007ebaSmrg    ;;
108004007ebaSmrg  esac
108105cf1079Smrg    if test yes = "$lt_cv_apple_cc_single_mod"; then
108204007ebaSmrg      _lt_dar_single_mod='$single_module'
108304007ebaSmrg    fi
108405cf1079Smrg    if test yes = "$lt_cv_ld_exported_symbols_list"; then
108505cf1079Smrg      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
108604007ebaSmrg    else
108705cf1079Smrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
108804007ebaSmrg    fi
108905cf1079Smrg    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
109004007ebaSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
109104007ebaSmrg    else
109204007ebaSmrg      _lt_dsymutil=
109304007ebaSmrg    fi
109404007ebaSmrg    ;;
109504007ebaSmrg  esac
109604007ebaSmrg])
109704007ebaSmrg
109804007ebaSmrg
109904007ebaSmrg# _LT_DARWIN_LINKER_FEATURES([TAG])
110004007ebaSmrg# ---------------------------------
110104007ebaSmrg# Checks for linker and compiler features on darwin
110204007ebaSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
110304007ebaSmrg[
110404007ebaSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
110504007ebaSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
110604007ebaSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
110704007ebaSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
110804007ebaSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
110905cf1079Smrg  if test yes = "$lt_cv_ld_force_load"; then
111005cf1079Smrg    _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\"`'
111104007ebaSmrg    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
111204007ebaSmrg                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
111304007ebaSmrg  else
111404007ebaSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
111504007ebaSmrg  fi
111604007ebaSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
111705cf1079Smrg  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
111804007ebaSmrg  case $cc_basename in
111905cf1079Smrg     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
112004007ebaSmrg     *) _lt_dar_can_shared=$GCC ;;
112104007ebaSmrg  esac
112205cf1079Smrg  if test yes = "$_lt_dar_can_shared"; then
112304007ebaSmrg    output_verbose_link_cmd=func_echo_all
112405cf1079Smrg    _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"
112505cf1079Smrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
112679d5fcd7Smrg    _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"
112779d5fcd7Smrg    _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"
112804007ebaSmrg    m4_if([$1], [CXX],
112905cf1079Smrg[   if test yes != "$lt_cv_apple_cc_single_mod"; then
113005cf1079Smrg      _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"
113179d5fcd7Smrg      _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"
113204007ebaSmrg    fi
113304007ebaSmrg],[])
113404007ebaSmrg  else
113504007ebaSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
113604007ebaSmrg  fi
113704007ebaSmrg])
113804007ebaSmrg
113904007ebaSmrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
114004007ebaSmrg# ----------------------------------
114104007ebaSmrg# Links a minimal program and checks the executable
114204007ebaSmrg# for the system default hardcoded library path. In most cases,
114304007ebaSmrg# this is /usr/lib:/lib, but when the MPI compilers are used
114404007ebaSmrg# the location of the communication and MPI libs are included too.
114504007ebaSmrg# If we don't find anything, use the default library path according
114604007ebaSmrg# to the aix ld manual.
114704007ebaSmrg# Store the results from the different compilers for each TAGNAME.
114804007ebaSmrg# Allow to override them for all tags through lt_cv_aix_libpath.
114904007ebaSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
115004007ebaSmrg[m4_require([_LT_DECL_SED])dnl
115105cf1079Smrgif test set = "${lt_cv_aix_libpath+set}"; then
115204007ebaSmrg  aix_libpath=$lt_cv_aix_libpath
115304007ebaSmrgelse
115404007ebaSmrg  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
115504007ebaSmrg  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
115604007ebaSmrg  lt_aix_libpath_sed='[
115704007ebaSmrg      /Import File Strings/,/^$/ {
115804007ebaSmrg	  /^0/ {
115904007ebaSmrg	      s/^0  *\([^ ]*\) *$/\1/
116004007ebaSmrg	      p
116104007ebaSmrg	  }
116204007ebaSmrg      }]'
116304007ebaSmrg  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
116404007ebaSmrg  # Check for a 64-bit object if we didn't find anything.
116504007ebaSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
116604007ebaSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
116704007ebaSmrg  fi],[])
116804007ebaSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
116905cf1079Smrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
117004007ebaSmrg  fi
117104007ebaSmrg  ])
117204007ebaSmrg  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
117304007ebaSmrgfi
117404007ebaSmrg])# _LT_SYS_MODULE_PATH_AIX
117504007ebaSmrg
117604007ebaSmrg
117704007ebaSmrg# _LT_SHELL_INIT(ARG)
117804007ebaSmrg# -------------------
117904007ebaSmrgm4_define([_LT_SHELL_INIT],
118004007ebaSmrg[m4_divert_text([M4SH-INIT], [$1
118104007ebaSmrg])])# _LT_SHELL_INIT
118204007ebaSmrg
118304007ebaSmrg
118404007ebaSmrg
118504007ebaSmrg# _LT_PROG_ECHO_BACKSLASH
118604007ebaSmrg# -----------------------
118704007ebaSmrg# Find how we can fake an echo command that does not interpret backslash.
118804007ebaSmrg# In particular, with Autoconf 2.60 or later we add some code to the start
118905cf1079Smrg# of the generated configure script that will find a shell with a builtin
119005cf1079Smrg# printf (that we can use as an echo command).
119104007ebaSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
119204007ebaSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
119304007ebaSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
119404007ebaSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
119504007ebaSmrg
119604007ebaSmrgAC_MSG_CHECKING([how to print strings])
119704007ebaSmrg# Test print first, because it will be a builtin if present.
119804007ebaSmrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
119904007ebaSmrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
120004007ebaSmrg  ECHO='print -r --'
120104007ebaSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
120204007ebaSmrg  ECHO='printf %s\n'
120304007ebaSmrgelse
120404007ebaSmrg  # Use this function as a fallback that always works.
120504007ebaSmrg  func_fallback_echo ()
120604007ebaSmrg  {
120704007ebaSmrg    eval 'cat <<_LTECHO_EOF
120804007ebaSmrg$[]1
120904007ebaSmrg_LTECHO_EOF'
121004007ebaSmrg  }
121104007ebaSmrg  ECHO='func_fallback_echo'
121204007ebaSmrgfi
121304007ebaSmrg
121404007ebaSmrg# func_echo_all arg...
121504007ebaSmrg# Invoke $ECHO with all args, space-separated.
121604007ebaSmrgfunc_echo_all ()
121704007ebaSmrg{
121805cf1079Smrg    $ECHO "$*"
121904007ebaSmrg}
122004007ebaSmrg
122105cf1079Smrgcase $ECHO in
122204007ebaSmrg  printf*) AC_MSG_RESULT([printf]) ;;
122304007ebaSmrg  print*) AC_MSG_RESULT([print -r]) ;;
122404007ebaSmrg  *) AC_MSG_RESULT([cat]) ;;
122504007ebaSmrgesac
122604007ebaSmrg
122704007ebaSmrgm4_ifdef([_AS_DETECT_SUGGESTED],
122804007ebaSmrg[_AS_DETECT_SUGGESTED([
122904007ebaSmrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
123004007ebaSmrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
123104007ebaSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
123204007ebaSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
123304007ebaSmrg    PATH=/empty FPATH=/empty; export PATH FPATH
123404007ebaSmrg    test "X`printf %s $ECHO`" = "X$ECHO" \
123504007ebaSmrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
123604007ebaSmrg
123704007ebaSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
123804007ebaSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
123904007ebaSmrg])# _LT_PROG_ECHO_BACKSLASH
124004007ebaSmrg
124104007ebaSmrg
124204007ebaSmrg# _LT_WITH_SYSROOT
124304007ebaSmrg# ----------------
124404007ebaSmrgAC_DEFUN([_LT_WITH_SYSROOT],
124579d5fcd7Smrg[m4_require([_LT_DECL_SED])dnl
124679d5fcd7SmrgAC_MSG_CHECKING([for sysroot])
124704007ebaSmrgAC_ARG_WITH([sysroot],
124805cf1079Smrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
124905cf1079Smrg  [Search for dependent libraries within DIR (or the compiler's sysroot
125005cf1079Smrg   if not specified).])],
125104007ebaSmrg[], [with_sysroot=no])
125204007ebaSmrg
125304007ebaSmrgdnl lt_sysroot will always be passed unquoted.  We quote it here
125404007ebaSmrgdnl in case the user passed a directory name.
125504007ebaSmrglt_sysroot=
125605cf1079Smrgcase $with_sysroot in #(
125704007ebaSmrg yes)
125805cf1079Smrg   if test yes = "$GCC"; then
125904007ebaSmrg     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
126004007ebaSmrg   fi
126104007ebaSmrg   ;; #(
126204007ebaSmrg /*)
126379d5fcd7Smrg   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
126404007ebaSmrg   ;; #(
126504007ebaSmrg no|'')
126604007ebaSmrg   ;; #(
126704007ebaSmrg *)
126805cf1079Smrg   AC_MSG_RESULT([$with_sysroot])
126904007ebaSmrg   AC_MSG_ERROR([The sysroot must be an absolute path.])
127004007ebaSmrg   ;;
127104007ebaSmrgesac
127204007ebaSmrg
127304007ebaSmrg AC_MSG_RESULT([${lt_sysroot:-no}])
127404007ebaSmrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
127505cf1079Smrg[dependent libraries, and where our libraries should be installed.])])
127604007ebaSmrg
127704007ebaSmrg# _LT_ENABLE_LOCK
127804007ebaSmrg# ---------------
127904007ebaSmrgm4_defun([_LT_ENABLE_LOCK],
128004007ebaSmrg[AC_ARG_ENABLE([libtool-lock],
128104007ebaSmrg  [AS_HELP_STRING([--disable-libtool-lock],
128204007ebaSmrg    [avoid locking (might break parallel builds)])])
128305cf1079Smrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
128404007ebaSmrg
128504007ebaSmrg# Some flags need to be propagated to the compiler or linker for good
128604007ebaSmrg# libtool support.
128704007ebaSmrgcase $host in
128804007ebaSmrgia64-*-hpux*)
128905cf1079Smrg  # Find out what ABI is being produced by ac_compile, and set mode
129005cf1079Smrg  # options accordingly.
129104007ebaSmrg  echo 'int i;' > conftest.$ac_ext
129204007ebaSmrg  if AC_TRY_EVAL(ac_compile); then
129379d5fcd7Smrg    case `$FILECMD conftest.$ac_objext` in
129404007ebaSmrg      *ELF-32*)
129505cf1079Smrg	HPUX_IA64_MODE=32
129604007ebaSmrg	;;
129704007ebaSmrg      *ELF-64*)
129805cf1079Smrg	HPUX_IA64_MODE=64
129904007ebaSmrg	;;
130004007ebaSmrg    esac
130104007ebaSmrg  fi
130204007ebaSmrg  rm -rf conftest*
130304007ebaSmrg  ;;
130404007ebaSmrg*-*-irix6*)
130505cf1079Smrg  # Find out what ABI is being produced by ac_compile, and set linker
130605cf1079Smrg  # options accordingly.
130704007ebaSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
130804007ebaSmrg  if AC_TRY_EVAL(ac_compile); then
130905cf1079Smrg    if test yes = "$lt_cv_prog_gnu_ld"; then
131079d5fcd7Smrg      case `$FILECMD conftest.$ac_objext` in
131104007ebaSmrg	*32-bit*)
131204007ebaSmrg	  LD="${LD-ld} -melf32bsmip"
131304007ebaSmrg	  ;;
131404007ebaSmrg	*N32*)
131504007ebaSmrg	  LD="${LD-ld} -melf32bmipn32"
131604007ebaSmrg	  ;;
131704007ebaSmrg	*64-bit*)
131804007ebaSmrg	  LD="${LD-ld} -melf64bmip"
131904007ebaSmrg	;;
132004007ebaSmrg      esac
132104007ebaSmrg    else
132279d5fcd7Smrg      case `$FILECMD conftest.$ac_objext` in
132304007ebaSmrg	*32-bit*)
132404007ebaSmrg	  LD="${LD-ld} -32"
132504007ebaSmrg	  ;;
132604007ebaSmrg	*N32*)
132704007ebaSmrg	  LD="${LD-ld} -n32"
132804007ebaSmrg	  ;;
132904007ebaSmrg	*64-bit*)
133004007ebaSmrg	  LD="${LD-ld} -64"
133104007ebaSmrg	  ;;
133204007ebaSmrg      esac
133304007ebaSmrg    fi
133404007ebaSmrg  fi
133504007ebaSmrg  rm -rf conftest*
133604007ebaSmrg  ;;
133704007ebaSmrg
133805cf1079Smrgmips64*-*linux*)
133905cf1079Smrg  # Find out what ABI is being produced by ac_compile, and set linker
134005cf1079Smrg  # options accordingly.
134105cf1079Smrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
134205cf1079Smrg  if AC_TRY_EVAL(ac_compile); then
134305cf1079Smrg    emul=elf
134479d5fcd7Smrg    case `$FILECMD conftest.$ac_objext` in
134505cf1079Smrg      *32-bit*)
134605cf1079Smrg	emul="${emul}32"
134705cf1079Smrg	;;
134805cf1079Smrg      *64-bit*)
134905cf1079Smrg	emul="${emul}64"
135005cf1079Smrg	;;
135105cf1079Smrg    esac
135279d5fcd7Smrg    case `$FILECMD conftest.$ac_objext` in
135305cf1079Smrg      *MSB*)
135405cf1079Smrg	emul="${emul}btsmip"
135505cf1079Smrg	;;
135605cf1079Smrg      *LSB*)
135705cf1079Smrg	emul="${emul}ltsmip"
135805cf1079Smrg	;;
135905cf1079Smrg    esac
136079d5fcd7Smrg    case `$FILECMD conftest.$ac_objext` in
136105cf1079Smrg      *N32*)
136205cf1079Smrg	emul="${emul}n32"
136305cf1079Smrg	;;
136405cf1079Smrg    esac
136505cf1079Smrg    LD="${LD-ld} -m $emul"
136605cf1079Smrg  fi
136705cf1079Smrg  rm -rf conftest*
136805cf1079Smrg  ;;
136905cf1079Smrg
13707f419768Smrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
137104007ebaSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
137205cf1079Smrg  # Find out what ABI is being produced by ac_compile, and set linker
137305cf1079Smrg  # options accordingly.  Note that the listed cases only cover the
137405cf1079Smrg  # situations where additional linker options are needed (such as when
137505cf1079Smrg  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
137605cf1079Smrg  # vice versa); the common cases where no linker options are needed do
137705cf1079Smrg  # not appear in the list.
137804007ebaSmrg  echo 'int i;' > conftest.$ac_ext
137904007ebaSmrg  if AC_TRY_EVAL(ac_compile); then
138079d5fcd7Smrg    case `$FILECMD conftest.o` in
138104007ebaSmrg      *32-bit*)
138204007ebaSmrg	case $host in
138304007ebaSmrg	  x86_64-*kfreebsd*-gnu)
138404007ebaSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
138504007ebaSmrg	    ;;
138604007ebaSmrg	  x86_64-*linux*)
138779d5fcd7Smrg	    case `$FILECMD conftest.o` in
138804007ebaSmrg	      *x86-64*)
138904007ebaSmrg		LD="${LD-ld} -m elf32_x86_64"
139004007ebaSmrg		;;
139104007ebaSmrg	      *)
139204007ebaSmrg		LD="${LD-ld} -m elf_i386"
139304007ebaSmrg		;;
139404007ebaSmrg	    esac
139504007ebaSmrg	    ;;
139605cf1079Smrg	  powerpc64le-*linux*)
13977f419768Smrg	    LD="${LD-ld} -m elf32lppclinux"
13987f419768Smrg	    ;;
139905cf1079Smrg	  powerpc64-*linux*)
140004007ebaSmrg	    LD="${LD-ld} -m elf32ppclinux"
140104007ebaSmrg	    ;;
140204007ebaSmrg	  s390x-*linux*)
140304007ebaSmrg	    LD="${LD-ld} -m elf_s390"
140404007ebaSmrg	    ;;
140504007ebaSmrg	  sparc64-*linux*)
140604007ebaSmrg	    LD="${LD-ld} -m elf32_sparc"
140704007ebaSmrg	    ;;
140804007ebaSmrg	esac
140904007ebaSmrg	;;
141004007ebaSmrg      *64-bit*)
141104007ebaSmrg	case $host in
141204007ebaSmrg	  x86_64-*kfreebsd*-gnu)
141304007ebaSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
141404007ebaSmrg	    ;;
141504007ebaSmrg	  x86_64-*linux*)
141604007ebaSmrg	    LD="${LD-ld} -m elf_x86_64"
141704007ebaSmrg	    ;;
141805cf1079Smrg	  powerpcle-*linux*)
14197f419768Smrg	    LD="${LD-ld} -m elf64lppc"
14207f419768Smrg	    ;;
142105cf1079Smrg	  powerpc-*linux*)
142204007ebaSmrg	    LD="${LD-ld} -m elf64ppc"
142304007ebaSmrg	    ;;
142404007ebaSmrg	  s390*-*linux*|s390*-*tpf*)
142504007ebaSmrg	    LD="${LD-ld} -m elf64_s390"
142604007ebaSmrg	    ;;
142704007ebaSmrg	  sparc*-*linux*)
142804007ebaSmrg	    LD="${LD-ld} -m elf64_sparc"
142904007ebaSmrg	    ;;
143004007ebaSmrg	esac
143104007ebaSmrg	;;
143204007ebaSmrg    esac
143304007ebaSmrg  fi
143404007ebaSmrg  rm -rf conftest*
143504007ebaSmrg  ;;
143604007ebaSmrg
143704007ebaSmrg*-*-sco3.2v5*)
143804007ebaSmrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
143905cf1079Smrg  SAVE_CFLAGS=$CFLAGS
144004007ebaSmrg  CFLAGS="$CFLAGS -belf"
144104007ebaSmrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
144204007ebaSmrg    [AC_LANG_PUSH(C)
144304007ebaSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
144404007ebaSmrg     AC_LANG_POP])
144505cf1079Smrg  if test yes != "$lt_cv_cc_needs_belf"; then
144604007ebaSmrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
144705cf1079Smrg    CFLAGS=$SAVE_CFLAGS
144804007ebaSmrg  fi
144904007ebaSmrg  ;;
145004007ebaSmrg*-*solaris*)
145105cf1079Smrg  # Find out what ABI is being produced by ac_compile, and set linker
145205cf1079Smrg  # options accordingly.
145304007ebaSmrg  echo 'int i;' > conftest.$ac_ext
145404007ebaSmrg  if AC_TRY_EVAL(ac_compile); then
145579d5fcd7Smrg    case `$FILECMD conftest.o` in
145604007ebaSmrg    *64-bit*)
145704007ebaSmrg      case $lt_cv_prog_gnu_ld in
145804007ebaSmrg      yes*)
145904007ebaSmrg        case $host in
146005cf1079Smrg        i?86-*-solaris*|x86_64-*-solaris*)
146104007ebaSmrg          LD="${LD-ld} -m elf_x86_64"
146204007ebaSmrg          ;;
146304007ebaSmrg        sparc*-*-solaris*)
146404007ebaSmrg          LD="${LD-ld} -m elf64_sparc"
146504007ebaSmrg          ;;
146604007ebaSmrg        esac
146704007ebaSmrg        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
146804007ebaSmrg        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
146905cf1079Smrg          LD=${LD-ld}_sol2
147004007ebaSmrg        fi
147104007ebaSmrg        ;;
147204007ebaSmrg      *)
147304007ebaSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
147404007ebaSmrg	  LD="${LD-ld} -64"
147504007ebaSmrg	fi
147604007ebaSmrg	;;
147704007ebaSmrg      esac
147804007ebaSmrg      ;;
147904007ebaSmrg    esac
148004007ebaSmrg  fi
148104007ebaSmrg  rm -rf conftest*
148204007ebaSmrg  ;;
148304007ebaSmrgesac
148404007ebaSmrg
148505cf1079Smrgneed_locks=$enable_libtool_lock
148604007ebaSmrg])# _LT_ENABLE_LOCK
148704007ebaSmrg
148804007ebaSmrg
148904007ebaSmrg# _LT_PROG_AR
149004007ebaSmrg# -----------
149104007ebaSmrgm4_defun([_LT_PROG_AR],
149204007ebaSmrg[AC_CHECK_TOOLS(AR, [ar], false)
149304007ebaSmrg: ${AR=ar}
149404007ebaSmrg_LT_DECL([], [AR], [1], [The archiver])
149579d5fcd7Smrg
149679d5fcd7Smrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with
149779d5fcd7Smrg# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
149879d5fcd7Smrg# higher priority because thats what people were doing historically (setting
149979d5fcd7Smrg# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
150079d5fcd7Smrg# variable obsoleted/removed.
150179d5fcd7Smrg
150279d5fcd7Smrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
150379d5fcd7Smrglt_ar_flags=$AR_FLAGS
150479d5fcd7Smrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
150579d5fcd7Smrg
150679d5fcd7Smrg# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
150779d5fcd7Smrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
150879d5fcd7Smrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
150979d5fcd7Smrg         [Flags to create an archive])
151004007ebaSmrg
151104007ebaSmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
151204007ebaSmrg  [lt_cv_ar_at_file=no
151304007ebaSmrg   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
151404007ebaSmrg     [echo conftest.$ac_objext > conftest.lst
151504007ebaSmrg      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
151604007ebaSmrg      AC_TRY_EVAL([lt_ar_try])
151705cf1079Smrg      if test 0 -eq "$ac_status"; then
151804007ebaSmrg	# Ensure the archiver fails upon bogus file names.
151904007ebaSmrg	rm -f conftest.$ac_objext libconftest.a
152004007ebaSmrg	AC_TRY_EVAL([lt_ar_try])
152105cf1079Smrg	if test 0 -ne "$ac_status"; then
152204007ebaSmrg          lt_cv_ar_at_file=@
152304007ebaSmrg        fi
152404007ebaSmrg      fi
152504007ebaSmrg      rm -f conftest.* libconftest.a
152604007ebaSmrg     ])
152704007ebaSmrg  ])
152804007ebaSmrg
152905cf1079Smrgif test no = "$lt_cv_ar_at_file"; then
153004007ebaSmrg  archiver_list_spec=
153104007ebaSmrgelse
153204007ebaSmrg  archiver_list_spec=$lt_cv_ar_at_file
153304007ebaSmrgfi
153404007ebaSmrg_LT_DECL([], [archiver_list_spec], [1],
153504007ebaSmrg  [How to feed a file listing to the archiver])
153604007ebaSmrg])# _LT_PROG_AR
153704007ebaSmrg
153804007ebaSmrg
153904007ebaSmrg# _LT_CMD_OLD_ARCHIVE
154004007ebaSmrg# -------------------
154104007ebaSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
154204007ebaSmrg[_LT_PROG_AR
154304007ebaSmrg
154404007ebaSmrgAC_CHECK_TOOL(STRIP, strip, :)
154504007ebaSmrgtest -z "$STRIP" && STRIP=:
154604007ebaSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
154704007ebaSmrg
154804007ebaSmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
154904007ebaSmrgtest -z "$RANLIB" && RANLIB=:
155004007ebaSmrg_LT_DECL([], [RANLIB], [1],
155104007ebaSmrg    [Commands used to install an old-style archive])
155204007ebaSmrg
155304007ebaSmrg# Determine commands to create old-style static archives.
155404007ebaSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
155504007ebaSmrgold_postinstall_cmds='chmod 644 $oldlib'
155604007ebaSmrgold_postuninstall_cmds=
155704007ebaSmrg
155804007ebaSmrgif test -n "$RANLIB"; then
155904007ebaSmrg  case $host_os in
156005cf1079Smrg  bitrig* | openbsd*)
156104007ebaSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
156204007ebaSmrg    ;;
156304007ebaSmrg  *)
156404007ebaSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
156504007ebaSmrg    ;;
156604007ebaSmrg  esac
156704007ebaSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
156804007ebaSmrgfi
156904007ebaSmrg
157004007ebaSmrgcase $host_os in
157104007ebaSmrg  darwin*)
157204007ebaSmrg    lock_old_archive_extraction=yes ;;
157304007ebaSmrg  *)
157404007ebaSmrg    lock_old_archive_extraction=no ;;
157504007ebaSmrgesac
157604007ebaSmrg_LT_DECL([], [old_postinstall_cmds], [2])
157704007ebaSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
157804007ebaSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
157904007ebaSmrg    [Commands used to build an old-style archive])
158004007ebaSmrg_LT_DECL([], [lock_old_archive_extraction], [0],
158104007ebaSmrg    [Whether to use a lock for old archive extraction])
158204007ebaSmrg])# _LT_CMD_OLD_ARCHIVE
158304007ebaSmrg
158404007ebaSmrg
158504007ebaSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
158604007ebaSmrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
158704007ebaSmrg# ----------------------------------------------------------------
158804007ebaSmrg# Check whether the given compiler option works
158904007ebaSmrgAC_DEFUN([_LT_COMPILER_OPTION],
159004007ebaSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
159104007ebaSmrgm4_require([_LT_DECL_SED])dnl
159204007ebaSmrgAC_CACHE_CHECK([$1], [$2],
159304007ebaSmrg  [$2=no
159404007ebaSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
159504007ebaSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
159605cf1079Smrg   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
159704007ebaSmrg   # Insert the option either (1) after the last *FLAGS variable, or
159804007ebaSmrg   # (2) before a word containing "conftest.", or (3) at the end.
159904007ebaSmrg   # Note that $ac_compile itself does not contain backslashes and begins
160004007ebaSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
160104007ebaSmrg   # The option is referenced via a variable to avoid confusing sed.
160204007ebaSmrg   lt_compile=`echo "$ac_compile" | $SED \
160304007ebaSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
160404007ebaSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
160504007ebaSmrg   -e 's:$: $lt_compiler_flag:'`
160604007ebaSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
160704007ebaSmrg   (eval "$lt_compile" 2>conftest.err)
160804007ebaSmrg   ac_status=$?
160904007ebaSmrg   cat conftest.err >&AS_MESSAGE_LOG_FD
161004007ebaSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
161104007ebaSmrg   if (exit $ac_status) && test -s "$ac_outfile"; then
161204007ebaSmrg     # The compiler can only warn and ignore the option if not recognized
161304007ebaSmrg     # So say no if there are warnings other than the usual output.
161404007ebaSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
161504007ebaSmrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
161604007ebaSmrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
161704007ebaSmrg       $2=yes
161804007ebaSmrg     fi
161904007ebaSmrg   fi
162004007ebaSmrg   $RM conftest*
162104007ebaSmrg])
162204007ebaSmrg
162305cf1079Smrgif test yes = "[$]$2"; then
162404007ebaSmrg    m4_if([$5], , :, [$5])
162504007ebaSmrgelse
162604007ebaSmrg    m4_if([$6], , :, [$6])
162704007ebaSmrgfi
162804007ebaSmrg])# _LT_COMPILER_OPTION
162904007ebaSmrg
163004007ebaSmrg# Old name:
163104007ebaSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
163204007ebaSmrgdnl aclocal-1.4 backwards compatibility:
163304007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
163404007ebaSmrg
163504007ebaSmrg
163604007ebaSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
163704007ebaSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
163804007ebaSmrg# ----------------------------------------------------
163904007ebaSmrg# Check whether the given linker option works
164004007ebaSmrgAC_DEFUN([_LT_LINKER_OPTION],
164104007ebaSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
164204007ebaSmrgm4_require([_LT_DECL_SED])dnl
164304007ebaSmrgAC_CACHE_CHECK([$1], [$2],
164404007ebaSmrg  [$2=no
164505cf1079Smrg   save_LDFLAGS=$LDFLAGS
164604007ebaSmrg   LDFLAGS="$LDFLAGS $3"
164704007ebaSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
164804007ebaSmrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
164904007ebaSmrg     # The linker can only warn and ignore the option if not recognized
165004007ebaSmrg     # So say no if there are warnings
165104007ebaSmrg     if test -s conftest.err; then
165204007ebaSmrg       # Append any errors to the config.log.
165304007ebaSmrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
165404007ebaSmrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
165504007ebaSmrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
165604007ebaSmrg       if diff conftest.exp conftest.er2 >/dev/null; then
165704007ebaSmrg         $2=yes
165804007ebaSmrg       fi
165904007ebaSmrg     else
166004007ebaSmrg       $2=yes
166104007ebaSmrg     fi
166204007ebaSmrg   fi
166304007ebaSmrg   $RM -r conftest*
166405cf1079Smrg   LDFLAGS=$save_LDFLAGS
166504007ebaSmrg])
166604007ebaSmrg
166705cf1079Smrgif test yes = "[$]$2"; then
166804007ebaSmrg    m4_if([$4], , :, [$4])
166904007ebaSmrgelse
167004007ebaSmrg    m4_if([$5], , :, [$5])
167104007ebaSmrgfi
167204007ebaSmrg])# _LT_LINKER_OPTION
167304007ebaSmrg
167404007ebaSmrg# Old name:
167504007ebaSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
167604007ebaSmrgdnl aclocal-1.4 backwards compatibility:
167704007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
167804007ebaSmrg
167904007ebaSmrg
168004007ebaSmrg# LT_CMD_MAX_LEN
168104007ebaSmrg#---------------
168204007ebaSmrgAC_DEFUN([LT_CMD_MAX_LEN],
168304007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
168404007ebaSmrg# find the maximum length of command line arguments
168504007ebaSmrgAC_MSG_CHECKING([the maximum length of command line arguments])
168604007ebaSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
168704007ebaSmrg  i=0
168805cf1079Smrg  teststring=ABCD
168904007ebaSmrg
169004007ebaSmrg  case $build_os in
169104007ebaSmrg  msdosdjgpp*)
169204007ebaSmrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
169304007ebaSmrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
169404007ebaSmrg    # during glob expansion).  Even if it were fixed, the result of this
169504007ebaSmrg    # check would be larger than it should be.
169604007ebaSmrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
169704007ebaSmrg    ;;
169804007ebaSmrg
169904007ebaSmrg  gnu*)
170004007ebaSmrg    # Under GNU Hurd, this test is not required because there is
170104007ebaSmrg    # no limit to the length of command line arguments.
170204007ebaSmrg    # Libtool will interpret -1 as no limit whatsoever
170304007ebaSmrg    lt_cv_sys_max_cmd_len=-1;
170404007ebaSmrg    ;;
170504007ebaSmrg
170604007ebaSmrg  cygwin* | mingw* | cegcc*)
170704007ebaSmrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
170804007ebaSmrg    # about 5 minutes as the teststring grows exponentially.
170904007ebaSmrg    # Worse, since 9x/ME are not pre-emptively multitasking,
171004007ebaSmrg    # you end up with a "frozen" computer, even though with patience
171104007ebaSmrg    # the test eventually succeeds (with a max line length of 256k).
171204007ebaSmrg    # Instead, let's just punt: use the minimum linelength reported by
171304007ebaSmrg    # all of the supported platforms: 8192 (on NT/2K/XP).
171404007ebaSmrg    lt_cv_sys_max_cmd_len=8192;
171504007ebaSmrg    ;;
171604007ebaSmrg
171704007ebaSmrg  mint*)
171804007ebaSmrg    # On MiNT this can take a long time and run out of memory.
171904007ebaSmrg    lt_cv_sys_max_cmd_len=8192;
172004007ebaSmrg    ;;
172104007ebaSmrg
172204007ebaSmrg  amigaos*)
172304007ebaSmrg    # On AmigaOS with pdksh, this test takes hours, literally.
172404007ebaSmrg    # So we just punt and use a minimum line length of 8192.
172504007ebaSmrg    lt_cv_sys_max_cmd_len=8192;
172604007ebaSmrg    ;;
172704007ebaSmrg
172879d5fcd7Smrg  bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
172904007ebaSmrg    # This has been around since 386BSD, at least.  Likely further.
173004007ebaSmrg    if test -x /sbin/sysctl; then
173104007ebaSmrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
173204007ebaSmrg    elif test -x /usr/sbin/sysctl; then
173304007ebaSmrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
173404007ebaSmrg    else
173504007ebaSmrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
173604007ebaSmrg    fi
173704007ebaSmrg    # And add a safety zone
173804007ebaSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
173904007ebaSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
174004007ebaSmrg    ;;
174104007ebaSmrg
174204007ebaSmrg  interix*)
174304007ebaSmrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
174404007ebaSmrg    lt_cv_sys_max_cmd_len=196608
174504007ebaSmrg    ;;
174604007ebaSmrg
174704007ebaSmrg  os2*)
174804007ebaSmrg    # The test takes a long time on OS/2.
174904007ebaSmrg    lt_cv_sys_max_cmd_len=8192
175004007ebaSmrg    ;;
175104007ebaSmrg
175204007ebaSmrg  osf*)
175304007ebaSmrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
175404007ebaSmrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
175504007ebaSmrg    # nice to cause kernel panics so lets avoid the loop below.
175604007ebaSmrg    # First set a reasonable default.
175704007ebaSmrg    lt_cv_sys_max_cmd_len=16384
175804007ebaSmrg    #
175904007ebaSmrg    if test -x /sbin/sysconfig; then
176004007ebaSmrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
176104007ebaSmrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
176204007ebaSmrg      esac
176304007ebaSmrg    fi
176404007ebaSmrg    ;;
176504007ebaSmrg  sco3.2v5*)
176604007ebaSmrg    lt_cv_sys_max_cmd_len=102400
176704007ebaSmrg    ;;
176804007ebaSmrg  sysv5* | sco5v6* | sysv4.2uw2*)
176904007ebaSmrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
177004007ebaSmrg    if test -n "$kargmax"; then
177179d5fcd7Smrg      lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[	 ]]//'`
177204007ebaSmrg    else
177304007ebaSmrg      lt_cv_sys_max_cmd_len=32768
177404007ebaSmrg    fi
177504007ebaSmrg    ;;
177604007ebaSmrg  *)
177704007ebaSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
177804007ebaSmrg    if test -n "$lt_cv_sys_max_cmd_len" && \
177905cf1079Smrg       test undefined != "$lt_cv_sys_max_cmd_len"; then
178004007ebaSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
178104007ebaSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
178204007ebaSmrg    else
178304007ebaSmrg      # Make teststring a little bigger before we do anything with it.
178404007ebaSmrg      # a 1K string should be a reasonable start.
178505cf1079Smrg      for i in 1 2 3 4 5 6 7 8; do
178604007ebaSmrg        teststring=$teststring$teststring
178704007ebaSmrg      done
178804007ebaSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
178904007ebaSmrg      # If test is not a shell built-in, we'll probably end up computing a
179004007ebaSmrg      # maximum length that is only half of the actual maximum length, but
179104007ebaSmrg      # we can't tell.
179205cf1079Smrg      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
179304007ebaSmrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
179405cf1079Smrg	      test 17 != "$i" # 1/2 MB should be enough
179504007ebaSmrg      do
179604007ebaSmrg        i=`expr $i + 1`
179704007ebaSmrg        teststring=$teststring$teststring
179804007ebaSmrg      done
179904007ebaSmrg      # Only check the string length outside the loop.
180004007ebaSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
180104007ebaSmrg      teststring=
180204007ebaSmrg      # Add a significant safety factor because C++ compilers can tack on
180304007ebaSmrg      # massive amounts of additional arguments before passing them to the
180404007ebaSmrg      # linker.  It appears as though 1/2 is a usable value.
180504007ebaSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
180604007ebaSmrg    fi
180704007ebaSmrg    ;;
180804007ebaSmrg  esac
180904007ebaSmrg])
181005cf1079Smrgif test -n "$lt_cv_sys_max_cmd_len"; then
181104007ebaSmrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
181204007ebaSmrgelse
181304007ebaSmrg  AC_MSG_RESULT(none)
181404007ebaSmrgfi
181504007ebaSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
181604007ebaSmrg_LT_DECL([], [max_cmd_len], [0],
181704007ebaSmrg    [What is the maximum length of a command?])
181804007ebaSmrg])# LT_CMD_MAX_LEN
181904007ebaSmrg
182004007ebaSmrg# Old name:
182104007ebaSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
182204007ebaSmrgdnl aclocal-1.4 backwards compatibility:
182304007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
182404007ebaSmrg
182504007ebaSmrg
182604007ebaSmrg# _LT_HEADER_DLFCN
182704007ebaSmrg# ----------------
182804007ebaSmrgm4_defun([_LT_HEADER_DLFCN],
182904007ebaSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
183004007ebaSmrg])# _LT_HEADER_DLFCN
183104007ebaSmrg
183204007ebaSmrg
183304007ebaSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
183404007ebaSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
183504007ebaSmrg# ----------------------------------------------------------------
183604007ebaSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
183704007ebaSmrg[m4_require([_LT_HEADER_DLFCN])dnl
183805cf1079Smrgif test yes = "$cross_compiling"; then :
183904007ebaSmrg  [$4]
184004007ebaSmrgelse
184104007ebaSmrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
184204007ebaSmrg  lt_status=$lt_dlunknown
184304007ebaSmrg  cat > conftest.$ac_ext <<_LT_EOF
184404007ebaSmrg[#line $LINENO "configure"
184504007ebaSmrg#include "confdefs.h"
184604007ebaSmrg
184704007ebaSmrg#if HAVE_DLFCN_H
184804007ebaSmrg#include <dlfcn.h>
184904007ebaSmrg#endif
185004007ebaSmrg
185104007ebaSmrg#include <stdio.h>
185204007ebaSmrg
185304007ebaSmrg#ifdef RTLD_GLOBAL
185404007ebaSmrg#  define LT_DLGLOBAL		RTLD_GLOBAL
185504007ebaSmrg#else
185604007ebaSmrg#  ifdef DL_GLOBAL
185704007ebaSmrg#    define LT_DLGLOBAL		DL_GLOBAL
185804007ebaSmrg#  else
185904007ebaSmrg#    define LT_DLGLOBAL		0
186004007ebaSmrg#  endif
186104007ebaSmrg#endif
186204007ebaSmrg
186304007ebaSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
186404007ebaSmrg   find out it does not work in some platform. */
186504007ebaSmrg#ifndef LT_DLLAZY_OR_NOW
186604007ebaSmrg#  ifdef RTLD_LAZY
186704007ebaSmrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
186804007ebaSmrg#  else
186904007ebaSmrg#    ifdef DL_LAZY
187004007ebaSmrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
187104007ebaSmrg#    else
187204007ebaSmrg#      ifdef RTLD_NOW
187304007ebaSmrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
187404007ebaSmrg#      else
187504007ebaSmrg#        ifdef DL_NOW
187604007ebaSmrg#          define LT_DLLAZY_OR_NOW	DL_NOW
187704007ebaSmrg#        else
187804007ebaSmrg#          define LT_DLLAZY_OR_NOW	0
187904007ebaSmrg#        endif
188004007ebaSmrg#      endif
188104007ebaSmrg#    endif
188204007ebaSmrg#  endif
188304007ebaSmrg#endif
188404007ebaSmrg
188505cf1079Smrg/* When -fvisibility=hidden is used, assume the code has been annotated
188604007ebaSmrg   correspondingly for the symbols needed.  */
188705cf1079Smrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
188804007ebaSmrgint fnord () __attribute__((visibility("default")));
188904007ebaSmrg#endif
189004007ebaSmrg
189104007ebaSmrgint fnord () { return 42; }
189204007ebaSmrgint main ()
189304007ebaSmrg{
189404007ebaSmrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
189504007ebaSmrg  int status = $lt_dlunknown;
189604007ebaSmrg
189704007ebaSmrg  if (self)
189804007ebaSmrg    {
189904007ebaSmrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
190004007ebaSmrg      else
190104007ebaSmrg        {
190204007ebaSmrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
190304007ebaSmrg          else puts (dlerror ());
190404007ebaSmrg	}
190504007ebaSmrg      /* dlclose (self); */
190604007ebaSmrg    }
190704007ebaSmrg  else
190804007ebaSmrg    puts (dlerror ());
190904007ebaSmrg
191004007ebaSmrg  return status;
191104007ebaSmrg}]
191204007ebaSmrg_LT_EOF
191305cf1079Smrg  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
191404007ebaSmrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
191504007ebaSmrg    lt_status=$?
191604007ebaSmrg    case x$lt_status in
191704007ebaSmrg      x$lt_dlno_uscore) $1 ;;
191804007ebaSmrg      x$lt_dlneed_uscore) $2 ;;
191904007ebaSmrg      x$lt_dlunknown|x*) $3 ;;
192004007ebaSmrg    esac
192104007ebaSmrg  else :
192204007ebaSmrg    # compilation failed
192304007ebaSmrg    $3
192404007ebaSmrg  fi
192504007ebaSmrgfi
192604007ebaSmrgrm -fr conftest*
192704007ebaSmrg])# _LT_TRY_DLOPEN_SELF
192804007ebaSmrg
192904007ebaSmrg
193004007ebaSmrg# LT_SYS_DLOPEN_SELF
193104007ebaSmrg# ------------------
193204007ebaSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
193304007ebaSmrg[m4_require([_LT_HEADER_DLFCN])dnl
193405cf1079Smrgif test yes != "$enable_dlopen"; then
193504007ebaSmrg  enable_dlopen=unknown
193604007ebaSmrg  enable_dlopen_self=unknown
193704007ebaSmrg  enable_dlopen_self_static=unknown
193804007ebaSmrgelse
193904007ebaSmrg  lt_cv_dlopen=no
194004007ebaSmrg  lt_cv_dlopen_libs=
194104007ebaSmrg
194204007ebaSmrg  case $host_os in
194304007ebaSmrg  beos*)
194405cf1079Smrg    lt_cv_dlopen=load_add_on
194504007ebaSmrg    lt_cv_dlopen_libs=
194604007ebaSmrg    lt_cv_dlopen_self=yes
194704007ebaSmrg    ;;
194804007ebaSmrg
194904007ebaSmrg  mingw* | pw32* | cegcc*)
195005cf1079Smrg    lt_cv_dlopen=LoadLibrary
195104007ebaSmrg    lt_cv_dlopen_libs=
195204007ebaSmrg    ;;
195304007ebaSmrg
195404007ebaSmrg  cygwin*)
195505cf1079Smrg    lt_cv_dlopen=dlopen
195604007ebaSmrg    lt_cv_dlopen_libs=
195704007ebaSmrg    ;;
195804007ebaSmrg
195904007ebaSmrg  darwin*)
196005cf1079Smrg    # if libdl is installed we need to link against it
196104007ebaSmrg    AC_CHECK_LIB([dl], [dlopen],
196205cf1079Smrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
196305cf1079Smrg    lt_cv_dlopen=dyld
196404007ebaSmrg    lt_cv_dlopen_libs=
196504007ebaSmrg    lt_cv_dlopen_self=yes
196604007ebaSmrg    ])
196704007ebaSmrg    ;;
196804007ebaSmrg
196905cf1079Smrg  tpf*)
197005cf1079Smrg    # Don't try to run any link tests for TPF.  We know it's impossible
197105cf1079Smrg    # because TPF is a cross-compiler, and we know how we open DSOs.
197205cf1079Smrg    lt_cv_dlopen=dlopen
197305cf1079Smrg    lt_cv_dlopen_libs=
197405cf1079Smrg    lt_cv_dlopen_self=no
197505cf1079Smrg    ;;
197605cf1079Smrg
197704007ebaSmrg  *)
197804007ebaSmrg    AC_CHECK_FUNC([shl_load],
197905cf1079Smrg	  [lt_cv_dlopen=shl_load],
198004007ebaSmrg      [AC_CHECK_LIB([dld], [shl_load],
198105cf1079Smrg	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
198204007ebaSmrg	[AC_CHECK_FUNC([dlopen],
198305cf1079Smrg	      [lt_cv_dlopen=dlopen],
198404007ebaSmrg	  [AC_CHECK_LIB([dl], [dlopen],
198505cf1079Smrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
198604007ebaSmrg	    [AC_CHECK_LIB([svld], [dlopen],
198705cf1079Smrg		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
198804007ebaSmrg	      [AC_CHECK_LIB([dld], [dld_link],
198905cf1079Smrg		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
199004007ebaSmrg	      ])
199104007ebaSmrg	    ])
199204007ebaSmrg	  ])
199304007ebaSmrg	])
199404007ebaSmrg      ])
199504007ebaSmrg    ;;
199604007ebaSmrg  esac
199704007ebaSmrg
199805cf1079Smrg  if test no = "$lt_cv_dlopen"; then
199904007ebaSmrg    enable_dlopen=no
200005cf1079Smrg  else
200105cf1079Smrg    enable_dlopen=yes
200204007ebaSmrg  fi
200304007ebaSmrg
200404007ebaSmrg  case $lt_cv_dlopen in
200504007ebaSmrg  dlopen)
200605cf1079Smrg    save_CPPFLAGS=$CPPFLAGS
200705cf1079Smrg    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
200804007ebaSmrg
200905cf1079Smrg    save_LDFLAGS=$LDFLAGS
201004007ebaSmrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
201104007ebaSmrg
201205cf1079Smrg    save_LIBS=$LIBS
201304007ebaSmrg    LIBS="$lt_cv_dlopen_libs $LIBS"
201404007ebaSmrg
201504007ebaSmrg    AC_CACHE_CHECK([whether a program can dlopen itself],
201604007ebaSmrg	  lt_cv_dlopen_self, [dnl
201704007ebaSmrg	  _LT_TRY_DLOPEN_SELF(
201804007ebaSmrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
201904007ebaSmrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
202004007ebaSmrg    ])
202104007ebaSmrg
202205cf1079Smrg    if test yes = "$lt_cv_dlopen_self"; then
202304007ebaSmrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
202404007ebaSmrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
202504007ebaSmrg	  lt_cv_dlopen_self_static, [dnl
202604007ebaSmrg	  _LT_TRY_DLOPEN_SELF(
202704007ebaSmrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
202804007ebaSmrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
202904007ebaSmrg      ])
203004007ebaSmrg    fi
203104007ebaSmrg
203205cf1079Smrg    CPPFLAGS=$save_CPPFLAGS
203305cf1079Smrg    LDFLAGS=$save_LDFLAGS
203405cf1079Smrg    LIBS=$save_LIBS
203504007ebaSmrg    ;;
203604007ebaSmrg  esac
203704007ebaSmrg
203804007ebaSmrg  case $lt_cv_dlopen_self in
203904007ebaSmrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
204004007ebaSmrg  *) enable_dlopen_self=unknown ;;
204104007ebaSmrg  esac
204204007ebaSmrg
204304007ebaSmrg  case $lt_cv_dlopen_self_static in
204404007ebaSmrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
204504007ebaSmrg  *) enable_dlopen_self_static=unknown ;;
204604007ebaSmrg  esac
204704007ebaSmrgfi
204804007ebaSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
204904007ebaSmrg	 [Whether dlopen is supported])
205004007ebaSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
205104007ebaSmrg	 [Whether dlopen of programs is supported])
205204007ebaSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
205304007ebaSmrg	 [Whether dlopen of statically linked programs is supported])
205404007ebaSmrg])# LT_SYS_DLOPEN_SELF
205504007ebaSmrg
205604007ebaSmrg# Old name:
205704007ebaSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
205804007ebaSmrgdnl aclocal-1.4 backwards compatibility:
205904007ebaSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
206004007ebaSmrg
206104007ebaSmrg
206204007ebaSmrg# _LT_COMPILER_C_O([TAGNAME])
206304007ebaSmrg# ---------------------------
206404007ebaSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
206504007ebaSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
206604007ebaSmrgm4_defun([_LT_COMPILER_C_O],
206704007ebaSmrg[m4_require([_LT_DECL_SED])dnl
206804007ebaSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
206904007ebaSmrgm4_require([_LT_TAG_COMPILER])dnl
207004007ebaSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
207104007ebaSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
207204007ebaSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
207304007ebaSmrg   $RM -r conftest 2>/dev/null
207404007ebaSmrg   mkdir conftest
207504007ebaSmrg   cd conftest
207604007ebaSmrg   mkdir out
207704007ebaSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
207804007ebaSmrg
207904007ebaSmrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
208004007ebaSmrg   # Insert the option either (1) after the last *FLAGS variable, or
208104007ebaSmrg   # (2) before a word containing "conftest.", or (3) at the end.
208204007ebaSmrg   # Note that $ac_compile itself does not contain backslashes and begins
208304007ebaSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
208404007ebaSmrg   lt_compile=`echo "$ac_compile" | $SED \
208504007ebaSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
208604007ebaSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
208704007ebaSmrg   -e 's:$: $lt_compiler_flag:'`
208804007ebaSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
208904007ebaSmrg   (eval "$lt_compile" 2>out/conftest.err)
209004007ebaSmrg   ac_status=$?
209104007ebaSmrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
209204007ebaSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
209304007ebaSmrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
209404007ebaSmrg   then
209504007ebaSmrg     # The compiler can only warn and ignore the option if not recognized
209604007ebaSmrg     # So say no if there are warnings
209704007ebaSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
209804007ebaSmrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
209904007ebaSmrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
210004007ebaSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
210104007ebaSmrg     fi
210204007ebaSmrg   fi
210304007ebaSmrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
210404007ebaSmrg   $RM conftest*
210504007ebaSmrg   # SGI C++ compiler will create directory out/ii_files/ for
210604007ebaSmrg   # template instantiation
210704007ebaSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
210804007ebaSmrg   $RM out/* && rmdir out
210904007ebaSmrg   cd ..
211004007ebaSmrg   $RM -r conftest
211104007ebaSmrg   $RM conftest*
211204007ebaSmrg])
211304007ebaSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
211404007ebaSmrg	[Does compiler simultaneously support -c and -o options?])
211504007ebaSmrg])# _LT_COMPILER_C_O
211604007ebaSmrg
211704007ebaSmrg
211804007ebaSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
211904007ebaSmrg# ----------------------------------
212004007ebaSmrg# Check to see if we can do hard links to lock some files if needed
212104007ebaSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
212204007ebaSmrg[m4_require([_LT_ENABLE_LOCK])dnl
212304007ebaSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
212404007ebaSmrg_LT_COMPILER_C_O([$1])
212504007ebaSmrg
212605cf1079Smrghard_links=nottested
212705cf1079Smrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
212804007ebaSmrg  # do not overwrite the value of need_locks provided by the user
212904007ebaSmrg  AC_MSG_CHECKING([if we can lock with hard links])
213004007ebaSmrg  hard_links=yes
213104007ebaSmrg  $RM conftest*
213204007ebaSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
213304007ebaSmrg  touch conftest.a
213404007ebaSmrg  ln conftest.a conftest.b 2>&5 || hard_links=no
213504007ebaSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
213604007ebaSmrg  AC_MSG_RESULT([$hard_links])
213705cf1079Smrg  if test no = "$hard_links"; then
213805cf1079Smrg    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
213904007ebaSmrg    need_locks=warn
214004007ebaSmrg  fi
214104007ebaSmrgelse
214204007ebaSmrg  need_locks=no
214304007ebaSmrgfi
214404007ebaSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
214504007ebaSmrg])# _LT_COMPILER_FILE_LOCKS
214604007ebaSmrg
214704007ebaSmrg
214804007ebaSmrg# _LT_CHECK_OBJDIR
214904007ebaSmrg# ----------------
215004007ebaSmrgm4_defun([_LT_CHECK_OBJDIR],
215104007ebaSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
215204007ebaSmrg[rm -f .libs 2>/dev/null
215304007ebaSmrgmkdir .libs 2>/dev/null
215404007ebaSmrgif test -d .libs; then
215504007ebaSmrg  lt_cv_objdir=.libs
215604007ebaSmrgelse
215704007ebaSmrg  # MS-DOS does not allow filenames that begin with a dot.
215804007ebaSmrg  lt_cv_objdir=_libs
215904007ebaSmrgfi
216004007ebaSmrgrmdir .libs 2>/dev/null])
216104007ebaSmrgobjdir=$lt_cv_objdir
216204007ebaSmrg_LT_DECL([], [objdir], [0],
216304007ebaSmrg         [The name of the directory that contains temporary libtool files])dnl
216404007ebaSmrgm4_pattern_allow([LT_OBJDIR])dnl
216505cf1079SmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
216605cf1079Smrg  [Define to the sub-directory where libtool stores uninstalled libraries.])
216704007ebaSmrg])# _LT_CHECK_OBJDIR
216804007ebaSmrg
216904007ebaSmrg
217004007ebaSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
217104007ebaSmrg# --------------------------------------
217204007ebaSmrg# Check hardcoding attributes.
217304007ebaSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
217404007ebaSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
217504007ebaSmrg_LT_TAGVAR(hardcode_action, $1)=
217604007ebaSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
217704007ebaSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
217805cf1079Smrg   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
217904007ebaSmrg
218004007ebaSmrg  # We can hardcode non-existent directories.
218105cf1079Smrg  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
218204007ebaSmrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
218304007ebaSmrg     # have to relink, otherwise we might link with an installed library
218404007ebaSmrg     # when we should be linking with a yet-to-be-installed one
218505cf1079Smrg     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
218605cf1079Smrg     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
218704007ebaSmrg    # Linking always hardcodes the temporary library directory.
218804007ebaSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
218904007ebaSmrg  else
219004007ebaSmrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
219104007ebaSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
219204007ebaSmrg  fi
219304007ebaSmrgelse
219404007ebaSmrg  # We cannot hardcode anything, or else we can only hardcode existing
219504007ebaSmrg  # directories.
219604007ebaSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
219704007ebaSmrgfi
219804007ebaSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
219904007ebaSmrg
220005cf1079Smrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
220105cf1079Smrg   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
220204007ebaSmrg  # Fast installation is not supported
220304007ebaSmrg  enable_fast_install=no
220405cf1079Smrgelif test yes = "$shlibpath_overrides_runpath" ||
220505cf1079Smrg     test no = "$enable_shared"; then
220604007ebaSmrg  # Fast installation is not necessary
220704007ebaSmrg  enable_fast_install=needless
220804007ebaSmrgfi
220904007ebaSmrg_LT_TAGDECL([], [hardcode_action], [0],
221004007ebaSmrg    [How to hardcode a shared library path into an executable])
221104007ebaSmrg])# _LT_LINKER_HARDCODE_LIBPATH
221204007ebaSmrg
221304007ebaSmrg
221404007ebaSmrg# _LT_CMD_STRIPLIB
221504007ebaSmrg# ----------------
221604007ebaSmrgm4_defun([_LT_CMD_STRIPLIB],
221704007ebaSmrg[m4_require([_LT_DECL_EGREP])
221804007ebaSmrgstriplib=
221904007ebaSmrgold_striplib=
222004007ebaSmrgAC_MSG_CHECKING([whether stripping libraries is possible])
222179d5fcd7Smrgif test -z "$STRIP"; then
222279d5fcd7Smrg  AC_MSG_RESULT([no])
222304007ebaSmrgelse
222479d5fcd7Smrg  if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
222579d5fcd7Smrg    old_striplib="$STRIP --strip-debug"
222679d5fcd7Smrg    striplib="$STRIP --strip-unneeded"
222779d5fcd7Smrg    AC_MSG_RESULT([yes])
222879d5fcd7Smrg  else
222979d5fcd7Smrg    case $host_os in
223079d5fcd7Smrg    darwin*)
223179d5fcd7Smrg      # FIXME - insert some real tests, host_os isn't really good enough
223204007ebaSmrg      striplib="$STRIP -x"
223304007ebaSmrg      old_striplib="$STRIP -S"
223404007ebaSmrg      AC_MSG_RESULT([yes])
223579d5fcd7Smrg      ;;
223679d5fcd7Smrg    freebsd*)
223779d5fcd7Smrg      if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
223879d5fcd7Smrg        old_striplib="$STRIP --strip-debug"
223979d5fcd7Smrg        striplib="$STRIP --strip-unneeded"
224079d5fcd7Smrg        AC_MSG_RESULT([yes])
224179d5fcd7Smrg      else
224279d5fcd7Smrg        AC_MSG_RESULT([no])
224379d5fcd7Smrg      fi
224479d5fcd7Smrg      ;;
224579d5fcd7Smrg    *)
224604007ebaSmrg      AC_MSG_RESULT([no])
224779d5fcd7Smrg      ;;
224879d5fcd7Smrg    esac
224979d5fcd7Smrg  fi
225004007ebaSmrgfi
225104007ebaSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
225204007ebaSmrg_LT_DECL([], [striplib], [1])
225304007ebaSmrg])# _LT_CMD_STRIPLIB
225404007ebaSmrg
225504007ebaSmrg
225605cf1079Smrg# _LT_PREPARE_MUNGE_PATH_LIST
225705cf1079Smrg# ---------------------------
225805cf1079Smrg# Make sure func_munge_path_list() is defined correctly.
225905cf1079Smrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
226005cf1079Smrg[[# func_munge_path_list VARIABLE PATH
226105cf1079Smrg# -----------------------------------
226205cf1079Smrg# VARIABLE is name of variable containing _space_ separated list of
226305cf1079Smrg# directories to be munged by the contents of PATH, which is string
226405cf1079Smrg# having a format:
226505cf1079Smrg# "DIR[:DIR]:"
226605cf1079Smrg#       string "DIR[ DIR]" will be prepended to VARIABLE
226705cf1079Smrg# ":DIR[:DIR]"
226805cf1079Smrg#       string "DIR[ DIR]" will be appended to VARIABLE
226905cf1079Smrg# "DIRP[:DIRP]::[DIRA:]DIRA"
227005cf1079Smrg#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
227105cf1079Smrg#       "DIRA[ DIRA]" will be appended to VARIABLE
227205cf1079Smrg# "DIR[:DIR]"
227305cf1079Smrg#       VARIABLE will be replaced by "DIR[ DIR]"
227405cf1079Smrgfunc_munge_path_list ()
227505cf1079Smrg{
227605cf1079Smrg    case x@S|@2 in
227705cf1079Smrg    x)
227805cf1079Smrg        ;;
227905cf1079Smrg    *:)
228005cf1079Smrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
228105cf1079Smrg        ;;
228205cf1079Smrg    x:*)
228305cf1079Smrg        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
228405cf1079Smrg        ;;
228505cf1079Smrg    *::*)
228605cf1079Smrg        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
228705cf1079Smrg        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
228805cf1079Smrg        ;;
228905cf1079Smrg    *)
229005cf1079Smrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
229105cf1079Smrg        ;;
229205cf1079Smrg    esac
229305cf1079Smrg}
229405cf1079Smrg]])# _LT_PREPARE_PATH_LIST
229505cf1079Smrg
229605cf1079Smrg
229704007ebaSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
229804007ebaSmrg# -----------------------------
229904007ebaSmrg# PORTME Fill in your ld.so characteristics
230004007ebaSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
230104007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
230204007ebaSmrgm4_require([_LT_DECL_EGREP])dnl
230304007ebaSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
230404007ebaSmrgm4_require([_LT_DECL_OBJDUMP])dnl
230504007ebaSmrgm4_require([_LT_DECL_SED])dnl
230604007ebaSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
230705cf1079Smrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
230804007ebaSmrgAC_MSG_CHECKING([dynamic linker characteristics])
230904007ebaSmrgm4_if([$1],
231004007ebaSmrg	[], [
231105cf1079Smrgif test yes = "$GCC"; then
231204007ebaSmrg  case $host_os in
231305cf1079Smrg    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
231405cf1079Smrg    *) lt_awk_arg='/^libraries:/' ;;
231504007ebaSmrg  esac
231604007ebaSmrg  case $host_os in
231705cf1079Smrg    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
231805cf1079Smrg    *) lt_sed_strip_eq='s|=/|/|g' ;;
231904007ebaSmrg  esac
232004007ebaSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
232104007ebaSmrg  case $lt_search_path_spec in
232204007ebaSmrg  *\;*)
232304007ebaSmrg    # if the path contains ";" then we assume it to be the separator
232404007ebaSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
232504007ebaSmrg    # assumed that no part of a normal pathname contains ";" but that should
232604007ebaSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
232704007ebaSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
232804007ebaSmrg    ;;
232904007ebaSmrg  *)
233004007ebaSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
233104007ebaSmrg    ;;
233204007ebaSmrg  esac
233304007ebaSmrg  # Ok, now we have the path, separated by spaces, we can step through it
233405cf1079Smrg  # and add multilib dir if necessary...
233504007ebaSmrg  lt_tmp_lt_search_path_spec=
233605cf1079Smrg  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
233705cf1079Smrg  # ...but if some path component already ends with the multilib dir we assume
233805cf1079Smrg  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
233905cf1079Smrg  case "$lt_multi_os_dir; $lt_search_path_spec " in
234005cf1079Smrg  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
234105cf1079Smrg    lt_multi_os_dir=
234205cf1079Smrg    ;;
234305cf1079Smrg  esac
234404007ebaSmrg  for lt_sys_path in $lt_search_path_spec; do
234505cf1079Smrg    if test -d "$lt_sys_path$lt_multi_os_dir"; then
234605cf1079Smrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
234705cf1079Smrg    elif test -n "$lt_multi_os_dir"; then
234804007ebaSmrg      test -d "$lt_sys_path" && \
234904007ebaSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
235004007ebaSmrg    fi
235104007ebaSmrg  done
235204007ebaSmrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
235305cf1079SmrgBEGIN {RS = " "; FS = "/|\n";} {
235405cf1079Smrg  lt_foo = "";
235505cf1079Smrg  lt_count = 0;
235604007ebaSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
235704007ebaSmrg    if ($lt_i != "" && $lt_i != ".") {
235804007ebaSmrg      if ($lt_i == "..") {
235904007ebaSmrg        lt_count++;
236004007ebaSmrg      } else {
236104007ebaSmrg        if (lt_count == 0) {
236205cf1079Smrg          lt_foo = "/" $lt_i lt_foo;
236304007ebaSmrg        } else {
236404007ebaSmrg          lt_count--;
236504007ebaSmrg        }
236604007ebaSmrg      }
236704007ebaSmrg    }
236804007ebaSmrg  }
236904007ebaSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
237004007ebaSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
237104007ebaSmrg}'`
237204007ebaSmrg  # AWK program above erroneously prepends '/' to C:/dos/paths
237304007ebaSmrg  # for these hosts.
237404007ebaSmrg  case $host_os in
237504007ebaSmrg    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
237605cf1079Smrg      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
237704007ebaSmrg  esac
237804007ebaSmrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
237904007ebaSmrgelse
238004007ebaSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
238104007ebaSmrgfi])
238204007ebaSmrglibrary_names_spec=
238304007ebaSmrglibname_spec='lib$name'
238404007ebaSmrgsoname_spec=
238505cf1079Smrgshrext_cmds=.so
238604007ebaSmrgpostinstall_cmds=
238704007ebaSmrgpostuninstall_cmds=
238804007ebaSmrgfinish_cmds=
238904007ebaSmrgfinish_eval=
239004007ebaSmrgshlibpath_var=
239104007ebaSmrgshlibpath_overrides_runpath=unknown
239204007ebaSmrgversion_type=none
239304007ebaSmrgdynamic_linker="$host_os ld.so"
239404007ebaSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
239504007ebaSmrgneed_lib_prefix=unknown
239604007ebaSmrghardcode_into_libs=no
239704007ebaSmrg
239804007ebaSmrg# when you set need_version to no, make sure it does not cause -set_version
239904007ebaSmrg# flags to be left without arguments
240004007ebaSmrgneed_version=unknown
240104007ebaSmrg
240205cf1079SmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
240305cf1079Smrg[User-defined run-time library search path.])
240405cf1079Smrg
240504007ebaSmrgcase $host_os in
240604007ebaSmrgaix3*)
240704007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
240805cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
240904007ebaSmrg  shlibpath_var=LIBPATH
241004007ebaSmrg
241104007ebaSmrg  # AIX 3 has no versioning support, so we append a major version to the name.
241205cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
241304007ebaSmrg  ;;
241404007ebaSmrg
241504007ebaSmrgaix[[4-9]]*)
241604007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
241704007ebaSmrg  need_lib_prefix=no
241804007ebaSmrg  need_version=no
241904007ebaSmrg  hardcode_into_libs=yes
242005cf1079Smrg  if test ia64 = "$host_cpu"; then
242104007ebaSmrg    # AIX 5 supports IA64
242205cf1079Smrg    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
242304007ebaSmrg    shlibpath_var=LD_LIBRARY_PATH
242404007ebaSmrg  else
242504007ebaSmrg    # With GCC up to 2.95.x, collect2 would create an import file
242604007ebaSmrg    # for dependence libraries.  The import file would start with
242705cf1079Smrg    # the line '#! .'.  This would cause the generated library to
242805cf1079Smrg    # depend on '.', always an invalid library.  This was fixed in
242904007ebaSmrg    # development snapshots of GCC prior to 3.0.
243004007ebaSmrg    case $host_os in
243104007ebaSmrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
243204007ebaSmrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
243304007ebaSmrg	   echo ' yes '
243405cf1079Smrg	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
243504007ebaSmrg	:
243604007ebaSmrg      else
243704007ebaSmrg	can_build_shared=no
243804007ebaSmrg      fi
243904007ebaSmrg      ;;
244004007ebaSmrg    esac
244105cf1079Smrg    # Using Import Files as archive members, it is possible to support
244205cf1079Smrg    # filename-based versioning of shared library archives on AIX. While
244305cf1079Smrg    # this would work for both with and without runtime linking, it will
244405cf1079Smrg    # prevent static linking of such archives. So we do filename-based
244505cf1079Smrg    # shared library versioning with .so extension only, which is used
244605cf1079Smrg    # when both runtime linking and shared linking is enabled.
244705cf1079Smrg    # Unfortunately, runtime linking may impact performance, so we do
244805cf1079Smrg    # not want this to be the default eventually. Also, we use the
244905cf1079Smrg    # versioned .so libs for executables only if there is the -brtl
245005cf1079Smrg    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
245105cf1079Smrg    # To allow for filename-based versioning support, we need to create
245205cf1079Smrg    # libNAME.so.V as an archive file, containing:
245305cf1079Smrg    # *) an Import File, referring to the versioned filename of the
245405cf1079Smrg    #    archive as well as the shared archive member, telling the
245505cf1079Smrg    #    bitwidth (32 or 64) of that shared object, and providing the
245605cf1079Smrg    #    list of exported symbols of that shared object, eventually
245705cf1079Smrg    #    decorated with the 'weak' keyword
245805cf1079Smrg    # *) the shared object with the F_LOADONLY flag set, to really avoid
245905cf1079Smrg    #    it being seen by the linker.
246005cf1079Smrg    # At run time we better use the real file rather than another symlink,
246105cf1079Smrg    # but for link time we create the symlink libNAME.so -> libNAME.so.V
246205cf1079Smrg
246305cf1079Smrg    case $with_aix_soname,$aix_use_runtimelinking in
246405cf1079Smrg    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
246504007ebaSmrg    # soname into executable. Probably we can add versioning support to
246604007ebaSmrg    # collect2, so additional links can be useful in future.
246705cf1079Smrg    aix,yes) # traditional libtool
246805cf1079Smrg      dynamic_linker='AIX unversionable lib.so'
246904007ebaSmrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
247004007ebaSmrg      # instead of lib<name>.a to let people know that these are not
247104007ebaSmrg      # typical AIX shared libraries.
247205cf1079Smrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
247305cf1079Smrg      ;;
247405cf1079Smrg    aix,no) # traditional AIX only
247505cf1079Smrg      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
247604007ebaSmrg      # We preserve .a as extension for shared libraries through AIX4.2
247704007ebaSmrg      # and later when we are not doing run time linking.
247805cf1079Smrg      library_names_spec='$libname$release.a $libname.a'
247905cf1079Smrg      soname_spec='$libname$release$shared_ext$major'
248005cf1079Smrg      ;;
248105cf1079Smrg    svr4,*) # full svr4 only
248205cf1079Smrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
248305cf1079Smrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
248405cf1079Smrg      # We do not specify a path in Import Files, so LIBPATH fires.
248505cf1079Smrg      shlibpath_overrides_runpath=yes
248605cf1079Smrg      ;;
248705cf1079Smrg    *,yes) # both, prefer svr4
248805cf1079Smrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
248905cf1079Smrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
249005cf1079Smrg      # unpreferred sharedlib libNAME.a needs extra handling
249105cf1079Smrg      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"'
249205cf1079Smrg      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"'
249305cf1079Smrg      # We do not specify a path in Import Files, so LIBPATH fires.
249405cf1079Smrg      shlibpath_overrides_runpath=yes
249505cf1079Smrg      ;;
249605cf1079Smrg    *,no) # both, prefer aix
249705cf1079Smrg      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
249805cf1079Smrg      library_names_spec='$libname$release.a $libname.a'
249905cf1079Smrg      soname_spec='$libname$release$shared_ext$major'
250005cf1079Smrg      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
250105cf1079Smrg      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)'
250205cf1079Smrg      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"'
250305cf1079Smrg      ;;
250405cf1079Smrg    esac
250504007ebaSmrg    shlibpath_var=LIBPATH
250604007ebaSmrg  fi
250704007ebaSmrg  ;;
250804007ebaSmrg
250904007ebaSmrgamigaos*)
251004007ebaSmrg  case $host_cpu in
251104007ebaSmrg  powerpc)
251204007ebaSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
251304007ebaSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
251405cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
251504007ebaSmrg    ;;
251604007ebaSmrg  m68k)
251704007ebaSmrg    library_names_spec='$libname.ixlibrary $libname.a'
251804007ebaSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
251905cf1079Smrg    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'
252004007ebaSmrg    ;;
252104007ebaSmrg  esac
252204007ebaSmrg  ;;
252304007ebaSmrg
252404007ebaSmrgbeos*)
252505cf1079Smrg  library_names_spec='$libname$shared_ext'
252604007ebaSmrg  dynamic_linker="$host_os ld.so"
252704007ebaSmrg  shlibpath_var=LIBRARY_PATH
252804007ebaSmrg  ;;
252904007ebaSmrg
253004007ebaSmrgbsdi[[45]]*)
253104007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
253204007ebaSmrg  need_version=no
253305cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
253405cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
253504007ebaSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
253604007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
253704007ebaSmrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
253804007ebaSmrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
253904007ebaSmrg  # the default ld.so.conf also contains /usr/contrib/lib and
254004007ebaSmrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
254104007ebaSmrg  # libtool to hard-code these into programs
254204007ebaSmrg  ;;
254304007ebaSmrg
254404007ebaSmrgcygwin* | mingw* | pw32* | cegcc*)
254504007ebaSmrg  version_type=windows
254605cf1079Smrg  shrext_cmds=.dll
254704007ebaSmrg  need_version=no
254804007ebaSmrg  need_lib_prefix=no
254904007ebaSmrg
255004007ebaSmrg  case $GCC,$cc_basename in
255104007ebaSmrg  yes,*)
255204007ebaSmrg    # gcc
255304007ebaSmrg    library_names_spec='$libname.dll.a'
255404007ebaSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
255505cf1079Smrg    postinstall_cmds='base_file=`basename \$file`~
255605cf1079Smrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
255704007ebaSmrg      dldir=$destdir/`dirname \$dlpath`~
255804007ebaSmrg      test -d \$dldir || mkdir -p \$dldir~
255904007ebaSmrg      $install_prog $dir/$dlname \$dldir/$dlname~
256004007ebaSmrg      chmod a+x \$dldir/$dlname~
256104007ebaSmrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
256204007ebaSmrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
256304007ebaSmrg      fi'
256404007ebaSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
256504007ebaSmrg      dlpath=$dir/\$dldll~
256604007ebaSmrg       $RM \$dlpath'
256704007ebaSmrg    shlibpath_overrides_runpath=yes
256804007ebaSmrg
256904007ebaSmrg    case $host_os in
257004007ebaSmrg    cygwin*)
257104007ebaSmrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
257279d5fcd7Smrg      soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
257304007ebaSmrgm4_if([$1], [],[
257404007ebaSmrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
257504007ebaSmrg      ;;
257604007ebaSmrg    mingw* | cegcc*)
257704007ebaSmrg      # MinGW DLLs use traditional 'lib' prefix
257805cf1079Smrg      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
257904007ebaSmrg      ;;
258004007ebaSmrg    pw32*)
258104007ebaSmrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
258279d5fcd7Smrg      library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
258304007ebaSmrg      ;;
258404007ebaSmrg    esac
258504007ebaSmrg    dynamic_linker='Win32 ld.exe'
258604007ebaSmrg    ;;
258704007ebaSmrg
258879d5fcd7Smrg  *,cl* | *,icl*)
258979d5fcd7Smrg    # Native MSVC or ICC
259004007ebaSmrg    libname_spec='$name'
259105cf1079Smrg    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
259205cf1079Smrg    library_names_spec='$libname.dll.lib'
259304007ebaSmrg
259404007ebaSmrg    case $build_os in
259504007ebaSmrg    mingw*)
259604007ebaSmrg      sys_lib_search_path_spec=
259704007ebaSmrg      lt_save_ifs=$IFS
259804007ebaSmrg      IFS=';'
259904007ebaSmrg      for lt_path in $LIB
260004007ebaSmrg      do
260104007ebaSmrg        IFS=$lt_save_ifs
260204007ebaSmrg        # Let DOS variable expansion print the short 8.3 style file name.
260304007ebaSmrg        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
260404007ebaSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
260504007ebaSmrg      done
260604007ebaSmrg      IFS=$lt_save_ifs
260704007ebaSmrg      # Convert to MSYS style.
260879d5fcd7Smrg      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
260904007ebaSmrg      ;;
261004007ebaSmrg    cygwin*)
261104007ebaSmrg      # Convert to unix form, then to dos form, then back to unix form
261204007ebaSmrg      # but this time dos style (no spaces!) so that the unix form looks
261304007ebaSmrg      # like /cygdrive/c/PROGRA~1:/cygdr...
261404007ebaSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
261504007ebaSmrg      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
261604007ebaSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
261704007ebaSmrg      ;;
261804007ebaSmrg    *)
261905cf1079Smrg      sys_lib_search_path_spec=$LIB
262004007ebaSmrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
262104007ebaSmrg        # It is most probably a Windows format PATH.
262204007ebaSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
262304007ebaSmrg      else
262404007ebaSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
262504007ebaSmrg      fi
262604007ebaSmrg      # FIXME: find the short name or the path components, as spaces are
262704007ebaSmrg      # common. (e.g. "Program Files" -> "PROGRA~1")
262804007ebaSmrg      ;;
262904007ebaSmrg    esac
263004007ebaSmrg
263104007ebaSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
263205cf1079Smrg    postinstall_cmds='base_file=`basename \$file`~
263305cf1079Smrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
263404007ebaSmrg      dldir=$destdir/`dirname \$dlpath`~
263504007ebaSmrg      test -d \$dldir || mkdir -p \$dldir~
263604007ebaSmrg      $install_prog $dir/$dlname \$dldir/$dlname'
263704007ebaSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
263804007ebaSmrg      dlpath=$dir/\$dldll~
263904007ebaSmrg       $RM \$dlpath'
264004007ebaSmrg    shlibpath_overrides_runpath=yes
264104007ebaSmrg    dynamic_linker='Win32 link.exe'
264204007ebaSmrg    ;;
264304007ebaSmrg
264404007ebaSmrg  *)
264579d5fcd7Smrg    # Assume MSVC and ICC wrapper
264605cf1079Smrg    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
264704007ebaSmrg    dynamic_linker='Win32 ld.exe'
264804007ebaSmrg    ;;
264904007ebaSmrg  esac
265004007ebaSmrg  # FIXME: first we should search . and the directory the executable is in
265104007ebaSmrg  shlibpath_var=PATH
265204007ebaSmrg  ;;
265304007ebaSmrg
265404007ebaSmrgdarwin* | rhapsody*)
265504007ebaSmrg  dynamic_linker="$host_os dyld"
265604007ebaSmrg  version_type=darwin
265704007ebaSmrg  need_lib_prefix=no
265804007ebaSmrg  need_version=no
265905cf1079Smrg  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
266005cf1079Smrg  soname_spec='$libname$release$major$shared_ext'
266104007ebaSmrg  shlibpath_overrides_runpath=yes
266204007ebaSmrg  shlibpath_var=DYLD_LIBRARY_PATH
266304007ebaSmrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
266404007ebaSmrgm4_if([$1], [],[
266504007ebaSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
266604007ebaSmrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
266704007ebaSmrg  ;;
266804007ebaSmrg
266904007ebaSmrgdgux*)
267004007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
267104007ebaSmrg  need_lib_prefix=no
267204007ebaSmrg  need_version=no
267305cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
267405cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
267504007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
267604007ebaSmrg  ;;
267704007ebaSmrg
267879d5fcd7Smrgfreebsd* | dragonfly* | midnightbsd*)
267904007ebaSmrg  # DragonFly does not have aout.  When/if they implement a new
268004007ebaSmrg  # versioning mechanism, adjust this.
268104007ebaSmrg  if test -x /usr/bin/objformat; then
268204007ebaSmrg    objformat=`/usr/bin/objformat`
268304007ebaSmrg  else
268404007ebaSmrg    case $host_os in
268504007ebaSmrg    freebsd[[23]].*) objformat=aout ;;
268604007ebaSmrg    *) objformat=elf ;;
268704007ebaSmrg    esac
268804007ebaSmrg  fi
268904007ebaSmrg  version_type=freebsd-$objformat
269004007ebaSmrg  case $version_type in
269104007ebaSmrg    freebsd-elf*)
269205cf1079Smrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
269305cf1079Smrg      soname_spec='$libname$release$shared_ext$major'
269404007ebaSmrg      need_version=no
269504007ebaSmrg      need_lib_prefix=no
269604007ebaSmrg      ;;
269704007ebaSmrg    freebsd-*)
269805cf1079Smrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
269904007ebaSmrg      need_version=yes
270004007ebaSmrg      ;;
270104007ebaSmrg  esac
270204007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
270304007ebaSmrg  case $host_os in
270404007ebaSmrg  freebsd2.*)
270504007ebaSmrg    shlibpath_overrides_runpath=yes
270604007ebaSmrg    ;;
270704007ebaSmrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
270804007ebaSmrg    shlibpath_overrides_runpath=yes
270904007ebaSmrg    hardcode_into_libs=yes
271004007ebaSmrg    ;;
271104007ebaSmrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
271204007ebaSmrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
271304007ebaSmrg    shlibpath_overrides_runpath=no
271404007ebaSmrg    hardcode_into_libs=yes
271504007ebaSmrg    ;;
271604007ebaSmrg  *) # from 4.6 on, and DragonFly
271704007ebaSmrg    shlibpath_overrides_runpath=yes
271804007ebaSmrg    hardcode_into_libs=yes
271904007ebaSmrg    ;;
272004007ebaSmrg  esac
272104007ebaSmrg  ;;
272204007ebaSmrg
272304007ebaSmrghaiku*)
272404007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
272504007ebaSmrg  need_lib_prefix=no
272604007ebaSmrg  need_version=no
272704007ebaSmrg  dynamic_linker="$host_os runtime_loader"
272805cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
272905cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
273004007ebaSmrg  shlibpath_var=LIBRARY_PATH
273105cf1079Smrg  shlibpath_overrides_runpath=no
273204007ebaSmrg  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
273304007ebaSmrg  hardcode_into_libs=yes
273404007ebaSmrg  ;;
273504007ebaSmrg
273604007ebaSmrghpux9* | hpux10* | hpux11*)
273704007ebaSmrg  # Give a soname corresponding to the major version so that dld.sl refuses to
273804007ebaSmrg  # link against other versions.
273904007ebaSmrg  version_type=sunos
274004007ebaSmrg  need_lib_prefix=no
274104007ebaSmrg  need_version=no
274204007ebaSmrg  case $host_cpu in
274304007ebaSmrg  ia64*)
274404007ebaSmrg    shrext_cmds='.so'
274504007ebaSmrg    hardcode_into_libs=yes
274604007ebaSmrg    dynamic_linker="$host_os dld.so"
274704007ebaSmrg    shlibpath_var=LD_LIBRARY_PATH
274804007ebaSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
274905cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
275005cf1079Smrg    soname_spec='$libname$release$shared_ext$major'
275105cf1079Smrg    if test 32 = "$HPUX_IA64_MODE"; then
275204007ebaSmrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
275305cf1079Smrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
275404007ebaSmrg    else
275504007ebaSmrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
275605cf1079Smrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
275704007ebaSmrg    fi
275804007ebaSmrg    ;;
275904007ebaSmrg  hppa*64*)
276004007ebaSmrg    shrext_cmds='.sl'
276104007ebaSmrg    hardcode_into_libs=yes
276204007ebaSmrg    dynamic_linker="$host_os dld.sl"
276304007ebaSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
276404007ebaSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
276505cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
276605cf1079Smrg    soname_spec='$libname$release$shared_ext$major'
276704007ebaSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
276804007ebaSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
276904007ebaSmrg    ;;
277004007ebaSmrg  *)
277104007ebaSmrg    shrext_cmds='.sl'
277204007ebaSmrg    dynamic_linker="$host_os dld.sl"
277304007ebaSmrg    shlibpath_var=SHLIB_PATH
277404007ebaSmrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
277505cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
277605cf1079Smrg    soname_spec='$libname$release$shared_ext$major'
277704007ebaSmrg    ;;
277804007ebaSmrg  esac
277904007ebaSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
278004007ebaSmrg  postinstall_cmds='chmod 555 $lib'
278104007ebaSmrg  # or fails outright, so override atomically:
278204007ebaSmrg  install_override_mode=555
278304007ebaSmrg  ;;
278404007ebaSmrg
278504007ebaSmrginterix[[3-9]]*)
278604007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
278704007ebaSmrg  need_lib_prefix=no
278804007ebaSmrg  need_version=no
278905cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
279005cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
279104007ebaSmrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
279204007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
279304007ebaSmrg  shlibpath_overrides_runpath=no
279404007ebaSmrg  hardcode_into_libs=yes
279504007ebaSmrg  ;;
279604007ebaSmrg
279704007ebaSmrgirix5* | irix6* | nonstopux*)
279804007ebaSmrg  case $host_os in
279904007ebaSmrg    nonstopux*) version_type=nonstopux ;;
280004007ebaSmrg    *)
280105cf1079Smrg	if test yes = "$lt_cv_prog_gnu_ld"; then
280204007ebaSmrg		version_type=linux # correct to gnu/linux during the next big refactor
280304007ebaSmrg	else
280404007ebaSmrg		version_type=irix
280504007ebaSmrg	fi ;;
280604007ebaSmrg  esac
280704007ebaSmrg  need_lib_prefix=no
280804007ebaSmrg  need_version=no
280905cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
281005cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
281104007ebaSmrg  case $host_os in
281204007ebaSmrg  irix5* | nonstopux*)
281304007ebaSmrg    libsuff= shlibsuff=
281404007ebaSmrg    ;;
281504007ebaSmrg  *)
281604007ebaSmrg    case $LD in # libtool.m4 will add one of these switches to LD
281704007ebaSmrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
281804007ebaSmrg      libsuff= shlibsuff= libmagic=32-bit;;
281904007ebaSmrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
282004007ebaSmrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
282104007ebaSmrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
282204007ebaSmrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
282304007ebaSmrg    *) libsuff= shlibsuff= libmagic=never-match;;
282404007ebaSmrg    esac
282504007ebaSmrg    ;;
282604007ebaSmrg  esac
282704007ebaSmrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
282804007ebaSmrg  shlibpath_overrides_runpath=no
282905cf1079Smrg  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
283005cf1079Smrg  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
283104007ebaSmrg  hardcode_into_libs=yes
283204007ebaSmrg  ;;
283304007ebaSmrg
283404007ebaSmrg# No shared lib support for Linux oldld, aout, or coff.
283504007ebaSmrglinux*oldld* | linux*aout* | linux*coff*)
283604007ebaSmrg  dynamic_linker=no
283704007ebaSmrg  ;;
283804007ebaSmrg
283905cf1079Smrglinux*android*)
284005cf1079Smrg  version_type=none # Android doesn't support versioned libraries.
284105cf1079Smrg  need_lib_prefix=no
284205cf1079Smrg  need_version=no
284305cf1079Smrg  library_names_spec='$libname$release$shared_ext'
284405cf1079Smrg  soname_spec='$libname$release$shared_ext'
284505cf1079Smrg  finish_cmds=
284605cf1079Smrg  shlibpath_var=LD_LIBRARY_PATH
284705cf1079Smrg  shlibpath_overrides_runpath=yes
284805cf1079Smrg
284905cf1079Smrg  # This implies no fast_install, which is unacceptable.
285005cf1079Smrg  # Some rework will be needed to allow for fast_install
285105cf1079Smrg  # before this can be enabled.
285205cf1079Smrg  hardcode_into_libs=yes
285305cf1079Smrg
285405cf1079Smrg  dynamic_linker='Android linker'
285505cf1079Smrg  # Don't embed -rpath directories since the linker doesn't support them.
285605cf1079Smrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
285705cf1079Smrg  ;;
285805cf1079Smrg
285904007ebaSmrg# This must be glibc/ELF.
286004007ebaSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
286104007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
286204007ebaSmrg  need_lib_prefix=no
286304007ebaSmrg  need_version=no
286405cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
286505cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
286604007ebaSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
286704007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
286804007ebaSmrg  shlibpath_overrides_runpath=no
286904007ebaSmrg
287004007ebaSmrg  # Some binutils ld are patched to set DT_RUNPATH
287104007ebaSmrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
287204007ebaSmrg    [lt_cv_shlibpath_overrides_runpath=no
287304007ebaSmrg    save_LDFLAGS=$LDFLAGS
287404007ebaSmrg    save_libdir=$libdir
287504007ebaSmrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
287604007ebaSmrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
287704007ebaSmrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
287804007ebaSmrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
287904007ebaSmrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
288004007ebaSmrg    LDFLAGS=$save_LDFLAGS
288104007ebaSmrg    libdir=$save_libdir
288204007ebaSmrg    ])
288304007ebaSmrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
288404007ebaSmrg
288504007ebaSmrg  # This implies no fast_install, which is unacceptable.
288604007ebaSmrg  # Some rework will be needed to allow for fast_install
288704007ebaSmrg  # before this can be enabled.
288804007ebaSmrg  hardcode_into_libs=yes
288904007ebaSmrg
289005cf1079Smrg  # Ideally, we could use ldconfig to report *all* directores which are
289105cf1079Smrg  # searched for libraries, however this is still not possible.  Aside from not
289205cf1079Smrg  # being certain /sbin/ldconfig is available, command
289305cf1079Smrg  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
289405cf1079Smrg  # even though it is searched at run-time.  Try to do the best guess by
289505cf1079Smrg  # appending ld.so.conf contents (and includes) to the search path.
289604007ebaSmrg  if test -f /etc/ld.so.conf; then
289704007ebaSmrg    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' ' '`
289804007ebaSmrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
289904007ebaSmrg  fi
290004007ebaSmrg
290104007ebaSmrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
290204007ebaSmrg  # powerpc, because MkLinux only supported shared libraries with the
290304007ebaSmrg  # GNU dynamic linker.  Since this was broken with cross compilers,
290404007ebaSmrg  # most powerpc-linux boxes support dynamic linking these days and
290504007ebaSmrg  # people can always --disable-shared, the test was removed, and we
290604007ebaSmrg  # assume the GNU/Linux dynamic linker is in use.
290704007ebaSmrg  dynamic_linker='GNU/Linux ld.so'
290804007ebaSmrg  ;;
290904007ebaSmrg
291004007ebaSmrgnetbsd*)
291104007ebaSmrg  version_type=sunos
291204007ebaSmrg  need_lib_prefix=no
291304007ebaSmrg  need_version=no
291404007ebaSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
291505cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
291604007ebaSmrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
291704007ebaSmrg    dynamic_linker='NetBSD (a.out) ld.so'
291804007ebaSmrg  else
291905cf1079Smrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
292005cf1079Smrg    soname_spec='$libname$release$shared_ext$major'
292104007ebaSmrg    dynamic_linker='NetBSD ld.elf_so'
292204007ebaSmrg  fi
292304007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
292404007ebaSmrg  shlibpath_overrides_runpath=yes
292504007ebaSmrg  hardcode_into_libs=yes
292604007ebaSmrg  ;;
292704007ebaSmrg
292804007ebaSmrgnewsos6)
292904007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
293005cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
293104007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
293204007ebaSmrg  shlibpath_overrides_runpath=yes
293304007ebaSmrg  ;;
293404007ebaSmrg
293504007ebaSmrg*nto* | *qnx*)
293604007ebaSmrg  version_type=qnx
293704007ebaSmrg  need_lib_prefix=no
293804007ebaSmrg  need_version=no
293905cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
294005cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
294104007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
294204007ebaSmrg  shlibpath_overrides_runpath=no
294304007ebaSmrg  hardcode_into_libs=yes
294404007ebaSmrg  dynamic_linker='ldqnx.so'
294504007ebaSmrg  ;;
294604007ebaSmrg
294705cf1079Smrgopenbsd* | bitrig*)
294804007ebaSmrg  version_type=sunos
294905cf1079Smrg  sys_lib_dlsearch_path_spec=/usr/lib
295004007ebaSmrg  need_lib_prefix=no
295105cf1079Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
295205cf1079Smrg    need_version=no
295304007ebaSmrg  else
295405cf1079Smrg    need_version=yes
295504007ebaSmrg  fi
295605cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
295705cf1079Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
295805cf1079Smrg  shlibpath_var=LD_LIBRARY_PATH
295905cf1079Smrg  shlibpath_overrides_runpath=yes
296004007ebaSmrg  ;;
296104007ebaSmrg
296204007ebaSmrgos2*)
296304007ebaSmrg  libname_spec='$name'
296405cf1079Smrg  version_type=windows
296505cf1079Smrg  shrext_cmds=.dll
296605cf1079Smrg  need_version=no
296704007ebaSmrg  need_lib_prefix=no
296805cf1079Smrg  # OS/2 can only load a DLL with a base name of 8 characters or less.
296905cf1079Smrg  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
297005cf1079Smrg    v=$($ECHO $release$versuffix | tr -d .-);
297105cf1079Smrg    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
297205cf1079Smrg    $ECHO $n$v`$shared_ext'
297305cf1079Smrg  library_names_spec='${libname}_dll.$libext'
297404007ebaSmrg  dynamic_linker='OS/2 ld.exe'
297505cf1079Smrg  shlibpath_var=BEGINLIBPATH
297605cf1079Smrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
297705cf1079Smrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
297805cf1079Smrg  postinstall_cmds='base_file=`basename \$file`~
297905cf1079Smrg    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
298005cf1079Smrg    dldir=$destdir/`dirname \$dlpath`~
298105cf1079Smrg    test -d \$dldir || mkdir -p \$dldir~
298205cf1079Smrg    $install_prog $dir/$dlname \$dldir/$dlname~
298305cf1079Smrg    chmod a+x \$dldir/$dlname~
298405cf1079Smrg    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
298505cf1079Smrg      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
298605cf1079Smrg    fi'
298705cf1079Smrg  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
298805cf1079Smrg    dlpath=$dir/\$dldll~
298905cf1079Smrg    $RM \$dlpath'
299004007ebaSmrg  ;;
299104007ebaSmrg
299204007ebaSmrgosf3* | osf4* | osf5*)
299304007ebaSmrg  version_type=osf
299404007ebaSmrg  need_lib_prefix=no
299504007ebaSmrg  need_version=no
299605cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
299705cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
299804007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
299904007ebaSmrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
300005cf1079Smrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
300104007ebaSmrg  ;;
300204007ebaSmrg
300304007ebaSmrgrdos*)
300404007ebaSmrg  dynamic_linker=no
300504007ebaSmrg  ;;
300604007ebaSmrg
300704007ebaSmrgsolaris*)
300804007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
300904007ebaSmrg  need_lib_prefix=no
301004007ebaSmrg  need_version=no
301105cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
301205cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
301304007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
301404007ebaSmrg  shlibpath_overrides_runpath=yes
301504007ebaSmrg  hardcode_into_libs=yes
301604007ebaSmrg  # ldd complains unless libraries are executable
301704007ebaSmrg  postinstall_cmds='chmod +x $lib'
301804007ebaSmrg  ;;
301904007ebaSmrg
302004007ebaSmrgsunos4*)
302104007ebaSmrg  version_type=sunos
302205cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
302304007ebaSmrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
302404007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
302504007ebaSmrg  shlibpath_overrides_runpath=yes
302605cf1079Smrg  if test yes = "$with_gnu_ld"; then
302704007ebaSmrg    need_lib_prefix=no
302804007ebaSmrg  fi
302904007ebaSmrg  need_version=yes
303004007ebaSmrg  ;;
303104007ebaSmrg
303204007ebaSmrgsysv4 | sysv4.3*)
303304007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
303405cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
303505cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
303604007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
303704007ebaSmrg  case $host_vendor in
303804007ebaSmrg    sni)
303904007ebaSmrg      shlibpath_overrides_runpath=no
304004007ebaSmrg      need_lib_prefix=no
304104007ebaSmrg      runpath_var=LD_RUN_PATH
304204007ebaSmrg      ;;
304304007ebaSmrg    siemens)
304404007ebaSmrg      need_lib_prefix=no
304504007ebaSmrg      ;;
304604007ebaSmrg    motorola)
304704007ebaSmrg      need_lib_prefix=no
304804007ebaSmrg      need_version=no
304904007ebaSmrg      shlibpath_overrides_runpath=no
305004007ebaSmrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
305104007ebaSmrg      ;;
305204007ebaSmrg  esac
305304007ebaSmrg  ;;
305404007ebaSmrg
305504007ebaSmrgsysv4*MP*)
305605cf1079Smrg  if test -d /usr/nec; then
305704007ebaSmrg    version_type=linux # correct to gnu/linux during the next big refactor
305805cf1079Smrg    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
305905cf1079Smrg    soname_spec='$libname$shared_ext.$major'
306004007ebaSmrg    shlibpath_var=LD_LIBRARY_PATH
306104007ebaSmrg  fi
306204007ebaSmrg  ;;
306304007ebaSmrg
306404007ebaSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
306505cf1079Smrg  version_type=sco
306604007ebaSmrg  need_lib_prefix=no
306704007ebaSmrg  need_version=no
306805cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
306905cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
307004007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
307104007ebaSmrg  shlibpath_overrides_runpath=yes
307204007ebaSmrg  hardcode_into_libs=yes
307305cf1079Smrg  if test yes = "$with_gnu_ld"; then
307404007ebaSmrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
307504007ebaSmrg  else
307604007ebaSmrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
307704007ebaSmrg    case $host_os in
307804007ebaSmrg      sco3.2v5*)
307904007ebaSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
308004007ebaSmrg	;;
308104007ebaSmrg    esac
308204007ebaSmrg  fi
308304007ebaSmrg  sys_lib_dlsearch_path_spec='/usr/lib'
308404007ebaSmrg  ;;
308504007ebaSmrg
308604007ebaSmrgtpf*)
308704007ebaSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
308804007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
308904007ebaSmrg  need_lib_prefix=no
309004007ebaSmrg  need_version=no
309105cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
309204007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
309304007ebaSmrg  shlibpath_overrides_runpath=no
309404007ebaSmrg  hardcode_into_libs=yes
309504007ebaSmrg  ;;
309604007ebaSmrg
309704007ebaSmrguts4*)
309804007ebaSmrg  version_type=linux # correct to gnu/linux during the next big refactor
309905cf1079Smrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
310005cf1079Smrg  soname_spec='$libname$release$shared_ext$major'
310104007ebaSmrg  shlibpath_var=LD_LIBRARY_PATH
310204007ebaSmrg  ;;
310304007ebaSmrg
310404007ebaSmrg*)
310504007ebaSmrg  dynamic_linker=no
310604007ebaSmrg  ;;
310704007ebaSmrgesac
310804007ebaSmrgAC_MSG_RESULT([$dynamic_linker])
310905cf1079Smrgtest no = "$dynamic_linker" && can_build_shared=no
311004007ebaSmrg
311104007ebaSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
311205cf1079Smrgif test yes = "$GCC"; then
311304007ebaSmrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
311404007ebaSmrgfi
311504007ebaSmrg
311605cf1079Smrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
311705cf1079Smrg  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
311804007ebaSmrgfi
311905cf1079Smrg
312005cf1079Smrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
312105cf1079Smrg  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
312204007ebaSmrgfi
312304007ebaSmrg
312405cf1079Smrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
312505cf1079Smrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
312605cf1079Smrg
312705cf1079Smrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
312805cf1079Smrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
312905cf1079Smrg
313005cf1079Smrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
313105cf1079Smrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
313205cf1079Smrg
313304007ebaSmrg_LT_DECL([], [variables_saved_for_relink], [1],
313404007ebaSmrg    [Variables whose values should be saved in libtool wrapper scripts and
313504007ebaSmrg    restored at link time])
313604007ebaSmrg_LT_DECL([], [need_lib_prefix], [0],
313704007ebaSmrg    [Do we need the "lib" prefix for modules?])
313804007ebaSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
313904007ebaSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
314004007ebaSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
314104007ebaSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
314204007ebaSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
314304007ebaSmrg    [Is shlibpath searched before the hard-coded library search path?])
314404007ebaSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
314504007ebaSmrg_LT_DECL([], [library_names_spec], [1],
314604007ebaSmrg    [[List of archive names.  First name is the real one, the rest are links.
314704007ebaSmrg    The last name is the one that the linker finds with -lNAME]])
314804007ebaSmrg_LT_DECL([], [soname_spec], [1],
314904007ebaSmrg    [[The coded name of the library, if different from the real name]])
315004007ebaSmrg_LT_DECL([], [install_override_mode], [1],
315104007ebaSmrg    [Permission mode override for installation of shared libraries])
315204007ebaSmrg_LT_DECL([], [postinstall_cmds], [2],
315304007ebaSmrg    [Command to use after installation of a shared archive])
315404007ebaSmrg_LT_DECL([], [postuninstall_cmds], [2],
315504007ebaSmrg    [Command to use after uninstallation of a shared archive])
315604007ebaSmrg_LT_DECL([], [finish_cmds], [2],
315704007ebaSmrg    [Commands used to finish a libtool library installation in a directory])
315804007ebaSmrg_LT_DECL([], [finish_eval], [1],
315904007ebaSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
316004007ebaSmrg    not shown]])
316104007ebaSmrg_LT_DECL([], [hardcode_into_libs], [0],
316204007ebaSmrg    [Whether we should hardcode library paths into libraries])
316304007ebaSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
316404007ebaSmrg    [Compile-time system search path for libraries])
316505cf1079Smrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
316605cf1079Smrg    [Detected run-time system search path for libraries])
316705cf1079Smrg_LT_DECL([], [configure_time_lt_sys_library_path], [2],
316805cf1079Smrg    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
316904007ebaSmrg])# _LT_SYS_DYNAMIC_LINKER
317004007ebaSmrg
317104007ebaSmrg
317204007ebaSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
317304007ebaSmrg# --------------------------
317405cf1079Smrg# find a file program that can recognize shared library
317504007ebaSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
317604007ebaSmrg[m4_require([_LT_DECL_EGREP])dnl
317704007ebaSmrgAC_MSG_CHECKING([for $1])
317804007ebaSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
317904007ebaSmrg[case $MAGIC_CMD in
318004007ebaSmrg[[\\/*] |  ?:[\\/]*])
318105cf1079Smrg  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
318204007ebaSmrg  ;;
318304007ebaSmrg*)
318405cf1079Smrg  lt_save_MAGIC_CMD=$MAGIC_CMD
318505cf1079Smrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
318604007ebaSmrgdnl $ac_dummy forces splitting on constant user-supplied paths.
318704007ebaSmrgdnl POSIX.2 word splitting is done only on the output of word expansions,
318804007ebaSmrgdnl not every word.  This closes a longstanding sh security hole.
318904007ebaSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
319004007ebaSmrg  for ac_dir in $ac_dummy; do
319105cf1079Smrg    IFS=$lt_save_ifs
319204007ebaSmrg    test -z "$ac_dir" && ac_dir=.
319305cf1079Smrg    if test -f "$ac_dir/$1"; then
319405cf1079Smrg      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
319504007ebaSmrg      if test -n "$file_magic_test_file"; then
319604007ebaSmrg	case $deplibs_check_method in
319704007ebaSmrg	"file_magic "*)
319804007ebaSmrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
319905cf1079Smrg	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
320004007ebaSmrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
320104007ebaSmrg	    $EGREP "$file_magic_regex" > /dev/null; then
320204007ebaSmrg	    :
320304007ebaSmrg	  else
320404007ebaSmrg	    cat <<_LT_EOF 1>&2
320504007ebaSmrg
320604007ebaSmrg*** Warning: the command libtool uses to detect shared libraries,
320704007ebaSmrg*** $file_magic_cmd, produces output that libtool cannot recognize.
320804007ebaSmrg*** The result is that libtool may fail to recognize shared libraries
320904007ebaSmrg*** as such.  This will affect the creation of libtool libraries that
321004007ebaSmrg*** depend on shared libraries, but programs linked with such libtool
321104007ebaSmrg*** libraries will work regardless of this problem.  Nevertheless, you
321204007ebaSmrg*** may want to report the problem to your system manager and/or to
321304007ebaSmrg*** bug-libtool@gnu.org
321404007ebaSmrg
321504007ebaSmrg_LT_EOF
321604007ebaSmrg	  fi ;;
321704007ebaSmrg	esac
321804007ebaSmrg      fi
321904007ebaSmrg      break
322004007ebaSmrg    fi
322104007ebaSmrg  done
322205cf1079Smrg  IFS=$lt_save_ifs
322305cf1079Smrg  MAGIC_CMD=$lt_save_MAGIC_CMD
322404007ebaSmrg  ;;
322504007ebaSmrgesac])
322605cf1079SmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD
322704007ebaSmrgif test -n "$MAGIC_CMD"; then
322804007ebaSmrg  AC_MSG_RESULT($MAGIC_CMD)
322904007ebaSmrgelse
323004007ebaSmrg  AC_MSG_RESULT(no)
323104007ebaSmrgfi
323204007ebaSmrg_LT_DECL([], [MAGIC_CMD], [0],
323304007ebaSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
323404007ebaSmrg])# _LT_PATH_TOOL_PREFIX
323504007ebaSmrg
323604007ebaSmrg# Old name:
323704007ebaSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
323804007ebaSmrgdnl aclocal-1.4 backwards compatibility:
323904007ebaSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
324004007ebaSmrg
324104007ebaSmrg
324204007ebaSmrg# _LT_PATH_MAGIC
324304007ebaSmrg# --------------
324405cf1079Smrg# find a file program that can recognize a shared library
324504007ebaSmrgm4_defun([_LT_PATH_MAGIC],
324604007ebaSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
324704007ebaSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then
324804007ebaSmrg  if test -n "$ac_tool_prefix"; then
324904007ebaSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
325004007ebaSmrg  else
325104007ebaSmrg    MAGIC_CMD=:
325204007ebaSmrg  fi
325304007ebaSmrgfi
325404007ebaSmrg])# _LT_PATH_MAGIC
325504007ebaSmrg
325604007ebaSmrg
325704007ebaSmrg# LT_PATH_LD
325804007ebaSmrg# ----------
325904007ebaSmrg# find the pathname to the GNU or non-GNU linker
326004007ebaSmrgAC_DEFUN([LT_PATH_LD],
326104007ebaSmrg[AC_REQUIRE([AC_PROG_CC])dnl
326204007ebaSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
326304007ebaSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
326404007ebaSmrgm4_require([_LT_DECL_SED])dnl
326504007ebaSmrgm4_require([_LT_DECL_EGREP])dnl
326604007ebaSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
326704007ebaSmrg
326804007ebaSmrgAC_ARG_WITH([gnu-ld],
326904007ebaSmrg    [AS_HELP_STRING([--with-gnu-ld],
327004007ebaSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
327105cf1079Smrg    [test no = "$withval" || with_gnu_ld=yes],
327204007ebaSmrg    [with_gnu_ld=no])dnl
327304007ebaSmrg
327404007ebaSmrgac_prog=ld
327505cf1079Smrgif test yes = "$GCC"; then
327604007ebaSmrg  # Check if gcc -print-prog-name=ld gives a path.
327704007ebaSmrg  AC_MSG_CHECKING([for ld used by $CC])
327804007ebaSmrg  case $host in
327904007ebaSmrg  *-*-mingw*)
328005cf1079Smrg    # gcc leaves a trailing carriage return, which upsets mingw
328104007ebaSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
328204007ebaSmrg  *)
328304007ebaSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
328404007ebaSmrg  esac
328504007ebaSmrg  case $ac_prog in
328604007ebaSmrg    # Accept absolute paths.
328704007ebaSmrg    [[\\/]]* | ?:[[\\/]]*)
328804007ebaSmrg      re_direlt='/[[^/]][[^/]]*/\.\./'
328904007ebaSmrg      # Canonicalize the pathname of ld
329004007ebaSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
329104007ebaSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
329204007ebaSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
329304007ebaSmrg      done
329405cf1079Smrg      test -z "$LD" && LD=$ac_prog
329504007ebaSmrg      ;;
329604007ebaSmrg  "")
329704007ebaSmrg    # If it fails, then pretend we aren't using GCC.
329804007ebaSmrg    ac_prog=ld
329904007ebaSmrg    ;;
330004007ebaSmrg  *)
330104007ebaSmrg    # If it is relative, then search for the first ld in PATH.
330204007ebaSmrg    with_gnu_ld=unknown
330304007ebaSmrg    ;;
330404007ebaSmrg  esac
330505cf1079Smrgelif test yes = "$with_gnu_ld"; then
330604007ebaSmrg  AC_MSG_CHECKING([for GNU ld])
330704007ebaSmrgelse
330804007ebaSmrg  AC_MSG_CHECKING([for non-GNU ld])
330904007ebaSmrgfi
331004007ebaSmrgAC_CACHE_VAL(lt_cv_path_LD,
331104007ebaSmrg[if test -z "$LD"; then
331205cf1079Smrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
331304007ebaSmrg  for ac_dir in $PATH; do
331405cf1079Smrg    IFS=$lt_save_ifs
331504007ebaSmrg    test -z "$ac_dir" && ac_dir=.
331604007ebaSmrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
331705cf1079Smrg      lt_cv_path_LD=$ac_dir/$ac_prog
331804007ebaSmrg      # Check to see if the program is GNU ld.  I'd rather use --version,
331904007ebaSmrg      # but apparently some variants of GNU ld only accept -v.
332004007ebaSmrg      # Break only if it was the GNU/non-GNU ld that we prefer.
332104007ebaSmrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
332204007ebaSmrg      *GNU* | *'with BFD'*)
332305cf1079Smrg	test no != "$with_gnu_ld" && break
332404007ebaSmrg	;;
332504007ebaSmrg      *)
332605cf1079Smrg	test yes != "$with_gnu_ld" && break
332704007ebaSmrg	;;
332804007ebaSmrg      esac
332904007ebaSmrg    fi
333004007ebaSmrg  done
333105cf1079Smrg  IFS=$lt_save_ifs
333204007ebaSmrgelse
333305cf1079Smrg  lt_cv_path_LD=$LD # Let the user override the test with a path.
333404007ebaSmrgfi])
333505cf1079SmrgLD=$lt_cv_path_LD
333604007ebaSmrgif test -n "$LD"; then
333704007ebaSmrg  AC_MSG_RESULT($LD)
333804007ebaSmrgelse
333904007ebaSmrg  AC_MSG_RESULT(no)
334004007ebaSmrgfi
334104007ebaSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
334204007ebaSmrg_LT_PATH_LD_GNU
334304007ebaSmrgAC_SUBST([LD])
334404007ebaSmrg
334504007ebaSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
334604007ebaSmrg])# LT_PATH_LD
334704007ebaSmrg
334804007ebaSmrg# Old names:
334904007ebaSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
335004007ebaSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
335104007ebaSmrgdnl aclocal-1.4 backwards compatibility:
335204007ebaSmrgdnl AC_DEFUN([AM_PROG_LD], [])
335304007ebaSmrgdnl AC_DEFUN([AC_PROG_LD], [])
335404007ebaSmrg
335504007ebaSmrg
335604007ebaSmrg# _LT_PATH_LD_GNU
335704007ebaSmrg#- --------------
335804007ebaSmrgm4_defun([_LT_PATH_LD_GNU],
335904007ebaSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
336004007ebaSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
336104007ebaSmrgcase `$LD -v 2>&1 </dev/null` in
336204007ebaSmrg*GNU* | *'with BFD'*)
336304007ebaSmrg  lt_cv_prog_gnu_ld=yes
336404007ebaSmrg  ;;
336504007ebaSmrg*)
336604007ebaSmrg  lt_cv_prog_gnu_ld=no
336704007ebaSmrg  ;;
336804007ebaSmrgesac])
336904007ebaSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
337004007ebaSmrg])# _LT_PATH_LD_GNU
337104007ebaSmrg
337204007ebaSmrg
337304007ebaSmrg# _LT_CMD_RELOAD
337404007ebaSmrg# --------------
337504007ebaSmrg# find reload flag for linker
337604007ebaSmrg#   -- PORTME Some linkers may need a different reload flag.
337704007ebaSmrgm4_defun([_LT_CMD_RELOAD],
337804007ebaSmrg[AC_CACHE_CHECK([for $LD option to reload object files],
337904007ebaSmrg  lt_cv_ld_reload_flag,
338004007ebaSmrg  [lt_cv_ld_reload_flag='-r'])
338104007ebaSmrgreload_flag=$lt_cv_ld_reload_flag
338204007ebaSmrgcase $reload_flag in
338304007ebaSmrg"" | " "*) ;;
338404007ebaSmrg*) reload_flag=" $reload_flag" ;;
338504007ebaSmrgesac
338604007ebaSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
338704007ebaSmrgcase $host_os in
338804007ebaSmrg  cygwin* | mingw* | pw32* | cegcc*)
338905cf1079Smrg    if test yes != "$GCC"; then
339004007ebaSmrg      reload_cmds=false
339104007ebaSmrg    fi
339204007ebaSmrg    ;;
339304007ebaSmrg  darwin*)
339405cf1079Smrg    if test yes = "$GCC"; then
339505cf1079Smrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
339604007ebaSmrg    else
339704007ebaSmrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
339804007ebaSmrg    fi
339904007ebaSmrg    ;;
340004007ebaSmrgesac
340104007ebaSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
340204007ebaSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl
340304007ebaSmrg])# _LT_CMD_RELOAD
340404007ebaSmrg
340504007ebaSmrg
340605cf1079Smrg# _LT_PATH_DD
340705cf1079Smrg# -----------
340805cf1079Smrg# find a working dd
340905cf1079Smrgm4_defun([_LT_PATH_DD],
341005cf1079Smrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
341105cf1079Smrg[printf 0123456789abcdef0123456789abcdef >conftest.i
341205cf1079Smrgcat conftest.i conftest.i >conftest2.i
341305cf1079Smrg: ${lt_DD:=$DD}
341405cf1079SmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
341505cf1079Smrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
341605cf1079Smrg  cmp -s conftest.i conftest.out \
341705cf1079Smrg  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
341805cf1079Smrgfi])
341905cf1079Smrgrm -f conftest.i conftest2.i conftest.out])
342005cf1079Smrg])# _LT_PATH_DD
342105cf1079Smrg
342205cf1079Smrg
342305cf1079Smrg# _LT_CMD_TRUNCATE
342405cf1079Smrg# ----------------
342505cf1079Smrg# find command to truncate a binary pipe
342605cf1079Smrgm4_defun([_LT_CMD_TRUNCATE],
342705cf1079Smrg[m4_require([_LT_PATH_DD])
342805cf1079SmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
342905cf1079Smrg[printf 0123456789abcdef0123456789abcdef >conftest.i
343005cf1079Smrgcat conftest.i conftest.i >conftest2.i
343105cf1079Smrglt_cv_truncate_bin=
343205cf1079Smrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
343305cf1079Smrg  cmp -s conftest.i conftest.out \
343405cf1079Smrg  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
343505cf1079Smrgfi
343605cf1079Smrgrm -f conftest.i conftest2.i conftest.out
343705cf1079Smrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
343805cf1079Smrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
343905cf1079Smrg  [Command to truncate a binary pipe])
344005cf1079Smrg])# _LT_CMD_TRUNCATE
344105cf1079Smrg
344205cf1079Smrg
344304007ebaSmrg# _LT_CHECK_MAGIC_METHOD
344404007ebaSmrg# ----------------------
344504007ebaSmrg# how to check for library dependencies
344604007ebaSmrg#  -- PORTME fill in with the dynamic library characteristics
344704007ebaSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
344804007ebaSmrg[m4_require([_LT_DECL_EGREP])
344904007ebaSmrgm4_require([_LT_DECL_OBJDUMP])
345004007ebaSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
345104007ebaSmrglt_cv_deplibs_check_method,
345204007ebaSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
345304007ebaSmrglt_cv_file_magic_test_file=
345404007ebaSmrglt_cv_deplibs_check_method='unknown'
345504007ebaSmrg# Need to set the preceding variable on all platforms that support
345604007ebaSmrg# interlibrary dependencies.
345704007ebaSmrg# 'none' -- dependencies not supported.
345805cf1079Smrg# 'unknown' -- same as none, but documents that we really don't know.
345904007ebaSmrg# 'pass_all' -- all dependencies passed with no checks.
346004007ebaSmrg# 'test_compile' -- check by making test program.
346104007ebaSmrg# 'file_magic [[regex]]' -- check by looking for files in library path
346205cf1079Smrg# that responds to the $file_magic_cmd with a given extended regex.
346305cf1079Smrg# If you have 'file' or equivalent on your system and you're not sure
346405cf1079Smrg# whether 'pass_all' will *always* work, you probably want this one.
346504007ebaSmrg
346604007ebaSmrgcase $host_os in
346704007ebaSmrgaix[[4-9]]*)
346804007ebaSmrg  lt_cv_deplibs_check_method=pass_all
346904007ebaSmrg  ;;
347004007ebaSmrg
347104007ebaSmrgbeos*)
347204007ebaSmrg  lt_cv_deplibs_check_method=pass_all
347304007ebaSmrg  ;;
347404007ebaSmrg
347504007ebaSmrgbsdi[[45]]*)
347604007ebaSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
347779d5fcd7Smrg  lt_cv_file_magic_cmd='$FILECMD -L'
347804007ebaSmrg  lt_cv_file_magic_test_file=/shlib/libc.so
347904007ebaSmrg  ;;
348004007ebaSmrg
348104007ebaSmrgcygwin*)
348204007ebaSmrg  # func_win32_libid is a shell function defined in ltmain.sh
348304007ebaSmrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
348404007ebaSmrg  lt_cv_file_magic_cmd='func_win32_libid'
348504007ebaSmrg  ;;
348604007ebaSmrg
348704007ebaSmrgmingw* | pw32*)
348804007ebaSmrg  # Base MSYS/MinGW do not provide the 'file' command needed by
348904007ebaSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
349004007ebaSmrg  # unless we find 'file', for example because we are cross-compiling.
349105cf1079Smrg  if ( file / ) >/dev/null 2>&1; then
349204007ebaSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
349304007ebaSmrg    lt_cv_file_magic_cmd='func_win32_libid'
349404007ebaSmrg  else
349504007ebaSmrg    # Keep this pattern in sync with the one in func_win32_libid.
349604007ebaSmrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
349704007ebaSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
349804007ebaSmrg  fi
349904007ebaSmrg  ;;
350004007ebaSmrg
350104007ebaSmrgcegcc*)
350204007ebaSmrg  # use the weaker test based on 'objdump'. See mingw*.
350304007ebaSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
350404007ebaSmrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
350504007ebaSmrg  ;;
350604007ebaSmrg
350704007ebaSmrgdarwin* | rhapsody*)
350804007ebaSmrg  lt_cv_deplibs_check_method=pass_all
350904007ebaSmrg  ;;
351004007ebaSmrg
351179d5fcd7Smrgfreebsd* | dragonfly* | midnightbsd*)
351204007ebaSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
351304007ebaSmrg    case $host_cpu in
351404007ebaSmrg    i*86 )
351504007ebaSmrg      # Not sure whether the presence of OpenBSD here was a mistake.
351604007ebaSmrg      # Let's accept both of them until this is cleared up.
351704007ebaSmrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
351879d5fcd7Smrg      lt_cv_file_magic_cmd=$FILECMD
351904007ebaSmrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
352004007ebaSmrg      ;;
352104007ebaSmrg    esac
352204007ebaSmrg  else
352304007ebaSmrg    lt_cv_deplibs_check_method=pass_all
352404007ebaSmrg  fi
352504007ebaSmrg  ;;
352604007ebaSmrg
352704007ebaSmrghaiku*)
352804007ebaSmrg  lt_cv_deplibs_check_method=pass_all
352904007ebaSmrg  ;;
353004007ebaSmrg
353104007ebaSmrghpux10.20* | hpux11*)
353279d5fcd7Smrg  lt_cv_file_magic_cmd=$FILECMD
353304007ebaSmrg  case $host_cpu in
353404007ebaSmrg  ia64*)
353504007ebaSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
353604007ebaSmrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
353704007ebaSmrg    ;;
353804007ebaSmrg  hppa*64*)
353904007ebaSmrg    [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]']
354004007ebaSmrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
354104007ebaSmrg    ;;
354204007ebaSmrg  *)
354304007ebaSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
354404007ebaSmrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
354504007ebaSmrg    ;;
354604007ebaSmrg  esac
354704007ebaSmrg  ;;
354804007ebaSmrg
354904007ebaSmrginterix[[3-9]]*)
355004007ebaSmrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
355104007ebaSmrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
355204007ebaSmrg  ;;
355304007ebaSmrg
355404007ebaSmrgirix5* | irix6* | nonstopux*)
355504007ebaSmrg  case $LD in
355604007ebaSmrg  *-32|*"-32 ") libmagic=32-bit;;
355704007ebaSmrg  *-n32|*"-n32 ") libmagic=N32;;
355804007ebaSmrg  *-64|*"-64 ") libmagic=64-bit;;
355904007ebaSmrg  *) libmagic=never-match;;
356004007ebaSmrg  esac
356104007ebaSmrg  lt_cv_deplibs_check_method=pass_all
356204007ebaSmrg  ;;
356304007ebaSmrg
356404007ebaSmrg# This must be glibc/ELF.
356504007ebaSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
356604007ebaSmrg  lt_cv_deplibs_check_method=pass_all
356704007ebaSmrg  ;;
356804007ebaSmrg
356979d5fcd7Smrgnetbsd*)
357004007ebaSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
357104007ebaSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
357204007ebaSmrg  else
357304007ebaSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
357404007ebaSmrg  fi
357504007ebaSmrg  ;;
357604007ebaSmrg
357704007ebaSmrgnewos6*)
357804007ebaSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
357979d5fcd7Smrg  lt_cv_file_magic_cmd=$FILECMD
358004007ebaSmrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
358104007ebaSmrg  ;;
358204007ebaSmrg
358304007ebaSmrg*nto* | *qnx*)
358404007ebaSmrg  lt_cv_deplibs_check_method=pass_all
358504007ebaSmrg  ;;
358604007ebaSmrg
358705cf1079Smrgopenbsd* | bitrig*)
358805cf1079Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
358904007ebaSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
359004007ebaSmrg  else
359104007ebaSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
359204007ebaSmrg  fi
359304007ebaSmrg  ;;
359404007ebaSmrg
359504007ebaSmrgosf3* | osf4* | osf5*)
359604007ebaSmrg  lt_cv_deplibs_check_method=pass_all
359704007ebaSmrg  ;;
359804007ebaSmrg
359904007ebaSmrgrdos*)
360004007ebaSmrg  lt_cv_deplibs_check_method=pass_all
360104007ebaSmrg  ;;
360204007ebaSmrg
360304007ebaSmrgsolaris*)
360404007ebaSmrg  lt_cv_deplibs_check_method=pass_all
360504007ebaSmrg  ;;
360604007ebaSmrg
360704007ebaSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
360804007ebaSmrg  lt_cv_deplibs_check_method=pass_all
360904007ebaSmrg  ;;
361004007ebaSmrg
361104007ebaSmrgsysv4 | sysv4.3*)
361204007ebaSmrg  case $host_vendor in
361304007ebaSmrg  motorola)
361404007ebaSmrg    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]]'
361504007ebaSmrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
361604007ebaSmrg    ;;
361704007ebaSmrg  ncr)
361804007ebaSmrg    lt_cv_deplibs_check_method=pass_all
361904007ebaSmrg    ;;
362004007ebaSmrg  sequent)
362104007ebaSmrg    lt_cv_file_magic_cmd='/bin/file'
362204007ebaSmrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
362304007ebaSmrg    ;;
362404007ebaSmrg  sni)
362504007ebaSmrg    lt_cv_file_magic_cmd='/bin/file'
362604007ebaSmrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
362704007ebaSmrg    lt_cv_file_magic_test_file=/lib/libc.so
362804007ebaSmrg    ;;
362904007ebaSmrg  siemens)
363004007ebaSmrg    lt_cv_deplibs_check_method=pass_all
363104007ebaSmrg    ;;
363204007ebaSmrg  pc)
363304007ebaSmrg    lt_cv_deplibs_check_method=pass_all
363404007ebaSmrg    ;;
363504007ebaSmrg  esac
363604007ebaSmrg  ;;
363704007ebaSmrg
363804007ebaSmrgtpf*)
363904007ebaSmrg  lt_cv_deplibs_check_method=pass_all
364004007ebaSmrg  ;;
364105cf1079Smrgos2*)
364205cf1079Smrg  lt_cv_deplibs_check_method=pass_all
364305cf1079Smrg  ;;
364404007ebaSmrgesac
364504007ebaSmrg])
364604007ebaSmrg
364704007ebaSmrgfile_magic_glob=
364804007ebaSmrgwant_nocaseglob=no
364904007ebaSmrgif test "$build" = "$host"; then
365004007ebaSmrg  case $host_os in
365104007ebaSmrg  mingw* | pw32*)
365204007ebaSmrg    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
365304007ebaSmrg      want_nocaseglob=yes
365404007ebaSmrg    else
365504007ebaSmrg      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
365604007ebaSmrg    fi
365704007ebaSmrg    ;;
365804007ebaSmrg  esac
365904007ebaSmrgfi
366004007ebaSmrg
366104007ebaSmrgfile_magic_cmd=$lt_cv_file_magic_cmd
366204007ebaSmrgdeplibs_check_method=$lt_cv_deplibs_check_method
366304007ebaSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
366404007ebaSmrg
366504007ebaSmrg_LT_DECL([], [deplibs_check_method], [1],
366604007ebaSmrg    [Method to check whether dependent libraries are shared objects])
366704007ebaSmrg_LT_DECL([], [file_magic_cmd], [1],
366804007ebaSmrg    [Command to use when deplibs_check_method = "file_magic"])
366904007ebaSmrg_LT_DECL([], [file_magic_glob], [1],
367004007ebaSmrg    [How to find potential files when deplibs_check_method = "file_magic"])
367104007ebaSmrg_LT_DECL([], [want_nocaseglob], [1],
367204007ebaSmrg    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
367304007ebaSmrg])# _LT_CHECK_MAGIC_METHOD
367404007ebaSmrg
367504007ebaSmrg
367604007ebaSmrg# LT_PATH_NM
367704007ebaSmrg# ----------
367804007ebaSmrg# find the pathname to a BSD- or MS-compatible name lister
367904007ebaSmrgAC_DEFUN([LT_PATH_NM],
368004007ebaSmrg[AC_REQUIRE([AC_PROG_CC])dnl
368104007ebaSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
368204007ebaSmrg[if test -n "$NM"; then
368304007ebaSmrg  # Let the user override the test.
368405cf1079Smrg  lt_cv_path_NM=$NM
368504007ebaSmrgelse
368605cf1079Smrg  lt_nm_to_check=${ac_tool_prefix}nm
368704007ebaSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
368804007ebaSmrg    lt_nm_to_check="$lt_nm_to_check nm"
368904007ebaSmrg  fi
369004007ebaSmrg  for lt_tmp_nm in $lt_nm_to_check; do
369105cf1079Smrg    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
369204007ebaSmrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
369305cf1079Smrg      IFS=$lt_save_ifs
369404007ebaSmrg      test -z "$ac_dir" && ac_dir=.
369505cf1079Smrg      tmp_nm=$ac_dir/$lt_tmp_nm
369605cf1079Smrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
369704007ebaSmrg	# Check to see if the nm accepts a BSD-compat flag.
369805cf1079Smrg	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
369904007ebaSmrg	#   nm: unknown option "B" ignored
370004007ebaSmrg	# Tru64's nm complains that /dev/null is an invalid object file
370105cf1079Smrg	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
370205cf1079Smrg	case $build_os in
370305cf1079Smrg	mingw*) lt_bad_file=conftest.nm/nofile ;;
370405cf1079Smrg	*) lt_bad_file=/dev/null ;;
370505cf1079Smrg	esac
370679d5fcd7Smrg	case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
370705cf1079Smrg	*$lt_bad_file* | *'Invalid file or object type'*)
370804007ebaSmrg	  lt_cv_path_NM="$tmp_nm -B"
370905cf1079Smrg	  break 2
371004007ebaSmrg	  ;;
371104007ebaSmrg	*)
371279d5fcd7Smrg	  case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
371304007ebaSmrg	  */dev/null*)
371404007ebaSmrg	    lt_cv_path_NM="$tmp_nm -p"
371505cf1079Smrg	    break 2
371604007ebaSmrg	    ;;
371704007ebaSmrg	  *)
371804007ebaSmrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
371904007ebaSmrg	    continue # so that we can try to find one that supports BSD flags
372004007ebaSmrg	    ;;
372104007ebaSmrg	  esac
372204007ebaSmrg	  ;;
372304007ebaSmrg	esac
372404007ebaSmrg      fi
372504007ebaSmrg    done
372605cf1079Smrg    IFS=$lt_save_ifs
372704007ebaSmrg  done
372804007ebaSmrg  : ${lt_cv_path_NM=no}
372904007ebaSmrgfi])
373005cf1079Smrgif test no != "$lt_cv_path_NM"; then
373105cf1079Smrg  NM=$lt_cv_path_NM
373204007ebaSmrgelse
373304007ebaSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
373404007ebaSmrg  if test -n "$DUMPBIN"; then :
373504007ebaSmrg    # Let the user override the test.
373604007ebaSmrg  else
373704007ebaSmrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
373879d5fcd7Smrg    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
373904007ebaSmrg    *COFF*)
374005cf1079Smrg      DUMPBIN="$DUMPBIN -symbols -headers"
374104007ebaSmrg      ;;
374204007ebaSmrg    *)
374304007ebaSmrg      DUMPBIN=:
374404007ebaSmrg      ;;
374504007ebaSmrg    esac
374604007ebaSmrg  fi
374704007ebaSmrg  AC_SUBST([DUMPBIN])
374805cf1079Smrg  if test : != "$DUMPBIN"; then
374905cf1079Smrg    NM=$DUMPBIN
375004007ebaSmrg  fi
375104007ebaSmrgfi
375204007ebaSmrgtest -z "$NM" && NM=nm
375304007ebaSmrgAC_SUBST([NM])
375404007ebaSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
375504007ebaSmrg
375604007ebaSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
375704007ebaSmrg  [lt_cv_nm_interface="BSD nm"
375804007ebaSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
375904007ebaSmrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
376004007ebaSmrg  (eval "$ac_compile" 2>conftest.err)
376104007ebaSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
376204007ebaSmrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
376304007ebaSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
376404007ebaSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
376504007ebaSmrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
376604007ebaSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
376704007ebaSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
376804007ebaSmrg    lt_cv_nm_interface="MS dumpbin"
376904007ebaSmrg  fi
377004007ebaSmrg  rm -f conftest*])
377104007ebaSmrg])# LT_PATH_NM
377204007ebaSmrg
377304007ebaSmrg# Old names:
377404007ebaSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
377504007ebaSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
377604007ebaSmrgdnl aclocal-1.4 backwards compatibility:
377704007ebaSmrgdnl AC_DEFUN([AM_PROG_NM], [])
377804007ebaSmrgdnl AC_DEFUN([AC_PROG_NM], [])
377904007ebaSmrg
378004007ebaSmrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
378104007ebaSmrg# --------------------------------
378204007ebaSmrg# how to determine the name of the shared library
378304007ebaSmrg# associated with a specific link library.
378404007ebaSmrg#  -- PORTME fill in with the dynamic library characteristics
378504007ebaSmrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
378604007ebaSmrg[m4_require([_LT_DECL_EGREP])
378704007ebaSmrgm4_require([_LT_DECL_OBJDUMP])
378804007ebaSmrgm4_require([_LT_DECL_DLLTOOL])
378904007ebaSmrgAC_CACHE_CHECK([how to associate runtime and link libraries],
379004007ebaSmrglt_cv_sharedlib_from_linklib_cmd,
379104007ebaSmrg[lt_cv_sharedlib_from_linklib_cmd='unknown'
379204007ebaSmrg
379304007ebaSmrgcase $host_os in
379404007ebaSmrgcygwin* | mingw* | pw32* | cegcc*)
379505cf1079Smrg  # two different shell functions defined in ltmain.sh;
379605cf1079Smrg  # decide which one to use based on capabilities of $DLLTOOL
379704007ebaSmrg  case `$DLLTOOL --help 2>&1` in
379804007ebaSmrg  *--identify-strict*)
379904007ebaSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
380004007ebaSmrg    ;;
380104007ebaSmrg  *)
380204007ebaSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
380304007ebaSmrg    ;;
380404007ebaSmrg  esac
380504007ebaSmrg  ;;
380604007ebaSmrg*)
380704007ebaSmrg  # fallback: assume linklib IS sharedlib
380805cf1079Smrg  lt_cv_sharedlib_from_linklib_cmd=$ECHO
380904007ebaSmrg  ;;
381004007ebaSmrgesac
381104007ebaSmrg])
381204007ebaSmrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
381304007ebaSmrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
381404007ebaSmrg
381504007ebaSmrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
381604007ebaSmrg    [Command to associate shared and link libraries])
381704007ebaSmrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
381804007ebaSmrg
381904007ebaSmrg
382004007ebaSmrg# _LT_PATH_MANIFEST_TOOL
382104007ebaSmrg# ----------------------
382204007ebaSmrg# locate the manifest tool
382304007ebaSmrgm4_defun([_LT_PATH_MANIFEST_TOOL],
382404007ebaSmrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
382504007ebaSmrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
382604007ebaSmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
382704007ebaSmrg  [lt_cv_path_mainfest_tool=no
382804007ebaSmrg  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
382904007ebaSmrg  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
383004007ebaSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
383104007ebaSmrg  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
383204007ebaSmrg    lt_cv_path_mainfest_tool=yes
383304007ebaSmrg  fi
383404007ebaSmrg  rm -f conftest*])
383505cf1079Smrgif test yes != "$lt_cv_path_mainfest_tool"; then
383604007ebaSmrg  MANIFEST_TOOL=:
383704007ebaSmrgfi
383804007ebaSmrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
383904007ebaSmrg])# _LT_PATH_MANIFEST_TOOL
384004007ebaSmrg
384104007ebaSmrg
384205cf1079Smrg# _LT_DLL_DEF_P([FILE])
384305cf1079Smrg# ---------------------
384405cf1079Smrg# True iff FILE is a Windows DLL '.def' file.
384505cf1079Smrg# Keep in sync with func_dll_def_p in the libtool script
384605cf1079SmrgAC_DEFUN([_LT_DLL_DEF_P],
384705cf1079Smrg[dnl
384805cf1079Smrg  test DEF = "`$SED -n dnl
384905cf1079Smrg    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
385005cf1079Smrg    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
385105cf1079Smrg    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
385205cf1079Smrg    -e q dnl                          Only consider the first "real" line
385305cf1079Smrg    $1`" dnl
385405cf1079Smrg])# _LT_DLL_DEF_P
385505cf1079Smrg
385605cf1079Smrg
385704007ebaSmrg# LT_LIB_M
385804007ebaSmrg# --------
385904007ebaSmrg# check for math library
386004007ebaSmrgAC_DEFUN([LT_LIB_M],
386104007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
386204007ebaSmrgLIBM=
386304007ebaSmrgcase $host in
386404007ebaSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
386504007ebaSmrg  # These system don't have libm, or don't need it
386604007ebaSmrg  ;;
386704007ebaSmrg*-ncr-sysv4.3*)
386805cf1079Smrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
386904007ebaSmrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
387004007ebaSmrg  ;;
387104007ebaSmrg*)
387205cf1079Smrg  AC_CHECK_LIB(m, cos, LIBM=-lm)
387304007ebaSmrg  ;;
387404007ebaSmrgesac
387504007ebaSmrgAC_SUBST([LIBM])
387604007ebaSmrg])# LT_LIB_M
387704007ebaSmrg
387804007ebaSmrg# Old name:
387904007ebaSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
388004007ebaSmrgdnl aclocal-1.4 backwards compatibility:
388104007ebaSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
388204007ebaSmrg
388304007ebaSmrg
388404007ebaSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
388504007ebaSmrg# -------------------------------
388604007ebaSmrgm4_defun([_LT_COMPILER_NO_RTTI],
388704007ebaSmrg[m4_require([_LT_TAG_COMPILER])dnl
388804007ebaSmrg
388904007ebaSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
389004007ebaSmrg
389105cf1079Smrgif test yes = "$GCC"; then
389204007ebaSmrg  case $cc_basename in
389304007ebaSmrg  nvcc*)
389404007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
389504007ebaSmrg  *)
389604007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
389704007ebaSmrg  esac
389804007ebaSmrg
389904007ebaSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
390004007ebaSmrg    lt_cv_prog_compiler_rtti_exceptions,
390104007ebaSmrg    [-fno-rtti -fno-exceptions], [],
390204007ebaSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
390304007ebaSmrgfi
390404007ebaSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
390504007ebaSmrg	[Compiler flag to turn off builtin functions])
390604007ebaSmrg])# _LT_COMPILER_NO_RTTI
390704007ebaSmrg
390804007ebaSmrg
390904007ebaSmrg# _LT_CMD_GLOBAL_SYMBOLS
391004007ebaSmrg# ----------------------
391104007ebaSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
391204007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
391304007ebaSmrgAC_REQUIRE([AC_PROG_CC])dnl
391404007ebaSmrgAC_REQUIRE([AC_PROG_AWK])dnl
391504007ebaSmrgAC_REQUIRE([LT_PATH_NM])dnl
391604007ebaSmrgAC_REQUIRE([LT_PATH_LD])dnl
391704007ebaSmrgm4_require([_LT_DECL_SED])dnl
391804007ebaSmrgm4_require([_LT_DECL_EGREP])dnl
391904007ebaSmrgm4_require([_LT_TAG_COMPILER])dnl
392004007ebaSmrg
392104007ebaSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
392204007ebaSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
392304007ebaSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
392404007ebaSmrg[
392504007ebaSmrg# These are sane defaults that work on at least a few old systems.
392604007ebaSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
392704007ebaSmrg
392804007ebaSmrg# Character class describing NM global symbol codes.
392904007ebaSmrgsymcode='[[BCDEGRST]]'
393004007ebaSmrg
393104007ebaSmrg# Regexp to match symbols that can be accessed directly from C.
393204007ebaSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
393304007ebaSmrg
393404007ebaSmrg# Define system-specific variables.
393504007ebaSmrgcase $host_os in
393604007ebaSmrgaix*)
393704007ebaSmrg  symcode='[[BCDT]]'
393804007ebaSmrg  ;;
393904007ebaSmrgcygwin* | mingw* | pw32* | cegcc*)
394004007ebaSmrg  symcode='[[ABCDGISTW]]'
394104007ebaSmrg  ;;
394204007ebaSmrghpux*)
394305cf1079Smrg  if test ia64 = "$host_cpu"; then
394404007ebaSmrg    symcode='[[ABCDEGRST]]'
394504007ebaSmrg  fi
394604007ebaSmrg  ;;
394704007ebaSmrgirix* | nonstopux*)
394804007ebaSmrg  symcode='[[BCDEGRST]]'
394904007ebaSmrg  ;;
395004007ebaSmrgosf*)
395104007ebaSmrg  symcode='[[BCDEGQRST]]'
395204007ebaSmrg  ;;
395304007ebaSmrgsolaris*)
395404007ebaSmrg  symcode='[[BDRT]]'
395504007ebaSmrg  ;;
395604007ebaSmrgsco3.2v5*)
395704007ebaSmrg  symcode='[[DT]]'
395804007ebaSmrg  ;;
395904007ebaSmrgsysv4.2uw2*)
396004007ebaSmrg  symcode='[[DT]]'
396104007ebaSmrg  ;;
396204007ebaSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
396304007ebaSmrg  symcode='[[ABDT]]'
396404007ebaSmrg  ;;
396504007ebaSmrgsysv4)
396604007ebaSmrg  symcode='[[DFNSTU]]'
396704007ebaSmrg  ;;
396804007ebaSmrgesac
396904007ebaSmrg
397004007ebaSmrg# If we're using GNU nm, then use its standard symbol codes.
397104007ebaSmrgcase `$NM -V 2>&1` in
397204007ebaSmrg*GNU* | *'with BFD'*)
397304007ebaSmrg  symcode='[[ABCDGIRSTW]]' ;;
397404007ebaSmrgesac
397504007ebaSmrg
397605cf1079Smrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
397705cf1079Smrg  # Gets list of data symbols to import.
397879d5fcd7Smrg  lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
397905cf1079Smrg  # Adjust the below global symbol transforms to fixup imported variables.
398005cf1079Smrg  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
398105cf1079Smrg  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
398205cf1079Smrg  lt_c_name_lib_hook="\
398305cf1079Smrg  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
398405cf1079Smrg  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
398505cf1079Smrgelse
398605cf1079Smrg  # Disable hooks by default.
398705cf1079Smrg  lt_cv_sys_global_symbol_to_import=
398805cf1079Smrg  lt_cdecl_hook=
398905cf1079Smrg  lt_c_name_hook=
399005cf1079Smrg  lt_c_name_lib_hook=
399105cf1079Smrgfi
399205cf1079Smrg
399304007ebaSmrg# Transform an extracted symbol line into a proper C declaration.
399404007ebaSmrg# Some systems (esp. on ia64) link data and code symbols differently,
399504007ebaSmrg# so use this general approach.
399679d5fcd7Smrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\
399705cf1079Smrg$lt_cdecl_hook\
399805cf1079Smrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
399905cf1079Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
400004007ebaSmrg
400104007ebaSmrg# Transform an extracted symbol line into symbol name and symbol address
400279d5fcd7Smrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
400305cf1079Smrg$lt_c_name_hook\
400405cf1079Smrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
400505cf1079Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
400605cf1079Smrg
400705cf1079Smrg# Transform an extracted symbol line into symbol name with lib prefix and
400805cf1079Smrg# symbol address.
400979d5fcd7Smrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
401005cf1079Smrg$lt_c_name_lib_hook\
401105cf1079Smrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
401205cf1079Smrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
401305cf1079Smrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
401404007ebaSmrg
401504007ebaSmrg# Handle CRLF in mingw tool chain
401604007ebaSmrgopt_cr=
401704007ebaSmrgcase $build_os in
401804007ebaSmrgmingw*)
401904007ebaSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
402004007ebaSmrg  ;;
402104007ebaSmrgesac
402204007ebaSmrg
402304007ebaSmrg# Try without a prefix underscore, then with it.
402404007ebaSmrgfor ac_symprfx in "" "_"; do
402504007ebaSmrg
402604007ebaSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
402704007ebaSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
402804007ebaSmrg
402904007ebaSmrg  # Write the raw and C identifiers.
403004007ebaSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
403105cf1079Smrg    # Fake it for dumpbin and say T for any non-static function,
403205cf1079Smrg    # D for any global variable and I for any imported variable.
403379d5fcd7Smrg    # Also find C++ and __fastcall symbols from MSVC++ or ICC,
403404007ebaSmrg    # which start with @ or ?.
403504007ebaSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
403604007ebaSmrg"     {last_section=section; section=\$ 3};"\
403704007ebaSmrg"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
403804007ebaSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
403905cf1079Smrg"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
404005cf1079Smrg"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
404105cf1079Smrg"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
404204007ebaSmrg"     \$ 0!~/External *\|/{next};"\
404304007ebaSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
404404007ebaSmrg"     {if(hide[section]) next};"\
404505cf1079Smrg"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
404605cf1079Smrg"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
404705cf1079Smrg"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
404805cf1079Smrg"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
404904007ebaSmrg"     ' prfx=^$ac_symprfx]"
405004007ebaSmrg  else
405179d5fcd7Smrg    lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
405204007ebaSmrg  fi
405379d5fcd7Smrg  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
405404007ebaSmrg
405504007ebaSmrg  # Check to see that the pipe works correctly.
405604007ebaSmrg  pipe_works=no
405704007ebaSmrg
405804007ebaSmrg  rm -f conftest*
405904007ebaSmrg  cat > conftest.$ac_ext <<_LT_EOF
406004007ebaSmrg#ifdef __cplusplus
406104007ebaSmrgextern "C" {
406204007ebaSmrg#endif
406304007ebaSmrgchar nm_test_var;
406404007ebaSmrgvoid nm_test_func(void);
406504007ebaSmrgvoid nm_test_func(void){}
406604007ebaSmrg#ifdef __cplusplus
406704007ebaSmrg}
406804007ebaSmrg#endif
406904007ebaSmrgint main(){nm_test_var='a';nm_test_func();return(0);}
407004007ebaSmrg_LT_EOF
407104007ebaSmrg
407204007ebaSmrg  if AC_TRY_EVAL(ac_compile); then
407304007ebaSmrg    # Now try to grab the symbols.
407404007ebaSmrg    nlist=conftest.nm
407579d5fcd7Smrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
407604007ebaSmrg      # Try sorting and uniquifying the output.
407704007ebaSmrg      if sort "$nlist" | uniq > "$nlist"T; then
407804007ebaSmrg	mv -f "$nlist"T "$nlist"
407904007ebaSmrg      else
408004007ebaSmrg	rm -f "$nlist"T
408104007ebaSmrg      fi
408204007ebaSmrg
408304007ebaSmrg      # Make sure that we snagged all the symbols we need.
408404007ebaSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
408504007ebaSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
408604007ebaSmrg	  cat <<_LT_EOF > conftest.$ac_ext
408704007ebaSmrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
408805cf1079Smrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
408905cf1079Smrg/* DATA imports from DLLs on WIN32 can't be const, because runtime
409004007ebaSmrg   relocations are performed -- see ld's documentation on pseudo-relocs.  */
409104007ebaSmrg# define LT@&t@_DLSYM_CONST
409205cf1079Smrg#elif defined __osf__
409304007ebaSmrg/* This system does not cope well with relocations in const data.  */
409404007ebaSmrg# define LT@&t@_DLSYM_CONST
409504007ebaSmrg#else
409604007ebaSmrg# define LT@&t@_DLSYM_CONST const
409704007ebaSmrg#endif
409804007ebaSmrg
409904007ebaSmrg#ifdef __cplusplus
410004007ebaSmrgextern "C" {
410104007ebaSmrg#endif
410204007ebaSmrg
410304007ebaSmrg_LT_EOF
410404007ebaSmrg	  # Now generate the symbol file.
410504007ebaSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
410604007ebaSmrg
410704007ebaSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
410804007ebaSmrg
410904007ebaSmrg/* The mapping between symbol names and symbols.  */
411004007ebaSmrgLT@&t@_DLSYM_CONST struct {
411104007ebaSmrg  const char *name;
411204007ebaSmrg  void       *address;
411304007ebaSmrg}
411404007ebaSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
411504007ebaSmrg{
411604007ebaSmrg  { "@PROGRAM@", (void *) 0 },
411704007ebaSmrg_LT_EOF
411805cf1079Smrg	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
411904007ebaSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
412004007ebaSmrg  {0, (void *) 0}
412104007ebaSmrg};
412204007ebaSmrg
412304007ebaSmrg/* This works around a problem in FreeBSD linker */
412404007ebaSmrg#ifdef FREEBSD_WORKAROUND
412504007ebaSmrgstatic const void *lt_preloaded_setup() {
412604007ebaSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
412704007ebaSmrg}
412804007ebaSmrg#endif
412904007ebaSmrg
413004007ebaSmrg#ifdef __cplusplus
413104007ebaSmrg}
413204007ebaSmrg#endif
413304007ebaSmrg_LT_EOF
413404007ebaSmrg	  # Now try linking the two files.
413504007ebaSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
413604007ebaSmrg	  lt_globsym_save_LIBS=$LIBS
413704007ebaSmrg	  lt_globsym_save_CFLAGS=$CFLAGS
413805cf1079Smrg	  LIBS=conftstm.$ac_objext
413904007ebaSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
414005cf1079Smrg	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
414104007ebaSmrg	    pipe_works=yes
414204007ebaSmrg	  fi
414304007ebaSmrg	  LIBS=$lt_globsym_save_LIBS
414404007ebaSmrg	  CFLAGS=$lt_globsym_save_CFLAGS
414504007ebaSmrg	else
414604007ebaSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
414704007ebaSmrg	fi
414804007ebaSmrg      else
414904007ebaSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
415004007ebaSmrg      fi
415104007ebaSmrg    else
415204007ebaSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
415304007ebaSmrg    fi
415404007ebaSmrg  else
415504007ebaSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
415604007ebaSmrg    cat conftest.$ac_ext >&5
415704007ebaSmrg  fi
415804007ebaSmrg  rm -rf conftest* conftst*
415904007ebaSmrg
416004007ebaSmrg  # Do not use the global_symbol_pipe unless it works.
416105cf1079Smrg  if test yes = "$pipe_works"; then
416204007ebaSmrg    break
416304007ebaSmrg  else
416404007ebaSmrg    lt_cv_sys_global_symbol_pipe=
416504007ebaSmrg  fi
416604007ebaSmrgdone
416704007ebaSmrg])
416804007ebaSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
416904007ebaSmrg  lt_cv_sys_global_symbol_to_cdecl=
417004007ebaSmrgfi
417104007ebaSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
417204007ebaSmrg  AC_MSG_RESULT(failed)
417304007ebaSmrgelse
417404007ebaSmrg  AC_MSG_RESULT(ok)
417504007ebaSmrgfi
417604007ebaSmrg
417704007ebaSmrg# Response file support.
417804007ebaSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
417904007ebaSmrg  nm_file_list_spec='@'
418004007ebaSmrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
418104007ebaSmrg  nm_file_list_spec='@'
418204007ebaSmrgfi
418304007ebaSmrg
418404007ebaSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
418504007ebaSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
418604007ebaSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
418704007ebaSmrg    [Transform the output of nm in a proper C declaration])
418805cf1079Smrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
418905cf1079Smrg    [Transform the output of nm into a list of symbols to manually relocate])
419004007ebaSmrg_LT_DECL([global_symbol_to_c_name_address],
419104007ebaSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
419204007ebaSmrg    [Transform the output of nm in a C name address pair])
419304007ebaSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
419404007ebaSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
419504007ebaSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
419605cf1079Smrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
419705cf1079Smrg    [The name lister interface])
419804007ebaSmrg_LT_DECL([], [nm_file_list_spec], [1],
419904007ebaSmrg    [Specify filename containing input files for $NM])
420004007ebaSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
420104007ebaSmrg
420204007ebaSmrg
420304007ebaSmrg# _LT_COMPILER_PIC([TAGNAME])
420404007ebaSmrg# ---------------------------
420504007ebaSmrgm4_defun([_LT_COMPILER_PIC],
420604007ebaSmrg[m4_require([_LT_TAG_COMPILER])dnl
420704007ebaSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
420804007ebaSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
420904007ebaSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
421004007ebaSmrg
421104007ebaSmrgm4_if([$1], [CXX], [
421204007ebaSmrg  # C++ specific cases for pic, static, wl, etc.
421305cf1079Smrg  if test yes = "$GXX"; then
421404007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
421504007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
421604007ebaSmrg
421704007ebaSmrg    case $host_os in
421804007ebaSmrg    aix*)
421904007ebaSmrg      # All AIX code is PIC.
422005cf1079Smrg      if test ia64 = "$host_cpu"; then
422104007ebaSmrg	# AIX 5 now supports IA64 processor
422204007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
422304007ebaSmrg      fi
422405cf1079Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
422504007ebaSmrg      ;;
422604007ebaSmrg
422704007ebaSmrg    amigaos*)
422804007ebaSmrg      case $host_cpu in
422904007ebaSmrg      powerpc)
423004007ebaSmrg            # see comment about AmigaOS4 .so support
423104007ebaSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
423204007ebaSmrg        ;;
423304007ebaSmrg      m68k)
423404007ebaSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
423505cf1079Smrg            # adding the '-m68020' flag to GCC prevents building anything better,
423605cf1079Smrg            # like '-m68040'.
423704007ebaSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
423804007ebaSmrg        ;;
423904007ebaSmrg      esac
424004007ebaSmrg      ;;
424104007ebaSmrg
424204007ebaSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
424304007ebaSmrg      # PIC is the default for these OSes.
424404007ebaSmrg      ;;
424504007ebaSmrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
424604007ebaSmrg      # This hack is so that the source file can tell whether it is being
424704007ebaSmrg      # built for inclusion in a dll (and should export symbols for example).
424804007ebaSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
424904007ebaSmrg      # (--disable-auto-import) libraries
425004007ebaSmrg      m4_if([$1], [GCJ], [],
425104007ebaSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
425205cf1079Smrg      case $host_os in
425305cf1079Smrg      os2*)
425405cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
425505cf1079Smrg	;;
425605cf1079Smrg      esac
425704007ebaSmrg      ;;
425804007ebaSmrg    darwin* | rhapsody*)
425904007ebaSmrg      # PIC is the default on this platform
426004007ebaSmrg      # Common symbols not allowed in MH_DYLIB files
426104007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
426204007ebaSmrg      ;;
426304007ebaSmrg    *djgpp*)
426404007ebaSmrg      # DJGPP does not support shared libraries at all
426504007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
426604007ebaSmrg      ;;
426704007ebaSmrg    haiku*)
426804007ebaSmrg      # PIC is the default for Haiku.
426904007ebaSmrg      # The "-static" flag exists, but is broken.
427004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
427104007ebaSmrg      ;;
427204007ebaSmrg    interix[[3-9]]*)
427304007ebaSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
427404007ebaSmrg      # Instead, we relocate shared libraries at runtime.
427504007ebaSmrg      ;;
427604007ebaSmrg    sysv4*MP*)
427704007ebaSmrg      if test -d /usr/nec; then
427804007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
427904007ebaSmrg      fi
428004007ebaSmrg      ;;
428104007ebaSmrg    hpux*)
428204007ebaSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
428304007ebaSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
428404007ebaSmrg      # sets the default TLS model and affects inlining.
428504007ebaSmrg      case $host_cpu in
428604007ebaSmrg      hppa*64*)
428704007ebaSmrg	;;
428804007ebaSmrg      *)
428904007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
429004007ebaSmrg	;;
429104007ebaSmrg      esac
429204007ebaSmrg      ;;
429304007ebaSmrg    *qnx* | *nto*)
429404007ebaSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
429504007ebaSmrg      # it will coredump.
429604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
429704007ebaSmrg      ;;
429804007ebaSmrg    *)
429904007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
430004007ebaSmrg      ;;
430104007ebaSmrg    esac
430204007ebaSmrg  else
430304007ebaSmrg    case $host_os in
430404007ebaSmrg      aix[[4-9]]*)
430504007ebaSmrg	# All AIX code is PIC.
430605cf1079Smrg	if test ia64 = "$host_cpu"; then
430704007ebaSmrg	  # AIX 5 now supports IA64 processor
430804007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
430904007ebaSmrg	else
431004007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
431104007ebaSmrg	fi
431204007ebaSmrg	;;
431304007ebaSmrg      chorus*)
431404007ebaSmrg	case $cc_basename in
431504007ebaSmrg	cxch68*)
431604007ebaSmrg	  # Green Hills C++ Compiler
431704007ebaSmrg	  # _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"
431804007ebaSmrg	  ;;
431904007ebaSmrg	esac
432004007ebaSmrg	;;
432104007ebaSmrg      mingw* | cygwin* | os2* | pw32* | cegcc*)
432204007ebaSmrg	# This hack is so that the source file can tell whether it is being
432304007ebaSmrg	# built for inclusion in a dll (and should export symbols for example).
432404007ebaSmrg	m4_if([$1], [GCJ], [],
432504007ebaSmrg	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
432604007ebaSmrg	;;
432704007ebaSmrg      dgux*)
432804007ebaSmrg	case $cc_basename in
432904007ebaSmrg	  ec++*)
433004007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
433104007ebaSmrg	    ;;
433204007ebaSmrg	  ghcx*)
433304007ebaSmrg	    # Green Hills C++ Compiler
433404007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
433504007ebaSmrg	    ;;
433604007ebaSmrg	  *)
433704007ebaSmrg	    ;;
433804007ebaSmrg	esac
433904007ebaSmrg	;;
434079d5fcd7Smrg      freebsd* | dragonfly* | midnightbsd*)
434104007ebaSmrg	# FreeBSD uses GNU C++
434204007ebaSmrg	;;
434304007ebaSmrg      hpux9* | hpux10* | hpux11*)
434404007ebaSmrg	case $cc_basename in
434504007ebaSmrg	  CC*)
434604007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
434705cf1079Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
434805cf1079Smrg	    if test ia64 != "$host_cpu"; then
434904007ebaSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
435004007ebaSmrg	    fi
435104007ebaSmrg	    ;;
435204007ebaSmrg	  aCC*)
435304007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
435405cf1079Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
435504007ebaSmrg	    case $host_cpu in
435604007ebaSmrg	    hppa*64*|ia64*)
435704007ebaSmrg	      # +Z the default
435804007ebaSmrg	      ;;
435904007ebaSmrg	    *)
436004007ebaSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
436104007ebaSmrg	      ;;
436204007ebaSmrg	    esac
436304007ebaSmrg	    ;;
436404007ebaSmrg	  *)
436504007ebaSmrg	    ;;
436604007ebaSmrg	esac
436704007ebaSmrg	;;
436804007ebaSmrg      interix*)
436904007ebaSmrg	# This is c89, which is MS Visual C++ (no shared libs)
437004007ebaSmrg	# Anyone wants to do a port?
437104007ebaSmrg	;;
437204007ebaSmrg      irix5* | irix6* | nonstopux*)
437304007ebaSmrg	case $cc_basename in
437404007ebaSmrg	  CC*)
437504007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
437604007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
437704007ebaSmrg	    # CC pic flag -KPIC is the default.
437804007ebaSmrg	    ;;
437904007ebaSmrg	  *)
438004007ebaSmrg	    ;;
438104007ebaSmrg	esac
438204007ebaSmrg	;;
438304007ebaSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
438404007ebaSmrg	case $cc_basename in
438504007ebaSmrg	  KCC*)
438604007ebaSmrg	    # KAI C++ Compiler
438704007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
438804007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
438904007ebaSmrg	    ;;
439004007ebaSmrg	  ecpc* )
439105cf1079Smrg	    # old Intel C++ for x86_64, which still supported -KPIC.
439204007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
439304007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
439404007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
439504007ebaSmrg	    ;;
439604007ebaSmrg	  icpc* )
439704007ebaSmrg	    # Intel C++, used to be incompatible with GCC.
439804007ebaSmrg	    # ICC 10 doesn't accept -KPIC any more.
439904007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
440004007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
440104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
440204007ebaSmrg	    ;;
440304007ebaSmrg	  pgCC* | pgcpp*)
440404007ebaSmrg	    # Portland Group C++ compiler
440504007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
440604007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
440704007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
440804007ebaSmrg	    ;;
440904007ebaSmrg	  cxx*)
441004007ebaSmrg	    # Compaq C++
441104007ebaSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
441204007ebaSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
441304007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
441404007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
441504007ebaSmrg	    ;;
441604007ebaSmrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
441704007ebaSmrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
441804007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
441904007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
442004007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
442104007ebaSmrg	    ;;
442204007ebaSmrg	  *)
442379d5fcd7Smrg	    case `$CC -V 2>&1 | $SED 5q` in
442404007ebaSmrg	    *Sun\ C*)
442504007ebaSmrg	      # Sun C++ 5.9
442604007ebaSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
442704007ebaSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
442804007ebaSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
442904007ebaSmrg	      ;;
443004007ebaSmrg	    esac
443104007ebaSmrg	    ;;
443204007ebaSmrg	esac
443304007ebaSmrg	;;
443404007ebaSmrg      lynxos*)
443504007ebaSmrg	;;
443604007ebaSmrg      m88k*)
443704007ebaSmrg	;;
443804007ebaSmrg      mvs*)
443904007ebaSmrg	case $cc_basename in
444004007ebaSmrg	  cxx*)
444104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
444204007ebaSmrg	    ;;
444304007ebaSmrg	  *)
444404007ebaSmrg	    ;;
444504007ebaSmrg	esac
444604007ebaSmrg	;;
444779d5fcd7Smrg      netbsd*)
444804007ebaSmrg	;;
444904007ebaSmrg      *qnx* | *nto*)
445004007ebaSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
445104007ebaSmrg        # it will coredump.
445204007ebaSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
445304007ebaSmrg        ;;
445404007ebaSmrg      osf3* | osf4* | osf5*)
445504007ebaSmrg	case $cc_basename in
445604007ebaSmrg	  KCC*)
445704007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
445804007ebaSmrg	    ;;
445904007ebaSmrg	  RCC*)
446004007ebaSmrg	    # Rational C++ 2.4.1
446104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
446204007ebaSmrg	    ;;
446304007ebaSmrg	  cxx*)
446404007ebaSmrg	    # Digital/Compaq C++
446504007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
446604007ebaSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
446704007ebaSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
446804007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
446904007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
447004007ebaSmrg	    ;;
447104007ebaSmrg	  *)
447204007ebaSmrg	    ;;
447304007ebaSmrg	esac
447404007ebaSmrg	;;
447504007ebaSmrg      psos*)
447604007ebaSmrg	;;
447704007ebaSmrg      solaris*)
447804007ebaSmrg	case $cc_basename in
447904007ebaSmrg	  CC* | sunCC*)
448004007ebaSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
448104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
448204007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
448304007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
448404007ebaSmrg	    ;;
448504007ebaSmrg	  gcx*)
448604007ebaSmrg	    # Green Hills C++ Compiler
448704007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
448804007ebaSmrg	    ;;
448904007ebaSmrg	  *)
449004007ebaSmrg	    ;;
449104007ebaSmrg	esac
449204007ebaSmrg	;;
449304007ebaSmrg      sunos4*)
449404007ebaSmrg	case $cc_basename in
449504007ebaSmrg	  CC*)
449604007ebaSmrg	    # Sun C++ 4.x
449704007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
449804007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
449904007ebaSmrg	    ;;
450004007ebaSmrg	  lcc*)
450104007ebaSmrg	    # Lucid
450204007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
450304007ebaSmrg	    ;;
450404007ebaSmrg	  *)
450504007ebaSmrg	    ;;
450604007ebaSmrg	esac
450704007ebaSmrg	;;
450804007ebaSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
450904007ebaSmrg	case $cc_basename in
451004007ebaSmrg	  CC*)
451104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
451204007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
451304007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
451404007ebaSmrg	    ;;
451504007ebaSmrg	esac
451604007ebaSmrg	;;
451704007ebaSmrg      tandem*)
451804007ebaSmrg	case $cc_basename in
451904007ebaSmrg	  NCC*)
452004007ebaSmrg	    # NonStop-UX NCC 3.20
452104007ebaSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
452204007ebaSmrg	    ;;
452304007ebaSmrg	  *)
452404007ebaSmrg	    ;;
452504007ebaSmrg	esac
452604007ebaSmrg	;;
452704007ebaSmrg      vxworks*)
452804007ebaSmrg	;;
452904007ebaSmrg      *)
453004007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
453104007ebaSmrg	;;
453204007ebaSmrg    esac
453304007ebaSmrg  fi
453404007ebaSmrg],
453504007ebaSmrg[
453605cf1079Smrg  if test yes = "$GCC"; then
453704007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
453804007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
453904007ebaSmrg
454004007ebaSmrg    case $host_os in
454104007ebaSmrg      aix*)
454204007ebaSmrg      # All AIX code is PIC.
454305cf1079Smrg      if test ia64 = "$host_cpu"; then
454404007ebaSmrg	# AIX 5 now supports IA64 processor
454504007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
454604007ebaSmrg      fi
454705cf1079Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
454804007ebaSmrg      ;;
454904007ebaSmrg
455004007ebaSmrg    amigaos*)
455104007ebaSmrg      case $host_cpu in
455204007ebaSmrg      powerpc)
455304007ebaSmrg            # see comment about AmigaOS4 .so support
455404007ebaSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
455504007ebaSmrg        ;;
455604007ebaSmrg      m68k)
455704007ebaSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
455805cf1079Smrg            # adding the '-m68020' flag to GCC prevents building anything better,
455905cf1079Smrg            # like '-m68040'.
456004007ebaSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
456104007ebaSmrg        ;;
456204007ebaSmrg      esac
456304007ebaSmrg      ;;
456404007ebaSmrg
456504007ebaSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
456604007ebaSmrg      # PIC is the default for these OSes.
456704007ebaSmrg      ;;
456804007ebaSmrg
456904007ebaSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
457004007ebaSmrg      # This hack is so that the source file can tell whether it is being
457104007ebaSmrg      # built for inclusion in a dll (and should export symbols for example).
457204007ebaSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
457304007ebaSmrg      # (--disable-auto-import) libraries
457404007ebaSmrg      m4_if([$1], [GCJ], [],
457504007ebaSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
457605cf1079Smrg      case $host_os in
457705cf1079Smrg      os2*)
457805cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
457905cf1079Smrg	;;
458005cf1079Smrg      esac
458104007ebaSmrg      ;;
458204007ebaSmrg
458304007ebaSmrg    darwin* | rhapsody*)
458404007ebaSmrg      # PIC is the default on this platform
458504007ebaSmrg      # Common symbols not allowed in MH_DYLIB files
458604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
458704007ebaSmrg      ;;
458804007ebaSmrg
458904007ebaSmrg    haiku*)
459004007ebaSmrg      # PIC is the default for Haiku.
459104007ebaSmrg      # The "-static" flag exists, but is broken.
459204007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
459304007ebaSmrg      ;;
459404007ebaSmrg
459504007ebaSmrg    hpux*)
459604007ebaSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
459704007ebaSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
459804007ebaSmrg      # sets the default TLS model and affects inlining.
459904007ebaSmrg      case $host_cpu in
460004007ebaSmrg      hppa*64*)
460104007ebaSmrg	# +Z the default
460204007ebaSmrg	;;
460304007ebaSmrg      *)
460404007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
460504007ebaSmrg	;;
460604007ebaSmrg      esac
460704007ebaSmrg      ;;
460804007ebaSmrg
460904007ebaSmrg    interix[[3-9]]*)
461004007ebaSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
461104007ebaSmrg      # Instead, we relocate shared libraries at runtime.
461204007ebaSmrg      ;;
461304007ebaSmrg
461404007ebaSmrg    msdosdjgpp*)
461504007ebaSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
461604007ebaSmrg      # on systems that don't support them.
461704007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
461804007ebaSmrg      enable_shared=no
461904007ebaSmrg      ;;
462004007ebaSmrg
462104007ebaSmrg    *nto* | *qnx*)
462204007ebaSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
462304007ebaSmrg      # it will coredump.
462404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
462504007ebaSmrg      ;;
462604007ebaSmrg
462704007ebaSmrg    sysv4*MP*)
462804007ebaSmrg      if test -d /usr/nec; then
462904007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
463004007ebaSmrg      fi
463104007ebaSmrg      ;;
463204007ebaSmrg
463304007ebaSmrg    *)
463404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
463504007ebaSmrg      ;;
463604007ebaSmrg    esac
463704007ebaSmrg
463804007ebaSmrg    case $cc_basename in
463904007ebaSmrg    nvcc*) # Cuda Compiler Driver 2.2
464004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
464104007ebaSmrg      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
464204007ebaSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
464304007ebaSmrg      fi
464404007ebaSmrg      ;;
464504007ebaSmrg    esac
464604007ebaSmrg  else
464704007ebaSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
464804007ebaSmrg    case $host_os in
464904007ebaSmrg    aix*)
465004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
465105cf1079Smrg      if test ia64 = "$host_cpu"; then
465204007ebaSmrg	# AIX 5 now supports IA64 processor
465304007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
465404007ebaSmrg      else
465504007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
465604007ebaSmrg      fi
465704007ebaSmrg      ;;
465804007ebaSmrg
465905cf1079Smrg    darwin* | rhapsody*)
466005cf1079Smrg      # PIC is the default on this platform
466105cf1079Smrg      # Common symbols not allowed in MH_DYLIB files
466205cf1079Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
466305cf1079Smrg      case $cc_basename in
466405cf1079Smrg      nagfor*)
466505cf1079Smrg        # NAG Fortran compiler
466605cf1079Smrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
466705cf1079Smrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
466805cf1079Smrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
466905cf1079Smrg        ;;
467005cf1079Smrg      esac
467105cf1079Smrg      ;;
467205cf1079Smrg
467304007ebaSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
467404007ebaSmrg      # This hack is so that the source file can tell whether it is being
467504007ebaSmrg      # built for inclusion in a dll (and should export symbols for example).
467604007ebaSmrg      m4_if([$1], [GCJ], [],
467704007ebaSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
467805cf1079Smrg      case $host_os in
467905cf1079Smrg      os2*)
468005cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
468105cf1079Smrg	;;
468205cf1079Smrg      esac
468304007ebaSmrg      ;;
468404007ebaSmrg
468504007ebaSmrg    hpux9* | hpux10* | hpux11*)
468604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
468704007ebaSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
468804007ebaSmrg      # not for PA HP-UX.
468904007ebaSmrg      case $host_cpu in
469004007ebaSmrg      hppa*64*|ia64*)
469104007ebaSmrg	# +Z the default
469204007ebaSmrg	;;
469304007ebaSmrg      *)
469404007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
469504007ebaSmrg	;;
469604007ebaSmrg      esac
469704007ebaSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
469805cf1079Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
469904007ebaSmrg      ;;
470004007ebaSmrg
470104007ebaSmrg    irix5* | irix6* | nonstopux*)
470204007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
470304007ebaSmrg      # PIC (with -KPIC) is the default.
470404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
470504007ebaSmrg      ;;
470604007ebaSmrg
470704007ebaSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
470804007ebaSmrg      case $cc_basename in
470905cf1079Smrg      # old Intel for x86_64, which still supported -KPIC.
471004007ebaSmrg      ecc*)
471104007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
471204007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
471304007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
471404007ebaSmrg        ;;
471504007ebaSmrg      # icc used to be incompatible with GCC.
471604007ebaSmrg      # ICC 10 doesn't accept -KPIC any more.
471704007ebaSmrg      icc* | ifort*)
471804007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
471904007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
472004007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
472104007ebaSmrg        ;;
472204007ebaSmrg      # Lahey Fortran 8.1.
472304007ebaSmrg      lf95*)
472404007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
472504007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
472604007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
472704007ebaSmrg	;;
472804007ebaSmrg      nagfor*)
472904007ebaSmrg	# NAG Fortran compiler
473004007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
473104007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
473204007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
473304007ebaSmrg	;;
473405cf1079Smrg      tcc*)
473505cf1079Smrg	# Fabrice Bellard et al's Tiny C Compiler
473605cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
473705cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
473805cf1079Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
473905cf1079Smrg	;;
474004007ebaSmrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
474104007ebaSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
474204007ebaSmrg	# which looks to be a dead project)
474304007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
474404007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
474504007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
474604007ebaSmrg        ;;
474704007ebaSmrg      ccc*)
474804007ebaSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
474904007ebaSmrg        # All Alpha code is PIC.
475004007ebaSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
475104007ebaSmrg        ;;
475204007ebaSmrg      xl* | bgxl* | bgf* | mpixl*)
475304007ebaSmrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
475404007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
475504007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
475604007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
475704007ebaSmrg	;;
475804007ebaSmrg      *)
475979d5fcd7Smrg	case `$CC -V 2>&1 | $SED 5q` in
476004007ebaSmrg	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
476104007ebaSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
476204007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
476304007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
476404007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
476504007ebaSmrg	  ;;
476604007ebaSmrg	*Sun\ F* | *Sun*Fortran*)
476704007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
476804007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
476904007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
477004007ebaSmrg	  ;;
477104007ebaSmrg	*Sun\ C*)
477204007ebaSmrg	  # Sun C 5.9
477304007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
477404007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
477504007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
477604007ebaSmrg	  ;;
477704007ebaSmrg        *Intel*\ [[CF]]*Compiler*)
477804007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
477904007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
478004007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
478104007ebaSmrg	  ;;
478204007ebaSmrg	*Portland\ Group*)
478304007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
478404007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
478504007ebaSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
478604007ebaSmrg	  ;;
478704007ebaSmrg	esac
478804007ebaSmrg	;;
478904007ebaSmrg      esac
479004007ebaSmrg      ;;
479104007ebaSmrg
479204007ebaSmrg    newsos6)
479304007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
479404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
479504007ebaSmrg      ;;
479604007ebaSmrg
479704007ebaSmrg    *nto* | *qnx*)
479804007ebaSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
479904007ebaSmrg      # it will coredump.
480004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
480104007ebaSmrg      ;;
480204007ebaSmrg
480304007ebaSmrg    osf3* | osf4* | osf5*)
480404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
480504007ebaSmrg      # All OSF/1 code is PIC.
480604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
480704007ebaSmrg      ;;
480804007ebaSmrg
480904007ebaSmrg    rdos*)
481004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
481104007ebaSmrg      ;;
481204007ebaSmrg
481304007ebaSmrg    solaris*)
481404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
481504007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
481604007ebaSmrg      case $cc_basename in
481704007ebaSmrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
481804007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
481904007ebaSmrg      *)
482004007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
482104007ebaSmrg      esac
482204007ebaSmrg      ;;
482304007ebaSmrg
482404007ebaSmrg    sunos4*)
482504007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
482604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
482704007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
482804007ebaSmrg      ;;
482904007ebaSmrg
483004007ebaSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
483104007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
483204007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
483304007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
483404007ebaSmrg      ;;
483504007ebaSmrg
483604007ebaSmrg    sysv4*MP*)
483705cf1079Smrg      if test -d /usr/nec; then
483804007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
483904007ebaSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
484004007ebaSmrg      fi
484104007ebaSmrg      ;;
484204007ebaSmrg
484304007ebaSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
484404007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
484504007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
484604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
484704007ebaSmrg      ;;
484804007ebaSmrg
484904007ebaSmrg    unicos*)
485004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
485104007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
485204007ebaSmrg      ;;
485304007ebaSmrg
485404007ebaSmrg    uts4*)
485504007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
485604007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
485704007ebaSmrg      ;;
485804007ebaSmrg
485904007ebaSmrg    *)
486004007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
486104007ebaSmrg      ;;
486204007ebaSmrg    esac
486304007ebaSmrg  fi
486404007ebaSmrg])
486504007ebaSmrgcase $host_os in
486605cf1079Smrg  # For platforms that do not support PIC, -DPIC is meaningless:
486704007ebaSmrg  *djgpp*)
486804007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
486904007ebaSmrg    ;;
487004007ebaSmrg  *)
487104007ebaSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
487204007ebaSmrg    ;;
487304007ebaSmrgesac
487404007ebaSmrg
487504007ebaSmrgAC_CACHE_CHECK([for $compiler option to produce PIC],
487604007ebaSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
487704007ebaSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
487804007ebaSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
487904007ebaSmrg
488004007ebaSmrg#
488104007ebaSmrg# Check to make sure the PIC flag actually works.
488204007ebaSmrg#
488304007ebaSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
488404007ebaSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
488504007ebaSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
488604007ebaSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
488704007ebaSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
488804007ebaSmrg     "" | " "*) ;;
488904007ebaSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
489004007ebaSmrg     esac],
489104007ebaSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
489204007ebaSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
489304007ebaSmrgfi
489404007ebaSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
489504007ebaSmrg	[Additional compiler flags for building library objects])
489604007ebaSmrg
489704007ebaSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
489804007ebaSmrg	[How to pass a linker flag through the compiler])
489904007ebaSmrg#
490004007ebaSmrg# Check to make sure the static flag actually works.
490104007ebaSmrg#
490204007ebaSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
490304007ebaSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
490404007ebaSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
490504007ebaSmrg  $lt_tmp_static_flag,
490604007ebaSmrg  [],
490704007ebaSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
490804007ebaSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
490904007ebaSmrg	[Compiler flag to prevent dynamic linking])
491004007ebaSmrg])# _LT_COMPILER_PIC
491104007ebaSmrg
491204007ebaSmrg
491304007ebaSmrg# _LT_LINKER_SHLIBS([TAGNAME])
491404007ebaSmrg# ----------------------------
491504007ebaSmrg# See if the linker supports building shared libraries.
491604007ebaSmrgm4_defun([_LT_LINKER_SHLIBS],
491704007ebaSmrg[AC_REQUIRE([LT_PATH_LD])dnl
491804007ebaSmrgAC_REQUIRE([LT_PATH_NM])dnl
491904007ebaSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
492004007ebaSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
492104007ebaSmrgm4_require([_LT_DECL_EGREP])dnl
492204007ebaSmrgm4_require([_LT_DECL_SED])dnl
492304007ebaSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
492404007ebaSmrgm4_require([_LT_TAG_COMPILER])dnl
492504007ebaSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
492604007ebaSmrgm4_if([$1], [CXX], [
492704007ebaSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
492804007ebaSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
492904007ebaSmrg  case $host_os in
493004007ebaSmrg  aix[[4-9]]*)
493104007ebaSmrg    # If we're using GNU nm, then we don't want the "-C" option.
493205cf1079Smrg    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
493305cf1079Smrg    # Without the "-l" option, or with the "-B" option, AIX nm treats
493405cf1079Smrg    # weak defined symbols like other global defined symbols, whereas
493505cf1079Smrg    # GNU nm marks them as "W".
493605cf1079Smrg    # While the 'weak' keyword is ignored in the Export File, we need
493705cf1079Smrg    # it in the Import File for the 'aix-soname' feature, so we have
493805cf1079Smrg    # to replace the "-B" option with "-P" for AIX nm.
493904007ebaSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
494005cf1079Smrg      _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'
494104007ebaSmrg    else
494279d5fcd7Smrg      _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'
494304007ebaSmrg    fi
494404007ebaSmrg    ;;
494504007ebaSmrg  pw32*)
494605cf1079Smrg    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
494704007ebaSmrg    ;;
494804007ebaSmrg  cygwin* | mingw* | cegcc*)
494904007ebaSmrg    case $cc_basename in
495079d5fcd7Smrg    cl* | icl*)
495104007ebaSmrg      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
495204007ebaSmrg      ;;
495304007ebaSmrg    *)
495404007ebaSmrg      _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'
495504007ebaSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
495604007ebaSmrg      ;;
495704007ebaSmrg    esac
495804007ebaSmrg    ;;
495904007ebaSmrg  *)
496004007ebaSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
496104007ebaSmrg    ;;
496204007ebaSmrg  esac
496304007ebaSmrg], [
496404007ebaSmrg  runpath_var=
496504007ebaSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
496604007ebaSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
496704007ebaSmrg  _LT_TAGVAR(archive_cmds, $1)=
496804007ebaSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
496904007ebaSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
497004007ebaSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
497104007ebaSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
497204007ebaSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
497304007ebaSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
497404007ebaSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
497504007ebaSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
497604007ebaSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
497704007ebaSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
497804007ebaSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
497904007ebaSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
498004007ebaSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
498104007ebaSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
498204007ebaSmrg  _LT_TAGVAR(module_cmds, $1)=
498304007ebaSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
498404007ebaSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
498504007ebaSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
498604007ebaSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
498704007ebaSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
498804007ebaSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
498904007ebaSmrg  # included in the symbol list
499004007ebaSmrg  _LT_TAGVAR(include_expsyms, $1)=
499104007ebaSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
499205cf1079Smrg  # it will be wrapped by ' (' and ')$', so one must not match beginning or
499305cf1079Smrg  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
499405cf1079Smrg  # as well as any symbol that contains 'd'.
499504007ebaSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
499604007ebaSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
499704007ebaSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
499804007ebaSmrg  # the symbol is explicitly referenced.  Since portable code cannot
499904007ebaSmrg  # rely on this symbol name, it's probably fine to never include it in
500004007ebaSmrg  # preloaded symbol tables.
500104007ebaSmrg  # Exclude shared library initialization/finalization symbols.
500204007ebaSmrgdnl Note also adjust exclude_expsyms for C++ above.
500304007ebaSmrg  extract_expsyms_cmds=
500404007ebaSmrg
500504007ebaSmrg  case $host_os in
500604007ebaSmrg  cygwin* | mingw* | pw32* | cegcc*)
500779d5fcd7Smrg    # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
500804007ebaSmrg    # When not using gcc, we currently assume that we are using
500979d5fcd7Smrg    # Microsoft Visual C++ or Intel C++ Compiler.
501005cf1079Smrg    if test yes != "$GCC"; then
501104007ebaSmrg      with_gnu_ld=no
501204007ebaSmrg    fi
501304007ebaSmrg    ;;
501404007ebaSmrg  interix*)
501579d5fcd7Smrg    # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
501604007ebaSmrg    with_gnu_ld=yes
501704007ebaSmrg    ;;
501805cf1079Smrg  openbsd* | bitrig*)
501904007ebaSmrg    with_gnu_ld=no
502004007ebaSmrg    ;;
502104007ebaSmrg  esac
502204007ebaSmrg
502304007ebaSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
502404007ebaSmrg
502504007ebaSmrg  # On some targets, GNU ld is compatible enough with the native linker
502604007ebaSmrg  # that we're better off using the native interface for both.
502704007ebaSmrg  lt_use_gnu_ld_interface=no
502805cf1079Smrg  if test yes = "$with_gnu_ld"; then
502904007ebaSmrg    case $host_os in
503004007ebaSmrg      aix*)
503104007ebaSmrg	# The AIX port of GNU ld has always aspired to compatibility
503204007ebaSmrg	# with the native linker.  However, as the warning in the GNU ld
503304007ebaSmrg	# block says, versions before 2.19.5* couldn't really create working
503404007ebaSmrg	# shared libraries, regardless of the interface used.
503504007ebaSmrg	case `$LD -v 2>&1` in
503604007ebaSmrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
503704007ebaSmrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
503804007ebaSmrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
503904007ebaSmrg	  *)
504004007ebaSmrg	    lt_use_gnu_ld_interface=yes
504104007ebaSmrg	    ;;
504204007ebaSmrg	esac
504304007ebaSmrg	;;
504404007ebaSmrg      *)
504504007ebaSmrg	lt_use_gnu_ld_interface=yes
504604007ebaSmrg	;;
504704007ebaSmrg    esac
504804007ebaSmrg  fi
504904007ebaSmrg
505005cf1079Smrg  if test yes = "$lt_use_gnu_ld_interface"; then
505104007ebaSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
505205cf1079Smrg    wlarc='$wl'
505304007ebaSmrg
505404007ebaSmrg    # Set some defaults for GNU ld with shared library support. These
505504007ebaSmrg    # are reset later if shared libraries are not supported. Putting them
505604007ebaSmrg    # here allows them to be overridden if necessary.
505704007ebaSmrg    runpath_var=LD_RUN_PATH
505805cf1079Smrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
505905cf1079Smrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
506004007ebaSmrg    # ancient GNU ld didn't support --whole-archive et. al.
506104007ebaSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
506205cf1079Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
506304007ebaSmrg    else
506404007ebaSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
506504007ebaSmrg    fi
506604007ebaSmrg    supports_anon_versioning=no
506779d5fcd7Smrg    case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
506804007ebaSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
506904007ebaSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
507004007ebaSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
507104007ebaSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
507204007ebaSmrg      *\ 2.11.*) ;; # other 2.11 versions
507304007ebaSmrg      *) supports_anon_versioning=yes ;;
507404007ebaSmrg    esac
507504007ebaSmrg
507604007ebaSmrg    # See if GNU ld supports shared libraries.
507704007ebaSmrg    case $host_os in
507804007ebaSmrg    aix[[3-9]]*)
507904007ebaSmrg      # On AIX/PPC, the GNU linker is very broken
508005cf1079Smrg      if test ia64 != "$host_cpu"; then
508104007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
508204007ebaSmrg	cat <<_LT_EOF 1>&2
508304007ebaSmrg
508404007ebaSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported
508504007ebaSmrg*** to be unable to reliably create shared libraries on AIX.
508604007ebaSmrg*** Therefore, libtool is disabling shared libraries support.  If you
508704007ebaSmrg*** really care for shared libraries, you may want to install binutils
508804007ebaSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
508904007ebaSmrg*** You will then need to restart the configuration process.
509004007ebaSmrg
509104007ebaSmrg_LT_EOF
509204007ebaSmrg      fi
509304007ebaSmrg      ;;
509404007ebaSmrg
509504007ebaSmrg    amigaos*)
509604007ebaSmrg      case $host_cpu in
509704007ebaSmrg      powerpc)
509804007ebaSmrg            # see comment about AmigaOS4 .so support
509905cf1079Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
510004007ebaSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
510104007ebaSmrg        ;;
510204007ebaSmrg      m68k)
510304007ebaSmrg            _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)'
510404007ebaSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
510504007ebaSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
510604007ebaSmrg        ;;
510704007ebaSmrg      esac
510804007ebaSmrg      ;;
510904007ebaSmrg
511004007ebaSmrg    beos*)
511104007ebaSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
511204007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
511304007ebaSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
511404007ebaSmrg	# support --undefined.  This deserves some investigation.  FIXME
511505cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
511604007ebaSmrg      else
511704007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
511804007ebaSmrg      fi
511904007ebaSmrg      ;;
512004007ebaSmrg
512104007ebaSmrg    cygwin* | mingw* | pw32* | cegcc*)
512204007ebaSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
512304007ebaSmrg      # as there is no search path for DLLs.
512404007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
512505cf1079Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
512604007ebaSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
512704007ebaSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
512804007ebaSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
512904007ebaSmrg      _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'
513004007ebaSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
513104007ebaSmrg
513204007ebaSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
513305cf1079Smrg        _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'
513405cf1079Smrg	# If the export-symbols file already is a .def file, use it as
513505cf1079Smrg	# is; otherwise, prepend EXPORTS...
513605cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
513705cf1079Smrg          cp $export_symbols $output_objdir/$soname.def;
513805cf1079Smrg        else
513905cf1079Smrg          echo EXPORTS > $output_objdir/$soname.def;
514005cf1079Smrg          cat $export_symbols >> $output_objdir/$soname.def;
514105cf1079Smrg        fi~
514205cf1079Smrg        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
514304007ebaSmrg      else
514404007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
514504007ebaSmrg      fi
514604007ebaSmrg      ;;
514704007ebaSmrg
514804007ebaSmrg    haiku*)
514905cf1079Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
515004007ebaSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
515104007ebaSmrg      ;;
515204007ebaSmrg
515305cf1079Smrg    os2*)
515405cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
515505cf1079Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
515605cf1079Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
515705cf1079Smrg      shrext_cmds=.dll
515805cf1079Smrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
515905cf1079Smrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
516005cf1079Smrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
516105cf1079Smrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
516205cf1079Smrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
516305cf1079Smrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
516405cf1079Smrg	emximp -o $lib $output_objdir/$libname.def'
516505cf1079Smrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
516605cf1079Smrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
516705cf1079Smrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
516805cf1079Smrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
516905cf1079Smrg	prefix_cmds="$SED"~
517005cf1079Smrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
517105cf1079Smrg	  prefix_cmds="$prefix_cmds -e 1d";
517205cf1079Smrg	fi~
517305cf1079Smrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
517405cf1079Smrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
517505cf1079Smrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
517605cf1079Smrg	emximp -o $lib $output_objdir/$libname.def'
517705cf1079Smrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
517805cf1079Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
517979d5fcd7Smrg      _LT_TAGVAR(file_list_spec, $1)='@'
518005cf1079Smrg      ;;
518105cf1079Smrg
518204007ebaSmrg    interix[[3-9]]*)
518304007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
518404007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
518505cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
518605cf1079Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
518704007ebaSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
518804007ebaSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
518904007ebaSmrg      # default) and relocated if they conflict, which is a slow very memory
519004007ebaSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
519104007ebaSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
519204007ebaSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
519305cf1079Smrg      _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'
519479d5fcd7Smrg      _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'
519504007ebaSmrg      ;;
519604007ebaSmrg
519704007ebaSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
519804007ebaSmrg      tmp_diet=no
519905cf1079Smrg      if test linux-dietlibc = "$host_os"; then
520004007ebaSmrg	case $cc_basename in
520104007ebaSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
520204007ebaSmrg	esac
520304007ebaSmrg      fi
520404007ebaSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
520505cf1079Smrg	 && test no = "$tmp_diet"
520604007ebaSmrg      then
520704007ebaSmrg	tmp_addflag=' $pic_flag'
520804007ebaSmrg	tmp_sharedflag='-shared'
520904007ebaSmrg	case $cc_basename,$host_cpu in
521004007ebaSmrg        pgcc*)				# Portland Group C compiler
521105cf1079Smrg	  _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'
521204007ebaSmrg	  tmp_addflag=' $pic_flag'
521304007ebaSmrg	  ;;
521404007ebaSmrg	pgf77* | pgf90* | pgf95* | pgfortran*)
521504007ebaSmrg					# Portland Group f77 and f90 compilers
521605cf1079Smrg	  _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'
521704007ebaSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
521804007ebaSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
521904007ebaSmrg	  tmp_addflag=' -i_dynamic' ;;
522004007ebaSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
522104007ebaSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
522204007ebaSmrg	ifc* | ifort*)			# Intel Fortran compiler
522304007ebaSmrg	  tmp_addflag=' -nofor_main' ;;
522404007ebaSmrg	lf95*)				# Lahey Fortran 8.1
522504007ebaSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
522604007ebaSmrg	  tmp_sharedflag='--shared' ;;
522705cf1079Smrg        nagfor*)                        # NAGFOR 5.3
522805cf1079Smrg          tmp_sharedflag='-Wl,-shared' ;;
522904007ebaSmrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
523004007ebaSmrg	  tmp_sharedflag='-qmkshrobj'
523104007ebaSmrg	  tmp_addflag= ;;
523204007ebaSmrg	nvcc*)	# Cuda Compiler Driver 2.2
523305cf1079Smrg	  _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'
523404007ebaSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
523504007ebaSmrg	  ;;
523604007ebaSmrg	esac
523779d5fcd7Smrg	case `$CC -V 2>&1 | $SED 5q` in
523804007ebaSmrg	*Sun\ C*)			# Sun C 5.9
523905cf1079Smrg	  _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'
524004007ebaSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
524104007ebaSmrg	  tmp_sharedflag='-G' ;;
524204007ebaSmrg	*Sun\ F*)			# Sun Fortran 8.3
524304007ebaSmrg	  tmp_sharedflag='-G' ;;
524404007ebaSmrg	esac
524505cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
524604007ebaSmrg
524705cf1079Smrg        if test yes = "$supports_anon_versioning"; then
524804007ebaSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
524979d5fcd7Smrg            cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
525005cf1079Smrg            echo "local: *; };" >> $output_objdir/$libname.ver~
525105cf1079Smrg            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
525204007ebaSmrg        fi
525304007ebaSmrg
525404007ebaSmrg	case $cc_basename in
525505cf1079Smrg	tcc*)
525605cf1079Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
525705cf1079Smrg	  ;;
525804007ebaSmrg	xlf* | bgf* | bgxlf* | mpixlf*)
525904007ebaSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
526004007ebaSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
526105cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
526204007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
526305cf1079Smrg	  if test yes = "$supports_anon_versioning"; then
526404007ebaSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
526579d5fcd7Smrg              cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
526605cf1079Smrg              echo "local: *; };" >> $output_objdir/$libname.ver~
526705cf1079Smrg              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
526804007ebaSmrg	  fi
526904007ebaSmrg	  ;;
527004007ebaSmrg	esac
527104007ebaSmrg      else
527204007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
527304007ebaSmrg      fi
527404007ebaSmrg      ;;
527504007ebaSmrg
527679d5fcd7Smrg    netbsd*)
527704007ebaSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
527804007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
527904007ebaSmrg	wlarc=
528004007ebaSmrg      else
528105cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
528205cf1079Smrg	_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'
528304007ebaSmrg      fi
528404007ebaSmrg      ;;
528504007ebaSmrg
528604007ebaSmrg    solaris*)
528704007ebaSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
528804007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
528904007ebaSmrg	cat <<_LT_EOF 1>&2
529004007ebaSmrg
529104007ebaSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
529204007ebaSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
529304007ebaSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
529404007ebaSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
529504007ebaSmrg*** your PATH or compiler configuration so that the native linker is
529604007ebaSmrg*** used, and then restart.
529704007ebaSmrg
529804007ebaSmrg_LT_EOF
529904007ebaSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
530005cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
530105cf1079Smrg	_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'
530204007ebaSmrg      else
530304007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
530404007ebaSmrg      fi
530504007ebaSmrg      ;;
530604007ebaSmrg
530704007ebaSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
530804007ebaSmrg      case `$LD -v 2>&1` in
530904007ebaSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
531004007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
531104007ebaSmrg	cat <<_LT_EOF 1>&2
531204007ebaSmrg
531305cf1079Smrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
531404007ebaSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
531504007ebaSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
531604007ebaSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
531704007ebaSmrg*** your PATH or compiler configuration so that the native linker is
531804007ebaSmrg*** used, and then restart.
531904007ebaSmrg
532004007ebaSmrg_LT_EOF
532104007ebaSmrg	;;
532204007ebaSmrg	*)
532304007ebaSmrg	  # For security reasons, it is highly recommended that you always
532404007ebaSmrg	  # use absolute paths for naming shared libraries, and exclude the
532504007ebaSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
532604007ebaSmrg	  # requires that you compile everything twice, which is a pain.
532704007ebaSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
532805cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
532905cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
533005cf1079Smrg	    _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'
533104007ebaSmrg	  else
533204007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
533304007ebaSmrg	  fi
533404007ebaSmrg	;;
533504007ebaSmrg      esac
533604007ebaSmrg      ;;
533704007ebaSmrg
533804007ebaSmrg    sunos4*)
533904007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
534004007ebaSmrg      wlarc=
534104007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
534204007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
534304007ebaSmrg      ;;
534404007ebaSmrg
534504007ebaSmrg    *)
534604007ebaSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
534705cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
534805cf1079Smrg	_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'
534904007ebaSmrg      else
535004007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
535104007ebaSmrg      fi
535204007ebaSmrg      ;;
535304007ebaSmrg    esac
535404007ebaSmrg
535505cf1079Smrg    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
535604007ebaSmrg      runpath_var=
535704007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
535804007ebaSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
535904007ebaSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
536004007ebaSmrg    fi
536104007ebaSmrg  else
536204007ebaSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
536304007ebaSmrg    case $host_os in
536404007ebaSmrg    aix3*)
536504007ebaSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
536604007ebaSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
536704007ebaSmrg      _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'
536804007ebaSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
536904007ebaSmrg      # are no directories specified by -L.
537004007ebaSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
537105cf1079Smrg      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
537204007ebaSmrg	# Neither direct hardcoding nor static linking is supported with a
537304007ebaSmrg	# broken collect2.
537404007ebaSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
537504007ebaSmrg      fi
537604007ebaSmrg      ;;
537704007ebaSmrg
537804007ebaSmrg    aix[[4-9]]*)
537905cf1079Smrg      if test ia64 = "$host_cpu"; then
538004007ebaSmrg	# On IA64, the linker does run time linking by default, so we don't
538104007ebaSmrg	# have to do anything special.
538204007ebaSmrg	aix_use_runtimelinking=no
538304007ebaSmrg	exp_sym_flag='-Bexport'
538405cf1079Smrg	no_entry_flag=
538504007ebaSmrg      else
538604007ebaSmrg	# If we're using GNU nm, then we don't want the "-C" option.
538705cf1079Smrg	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
538805cf1079Smrg	# Without the "-l" option, or with the "-B" option, AIX nm treats
538905cf1079Smrg	# weak defined symbols like other global defined symbols, whereas
539005cf1079Smrg	# GNU nm marks them as "W".
539105cf1079Smrg	# While the 'weak' keyword is ignored in the Export File, we need
539205cf1079Smrg	# it in the Import File for the 'aix-soname' feature, so we have
539305cf1079Smrg	# to replace the "-B" option with "-P" for AIX nm.
539404007ebaSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
539505cf1079Smrg	  _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'
539604007ebaSmrg	else
539779d5fcd7Smrg	  _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'
539804007ebaSmrg	fi
539904007ebaSmrg	aix_use_runtimelinking=no
540004007ebaSmrg
540104007ebaSmrg	# Test if we are trying to use run time linking or normal
540204007ebaSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
540305cf1079Smrg	# have runtime linking enabled, and use it for executables.
540405cf1079Smrg	# For shared libraries, we enable/disable runtime linking
540505cf1079Smrg	# depending on the kind of the shared library created -
540605cf1079Smrg	# when "with_aix_soname,aix_use_runtimelinking" is:
540705cf1079Smrg	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
540805cf1079Smrg	# "aix,yes"  lib.so          shared, rtl:yes, for executables
540905cf1079Smrg	#            lib.a           static archive
541005cf1079Smrg	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
541105cf1079Smrg	#            lib.a(lib.so.V) shared, rtl:no,  for executables
541205cf1079Smrg	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
541305cf1079Smrg	#            lib.a(lib.so.V) shared, rtl:no
541405cf1079Smrg	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
541505cf1079Smrg	#            lib.a           static archive
541604007ebaSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
541704007ebaSmrg	  for ld_flag in $LDFLAGS; do
541805cf1079Smrg	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
541904007ebaSmrg	    aix_use_runtimelinking=yes
542004007ebaSmrg	    break
542104007ebaSmrg	  fi
542204007ebaSmrg	  done
542305cf1079Smrg	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
542405cf1079Smrg	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
542505cf1079Smrg	    # so we don't have lib.a shared libs to link our executables.
542605cf1079Smrg	    # We have to force runtime linking in this case.
542705cf1079Smrg	    aix_use_runtimelinking=yes
542805cf1079Smrg	    LDFLAGS="$LDFLAGS -Wl,-brtl"
542905cf1079Smrg	  fi
543004007ebaSmrg	  ;;
543104007ebaSmrg	esac
543204007ebaSmrg
543304007ebaSmrg	exp_sym_flag='-bexport'
543404007ebaSmrg	no_entry_flag='-bnoentry'
543504007ebaSmrg      fi
543604007ebaSmrg
543704007ebaSmrg      # When large executables or shared objects are built, AIX ld can
543804007ebaSmrg      # have problems creating the table of contents.  If linking a library
543904007ebaSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
544004007ebaSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
544104007ebaSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
544204007ebaSmrg
544304007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)=''
544404007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
544504007ebaSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
544604007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
544704007ebaSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
544805cf1079Smrg      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
544905cf1079Smrg      case $with_aix_soname,$aix_use_runtimelinking in
545005cf1079Smrg      aix,*) ;; # traditional, no import file
545105cf1079Smrg      svr4,* | *,yes) # use import file
545205cf1079Smrg	# The Import File defines what to hardcode.
545305cf1079Smrg	_LT_TAGVAR(hardcode_direct, $1)=no
545405cf1079Smrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
545505cf1079Smrg	;;
545605cf1079Smrg      esac
545704007ebaSmrg
545805cf1079Smrg      if test yes = "$GCC"; then
545904007ebaSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
546004007ebaSmrg	# We only want to do this on AIX 4.2 and lower, the check
546104007ebaSmrg	# below for broken collect2 doesn't work under 4.3+
546205cf1079Smrg	  collect2name=`$CC -print-prog-name=collect2`
546304007ebaSmrg	  if test -f "$collect2name" &&
546404007ebaSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
546504007ebaSmrg	  then
546604007ebaSmrg	  # We have reworked collect2
546704007ebaSmrg	  :
546804007ebaSmrg	  else
546904007ebaSmrg	  # We have old collect2
547004007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
547104007ebaSmrg	  # It fails to find uninstalled libraries when the uninstalled
547204007ebaSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
547304007ebaSmrg	  # to unsupported forces relinking
547404007ebaSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
547504007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
547604007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
547704007ebaSmrg	  fi
547804007ebaSmrg	  ;;
547904007ebaSmrg	esac
548004007ebaSmrg	shared_flag='-shared'
548105cf1079Smrg	if test yes = "$aix_use_runtimelinking"; then
548205cf1079Smrg	  shared_flag="$shared_flag "'$wl-G'
548304007ebaSmrg	fi
548405cf1079Smrg	# Need to ensure runtime linking is disabled for the traditional
548505cf1079Smrg	# shared library, or the linker may eventually find shared libraries
548605cf1079Smrg	# /with/ Import File - we do not want to mix them.
548705cf1079Smrg	shared_flag_aix='-shared'
548805cf1079Smrg	shared_flag_svr4='-shared $wl-G'
548904007ebaSmrg      else
549004007ebaSmrg	# not using gcc
549105cf1079Smrg	if test ia64 = "$host_cpu"; then
549204007ebaSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
549304007ebaSmrg	# chokes on -Wl,-G. The following line is correct:
549404007ebaSmrg	  shared_flag='-G'
549504007ebaSmrg	else
549605cf1079Smrg	  if test yes = "$aix_use_runtimelinking"; then
549705cf1079Smrg	    shared_flag='$wl-G'
549804007ebaSmrg	  else
549905cf1079Smrg	    shared_flag='$wl-bM:SRE'
550004007ebaSmrg	  fi
550105cf1079Smrg	  shared_flag_aix='$wl-bM:SRE'
550205cf1079Smrg	  shared_flag_svr4='$wl-G'
550304007ebaSmrg	fi
550404007ebaSmrg      fi
550504007ebaSmrg
550605cf1079Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
550704007ebaSmrg      # It seems that -bexpall does not export symbols beginning with
550804007ebaSmrg      # underscore (_), so it is better to generate a list of symbols to export.
550904007ebaSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
551005cf1079Smrg      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
551104007ebaSmrg	# Warning - without using the other runtime loading flags (-brtl),
551204007ebaSmrg	# -berok will link without error, but may produce a broken library.
551304007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
551404007ebaSmrg        # Determine the default libpath from the value encoded in an
551504007ebaSmrg        # empty executable.
551604007ebaSmrg        _LT_SYS_MODULE_PATH_AIX([$1])
551705cf1079Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
551805cf1079Smrg        _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
551904007ebaSmrg      else
552005cf1079Smrg	if test ia64 = "$host_cpu"; then
552105cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
552204007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
552305cf1079Smrg	  _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"
552404007ebaSmrg	else
552504007ebaSmrg	 # Determine the default libpath from the value encoded in an
552604007ebaSmrg	 # empty executable.
552704007ebaSmrg	 _LT_SYS_MODULE_PATH_AIX([$1])
552805cf1079Smrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
552904007ebaSmrg	  # Warning - without using the other run time loading flags,
553004007ebaSmrg	  # -berok will link without error, but may produce a broken library.
553105cf1079Smrg	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
553205cf1079Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
553305cf1079Smrg	  if test yes = "$with_gnu_ld"; then
553404007ebaSmrg	    # We only use this code for GNU lds that support --whole-archive.
553505cf1079Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
553604007ebaSmrg	  else
553704007ebaSmrg	    # Exported symbols can be pulled into shared objects from archives
553804007ebaSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
553904007ebaSmrg	  fi
554004007ebaSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
554105cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
554205cf1079Smrg	  # -brtl affects multiple linker settings, -berok does not and is overridden later
554305cf1079Smrg	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
554405cf1079Smrg	  if test svr4 != "$with_aix_soname"; then
554505cf1079Smrg	    # This is similar to how AIX traditionally builds its shared libraries.
554605cf1079Smrg	    _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'
554705cf1079Smrg	  fi
554805cf1079Smrg	  if test aix != "$with_aix_soname"; then
554905cf1079Smrg	    _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'
555005cf1079Smrg	  else
555105cf1079Smrg	    # used by -dlpreopen to get the symbols
555205cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
555305cf1079Smrg	  fi
555405cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
555504007ebaSmrg	fi
555604007ebaSmrg      fi
555704007ebaSmrg      ;;
555804007ebaSmrg
555904007ebaSmrg    amigaos*)
556004007ebaSmrg      case $host_cpu in
556104007ebaSmrg      powerpc)
556204007ebaSmrg            # see comment about AmigaOS4 .so support
556305cf1079Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
556404007ebaSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
556504007ebaSmrg        ;;
556604007ebaSmrg      m68k)
556704007ebaSmrg            _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)'
556804007ebaSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
556904007ebaSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
557004007ebaSmrg        ;;
557104007ebaSmrg      esac
557204007ebaSmrg      ;;
557304007ebaSmrg
557404007ebaSmrg    bsdi[[45]]*)
557504007ebaSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
557604007ebaSmrg      ;;
557704007ebaSmrg
557804007ebaSmrg    cygwin* | mingw* | pw32* | cegcc*)
557904007ebaSmrg      # When not using gcc, we currently assume that we are using
558079d5fcd7Smrg      # Microsoft Visual C++ or Intel C++ Compiler.
558104007ebaSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
558204007ebaSmrg      # no search path for DLLs.
558304007ebaSmrg      case $cc_basename in
558479d5fcd7Smrg      cl* | icl*)
558579d5fcd7Smrg	# Native MSVC or ICC
558604007ebaSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
558704007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
558804007ebaSmrg	_LT_TAGVAR(always_export_symbols, $1)=yes
558904007ebaSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
559004007ebaSmrg	# Tell ltmain to make .lib files, not .a files.
559104007ebaSmrg	libext=lib
559204007ebaSmrg	# Tell ltmain to make .dll files, not .so files.
559305cf1079Smrg	shrext_cmds=.dll
559404007ebaSmrg	# FIXME: Setting linknames here is a bad hack.
559505cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
559605cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
559705cf1079Smrg            cp "$export_symbols" "$output_objdir/$soname.def";
559805cf1079Smrg            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
559905cf1079Smrg          else
560005cf1079Smrg            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
560105cf1079Smrg          fi~
560205cf1079Smrg          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
560305cf1079Smrg          linknames='
560404007ebaSmrg	# The linker will not automatically build a static lib if we build a DLL.
560504007ebaSmrg	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
560604007ebaSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
560704007ebaSmrg	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
560804007ebaSmrg	_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'
560904007ebaSmrg	# Don't use ranlib
561004007ebaSmrg	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
561104007ebaSmrg	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
561205cf1079Smrg          lt_tool_outputfile="@TOOL_OUTPUT@"~
561305cf1079Smrg          case $lt_outputfile in
561405cf1079Smrg            *.exe|*.EXE) ;;
561505cf1079Smrg            *)
561605cf1079Smrg              lt_outputfile=$lt_outputfile.exe
561705cf1079Smrg              lt_tool_outputfile=$lt_tool_outputfile.exe
561805cf1079Smrg              ;;
561905cf1079Smrg          esac~
562005cf1079Smrg          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
562105cf1079Smrg            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
562205cf1079Smrg            $RM "$lt_outputfile.manifest";
562305cf1079Smrg          fi'
562404007ebaSmrg	;;
562504007ebaSmrg      *)
562679d5fcd7Smrg	# Assume MSVC and ICC wrapper
562704007ebaSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
562804007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
562904007ebaSmrg	# Tell ltmain to make .lib files, not .a files.
563004007ebaSmrg	libext=lib
563104007ebaSmrg	# Tell ltmain to make .dll files, not .so files.
563205cf1079Smrg	shrext_cmds=.dll
563304007ebaSmrg	# FIXME: Setting linknames here is a bad hack.
563404007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
563504007ebaSmrg	# The linker will automatically build a .lib file if we build a DLL.
563604007ebaSmrg	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
563704007ebaSmrg	# FIXME: Should let the user specify the lib program.
563804007ebaSmrg	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
563904007ebaSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
564004007ebaSmrg	;;
564104007ebaSmrg      esac
564204007ebaSmrg      ;;
564304007ebaSmrg
564404007ebaSmrg    darwin* | rhapsody*)
564504007ebaSmrg      _LT_DARWIN_LINKER_FEATURES($1)
564604007ebaSmrg      ;;
564704007ebaSmrg
564804007ebaSmrg    dgux*)
564904007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
565004007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
565104007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
565204007ebaSmrg      ;;
565304007ebaSmrg
565404007ebaSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
565504007ebaSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
565604007ebaSmrg    # does not break anything, and helps significantly (at the cost of a little
565704007ebaSmrg    # extra space).
565804007ebaSmrg    freebsd2.2*)
565904007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
566004007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
566104007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
566204007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
566304007ebaSmrg      ;;
566404007ebaSmrg
566504007ebaSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
566604007ebaSmrg    freebsd2.*)
566704007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
566804007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
566904007ebaSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
567004007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
567104007ebaSmrg      ;;
567204007ebaSmrg
567304007ebaSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
567479d5fcd7Smrg    freebsd* | dragonfly* | midnightbsd*)
567504007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
567604007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
567704007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
567804007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
567904007ebaSmrg      ;;
568004007ebaSmrg
568104007ebaSmrg    hpux9*)
568205cf1079Smrg      if test yes = "$GCC"; then
568305cf1079Smrg	_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'
568404007ebaSmrg      else
568505cf1079Smrg	_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'
568604007ebaSmrg      fi
568705cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
568804007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
568904007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
569004007ebaSmrg
569104007ebaSmrg      # hardcode_minus_L: Not really in the search PATH,
569204007ebaSmrg      # but as the default location of the library.
569304007ebaSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
569405cf1079Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
569504007ebaSmrg      ;;
569604007ebaSmrg
569704007ebaSmrg    hpux10*)
569805cf1079Smrg      if test yes,no = "$GCC,$with_gnu_ld"; then
569905cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
570004007ebaSmrg      else
570104007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
570204007ebaSmrg      fi
570305cf1079Smrg      if test no = "$with_gnu_ld"; then
570405cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
570504007ebaSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
570604007ebaSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
570704007ebaSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
570805cf1079Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
570904007ebaSmrg	# hardcode_minus_L: Not really in the search PATH,
571004007ebaSmrg	# but as the default location of the library.
571104007ebaSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
571204007ebaSmrg      fi
571304007ebaSmrg      ;;
571404007ebaSmrg
571504007ebaSmrg    hpux11*)
571605cf1079Smrg      if test yes,no = "$GCC,$with_gnu_ld"; then
571704007ebaSmrg	case $host_cpu in
571804007ebaSmrg	hppa*64*)
571905cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
572004007ebaSmrg	  ;;
572104007ebaSmrg	ia64*)
572205cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
572304007ebaSmrg	  ;;
572404007ebaSmrg	*)
572505cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
572604007ebaSmrg	  ;;
572704007ebaSmrg	esac
572804007ebaSmrg      else
572904007ebaSmrg	case $host_cpu in
573004007ebaSmrg	hppa*64*)
573105cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
573204007ebaSmrg	  ;;
573304007ebaSmrg	ia64*)
573405cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
573504007ebaSmrg	  ;;
573604007ebaSmrg	*)
573704007ebaSmrg	m4_if($1, [], [
573804007ebaSmrg	  # Older versions of the 11.00 compiler do not understand -b yet
573904007ebaSmrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
574004007ebaSmrg	  _LT_LINKER_OPTION([if $CC understands -b],
574104007ebaSmrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
574205cf1079Smrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
574304007ebaSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
574405cf1079Smrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
574504007ebaSmrg	  ;;
574604007ebaSmrg	esac
574704007ebaSmrg      fi
574805cf1079Smrg      if test no = "$with_gnu_ld"; then
574905cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
575004007ebaSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
575104007ebaSmrg
575204007ebaSmrg	case $host_cpu in
575304007ebaSmrg	hppa*64*|ia64*)
575404007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
575504007ebaSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
575604007ebaSmrg	  ;;
575704007ebaSmrg	*)
575804007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
575904007ebaSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
576005cf1079Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
576104007ebaSmrg
576204007ebaSmrg	  # hardcode_minus_L: Not really in the search PATH,
576304007ebaSmrg	  # but as the default location of the library.
576404007ebaSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
576504007ebaSmrg	  ;;
576604007ebaSmrg	esac
576704007ebaSmrg      fi
576804007ebaSmrg      ;;
576904007ebaSmrg
577004007ebaSmrg    irix5* | irix6* | nonstopux*)
577105cf1079Smrg      if test yes = "$GCC"; then
577205cf1079Smrg	_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'
577304007ebaSmrg	# Try to use the -exported_symbol ld option, if it does not
577404007ebaSmrg	# work, assume that -exports_file does not work either and
577504007ebaSmrg	# implicitly export all symbols.
577604007ebaSmrg	# This should be the same for all languages, so no per-tag cache variable.
577704007ebaSmrg	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
577804007ebaSmrg	  [lt_cv_irix_exported_symbol],
577905cf1079Smrg	  [save_LDFLAGS=$LDFLAGS
578005cf1079Smrg	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
578104007ebaSmrg	   AC_LINK_IFELSE(
578204007ebaSmrg	     [AC_LANG_SOURCE(
578304007ebaSmrg	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
578404007ebaSmrg			      [C++], [[int foo (void) { return 0; }]],
578504007ebaSmrg			      [Fortran 77], [[
578604007ebaSmrg      subroutine foo
578704007ebaSmrg      end]],
578804007ebaSmrg			      [Fortran], [[
578904007ebaSmrg      subroutine foo
579004007ebaSmrg      end]])])],
579104007ebaSmrg	      [lt_cv_irix_exported_symbol=yes],
579204007ebaSmrg	      [lt_cv_irix_exported_symbol=no])
579305cf1079Smrg           LDFLAGS=$save_LDFLAGS])
579405cf1079Smrg	if test yes = "$lt_cv_irix_exported_symbol"; then
579505cf1079Smrg          _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'
579604007ebaSmrg	fi
579704007ebaSmrg      else
579805cf1079Smrg	_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'
579905cf1079Smrg	_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'
580004007ebaSmrg      fi
580104007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
580205cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
580304007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
580404007ebaSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
580504007ebaSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
580604007ebaSmrg      ;;
580704007ebaSmrg
580805cf1079Smrg    linux*)
580905cf1079Smrg      case $cc_basename in
581005cf1079Smrg      tcc*)
581105cf1079Smrg	# Fabrice Bellard et al's Tiny C Compiler
581205cf1079Smrg	_LT_TAGVAR(ld_shlibs, $1)=yes
581305cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
581405cf1079Smrg	;;
581505cf1079Smrg      esac
581605cf1079Smrg      ;;
581705cf1079Smrg
581879d5fcd7Smrg    netbsd*)
581904007ebaSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
582004007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
582104007ebaSmrg      else
582204007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
582304007ebaSmrg      fi
582404007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
582504007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
582604007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
582704007ebaSmrg      ;;
582804007ebaSmrg
582904007ebaSmrg    newsos6)
583004007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
583104007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
583205cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
583304007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
583404007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
583504007ebaSmrg      ;;
583604007ebaSmrg
583704007ebaSmrg    *nto* | *qnx*)
583804007ebaSmrg      ;;
583904007ebaSmrg
584005cf1079Smrg    openbsd* | bitrig*)
584104007ebaSmrg      if test -f /usr/libexec/ld.so; then
584204007ebaSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
584304007ebaSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
584404007ebaSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
584505cf1079Smrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
584604007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
584705cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
584805cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
584905cf1079Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
585004007ebaSmrg	else
585105cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
585205cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
585304007ebaSmrg	fi
585404007ebaSmrg      else
585504007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
585604007ebaSmrg      fi
585704007ebaSmrg      ;;
585804007ebaSmrg
585904007ebaSmrg    os2*)
586004007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
586104007ebaSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
586204007ebaSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
586305cf1079Smrg      shrext_cmds=.dll
586405cf1079Smrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
586505cf1079Smrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
586605cf1079Smrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
586705cf1079Smrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
586805cf1079Smrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
586905cf1079Smrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
587005cf1079Smrg	emximp -o $lib $output_objdir/$libname.def'
587105cf1079Smrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
587205cf1079Smrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
587305cf1079Smrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
587405cf1079Smrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
587505cf1079Smrg	prefix_cmds="$SED"~
587605cf1079Smrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
587705cf1079Smrg	  prefix_cmds="$prefix_cmds -e 1d";
587805cf1079Smrg	fi~
587905cf1079Smrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
588005cf1079Smrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
588105cf1079Smrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
588205cf1079Smrg	emximp -o $lib $output_objdir/$libname.def'
588305cf1079Smrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
588405cf1079Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
588579d5fcd7Smrg      _LT_TAGVAR(file_list_spec, $1)='@'
588604007ebaSmrg      ;;
588704007ebaSmrg
588804007ebaSmrg    osf3*)
588905cf1079Smrg      if test yes = "$GCC"; then
589005cf1079Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
589105cf1079Smrg	_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'
589204007ebaSmrg      else
589304007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
589405cf1079Smrg	_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'
589504007ebaSmrg      fi
589604007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
589705cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
589804007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
589904007ebaSmrg      ;;
590004007ebaSmrg
590104007ebaSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
590205cf1079Smrg      if test yes = "$GCC"; then
590305cf1079Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
590405cf1079Smrg	_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'
590505cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
590604007ebaSmrg      else
590704007ebaSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
590805cf1079Smrg	_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'
590904007ebaSmrg	_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~
591005cf1079Smrg          $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'
591104007ebaSmrg
591204007ebaSmrg	# Both c and cxx compiler support -rpath directly
591304007ebaSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
591404007ebaSmrg      fi
591504007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
591604007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
591704007ebaSmrg      ;;
591804007ebaSmrg
591904007ebaSmrg    solaris*)
592004007ebaSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
592105cf1079Smrg      if test yes = "$GCC"; then
592205cf1079Smrg	wlarc='$wl'
592305cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
592404007ebaSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
592505cf1079Smrg          $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'
592604007ebaSmrg      else
592704007ebaSmrg	case `$CC -V 2>&1` in
592804007ebaSmrg	*"Compilers 5.0"*)
592904007ebaSmrg	  wlarc=''
593005cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
593104007ebaSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
593205cf1079Smrg            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
593304007ebaSmrg	  ;;
593404007ebaSmrg	*)
593505cf1079Smrg	  wlarc='$wl'
593605cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
593704007ebaSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
593805cf1079Smrg            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
593904007ebaSmrg	  ;;
594004007ebaSmrg	esac
594104007ebaSmrg      fi
594204007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
594304007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
594404007ebaSmrg      case $host_os in
594504007ebaSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
594604007ebaSmrg      *)
594704007ebaSmrg	# The compiler driver will combine and reorder linker options,
594805cf1079Smrg	# but understands '-z linker_flag'.  GCC discards it without '$wl',
594904007ebaSmrg	# but is careful enough not to reorder.
595004007ebaSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
595105cf1079Smrg	if test yes = "$GCC"; then
595205cf1079Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
595304007ebaSmrg	else
595404007ebaSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
595504007ebaSmrg	fi
595604007ebaSmrg	;;
595704007ebaSmrg      esac
595804007ebaSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
595904007ebaSmrg      ;;
596004007ebaSmrg
596104007ebaSmrg    sunos4*)
596205cf1079Smrg      if test sequent = "$host_vendor"; then
596304007ebaSmrg	# Use $CC to link under sequent, because it throws in some extra .o
596404007ebaSmrg	# files that make .init and .fini sections work.
596505cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
596604007ebaSmrg      else
596704007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
596804007ebaSmrg      fi
596904007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
597004007ebaSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
597104007ebaSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
597204007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
597304007ebaSmrg      ;;
597404007ebaSmrg
597504007ebaSmrg    sysv4)
597604007ebaSmrg      case $host_vendor in
597704007ebaSmrg	sni)
597804007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
597904007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
598004007ebaSmrg	;;
598104007ebaSmrg	siemens)
598204007ebaSmrg	  ## LD is ld it makes a PLAMLIB
598304007ebaSmrg	  ## CC just makes a GrossModule.
598404007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
598504007ebaSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
598604007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
598704007ebaSmrg        ;;
598804007ebaSmrg	motorola)
598904007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
599004007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
599104007ebaSmrg	;;
599204007ebaSmrg      esac
599304007ebaSmrg      runpath_var='LD_RUN_PATH'
599404007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
599504007ebaSmrg      ;;
599604007ebaSmrg
599704007ebaSmrg    sysv4.3*)
599804007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
599904007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
600004007ebaSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
600104007ebaSmrg      ;;
600204007ebaSmrg
600304007ebaSmrg    sysv4*MP*)
600404007ebaSmrg      if test -d /usr/nec; then
600504007ebaSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
600604007ebaSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
600704007ebaSmrg	runpath_var=LD_RUN_PATH
600804007ebaSmrg	hardcode_runpath_var=yes
600904007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
601004007ebaSmrg      fi
601104007ebaSmrg      ;;
601204007ebaSmrg
601304007ebaSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
601405cf1079Smrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
601504007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
601604007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
601704007ebaSmrg      runpath_var='LD_RUN_PATH'
601804007ebaSmrg
601905cf1079Smrg      if test yes = "$GCC"; then
602005cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602105cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602204007ebaSmrg      else
602305cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602405cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602504007ebaSmrg      fi
602604007ebaSmrg      ;;
602704007ebaSmrg
602804007ebaSmrg    sysv5* | sco3.2v5* | sco5v6*)
602905cf1079Smrg      # Note: We CANNOT use -z defs as we might desire, because we do not
603004007ebaSmrg      # link with -lc, and that would cause any symbols used from libc to
603104007ebaSmrg      # always be unresolved, which means just about no library would
603204007ebaSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
603304007ebaSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
603404007ebaSmrg      # as -z defs.
603505cf1079Smrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
603605cf1079Smrg      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
603704007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
603804007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
603905cf1079Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
604004007ebaSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
604104007ebaSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
604205cf1079Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
604304007ebaSmrg      runpath_var='LD_RUN_PATH'
604404007ebaSmrg
604505cf1079Smrg      if test yes = "$GCC"; then
604605cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
604705cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
604804007ebaSmrg      else
604905cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
605005cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
605104007ebaSmrg      fi
605204007ebaSmrg      ;;
605304007ebaSmrg
605404007ebaSmrg    uts4*)
605504007ebaSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
605604007ebaSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
605704007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
605804007ebaSmrg      ;;
605904007ebaSmrg
606004007ebaSmrg    *)
606104007ebaSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
606204007ebaSmrg      ;;
606304007ebaSmrg    esac
606404007ebaSmrg
606505cf1079Smrg    if test sni = "$host_vendor"; then
606604007ebaSmrg      case $host in
606704007ebaSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
606805cf1079Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
606904007ebaSmrg	;;
607004007ebaSmrg      esac
607104007ebaSmrg    fi
607204007ebaSmrg  fi
607304007ebaSmrg])
607404007ebaSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
607505cf1079Smrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
607604007ebaSmrg
607704007ebaSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
607804007ebaSmrg
607904007ebaSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
608004007ebaSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
608104007ebaSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
608204007ebaSmrg    [The commands to extract the exported symbol list from a shared archive])
608304007ebaSmrg
608404007ebaSmrg#
608504007ebaSmrg# Do we need to explicitly link libc?
608604007ebaSmrg#
608704007ebaSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
608804007ebaSmrgx|xyes)
608904007ebaSmrg  # Assume -lc should be added
609004007ebaSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
609104007ebaSmrg
609205cf1079Smrg  if test yes,yes = "$GCC,$enable_shared"; then
609304007ebaSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
609404007ebaSmrg    *'~'*)
609504007ebaSmrg      # FIXME: we may have to deal with multi-command sequences.
609604007ebaSmrg      ;;
609704007ebaSmrg    '$CC '*)
609804007ebaSmrg      # Test whether the compiler implicitly links with -lc since on some
609904007ebaSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
610004007ebaSmrg      # to ld, don't add -lc before -lgcc.
610104007ebaSmrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
610204007ebaSmrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
610304007ebaSmrg	[$RM conftest*
610404007ebaSmrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
610504007ebaSmrg
610604007ebaSmrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
610704007ebaSmrg	  soname=conftest
610804007ebaSmrg	  lib=conftest
610904007ebaSmrg	  libobjs=conftest.$ac_objext
611004007ebaSmrg	  deplibs=
611104007ebaSmrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
611204007ebaSmrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
611304007ebaSmrg	  compiler_flags=-v
611404007ebaSmrg	  linker_flags=-v
611504007ebaSmrg	  verstring=
611604007ebaSmrg	  output_objdir=.
611704007ebaSmrg	  libname=conftest
611804007ebaSmrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
611904007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
612004007ebaSmrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
612104007ebaSmrg	  then
612204007ebaSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
612304007ebaSmrg	  else
612404007ebaSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
612504007ebaSmrg	  fi
612604007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
612704007ebaSmrg	else
612804007ebaSmrg	  cat conftest.err 1>&5
612904007ebaSmrg	fi
613004007ebaSmrg	$RM conftest*
613104007ebaSmrg	])
613204007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
613304007ebaSmrg      ;;
613404007ebaSmrg    esac
613504007ebaSmrg  fi
613604007ebaSmrg  ;;
613704007ebaSmrgesac
613804007ebaSmrg
613904007ebaSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
614004007ebaSmrg    [Whether or not to add -lc for building shared libraries])
614104007ebaSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
614204007ebaSmrg    [enable_shared_with_static_runtimes], [0],
614304007ebaSmrg    [Whether or not to disallow shared libs when runtime libs are static])
614404007ebaSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
614504007ebaSmrg    [Compiler flag to allow reflexive dlopens])
614604007ebaSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
614704007ebaSmrg    [Compiler flag to generate shared objects directly from archives])
614804007ebaSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
614904007ebaSmrg    [Whether the compiler copes with passing no objects directly])
615004007ebaSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
615104007ebaSmrg    [Create an old-style archive from a shared archive])
615204007ebaSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
615304007ebaSmrg    [Create a temporary old-style archive to link instead of a shared archive])
615404007ebaSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
615504007ebaSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
615604007ebaSmrg_LT_TAGDECL([], [module_cmds], [2],
615704007ebaSmrg    [Commands used to build a loadable module if different from building
615804007ebaSmrg    a shared archive.])
615904007ebaSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
616004007ebaSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
616104007ebaSmrg    [Whether we are building with GNU ld or not])
616204007ebaSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
616304007ebaSmrg    [Flag that allows shared libraries with undefined symbols to be built])
616404007ebaSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
616504007ebaSmrg    [Flag that enforces no undefined symbols])
616604007ebaSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
616704007ebaSmrg    [Flag to hardcode $libdir into a binary during linking.
616804007ebaSmrg    This must work even if $libdir does not exist])
616904007ebaSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
617004007ebaSmrg    [Whether we need a single "-rpath" flag with a separated argument])
617104007ebaSmrg_LT_TAGDECL([], [hardcode_direct], [0],
617205cf1079Smrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
617304007ebaSmrg    DIR into the resulting binary])
617404007ebaSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
617505cf1079Smrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
617604007ebaSmrg    DIR into the resulting binary and the resulting library dependency is
617705cf1079Smrg    "absolute", i.e impossible to change by setting $shlibpath_var if the
617804007ebaSmrg    library is relocated])
617904007ebaSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
618004007ebaSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
618104007ebaSmrg    into the resulting binary])
618204007ebaSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
618304007ebaSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
618404007ebaSmrg    into the resulting binary])
618504007ebaSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
618604007ebaSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
618704007ebaSmrg    into the library and all subsequent libraries and executables linked
618804007ebaSmrg    against it])
618904007ebaSmrg_LT_TAGDECL([], [inherit_rpath], [0],
619004007ebaSmrg    [Set to yes if linker adds runtime paths of dependent libraries
619104007ebaSmrg    to runtime path list])
619204007ebaSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
619304007ebaSmrg    [Whether libtool must link a program against all its dependency libraries])
619404007ebaSmrg_LT_TAGDECL([], [always_export_symbols], [0],
619504007ebaSmrg    [Set to "yes" if exported symbols are required])
619604007ebaSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
619704007ebaSmrg    [The commands to list exported symbols])
619804007ebaSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
619904007ebaSmrg    [Symbols that should not be listed in the preloaded symbols])
620004007ebaSmrg_LT_TAGDECL([], [include_expsyms], [1],
620104007ebaSmrg    [Symbols that must always be exported])
620204007ebaSmrg_LT_TAGDECL([], [prelink_cmds], [2],
620304007ebaSmrg    [Commands necessary for linking programs (against libraries) with templates])
620404007ebaSmrg_LT_TAGDECL([], [postlink_cmds], [2],
620504007ebaSmrg    [Commands necessary for finishing linking programs])
620604007ebaSmrg_LT_TAGDECL([], [file_list_spec], [1],
620704007ebaSmrg    [Specify filename containing input files])
620804007ebaSmrgdnl FIXME: Not yet implemented
620904007ebaSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
621004007ebaSmrgdnl    [Compiler flag to generate thread safe objects])
621104007ebaSmrg])# _LT_LINKER_SHLIBS
621204007ebaSmrg
621304007ebaSmrg
621404007ebaSmrg# _LT_LANG_C_CONFIG([TAG])
621504007ebaSmrg# ------------------------
621604007ebaSmrg# Ensure that the configuration variables for a C compiler are suitably
621704007ebaSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
621805cf1079Smrg# the compiler configuration to 'libtool'.
621904007ebaSmrgm4_defun([_LT_LANG_C_CONFIG],
622004007ebaSmrg[m4_require([_LT_DECL_EGREP])dnl
622105cf1079Smrglt_save_CC=$CC
622204007ebaSmrgAC_LANG_PUSH(C)
622304007ebaSmrg
622404007ebaSmrg# Source file extension for C test sources.
622504007ebaSmrgac_ext=c
622604007ebaSmrg
622704007ebaSmrg# Object file extension for compiled C test sources.
622804007ebaSmrgobjext=o
622904007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
623004007ebaSmrg
623104007ebaSmrg# Code to be used in simple compile tests
623204007ebaSmrglt_simple_compile_test_code="int some_variable = 0;"
623304007ebaSmrg
623404007ebaSmrg# Code to be used in simple link tests
623504007ebaSmrglt_simple_link_test_code='int main(){return(0);}'
623604007ebaSmrg
623704007ebaSmrg_LT_TAG_COMPILER
623804007ebaSmrg# Save the default compiler, since it gets overwritten when the other
623904007ebaSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
624004007ebaSmrgcompiler_DEFAULT=$CC
624104007ebaSmrg
624204007ebaSmrg# save warnings/boilerplate of simple test code
624304007ebaSmrg_LT_COMPILER_BOILERPLATE
624404007ebaSmrg_LT_LINKER_BOILERPLATE
624504007ebaSmrg
624604007ebaSmrg## CAVEAT EMPTOR:
624704007ebaSmrg## There is no encapsulation within the following macros, do not change
624804007ebaSmrg## the running order or otherwise move them around unless you know exactly
624904007ebaSmrg## what you are doing...
625004007ebaSmrgif test -n "$compiler"; then
625104007ebaSmrg  _LT_COMPILER_NO_RTTI($1)
625204007ebaSmrg  _LT_COMPILER_PIC($1)
625304007ebaSmrg  _LT_COMPILER_C_O($1)
625404007ebaSmrg  _LT_COMPILER_FILE_LOCKS($1)
625504007ebaSmrg  _LT_LINKER_SHLIBS($1)
625604007ebaSmrg  _LT_SYS_DYNAMIC_LINKER($1)
625704007ebaSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
625804007ebaSmrg  LT_SYS_DLOPEN_SELF
625904007ebaSmrg  _LT_CMD_STRIPLIB
626004007ebaSmrg
626105cf1079Smrg  # Report what library types will actually be built
626204007ebaSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
626304007ebaSmrg  AC_MSG_RESULT([$can_build_shared])
626404007ebaSmrg
626504007ebaSmrg  AC_MSG_CHECKING([whether to build shared libraries])
626605cf1079Smrg  test no = "$can_build_shared" && enable_shared=no
626704007ebaSmrg
626804007ebaSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
626904007ebaSmrg  # are all built from PIC.
627004007ebaSmrg  case $host_os in
627104007ebaSmrg  aix3*)
627205cf1079Smrg    test yes = "$enable_shared" && enable_static=no
627304007ebaSmrg    if test -n "$RANLIB"; then
627404007ebaSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
627504007ebaSmrg      postinstall_cmds='$RANLIB $lib'
627604007ebaSmrg    fi
627704007ebaSmrg    ;;
627804007ebaSmrg
627904007ebaSmrg  aix[[4-9]]*)
628005cf1079Smrg    if test ia64 != "$host_cpu"; then
628105cf1079Smrg      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
628205cf1079Smrg      yes,aix,yes) ;;			# shared object as lib.so file only
628305cf1079Smrg      yes,svr4,*) ;;			# shared object as lib.so archive member only
628405cf1079Smrg      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
628505cf1079Smrg      esac
628604007ebaSmrg    fi
628704007ebaSmrg    ;;
628804007ebaSmrg  esac
628904007ebaSmrg  AC_MSG_RESULT([$enable_shared])
629004007ebaSmrg
629104007ebaSmrg  AC_MSG_CHECKING([whether to build static libraries])
629204007ebaSmrg  # Make sure either enable_shared or enable_static is yes.
629305cf1079Smrg  test yes = "$enable_shared" || enable_static=yes
629404007ebaSmrg  AC_MSG_RESULT([$enable_static])
629504007ebaSmrg
629604007ebaSmrg  _LT_CONFIG($1)
629704007ebaSmrgfi
629804007ebaSmrgAC_LANG_POP
629905cf1079SmrgCC=$lt_save_CC
630004007ebaSmrg])# _LT_LANG_C_CONFIG
630104007ebaSmrg
630204007ebaSmrg
630304007ebaSmrg# _LT_LANG_CXX_CONFIG([TAG])
630404007ebaSmrg# --------------------------
630504007ebaSmrg# Ensure that the configuration variables for a C++ compiler are suitably
630604007ebaSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
630705cf1079Smrg# the compiler configuration to 'libtool'.
630804007ebaSmrgm4_defun([_LT_LANG_CXX_CONFIG],
630904007ebaSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
631004007ebaSmrgm4_require([_LT_DECL_EGREP])dnl
631104007ebaSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
631205cf1079Smrgif test -n "$CXX" && ( test no != "$CXX" &&
631305cf1079Smrg    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
631405cf1079Smrg    (test g++ != "$CXX"))); then
631504007ebaSmrg  AC_PROG_CXXCPP
631604007ebaSmrgelse
631704007ebaSmrg  _lt_caught_CXX_error=yes
631804007ebaSmrgfi
631904007ebaSmrg
632004007ebaSmrgAC_LANG_PUSH(C++)
632104007ebaSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
632204007ebaSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
632304007ebaSmrg_LT_TAGVAR(always_export_symbols, $1)=no
632404007ebaSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
632504007ebaSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
632604007ebaSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
632704007ebaSmrg_LT_TAGVAR(hardcode_direct, $1)=no
632804007ebaSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
632904007ebaSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
633004007ebaSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
633104007ebaSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
633204007ebaSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
633304007ebaSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
633404007ebaSmrg_LT_TAGVAR(inherit_rpath, $1)=no
633504007ebaSmrg_LT_TAGVAR(module_cmds, $1)=
633604007ebaSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
633704007ebaSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
633804007ebaSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
633904007ebaSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
634004007ebaSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
634104007ebaSmrg_LT_TAGVAR(no_undefined_flag, $1)=
634204007ebaSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
634304007ebaSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
634404007ebaSmrg
634504007ebaSmrg# Source file extension for C++ test sources.
634604007ebaSmrgac_ext=cpp
634704007ebaSmrg
634804007ebaSmrg# Object file extension for compiled C++ test sources.
634904007ebaSmrgobjext=o
635004007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
635104007ebaSmrg
635204007ebaSmrg# No sense in running all these tests if we already determined that
635304007ebaSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
635404007ebaSmrg# are currently assumed to apply to all compilers on this platform,
635504007ebaSmrg# and will be corrupted by setting them based on a non-working compiler.
635605cf1079Smrgif test yes != "$_lt_caught_CXX_error"; then
635704007ebaSmrg  # Code to be used in simple compile tests
635804007ebaSmrg  lt_simple_compile_test_code="int some_variable = 0;"
635904007ebaSmrg
636004007ebaSmrg  # Code to be used in simple link tests
636104007ebaSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
636204007ebaSmrg
636304007ebaSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
636404007ebaSmrg  _LT_TAG_COMPILER
636504007ebaSmrg
636604007ebaSmrg  # save warnings/boilerplate of simple test code
636704007ebaSmrg  _LT_COMPILER_BOILERPLATE
636804007ebaSmrg  _LT_LINKER_BOILERPLATE
636904007ebaSmrg
637004007ebaSmrg  # Allow CC to be a program name with arguments.
637104007ebaSmrg  lt_save_CC=$CC
637204007ebaSmrg  lt_save_CFLAGS=$CFLAGS
637304007ebaSmrg  lt_save_LD=$LD
637404007ebaSmrg  lt_save_GCC=$GCC
637504007ebaSmrg  GCC=$GXX
637604007ebaSmrg  lt_save_with_gnu_ld=$with_gnu_ld
637704007ebaSmrg  lt_save_path_LD=$lt_cv_path_LD
637804007ebaSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
637904007ebaSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
638004007ebaSmrg  else
638104007ebaSmrg    $as_unset lt_cv_prog_gnu_ld
638204007ebaSmrg  fi
638304007ebaSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
638404007ebaSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
638504007ebaSmrg  else
638604007ebaSmrg    $as_unset lt_cv_path_LD
638704007ebaSmrg  fi
638804007ebaSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
638904007ebaSmrg  CC=${CXX-"c++"}
639004007ebaSmrg  CFLAGS=$CXXFLAGS
639104007ebaSmrg  compiler=$CC
639204007ebaSmrg  _LT_TAGVAR(compiler, $1)=$CC
639304007ebaSmrg  _LT_CC_BASENAME([$compiler])
639404007ebaSmrg
639504007ebaSmrg  if test -n "$compiler"; then
639604007ebaSmrg    # We don't want -fno-exception when compiling C++ code, so set the
639704007ebaSmrg    # no_builtin_flag separately
639805cf1079Smrg    if test yes = "$GXX"; then
639904007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
640004007ebaSmrg    else
640104007ebaSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
640204007ebaSmrg    fi
640304007ebaSmrg
640405cf1079Smrg    if test yes = "$GXX"; then
640504007ebaSmrg      # Set up default GNU C++ configuration
640604007ebaSmrg
640704007ebaSmrg      LT_PATH_LD
640804007ebaSmrg
640904007ebaSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
641004007ebaSmrg      # archiving commands below assume that GNU ld is being used.
641105cf1079Smrg      if test yes = "$with_gnu_ld"; then
641205cf1079Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
641305cf1079Smrg        _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'
641404007ebaSmrg
641505cf1079Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
641605cf1079Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
641704007ebaSmrg
641804007ebaSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
641904007ebaSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
642004007ebaSmrg        #     investigate it a little bit more. (MM)
642105cf1079Smrg        wlarc='$wl'
642204007ebaSmrg
642304007ebaSmrg        # ancient GNU ld didn't support --whole-archive et. al.
642404007ebaSmrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
642504007ebaSmrg	  $GREP 'no-whole-archive' > /dev/null; then
642605cf1079Smrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
642704007ebaSmrg        else
642804007ebaSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
642904007ebaSmrg        fi
643004007ebaSmrg      else
643104007ebaSmrg        with_gnu_ld=no
643204007ebaSmrg        wlarc=
643304007ebaSmrg
643404007ebaSmrg        # A generic and very simple default shared library creation
643504007ebaSmrg        # command for GNU C++ for the case where it uses the native
643604007ebaSmrg        # linker, instead of GNU ld.  If possible, this setting should
643704007ebaSmrg        # overridden to take advantage of the native linker features on
643804007ebaSmrg        # the platform it is being used on.
643904007ebaSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
644004007ebaSmrg      fi
644104007ebaSmrg
644204007ebaSmrg      # Commands to make compiler produce verbose output that lists
644304007ebaSmrg      # what "hidden" libraries, object files and flags are used when
644404007ebaSmrg      # linking a shared library.
644579d5fcd7Smrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
644604007ebaSmrg
644704007ebaSmrg    else
644804007ebaSmrg      GXX=no
644904007ebaSmrg      with_gnu_ld=no
645004007ebaSmrg      wlarc=
645104007ebaSmrg    fi
645204007ebaSmrg
645304007ebaSmrg    # PORTME: fill in a description of your system's C++ link characteristics
645404007ebaSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
645504007ebaSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
645604007ebaSmrg    case $host_os in
645704007ebaSmrg      aix3*)
645804007ebaSmrg        # FIXME: insert proper C++ library support
645904007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
646004007ebaSmrg        ;;
646104007ebaSmrg      aix[[4-9]]*)
646205cf1079Smrg        if test ia64 = "$host_cpu"; then
646304007ebaSmrg          # On IA64, the linker does run time linking by default, so we don't
646404007ebaSmrg          # have to do anything special.
646504007ebaSmrg          aix_use_runtimelinking=no
646604007ebaSmrg          exp_sym_flag='-Bexport'
646705cf1079Smrg          no_entry_flag=
646804007ebaSmrg        else
646904007ebaSmrg          aix_use_runtimelinking=no
647004007ebaSmrg
647104007ebaSmrg          # Test if we are trying to use run time linking or normal
647204007ebaSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
647305cf1079Smrg          # have runtime linking enabled, and use it for executables.
647405cf1079Smrg          # For shared libraries, we enable/disable runtime linking
647505cf1079Smrg          # depending on the kind of the shared library created -
647605cf1079Smrg          # when "with_aix_soname,aix_use_runtimelinking" is:
647705cf1079Smrg          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
647805cf1079Smrg          # "aix,yes"  lib.so          shared, rtl:yes, for executables
647905cf1079Smrg          #            lib.a           static archive
648005cf1079Smrg          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
648105cf1079Smrg          #            lib.a(lib.so.V) shared, rtl:no,  for executables
648205cf1079Smrg          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
648305cf1079Smrg          #            lib.a(lib.so.V) shared, rtl:no
648405cf1079Smrg          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
648505cf1079Smrg          #            lib.a           static archive
648604007ebaSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
648704007ebaSmrg	    for ld_flag in $LDFLAGS; do
648804007ebaSmrg	      case $ld_flag in
648904007ebaSmrg	      *-brtl*)
649004007ebaSmrg	        aix_use_runtimelinking=yes
649104007ebaSmrg	        break
649204007ebaSmrg	        ;;
649304007ebaSmrg	      esac
649404007ebaSmrg	    done
649505cf1079Smrg	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
649605cf1079Smrg	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
649705cf1079Smrg	      # so we don't have lib.a shared libs to link our executables.
649805cf1079Smrg	      # We have to force runtime linking in this case.
649905cf1079Smrg	      aix_use_runtimelinking=yes
650005cf1079Smrg	      LDFLAGS="$LDFLAGS -Wl,-brtl"
650105cf1079Smrg	    fi
650204007ebaSmrg	    ;;
650304007ebaSmrg          esac
650404007ebaSmrg
650504007ebaSmrg          exp_sym_flag='-bexport'
650604007ebaSmrg          no_entry_flag='-bnoentry'
650704007ebaSmrg        fi
650804007ebaSmrg
650904007ebaSmrg        # When large executables or shared objects are built, AIX ld can
651004007ebaSmrg        # have problems creating the table of contents.  If linking a library
651104007ebaSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
651204007ebaSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
651304007ebaSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
651404007ebaSmrg
651504007ebaSmrg        _LT_TAGVAR(archive_cmds, $1)=''
651604007ebaSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
651704007ebaSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
651804007ebaSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
651904007ebaSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
652005cf1079Smrg        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
652105cf1079Smrg        case $with_aix_soname,$aix_use_runtimelinking in
652205cf1079Smrg        aix,*) ;;	# no import file
652305cf1079Smrg        svr4,* | *,yes) # use import file
652405cf1079Smrg          # The Import File defines what to hardcode.
652505cf1079Smrg          _LT_TAGVAR(hardcode_direct, $1)=no
652605cf1079Smrg          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
652705cf1079Smrg          ;;
652805cf1079Smrg        esac
652904007ebaSmrg
653005cf1079Smrg        if test yes = "$GXX"; then
653104007ebaSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
653204007ebaSmrg          # We only want to do this on AIX 4.2 and lower, the check
653304007ebaSmrg          # below for broken collect2 doesn't work under 4.3+
653405cf1079Smrg	  collect2name=`$CC -print-prog-name=collect2`
653504007ebaSmrg	  if test -f "$collect2name" &&
653604007ebaSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
653704007ebaSmrg	  then
653804007ebaSmrg	    # We have reworked collect2
653904007ebaSmrg	    :
654004007ebaSmrg	  else
654104007ebaSmrg	    # We have old collect2
654204007ebaSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
654304007ebaSmrg	    # It fails to find uninstalled libraries when the uninstalled
654404007ebaSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
654504007ebaSmrg	    # to unsupported forces relinking
654604007ebaSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
654704007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
654804007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
654904007ebaSmrg	  fi
655004007ebaSmrg          esac
655104007ebaSmrg          shared_flag='-shared'
655205cf1079Smrg	  if test yes = "$aix_use_runtimelinking"; then
655305cf1079Smrg	    shared_flag=$shared_flag' $wl-G'
655404007ebaSmrg	  fi
655505cf1079Smrg	  # Need to ensure runtime linking is disabled for the traditional
655605cf1079Smrg	  # shared library, or the linker may eventually find shared libraries
655705cf1079Smrg	  # /with/ Import File - we do not want to mix them.
655805cf1079Smrg	  shared_flag_aix='-shared'
655905cf1079Smrg	  shared_flag_svr4='-shared $wl-G'
656004007ebaSmrg        else
656104007ebaSmrg          # not using gcc
656205cf1079Smrg          if test ia64 = "$host_cpu"; then
656304007ebaSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
656404007ebaSmrg	  # chokes on -Wl,-G. The following line is correct:
656504007ebaSmrg	  shared_flag='-G'
656604007ebaSmrg          else
656705cf1079Smrg	    if test yes = "$aix_use_runtimelinking"; then
656805cf1079Smrg	      shared_flag='$wl-G'
656904007ebaSmrg	    else
657005cf1079Smrg	      shared_flag='$wl-bM:SRE'
657104007ebaSmrg	    fi
657205cf1079Smrg	    shared_flag_aix='$wl-bM:SRE'
657305cf1079Smrg	    shared_flag_svr4='$wl-G'
657404007ebaSmrg          fi
657504007ebaSmrg        fi
657604007ebaSmrg
657705cf1079Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
657804007ebaSmrg        # It seems that -bexpall does not export symbols beginning with
657904007ebaSmrg        # underscore (_), so it is better to generate a list of symbols to
658004007ebaSmrg	# export.
658104007ebaSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
658205cf1079Smrg	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
658304007ebaSmrg          # Warning - without using the other runtime loading flags (-brtl),
658404007ebaSmrg          # -berok will link without error, but may produce a broken library.
658505cf1079Smrg          # The "-G" linker flag allows undefined symbols.
658605cf1079Smrg          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
658704007ebaSmrg          # Determine the default libpath from the value encoded in an empty
658804007ebaSmrg          # executable.
658904007ebaSmrg          _LT_SYS_MODULE_PATH_AIX([$1])
659005cf1079Smrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
659104007ebaSmrg
659205cf1079Smrg          _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
659304007ebaSmrg        else
659405cf1079Smrg          if test ia64 = "$host_cpu"; then
659505cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
659604007ebaSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
659705cf1079Smrg	    _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"
659804007ebaSmrg          else
659904007ebaSmrg	    # Determine the default libpath from the value encoded in an
660004007ebaSmrg	    # empty executable.
660104007ebaSmrg	    _LT_SYS_MODULE_PATH_AIX([$1])
660205cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
660304007ebaSmrg	    # Warning - without using the other run time loading flags,
660404007ebaSmrg	    # -berok will link without error, but may produce a broken library.
660505cf1079Smrg	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
660605cf1079Smrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
660705cf1079Smrg	    if test yes = "$with_gnu_ld"; then
660804007ebaSmrg	      # We only use this code for GNU lds that support --whole-archive.
660905cf1079Smrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
661004007ebaSmrg	    else
661104007ebaSmrg	      # Exported symbols can be pulled into shared objects from archives
661204007ebaSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
661304007ebaSmrg	    fi
661404007ebaSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
661505cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
661605cf1079Smrg	    # -brtl affects multiple linker settings, -berok does not and is overridden later
661705cf1079Smrg	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
661805cf1079Smrg	    if test svr4 != "$with_aix_soname"; then
661905cf1079Smrg	      # This is similar to how AIX traditionally builds its shared
662005cf1079Smrg	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
662105cf1079Smrg	      _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'
662205cf1079Smrg	    fi
662305cf1079Smrg	    if test aix != "$with_aix_soname"; then
662405cf1079Smrg	      _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'
662505cf1079Smrg	    else
662605cf1079Smrg	      # used by -dlpreopen to get the symbols
662705cf1079Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
662805cf1079Smrg	    fi
662905cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
663004007ebaSmrg          fi
663104007ebaSmrg        fi
663204007ebaSmrg        ;;
663304007ebaSmrg
663404007ebaSmrg      beos*)
663504007ebaSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
663604007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
663704007ebaSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
663804007ebaSmrg	  # support --undefined.  This deserves some investigation.  FIXME
663905cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
664004007ebaSmrg	else
664104007ebaSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
664204007ebaSmrg	fi
664304007ebaSmrg	;;
664404007ebaSmrg
664504007ebaSmrg      chorus*)
664604007ebaSmrg        case $cc_basename in
664704007ebaSmrg          *)
664804007ebaSmrg	  # FIXME: insert proper C++ library support
664904007ebaSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
665004007ebaSmrg	  ;;
665104007ebaSmrg        esac
665204007ebaSmrg        ;;
665304007ebaSmrg
665404007ebaSmrg      cygwin* | mingw* | pw32* | cegcc*)
665504007ebaSmrg	case $GXX,$cc_basename in
665679d5fcd7Smrg	,cl* | no,cl* | ,icl* | no,icl*)
665779d5fcd7Smrg	  # Native MSVC or ICC
665804007ebaSmrg	  # hardcode_libdir_flag_spec is actually meaningless, as there is
665904007ebaSmrg	  # no search path for DLLs.
666004007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
666104007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
666204007ebaSmrg	  _LT_TAGVAR(always_export_symbols, $1)=yes
666304007ebaSmrg	  _LT_TAGVAR(file_list_spec, $1)='@'
666404007ebaSmrg	  # Tell ltmain to make .lib files, not .a files.
666504007ebaSmrg	  libext=lib
666604007ebaSmrg	  # Tell ltmain to make .dll files, not .so files.
666705cf1079Smrg	  shrext_cmds=.dll
666804007ebaSmrg	  # FIXME: Setting linknames here is a bad hack.
666905cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
667005cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
667105cf1079Smrg              cp "$export_symbols" "$output_objdir/$soname.def";
667205cf1079Smrg              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
667305cf1079Smrg            else
667405cf1079Smrg              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
667505cf1079Smrg            fi~
667605cf1079Smrg            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
667705cf1079Smrg            linknames='
667804007ebaSmrg	  # The linker will not automatically build a static lib if we build a DLL.
667904007ebaSmrg	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
668004007ebaSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
668104007ebaSmrg	  # Don't use ranlib
668204007ebaSmrg	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
668304007ebaSmrg	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
668405cf1079Smrg            lt_tool_outputfile="@TOOL_OUTPUT@"~
668505cf1079Smrg            case $lt_outputfile in
668605cf1079Smrg              *.exe|*.EXE) ;;
668705cf1079Smrg              *)
668805cf1079Smrg                lt_outputfile=$lt_outputfile.exe
668905cf1079Smrg                lt_tool_outputfile=$lt_tool_outputfile.exe
669005cf1079Smrg                ;;
669105cf1079Smrg            esac~
669205cf1079Smrg            func_to_tool_file "$lt_outputfile"~
669305cf1079Smrg            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
669405cf1079Smrg              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
669505cf1079Smrg              $RM "$lt_outputfile.manifest";
669605cf1079Smrg            fi'
669704007ebaSmrg	  ;;
669804007ebaSmrg	*)
669904007ebaSmrg	  # g++
670004007ebaSmrg	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
670104007ebaSmrg	  # as there is no search path for DLLs.
670204007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
670305cf1079Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
670404007ebaSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
670504007ebaSmrg	  _LT_TAGVAR(always_export_symbols, $1)=no
670604007ebaSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
670704007ebaSmrg
670804007ebaSmrg	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
670905cf1079Smrg	    _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'
671005cf1079Smrg	    # If the export-symbols file already is a .def file, use it as
671105cf1079Smrg	    # is; otherwise, prepend EXPORTS...
671205cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
671305cf1079Smrg              cp $export_symbols $output_objdir/$soname.def;
671405cf1079Smrg            else
671505cf1079Smrg              echo EXPORTS > $output_objdir/$soname.def;
671605cf1079Smrg              cat $export_symbols >> $output_objdir/$soname.def;
671705cf1079Smrg            fi~
671805cf1079Smrg            $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'
671904007ebaSmrg	  else
672004007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
672104007ebaSmrg	  fi
672204007ebaSmrg	  ;;
672304007ebaSmrg	esac
672404007ebaSmrg	;;
672504007ebaSmrg      darwin* | rhapsody*)
672604007ebaSmrg        _LT_DARWIN_LINKER_FEATURES($1)
672704007ebaSmrg	;;
672804007ebaSmrg
672905cf1079Smrg      os2*)
673005cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
673105cf1079Smrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
673205cf1079Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
673305cf1079Smrg	shrext_cmds=.dll
673405cf1079Smrg	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
673505cf1079Smrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
673605cf1079Smrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
673705cf1079Smrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
673805cf1079Smrg	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
673905cf1079Smrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
674005cf1079Smrg	  emximp -o $lib $output_objdir/$libname.def'
674105cf1079Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
674205cf1079Smrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
674305cf1079Smrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
674405cf1079Smrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
674505cf1079Smrg	  prefix_cmds="$SED"~
674605cf1079Smrg	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
674705cf1079Smrg	    prefix_cmds="$prefix_cmds -e 1d";
674805cf1079Smrg	  fi~
674905cf1079Smrg	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
675005cf1079Smrg	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
675105cf1079Smrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
675205cf1079Smrg	  emximp -o $lib $output_objdir/$libname.def'
675305cf1079Smrg	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
675405cf1079Smrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
675579d5fcd7Smrg	_LT_TAGVAR(file_list_spec, $1)='@'
675605cf1079Smrg	;;
675705cf1079Smrg
675804007ebaSmrg      dgux*)
675904007ebaSmrg        case $cc_basename in
676004007ebaSmrg          ec++*)
676104007ebaSmrg	    # FIXME: insert proper C++ library support
676204007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
676304007ebaSmrg	    ;;
676404007ebaSmrg          ghcx*)
676504007ebaSmrg	    # Green Hills C++ Compiler
676604007ebaSmrg	    # FIXME: insert proper C++ library support
676704007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
676804007ebaSmrg	    ;;
676904007ebaSmrg          *)
677004007ebaSmrg	    # FIXME: insert proper C++ library support
677104007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
677204007ebaSmrg	    ;;
677304007ebaSmrg        esac
677404007ebaSmrg        ;;
677504007ebaSmrg
677604007ebaSmrg      freebsd2.*)
677704007ebaSmrg        # C++ shared libraries reported to be fairly broken before
677804007ebaSmrg	# switch to ELF
677904007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
678004007ebaSmrg        ;;
678104007ebaSmrg
678204007ebaSmrg      freebsd-elf*)
678304007ebaSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
678404007ebaSmrg        ;;
678504007ebaSmrg
678679d5fcd7Smrg      freebsd* | dragonfly* | midnightbsd*)
678704007ebaSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
678804007ebaSmrg        # conventions
678904007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
679004007ebaSmrg        ;;
679104007ebaSmrg
679204007ebaSmrg      haiku*)
679305cf1079Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
679404007ebaSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
679504007ebaSmrg        ;;
679604007ebaSmrg
679704007ebaSmrg      hpux9*)
679805cf1079Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
679904007ebaSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
680005cf1079Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
680104007ebaSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
680204007ebaSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
680304007ebaSmrg				             # but as the default
680404007ebaSmrg				             # location of the library.
680504007ebaSmrg
680604007ebaSmrg        case $cc_basename in
680704007ebaSmrg          CC*)
680804007ebaSmrg            # FIXME: insert proper C++ library support
680904007ebaSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
681004007ebaSmrg            ;;
681104007ebaSmrg          aCC*)
681205cf1079Smrg            _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'
681304007ebaSmrg            # Commands to make compiler produce verbose output that lists
681404007ebaSmrg            # what "hidden" libraries, object files and flags are used when
681504007ebaSmrg            # linking a shared library.
681604007ebaSmrg            #
681704007ebaSmrg            # There doesn't appear to be a way to prevent this compiler from
681804007ebaSmrg            # explicitly linking system object files so we need to strip them
681904007ebaSmrg            # from the output so that they don't get included in the library
682004007ebaSmrg            # dependencies.
682179d5fcd7Smrg            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"'
682204007ebaSmrg            ;;
682304007ebaSmrg          *)
682405cf1079Smrg            if test yes = "$GXX"; then
682505cf1079Smrg              _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'
682604007ebaSmrg            else
682704007ebaSmrg              # FIXME: insert proper C++ library support
682804007ebaSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
682904007ebaSmrg            fi
683004007ebaSmrg            ;;
683104007ebaSmrg        esac
683204007ebaSmrg        ;;
683304007ebaSmrg
683404007ebaSmrg      hpux10*|hpux11*)
683505cf1079Smrg        if test no = "$with_gnu_ld"; then
683605cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
683704007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
683804007ebaSmrg
683904007ebaSmrg          case $host_cpu in
684004007ebaSmrg            hppa*64*|ia64*)
684104007ebaSmrg              ;;
684204007ebaSmrg            *)
684305cf1079Smrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
684404007ebaSmrg              ;;
684504007ebaSmrg          esac
684604007ebaSmrg        fi
684704007ebaSmrg        case $host_cpu in
684804007ebaSmrg          hppa*64*|ia64*)
684904007ebaSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
685004007ebaSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
685104007ebaSmrg            ;;
685204007ebaSmrg          *)
685304007ebaSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
685404007ebaSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
685504007ebaSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
685604007ebaSmrg					         # but as the default
685704007ebaSmrg					         # location of the library.
685804007ebaSmrg            ;;
685904007ebaSmrg        esac
686004007ebaSmrg
686104007ebaSmrg        case $cc_basename in
686204007ebaSmrg          CC*)
686304007ebaSmrg	    # FIXME: insert proper C++ library support
686404007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
686504007ebaSmrg	    ;;
686604007ebaSmrg          aCC*)
686704007ebaSmrg	    case $host_cpu in
686804007ebaSmrg	      hppa*64*)
686905cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
687004007ebaSmrg	        ;;
687104007ebaSmrg	      ia64*)
687205cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
687304007ebaSmrg	        ;;
687404007ebaSmrg	      *)
687505cf1079Smrg	        _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'
687604007ebaSmrg	        ;;
687704007ebaSmrg	    esac
687804007ebaSmrg	    # Commands to make compiler produce verbose output that lists
687904007ebaSmrg	    # what "hidden" libraries, object files and flags are used when
688004007ebaSmrg	    # linking a shared library.
688104007ebaSmrg	    #
688204007ebaSmrg	    # There doesn't appear to be a way to prevent this compiler from
688304007ebaSmrg	    # explicitly linking system object files so we need to strip them
688404007ebaSmrg	    # from the output so that they don't get included in the library
688504007ebaSmrg	    # dependencies.
688679d5fcd7Smrg	    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"'
688704007ebaSmrg	    ;;
688804007ebaSmrg          *)
688905cf1079Smrg	    if test yes = "$GXX"; then
689005cf1079Smrg	      if test no = "$with_gnu_ld"; then
689104007ebaSmrg	        case $host_cpu in
689204007ebaSmrg	          hppa*64*)
689305cf1079Smrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
689404007ebaSmrg	            ;;
689504007ebaSmrg	          ia64*)
689605cf1079Smrg	            _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'
689704007ebaSmrg	            ;;
689804007ebaSmrg	          *)
689905cf1079Smrg	            _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'
690004007ebaSmrg	            ;;
690104007ebaSmrg	        esac
690204007ebaSmrg	      fi
690304007ebaSmrg	    else
690404007ebaSmrg	      # FIXME: insert proper C++ library support
690504007ebaSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
690604007ebaSmrg	    fi
690704007ebaSmrg	    ;;
690804007ebaSmrg        esac
690904007ebaSmrg        ;;
691004007ebaSmrg
691104007ebaSmrg      interix[[3-9]]*)
691204007ebaSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
691304007ebaSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
691405cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
691505cf1079Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
691604007ebaSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
691704007ebaSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
691804007ebaSmrg	# default) and relocated if they conflict, which is a slow very memory
691904007ebaSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
692004007ebaSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
692104007ebaSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
692205cf1079Smrg	_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'
692379d5fcd7Smrg	_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'
692404007ebaSmrg	;;
692504007ebaSmrg      irix5* | irix6*)
692604007ebaSmrg        case $cc_basename in
692704007ebaSmrg          CC*)
692804007ebaSmrg	    # SGI C++
692905cf1079Smrg	    _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'
693004007ebaSmrg
693104007ebaSmrg	    # Archives containing C++ object files must be created using
693204007ebaSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
693304007ebaSmrg	    # necessary to make sure instantiated templates are included
693404007ebaSmrg	    # in the archive.
693504007ebaSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
693604007ebaSmrg	    ;;
693704007ebaSmrg          *)
693805cf1079Smrg	    if test yes = "$GXX"; then
693905cf1079Smrg	      if test no = "$with_gnu_ld"; then
694005cf1079Smrg	        _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'
694104007ebaSmrg	      else
694205cf1079Smrg	        _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'
694304007ebaSmrg	      fi
694404007ebaSmrg	    fi
694504007ebaSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
694604007ebaSmrg	    ;;
694704007ebaSmrg        esac
694805cf1079Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
694904007ebaSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
695004007ebaSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
695104007ebaSmrg        ;;
695204007ebaSmrg
695304007ebaSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
695404007ebaSmrg        case $cc_basename in
695504007ebaSmrg          KCC*)
695604007ebaSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
695704007ebaSmrg
695804007ebaSmrg	    # KCC will only create a shared library if the output file
695904007ebaSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
696004007ebaSmrg	    # to its proper name (with version) after linking.
696105cf1079Smrg	    _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'
696205cf1079Smrg	    _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'
696304007ebaSmrg	    # Commands to make compiler produce verbose output that lists
696404007ebaSmrg	    # what "hidden" libraries, object files and flags are used when
696504007ebaSmrg	    # linking a shared library.
696604007ebaSmrg	    #
696704007ebaSmrg	    # There doesn't appear to be a way to prevent this compiler from
696804007ebaSmrg	    # explicitly linking system object files so we need to strip them
696904007ebaSmrg	    # from the output so that they don't get included in the library
697004007ebaSmrg	    # dependencies.
697105cf1079Smrg	    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"'
697204007ebaSmrg
697305cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
697405cf1079Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
697504007ebaSmrg
697604007ebaSmrg	    # Archives containing C++ object files must be created using
697704007ebaSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
697804007ebaSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
697904007ebaSmrg	    ;;
698004007ebaSmrg	  icpc* | ecpc* )
698104007ebaSmrg	    # Intel C++
698204007ebaSmrg	    with_gnu_ld=yes
698304007ebaSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
698404007ebaSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
698504007ebaSmrg	    # earlier do not add the objects themselves.
698604007ebaSmrg	    case `$CC -V 2>&1` in
698704007ebaSmrg	      *"Version 7."*)
698805cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
698905cf1079Smrg		_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'
699004007ebaSmrg		;;
699104007ebaSmrg	      *)  # Version 8.0 or newer
699204007ebaSmrg	        tmp_idyn=
699304007ebaSmrg	        case $host_cpu in
699404007ebaSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
699504007ebaSmrg		esac
699605cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
699705cf1079Smrg		_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'
699804007ebaSmrg		;;
699904007ebaSmrg	    esac
700004007ebaSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
700105cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
700205cf1079Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
700305cf1079Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
700404007ebaSmrg	    ;;
700504007ebaSmrg          pgCC* | pgcpp*)
700604007ebaSmrg            # Portland Group C++ compiler
700704007ebaSmrg	    case `$CC -V` in
700804007ebaSmrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
700904007ebaSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
701005cf1079Smrg               rm -rf $tpldir~
701105cf1079Smrg               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
701205cf1079Smrg               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
701304007ebaSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
701405cf1079Smrg                rm -rf $tpldir~
701505cf1079Smrg                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
701605cf1079Smrg                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
701705cf1079Smrg                $RANLIB $oldlib'
701804007ebaSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
701905cf1079Smrg                rm -rf $tpldir~
702005cf1079Smrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
702105cf1079Smrg                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
702204007ebaSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
702305cf1079Smrg                rm -rf $tpldir~
702405cf1079Smrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
702505cf1079Smrg                $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'
702604007ebaSmrg	      ;;
702704007ebaSmrg	    *) # Version 6 and above use weak symbols
702805cf1079Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
702905cf1079Smrg	      _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'
703004007ebaSmrg	      ;;
703104007ebaSmrg	    esac
703204007ebaSmrg
703305cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
703405cf1079Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
703505cf1079Smrg	    _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'
703604007ebaSmrg            ;;
703704007ebaSmrg	  cxx*)
703804007ebaSmrg	    # Compaq C++
703905cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
704005cf1079Smrg	    _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'
704104007ebaSmrg
704204007ebaSmrg	    runpath_var=LD_RUN_PATH
704304007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
704404007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
704504007ebaSmrg
704604007ebaSmrg	    # Commands to make compiler produce verbose output that lists
704704007ebaSmrg	    # what "hidden" libraries, object files and flags are used when
704804007ebaSmrg	    # linking a shared library.
704904007ebaSmrg	    #
705004007ebaSmrg	    # There doesn't appear to be a way to prevent this compiler from
705104007ebaSmrg	    # explicitly linking system object files so we need to strip them
705204007ebaSmrg	    # from the output so that they don't get included in the library
705304007ebaSmrg	    # dependencies.
705405cf1079Smrg	    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'
705504007ebaSmrg	    ;;
705604007ebaSmrg	  xl* | mpixl* | bgxl*)
705704007ebaSmrg	    # IBM XL 8.0 on PPC, with GNU ld
705805cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
705905cf1079Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
706005cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
706105cf1079Smrg	    if test yes = "$supports_anon_versioning"; then
706204007ebaSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
706379d5fcd7Smrg                cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
706405cf1079Smrg                echo "local: *; };" >> $output_objdir/$libname.ver~
706505cf1079Smrg                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
706604007ebaSmrg	    fi
706704007ebaSmrg	    ;;
706804007ebaSmrg	  *)
706979d5fcd7Smrg	    case `$CC -V 2>&1 | $SED 5q` in
707004007ebaSmrg	    *Sun\ C*)
707104007ebaSmrg	      # Sun C++ 5.9
707204007ebaSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
707305cf1079Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
707405cf1079Smrg	      _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'
707504007ebaSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
707605cf1079Smrg	      _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'
707704007ebaSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
707804007ebaSmrg
707904007ebaSmrg	      # Not sure whether something based on
708004007ebaSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
708104007ebaSmrg	      # would be better.
708204007ebaSmrg	      output_verbose_link_cmd='func_echo_all'
708304007ebaSmrg
708404007ebaSmrg	      # Archives containing C++ object files must be created using
708504007ebaSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
708604007ebaSmrg	      # necessary to make sure instantiated templates are included
708704007ebaSmrg	      # in the archive.
708804007ebaSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
708904007ebaSmrg	      ;;
709004007ebaSmrg	    esac
709104007ebaSmrg	    ;;
709204007ebaSmrg	esac
709304007ebaSmrg	;;
709404007ebaSmrg
709504007ebaSmrg      lynxos*)
709604007ebaSmrg        # FIXME: insert proper C++ library support
709704007ebaSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
709804007ebaSmrg	;;
709904007ebaSmrg
710004007ebaSmrg      m88k*)
710104007ebaSmrg        # FIXME: insert proper C++ library support
710204007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
710304007ebaSmrg	;;
710404007ebaSmrg
710504007ebaSmrg      mvs*)
710604007ebaSmrg        case $cc_basename in
710704007ebaSmrg          cxx*)
710804007ebaSmrg	    # FIXME: insert proper C++ library support
710904007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
711004007ebaSmrg	    ;;
711104007ebaSmrg	  *)
711204007ebaSmrg	    # FIXME: insert proper C++ library support
711304007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
711404007ebaSmrg	    ;;
711504007ebaSmrg	esac
711604007ebaSmrg	;;
711704007ebaSmrg
711804007ebaSmrg      netbsd*)
711904007ebaSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
712004007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
712104007ebaSmrg	  wlarc=
712204007ebaSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
712304007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
712404007ebaSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
712504007ebaSmrg	fi
712604007ebaSmrg	# Workaround some broken pre-1.5 toolchains
712704007ebaSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
712804007ebaSmrg	;;
712904007ebaSmrg
713004007ebaSmrg      *nto* | *qnx*)
713104007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
713204007ebaSmrg	;;
713304007ebaSmrg
713405cf1079Smrg      openbsd* | bitrig*)
713504007ebaSmrg	if test -f /usr/libexec/ld.so; then
713604007ebaSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
713704007ebaSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
713804007ebaSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
713904007ebaSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
714005cf1079Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
714105cf1079Smrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
714205cf1079Smrg	    _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'
714305cf1079Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
714405cf1079Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
714504007ebaSmrg	  fi
714604007ebaSmrg	  output_verbose_link_cmd=func_echo_all
714704007ebaSmrg	else
714804007ebaSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
714904007ebaSmrg	fi
715004007ebaSmrg	;;
715104007ebaSmrg
715204007ebaSmrg      osf3* | osf4* | osf5*)
715304007ebaSmrg        case $cc_basename in
715404007ebaSmrg          KCC*)
715504007ebaSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
715604007ebaSmrg
715704007ebaSmrg	    # KCC will only create a shared library if the output file
715804007ebaSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
715904007ebaSmrg	    # to its proper name (with version) after linking.
716005cf1079Smrg	    _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'
716104007ebaSmrg
716205cf1079Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
716304007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
716404007ebaSmrg
716504007ebaSmrg	    # Archives containing C++ object files must be created using
716604007ebaSmrg	    # the KAI C++ compiler.
716704007ebaSmrg	    case $host in
716804007ebaSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
716904007ebaSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
717004007ebaSmrg	    esac
717104007ebaSmrg	    ;;
717204007ebaSmrg          RCC*)
717304007ebaSmrg	    # Rational C++ 2.4.1
717404007ebaSmrg	    # FIXME: insert proper C++ library support
717504007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
717604007ebaSmrg	    ;;
717704007ebaSmrg          cxx*)
717804007ebaSmrg	    case $host in
717904007ebaSmrg	      osf3*)
718005cf1079Smrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
718105cf1079Smrg	        _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'
718205cf1079Smrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
718304007ebaSmrg		;;
718404007ebaSmrg	      *)
718504007ebaSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
718605cf1079Smrg	        _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'
718704007ebaSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
718805cf1079Smrg                  echo "-hidden">> $lib.exp~
718905cf1079Smrg                  $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~
719005cf1079Smrg                  $RM $lib.exp'
719104007ebaSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
719204007ebaSmrg		;;
719304007ebaSmrg	    esac
719404007ebaSmrg
719504007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
719604007ebaSmrg
719704007ebaSmrg	    # Commands to make compiler produce verbose output that lists
719804007ebaSmrg	    # what "hidden" libraries, object files and flags are used when
719904007ebaSmrg	    # linking a shared library.
720004007ebaSmrg	    #
720104007ebaSmrg	    # There doesn't appear to be a way to prevent this compiler from
720204007ebaSmrg	    # explicitly linking system object files so we need to strip them
720304007ebaSmrg	    # from the output so that they don't get included in the library
720404007ebaSmrg	    # dependencies.
720505cf1079Smrg	    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"'
720604007ebaSmrg	    ;;
720704007ebaSmrg	  *)
720805cf1079Smrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
720905cf1079Smrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
721004007ebaSmrg	      case $host in
721104007ebaSmrg	        osf3*)
721205cf1079Smrg	          _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'
721304007ebaSmrg		  ;;
721404007ebaSmrg	        *)
721505cf1079Smrg	          _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'
721604007ebaSmrg		  ;;
721704007ebaSmrg	      esac
721804007ebaSmrg
721905cf1079Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
722004007ebaSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
722104007ebaSmrg
722204007ebaSmrg	      # Commands to make compiler produce verbose output that lists
722304007ebaSmrg	      # what "hidden" libraries, object files and flags are used when
722404007ebaSmrg	      # linking a shared library.
722579d5fcd7Smrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
722604007ebaSmrg
722704007ebaSmrg	    else
722804007ebaSmrg	      # FIXME: insert proper C++ library support
722904007ebaSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
723004007ebaSmrg	    fi
723104007ebaSmrg	    ;;
723204007ebaSmrg        esac
723304007ebaSmrg        ;;
723404007ebaSmrg
723504007ebaSmrg      psos*)
723604007ebaSmrg        # FIXME: insert proper C++ library support
723704007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
723804007ebaSmrg        ;;
723904007ebaSmrg
724004007ebaSmrg      sunos4*)
724104007ebaSmrg        case $cc_basename in
724204007ebaSmrg          CC*)
724304007ebaSmrg	    # Sun C++ 4.x
724404007ebaSmrg	    # FIXME: insert proper C++ library support
724504007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
724604007ebaSmrg	    ;;
724704007ebaSmrg          lcc*)
724804007ebaSmrg	    # Lucid
724904007ebaSmrg	    # FIXME: insert proper C++ library support
725004007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
725104007ebaSmrg	    ;;
725204007ebaSmrg          *)
725304007ebaSmrg	    # FIXME: insert proper C++ library support
725404007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
725504007ebaSmrg	    ;;
725604007ebaSmrg        esac
725704007ebaSmrg        ;;
725804007ebaSmrg
725904007ebaSmrg      solaris*)
726004007ebaSmrg        case $cc_basename in
726104007ebaSmrg          CC* | sunCC*)
726204007ebaSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
726304007ebaSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
726404007ebaSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
726505cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
726604007ebaSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
726705cf1079Smrg              $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'
726804007ebaSmrg
726904007ebaSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
727004007ebaSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
727104007ebaSmrg	    case $host_os in
727204007ebaSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
727304007ebaSmrg	      *)
727404007ebaSmrg		# The compiler driver will combine and reorder linker options,
727505cf1079Smrg		# but understands '-z linker_flag'.
727604007ebaSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
727704007ebaSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
727804007ebaSmrg	        ;;
727904007ebaSmrg	    esac
728004007ebaSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
728104007ebaSmrg
728204007ebaSmrg	    output_verbose_link_cmd='func_echo_all'
728304007ebaSmrg
728404007ebaSmrg	    # Archives containing C++ object files must be created using
728504007ebaSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
728604007ebaSmrg	    # necessary to make sure instantiated templates are included
728704007ebaSmrg	    # in the archive.
728804007ebaSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
728904007ebaSmrg	    ;;
729004007ebaSmrg          gcx*)
729104007ebaSmrg	    # Green Hills C++ Compiler
729205cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
729304007ebaSmrg
729404007ebaSmrg	    # The C++ compiler must be used to create the archive.
729504007ebaSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
729604007ebaSmrg	    ;;
729704007ebaSmrg          *)
729804007ebaSmrg	    # GNU C++ compiler with Solaris linker
729905cf1079Smrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
730005cf1079Smrg	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
730104007ebaSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
730205cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
730304007ebaSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
730405cf1079Smrg                  $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'
730504007ebaSmrg
730604007ebaSmrg	        # Commands to make compiler produce verbose output that lists
730704007ebaSmrg	        # what "hidden" libraries, object files and flags are used when
730804007ebaSmrg	        # linking a shared library.
730979d5fcd7Smrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
731004007ebaSmrg	      else
731105cf1079Smrg	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
731204007ebaSmrg	        # platform.
731305cf1079Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
731404007ebaSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
731505cf1079Smrg                  $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'
731604007ebaSmrg
731704007ebaSmrg	        # Commands to make compiler produce verbose output that lists
731804007ebaSmrg	        # what "hidden" libraries, object files and flags are used when
731904007ebaSmrg	        # linking a shared library.
732079d5fcd7Smrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
732104007ebaSmrg	      fi
732204007ebaSmrg
732305cf1079Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
732404007ebaSmrg	      case $host_os in
732504007ebaSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
732604007ebaSmrg		*)
732705cf1079Smrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
732804007ebaSmrg		  ;;
732904007ebaSmrg	      esac
733004007ebaSmrg	    fi
733104007ebaSmrg	    ;;
733204007ebaSmrg        esac
733304007ebaSmrg        ;;
733404007ebaSmrg
733504007ebaSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
733605cf1079Smrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
733704007ebaSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
733804007ebaSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
733904007ebaSmrg      runpath_var='LD_RUN_PATH'
734004007ebaSmrg
734104007ebaSmrg      case $cc_basename in
734204007ebaSmrg        CC*)
734305cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
734405cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
734504007ebaSmrg	  ;;
734604007ebaSmrg	*)
734705cf1079Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
734805cf1079Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
734904007ebaSmrg	  ;;
735004007ebaSmrg      esac
735104007ebaSmrg      ;;
735204007ebaSmrg
735304007ebaSmrg      sysv5* | sco3.2v5* | sco5v6*)
735405cf1079Smrg	# Note: We CANNOT use -z defs as we might desire, because we do not
735504007ebaSmrg	# link with -lc, and that would cause any symbols used from libc to
735604007ebaSmrg	# always be unresolved, which means just about no library would
735704007ebaSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
735804007ebaSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
735904007ebaSmrg	# as -z defs.
736005cf1079Smrg	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
736105cf1079Smrg	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
736204007ebaSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
736304007ebaSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
736405cf1079Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
736504007ebaSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
736604007ebaSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
736705cf1079Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
736804007ebaSmrg	runpath_var='LD_RUN_PATH'
736904007ebaSmrg
737004007ebaSmrg	case $cc_basename in
737104007ebaSmrg          CC*)
737205cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
737305cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
737404007ebaSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
737505cf1079Smrg              '"$_LT_TAGVAR(old_archive_cmds, $1)"
737604007ebaSmrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
737705cf1079Smrg              '"$_LT_TAGVAR(reload_cmds, $1)"
737804007ebaSmrg	    ;;
737904007ebaSmrg	  *)
738005cf1079Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
738105cf1079Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
738204007ebaSmrg	    ;;
738304007ebaSmrg	esac
738404007ebaSmrg      ;;
738504007ebaSmrg
738604007ebaSmrg      tandem*)
738704007ebaSmrg        case $cc_basename in
738804007ebaSmrg          NCC*)
738904007ebaSmrg	    # NonStop-UX NCC 3.20
739004007ebaSmrg	    # FIXME: insert proper C++ library support
739104007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
739204007ebaSmrg	    ;;
739304007ebaSmrg          *)
739404007ebaSmrg	    # FIXME: insert proper C++ library support
739504007ebaSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
739604007ebaSmrg	    ;;
739704007ebaSmrg        esac
739804007ebaSmrg        ;;
739904007ebaSmrg
740004007ebaSmrg      vxworks*)
740104007ebaSmrg        # FIXME: insert proper C++ library support
740204007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
740304007ebaSmrg        ;;
740404007ebaSmrg
740504007ebaSmrg      *)
740604007ebaSmrg        # FIXME: insert proper C++ library support
740704007ebaSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
740804007ebaSmrg        ;;
740904007ebaSmrg    esac
741004007ebaSmrg
741104007ebaSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
741205cf1079Smrg    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
741304007ebaSmrg
741405cf1079Smrg    _LT_TAGVAR(GCC, $1)=$GXX
741505cf1079Smrg    _LT_TAGVAR(LD, $1)=$LD
741604007ebaSmrg
741704007ebaSmrg    ## CAVEAT EMPTOR:
741804007ebaSmrg    ## There is no encapsulation within the following macros, do not change
741904007ebaSmrg    ## the running order or otherwise move them around unless you know exactly
742004007ebaSmrg    ## what you are doing...
742104007ebaSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
742204007ebaSmrg    _LT_COMPILER_PIC($1)
742304007ebaSmrg    _LT_COMPILER_C_O($1)
742404007ebaSmrg    _LT_COMPILER_FILE_LOCKS($1)
742504007ebaSmrg    _LT_LINKER_SHLIBS($1)
742604007ebaSmrg    _LT_SYS_DYNAMIC_LINKER($1)
742704007ebaSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
742804007ebaSmrg
742904007ebaSmrg    _LT_CONFIG($1)
743004007ebaSmrg  fi # test -n "$compiler"
743104007ebaSmrg
743204007ebaSmrg  CC=$lt_save_CC
743304007ebaSmrg  CFLAGS=$lt_save_CFLAGS
743404007ebaSmrg  LDCXX=$LD
743504007ebaSmrg  LD=$lt_save_LD
743604007ebaSmrg  GCC=$lt_save_GCC
743704007ebaSmrg  with_gnu_ld=$lt_save_with_gnu_ld
743804007ebaSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
743904007ebaSmrg  lt_cv_path_LD=$lt_save_path_LD
744004007ebaSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
744104007ebaSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
744205cf1079Smrgfi # test yes != "$_lt_caught_CXX_error"
744304007ebaSmrg
744404007ebaSmrgAC_LANG_POP
744504007ebaSmrg])# _LT_LANG_CXX_CONFIG
744604007ebaSmrg
744704007ebaSmrg
744804007ebaSmrg# _LT_FUNC_STRIPNAME_CNF
744904007ebaSmrg# ----------------------
745004007ebaSmrg# func_stripname_cnf prefix suffix name
745104007ebaSmrg# strip PREFIX and SUFFIX off of NAME.
745204007ebaSmrg# PREFIX and SUFFIX must not contain globbing or regex special
745304007ebaSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
745404007ebaSmrg# dot (in which case that matches only a dot).
745504007ebaSmrg#
745604007ebaSmrg# This function is identical to the (non-XSI) version of func_stripname,
745704007ebaSmrg# except this one can be used by m4 code that may be executed by configure,
745804007ebaSmrg# rather than the libtool script.
745904007ebaSmrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
746004007ebaSmrgAC_REQUIRE([_LT_DECL_SED])
746104007ebaSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
746204007ebaSmrgfunc_stripname_cnf ()
746304007ebaSmrg{
746405cf1079Smrg  case @S|@2 in
746505cf1079Smrg  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
746605cf1079Smrg  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
746704007ebaSmrg  esac
746804007ebaSmrg} # func_stripname_cnf
746904007ebaSmrg])# _LT_FUNC_STRIPNAME_CNF
747004007ebaSmrg
747105cf1079Smrg
747204007ebaSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
747304007ebaSmrg# ---------------------------------
747404007ebaSmrg# Figure out "hidden" library dependencies from verbose
747504007ebaSmrg# compiler output when linking a shared library.
747604007ebaSmrg# Parse the compiler output and extract the necessary
747704007ebaSmrg# objects, libraries and library flags.
747804007ebaSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
747904007ebaSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
748004007ebaSmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
748104007ebaSmrg# Dependencies to place before and after the object being linked:
748204007ebaSmrg_LT_TAGVAR(predep_objects, $1)=
748304007ebaSmrg_LT_TAGVAR(postdep_objects, $1)=
748404007ebaSmrg_LT_TAGVAR(predeps, $1)=
748504007ebaSmrg_LT_TAGVAR(postdeps, $1)=
748604007ebaSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
748704007ebaSmrg
748804007ebaSmrgdnl we can't use the lt_simple_compile_test_code here,
748904007ebaSmrgdnl because it contains code intended for an executable,
749004007ebaSmrgdnl not a library.  It's possible we should let each
749104007ebaSmrgdnl tag define a new lt_????_link_test_code variable,
749204007ebaSmrgdnl but it's only used here...
749304007ebaSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
749404007ebaSmrgint a;
749504007ebaSmrgvoid foo (void) { a = 0; }
749604007ebaSmrg_LT_EOF
749704007ebaSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
749804007ebaSmrgclass Foo
749904007ebaSmrg{
750004007ebaSmrgpublic:
750104007ebaSmrg  Foo (void) { a = 0; }
750204007ebaSmrgprivate:
750304007ebaSmrg  int a;
750404007ebaSmrg};
750504007ebaSmrg_LT_EOF
750604007ebaSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
750704007ebaSmrg      subroutine foo
750804007ebaSmrg      implicit none
750904007ebaSmrg      integer*4 a
751004007ebaSmrg      a=0
751104007ebaSmrg      return
751204007ebaSmrg      end
751304007ebaSmrg_LT_EOF
751404007ebaSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
751504007ebaSmrg      subroutine foo
751604007ebaSmrg      implicit none
751704007ebaSmrg      integer a
751804007ebaSmrg      a=0
751904007ebaSmrg      return
752004007ebaSmrg      end
752104007ebaSmrg_LT_EOF
752204007ebaSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
752304007ebaSmrgpublic class foo {
752404007ebaSmrg  private int a;
752504007ebaSmrg  public void bar (void) {
752604007ebaSmrg    a = 0;
752704007ebaSmrg  }
752804007ebaSmrg};
752904007ebaSmrg_LT_EOF
753004007ebaSmrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
753104007ebaSmrgpackage foo
753204007ebaSmrgfunc foo() {
753304007ebaSmrg}
753404007ebaSmrg_LT_EOF
753504007ebaSmrg])
753604007ebaSmrg
753704007ebaSmrg_lt_libdeps_save_CFLAGS=$CFLAGS
753804007ebaSmrgcase "$CC $CFLAGS " in #(
753904007ebaSmrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
754004007ebaSmrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
754104007ebaSmrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
754204007ebaSmrgesac
754304007ebaSmrg
754404007ebaSmrgdnl Parse the compiler output and extract the necessary
754504007ebaSmrgdnl objects, libraries and library flags.
754604007ebaSmrgif AC_TRY_EVAL(ac_compile); then
754704007ebaSmrg  # Parse the compiler output and extract the necessary
754804007ebaSmrg  # objects, libraries and library flags.
754904007ebaSmrg
755004007ebaSmrg  # Sentinel used to keep track of whether or not we are before
755104007ebaSmrg  # the conftest object file.
755204007ebaSmrg  pre_test_object_deps_done=no
755304007ebaSmrg
755404007ebaSmrg  for p in `eval "$output_verbose_link_cmd"`; do
755505cf1079Smrg    case $prev$p in
755604007ebaSmrg
755704007ebaSmrg    -L* | -R* | -l*)
755804007ebaSmrg       # Some compilers place space between "-{L,R}" and the path.
755904007ebaSmrg       # Remove the space.
756005cf1079Smrg       if test x-L = "$p" ||
756105cf1079Smrg          test x-R = "$p"; then
756204007ebaSmrg	 prev=$p
756304007ebaSmrg	 continue
756404007ebaSmrg       fi
756504007ebaSmrg
756604007ebaSmrg       # Expand the sysroot to ease extracting the directories later.
756704007ebaSmrg       if test -z "$prev"; then
756804007ebaSmrg         case $p in
756904007ebaSmrg         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
757004007ebaSmrg         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
757104007ebaSmrg         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
757204007ebaSmrg         esac
757304007ebaSmrg       fi
757404007ebaSmrg       case $p in
757504007ebaSmrg       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
757604007ebaSmrg       esac
757705cf1079Smrg       if test no = "$pre_test_object_deps_done"; then
757805cf1079Smrg	 case $prev in
757904007ebaSmrg	 -L | -R)
758004007ebaSmrg	   # Internal compiler library paths should come after those
758104007ebaSmrg	   # provided the user.  The postdeps already come after the
758204007ebaSmrg	   # user supplied libs so there is no need to process them.
758304007ebaSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
758405cf1079Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
758504007ebaSmrg	   else
758605cf1079Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
758704007ebaSmrg	   fi
758804007ebaSmrg	   ;;
758904007ebaSmrg	 # The "-l" case would never come before the object being
759004007ebaSmrg	 # linked, so don't bother handling this case.
759104007ebaSmrg	 esac
759204007ebaSmrg       else
759304007ebaSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
759405cf1079Smrg	   _LT_TAGVAR(postdeps, $1)=$prev$p
759504007ebaSmrg	 else
759605cf1079Smrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
759704007ebaSmrg	 fi
759804007ebaSmrg       fi
759904007ebaSmrg       prev=
760004007ebaSmrg       ;;
760104007ebaSmrg
760204007ebaSmrg    *.lto.$objext) ;; # Ignore GCC LTO objects
760304007ebaSmrg    *.$objext)
760404007ebaSmrg       # This assumes that the test object file only shows up
760504007ebaSmrg       # once in the compiler output.
760604007ebaSmrg       if test "$p" = "conftest.$objext"; then
760704007ebaSmrg	 pre_test_object_deps_done=yes
760804007ebaSmrg	 continue
760904007ebaSmrg       fi
761004007ebaSmrg
761105cf1079Smrg       if test no = "$pre_test_object_deps_done"; then
761204007ebaSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
761305cf1079Smrg	   _LT_TAGVAR(predep_objects, $1)=$p
761404007ebaSmrg	 else
761504007ebaSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
761604007ebaSmrg	 fi
761704007ebaSmrg       else
761804007ebaSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
761905cf1079Smrg	   _LT_TAGVAR(postdep_objects, $1)=$p
762004007ebaSmrg	 else
762104007ebaSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
762204007ebaSmrg	 fi
762304007ebaSmrg       fi
762404007ebaSmrg       ;;
762504007ebaSmrg
762604007ebaSmrg    *) ;; # Ignore the rest.
762704007ebaSmrg
762804007ebaSmrg    esac
762904007ebaSmrg  done
763004007ebaSmrg
763104007ebaSmrg  # Clean up.
763204007ebaSmrg  rm -f a.out a.exe
763304007ebaSmrgelse
763404007ebaSmrg  echo "libtool.m4: error: problem compiling $1 test program"
763504007ebaSmrgfi
763604007ebaSmrg
763704007ebaSmrg$RM -f confest.$objext
763804007ebaSmrgCFLAGS=$_lt_libdeps_save_CFLAGS
763904007ebaSmrg
764004007ebaSmrg# PORTME: override above test on systems where it is broken
764104007ebaSmrgm4_if([$1], [CXX],
764204007ebaSmrg[case $host_os in
764304007ebaSmrginterix[[3-9]]*)
764404007ebaSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
764504007ebaSmrg  # hack all around it, let's just trust "g++" to DTRT.
764604007ebaSmrg  _LT_TAGVAR(predep_objects,$1)=
764704007ebaSmrg  _LT_TAGVAR(postdep_objects,$1)=
764804007ebaSmrg  _LT_TAGVAR(postdeps,$1)=
764904007ebaSmrg  ;;
765004007ebaSmrgesac
765104007ebaSmrg])
765204007ebaSmrg
765304007ebaSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
765404007ebaSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
765504007ebaSmrgesac
765604007ebaSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
765704007ebaSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
765805cf1079Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
765904007ebaSmrgfi
766004007ebaSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
766104007ebaSmrg    [The directories searched by this compiler when creating a shared library])
766204007ebaSmrg_LT_TAGDECL([], [predep_objects], [1],
766304007ebaSmrg    [Dependencies to place before and after the objects being linked to
766404007ebaSmrg    create a shared library])
766504007ebaSmrg_LT_TAGDECL([], [postdep_objects], [1])
766604007ebaSmrg_LT_TAGDECL([], [predeps], [1])
766704007ebaSmrg_LT_TAGDECL([], [postdeps], [1])
766804007ebaSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
766904007ebaSmrg    [The library search path used internally by the compiler when linking
767004007ebaSmrg    a shared library])
767104007ebaSmrg])# _LT_SYS_HIDDEN_LIBDEPS
767204007ebaSmrg
767304007ebaSmrg
767404007ebaSmrg# _LT_LANG_F77_CONFIG([TAG])
767504007ebaSmrg# --------------------------
767604007ebaSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
767704007ebaSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
767805cf1079Smrg# to write the compiler configuration to 'libtool'.
767904007ebaSmrgm4_defun([_LT_LANG_F77_CONFIG],
768004007ebaSmrg[AC_LANG_PUSH(Fortran 77)
768105cf1079Smrgif test -z "$F77" || test no = "$F77"; then
768204007ebaSmrg  _lt_disable_F77=yes
768304007ebaSmrgfi
768404007ebaSmrg
768504007ebaSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
768604007ebaSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
768704007ebaSmrg_LT_TAGVAR(always_export_symbols, $1)=no
768804007ebaSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
768904007ebaSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
769004007ebaSmrg_LT_TAGVAR(hardcode_direct, $1)=no
769104007ebaSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
769204007ebaSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
769304007ebaSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
769404007ebaSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
769504007ebaSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
769604007ebaSmrg_LT_TAGVAR(inherit_rpath, $1)=no
769704007ebaSmrg_LT_TAGVAR(module_cmds, $1)=
769804007ebaSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
769904007ebaSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
770004007ebaSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
770104007ebaSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
770204007ebaSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
770304007ebaSmrg_LT_TAGVAR(no_undefined_flag, $1)=
770404007ebaSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
770504007ebaSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
770604007ebaSmrg
770704007ebaSmrg# Source file extension for f77 test sources.
770804007ebaSmrgac_ext=f
770904007ebaSmrg
771004007ebaSmrg# Object file extension for compiled f77 test sources.
771104007ebaSmrgobjext=o
771204007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
771304007ebaSmrg
771404007ebaSmrg# No sense in running all these tests if we already determined that
771504007ebaSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
771604007ebaSmrg# are currently assumed to apply to all compilers on this platform,
771704007ebaSmrg# and will be corrupted by setting them based on a non-working compiler.
771805cf1079Smrgif test yes != "$_lt_disable_F77"; then
771904007ebaSmrg  # Code to be used in simple compile tests
772004007ebaSmrg  lt_simple_compile_test_code="\
772104007ebaSmrg      subroutine t
772204007ebaSmrg      return
772304007ebaSmrg      end
772404007ebaSmrg"
772504007ebaSmrg
772604007ebaSmrg  # Code to be used in simple link tests
772704007ebaSmrg  lt_simple_link_test_code="\
772804007ebaSmrg      program t
772904007ebaSmrg      end
773004007ebaSmrg"
773104007ebaSmrg
773204007ebaSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
773304007ebaSmrg  _LT_TAG_COMPILER
773404007ebaSmrg
773504007ebaSmrg  # save warnings/boilerplate of simple test code
773604007ebaSmrg  _LT_COMPILER_BOILERPLATE
773704007ebaSmrg  _LT_LINKER_BOILERPLATE
773804007ebaSmrg
773904007ebaSmrg  # Allow CC to be a program name with arguments.
774005cf1079Smrg  lt_save_CC=$CC
774104007ebaSmrg  lt_save_GCC=$GCC
774204007ebaSmrg  lt_save_CFLAGS=$CFLAGS
774304007ebaSmrg  CC=${F77-"f77"}
774404007ebaSmrg  CFLAGS=$FFLAGS
774504007ebaSmrg  compiler=$CC
774604007ebaSmrg  _LT_TAGVAR(compiler, $1)=$CC
774704007ebaSmrg  _LT_CC_BASENAME([$compiler])
774804007ebaSmrg  GCC=$G77
774904007ebaSmrg  if test -n "$compiler"; then
775004007ebaSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
775104007ebaSmrg    AC_MSG_RESULT([$can_build_shared])
775204007ebaSmrg
775304007ebaSmrg    AC_MSG_CHECKING([whether to build shared libraries])
775405cf1079Smrg    test no = "$can_build_shared" && enable_shared=no
775504007ebaSmrg
775604007ebaSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
775704007ebaSmrg    # are all built from PIC.
775804007ebaSmrg    case $host_os in
775904007ebaSmrg      aix3*)
776005cf1079Smrg        test yes = "$enable_shared" && enable_static=no
776104007ebaSmrg        if test -n "$RANLIB"; then
776204007ebaSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
776304007ebaSmrg          postinstall_cmds='$RANLIB $lib'
776404007ebaSmrg        fi
776504007ebaSmrg        ;;
776604007ebaSmrg      aix[[4-9]]*)
776705cf1079Smrg	if test ia64 != "$host_cpu"; then
776805cf1079Smrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
776905cf1079Smrg	  yes,aix,yes) ;;		# shared object as lib.so file only
777005cf1079Smrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
777105cf1079Smrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
777205cf1079Smrg	  esac
777304007ebaSmrg	fi
777404007ebaSmrg        ;;
777504007ebaSmrg    esac
777604007ebaSmrg    AC_MSG_RESULT([$enable_shared])
777704007ebaSmrg
777804007ebaSmrg    AC_MSG_CHECKING([whether to build static libraries])
777904007ebaSmrg    # Make sure either enable_shared or enable_static is yes.
778005cf1079Smrg    test yes = "$enable_shared" || enable_static=yes
778104007ebaSmrg    AC_MSG_RESULT([$enable_static])
778204007ebaSmrg
778305cf1079Smrg    _LT_TAGVAR(GCC, $1)=$G77
778405cf1079Smrg    _LT_TAGVAR(LD, $1)=$LD
778504007ebaSmrg
778604007ebaSmrg    ## CAVEAT EMPTOR:
778704007ebaSmrg    ## There is no encapsulation within the following macros, do not change
778804007ebaSmrg    ## the running order or otherwise move them around unless you know exactly
778904007ebaSmrg    ## what you are doing...
779004007ebaSmrg    _LT_COMPILER_PIC($1)
779104007ebaSmrg    _LT_COMPILER_C_O($1)
779204007ebaSmrg    _LT_COMPILER_FILE_LOCKS($1)
779304007ebaSmrg    _LT_LINKER_SHLIBS($1)
779404007ebaSmrg    _LT_SYS_DYNAMIC_LINKER($1)
779504007ebaSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
779604007ebaSmrg
779704007ebaSmrg    _LT_CONFIG($1)
779804007ebaSmrg  fi # test -n "$compiler"
779904007ebaSmrg
780004007ebaSmrg  GCC=$lt_save_GCC
780105cf1079Smrg  CC=$lt_save_CC
780205cf1079Smrg  CFLAGS=$lt_save_CFLAGS
780305cf1079Smrgfi # test yes != "$_lt_disable_F77"
780404007ebaSmrg
780504007ebaSmrgAC_LANG_POP
780604007ebaSmrg])# _LT_LANG_F77_CONFIG
780704007ebaSmrg
780804007ebaSmrg
780904007ebaSmrg# _LT_LANG_FC_CONFIG([TAG])
781004007ebaSmrg# -------------------------
781104007ebaSmrg# Ensure that the configuration variables for a Fortran compiler are
781204007ebaSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
781305cf1079Smrg# to write the compiler configuration to 'libtool'.
781404007ebaSmrgm4_defun([_LT_LANG_FC_CONFIG],
781504007ebaSmrg[AC_LANG_PUSH(Fortran)
781604007ebaSmrg
781705cf1079Smrgif test -z "$FC" || test no = "$FC"; then
781804007ebaSmrg  _lt_disable_FC=yes
781904007ebaSmrgfi
782004007ebaSmrg
782104007ebaSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
782204007ebaSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
782304007ebaSmrg_LT_TAGVAR(always_export_symbols, $1)=no
782404007ebaSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
782504007ebaSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
782604007ebaSmrg_LT_TAGVAR(hardcode_direct, $1)=no
782704007ebaSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
782804007ebaSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
782904007ebaSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
783004007ebaSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
783104007ebaSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
783204007ebaSmrg_LT_TAGVAR(inherit_rpath, $1)=no
783304007ebaSmrg_LT_TAGVAR(module_cmds, $1)=
783404007ebaSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
783504007ebaSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
783604007ebaSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
783704007ebaSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
783804007ebaSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
783904007ebaSmrg_LT_TAGVAR(no_undefined_flag, $1)=
784004007ebaSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
784104007ebaSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
784204007ebaSmrg
784304007ebaSmrg# Source file extension for fc test sources.
784404007ebaSmrgac_ext=${ac_fc_srcext-f}
784504007ebaSmrg
784604007ebaSmrg# Object file extension for compiled fc test sources.
784704007ebaSmrgobjext=o
784804007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
784904007ebaSmrg
785004007ebaSmrg# No sense in running all these tests if we already determined that
785104007ebaSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
785204007ebaSmrg# are currently assumed to apply to all compilers on this platform,
785304007ebaSmrg# and will be corrupted by setting them based on a non-working compiler.
785405cf1079Smrgif test yes != "$_lt_disable_FC"; then
785504007ebaSmrg  # Code to be used in simple compile tests
785604007ebaSmrg  lt_simple_compile_test_code="\
785704007ebaSmrg      subroutine t
785804007ebaSmrg      return
785904007ebaSmrg      end
786004007ebaSmrg"
786104007ebaSmrg
786204007ebaSmrg  # Code to be used in simple link tests
786304007ebaSmrg  lt_simple_link_test_code="\
786404007ebaSmrg      program t
786504007ebaSmrg      end
786604007ebaSmrg"
786704007ebaSmrg
786804007ebaSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
786904007ebaSmrg  _LT_TAG_COMPILER
787004007ebaSmrg
787104007ebaSmrg  # save warnings/boilerplate of simple test code
787204007ebaSmrg  _LT_COMPILER_BOILERPLATE
787304007ebaSmrg  _LT_LINKER_BOILERPLATE
787404007ebaSmrg
787504007ebaSmrg  # Allow CC to be a program name with arguments.
787605cf1079Smrg  lt_save_CC=$CC
787704007ebaSmrg  lt_save_GCC=$GCC
787804007ebaSmrg  lt_save_CFLAGS=$CFLAGS
787904007ebaSmrg  CC=${FC-"f95"}
788004007ebaSmrg  CFLAGS=$FCFLAGS
788104007ebaSmrg  compiler=$CC
788204007ebaSmrg  GCC=$ac_cv_fc_compiler_gnu
788304007ebaSmrg
788404007ebaSmrg  _LT_TAGVAR(compiler, $1)=$CC
788504007ebaSmrg  _LT_CC_BASENAME([$compiler])
788604007ebaSmrg
788704007ebaSmrg  if test -n "$compiler"; then
788804007ebaSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
788904007ebaSmrg    AC_MSG_RESULT([$can_build_shared])
789004007ebaSmrg
789104007ebaSmrg    AC_MSG_CHECKING([whether to build shared libraries])
789205cf1079Smrg    test no = "$can_build_shared" && enable_shared=no
789304007ebaSmrg
789404007ebaSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
789504007ebaSmrg    # are all built from PIC.
789604007ebaSmrg    case $host_os in
789704007ebaSmrg      aix3*)
789805cf1079Smrg        test yes = "$enable_shared" && enable_static=no
789904007ebaSmrg        if test -n "$RANLIB"; then
790004007ebaSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
790104007ebaSmrg          postinstall_cmds='$RANLIB $lib'
790204007ebaSmrg        fi
790304007ebaSmrg        ;;
790404007ebaSmrg      aix[[4-9]]*)
790505cf1079Smrg	if test ia64 != "$host_cpu"; then
790605cf1079Smrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
790705cf1079Smrg	  yes,aix,yes) ;;		# shared object as lib.so file only
790805cf1079Smrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
790905cf1079Smrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
791005cf1079Smrg	  esac
791104007ebaSmrg	fi
791204007ebaSmrg        ;;
791304007ebaSmrg    esac
791404007ebaSmrg    AC_MSG_RESULT([$enable_shared])
791504007ebaSmrg
791604007ebaSmrg    AC_MSG_CHECKING([whether to build static libraries])
791704007ebaSmrg    # Make sure either enable_shared or enable_static is yes.
791805cf1079Smrg    test yes = "$enable_shared" || enable_static=yes
791904007ebaSmrg    AC_MSG_RESULT([$enable_static])
792004007ebaSmrg
792105cf1079Smrg    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
792205cf1079Smrg    _LT_TAGVAR(LD, $1)=$LD
792304007ebaSmrg
792404007ebaSmrg    ## CAVEAT EMPTOR:
792504007ebaSmrg    ## There is no encapsulation within the following macros, do not change
792604007ebaSmrg    ## the running order or otherwise move them around unless you know exactly
792704007ebaSmrg    ## what you are doing...
792804007ebaSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
792904007ebaSmrg    _LT_COMPILER_PIC($1)
793004007ebaSmrg    _LT_COMPILER_C_O($1)
793104007ebaSmrg    _LT_COMPILER_FILE_LOCKS($1)
793204007ebaSmrg    _LT_LINKER_SHLIBS($1)
793304007ebaSmrg    _LT_SYS_DYNAMIC_LINKER($1)
793404007ebaSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
793504007ebaSmrg
793604007ebaSmrg    _LT_CONFIG($1)
793704007ebaSmrg  fi # test -n "$compiler"
793804007ebaSmrg
793904007ebaSmrg  GCC=$lt_save_GCC
794004007ebaSmrg  CC=$lt_save_CC
794104007ebaSmrg  CFLAGS=$lt_save_CFLAGS
794205cf1079Smrgfi # test yes != "$_lt_disable_FC"
794304007ebaSmrg
794404007ebaSmrgAC_LANG_POP
794504007ebaSmrg])# _LT_LANG_FC_CONFIG
794604007ebaSmrg
794704007ebaSmrg
794804007ebaSmrg# _LT_LANG_GCJ_CONFIG([TAG])
794904007ebaSmrg# --------------------------
795004007ebaSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
795104007ebaSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
795205cf1079Smrg# to write the compiler configuration to 'libtool'.
795304007ebaSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
795404007ebaSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
795504007ebaSmrgAC_LANG_SAVE
795604007ebaSmrg
795704007ebaSmrg# Source file extension for Java test sources.
795804007ebaSmrgac_ext=java
795904007ebaSmrg
796004007ebaSmrg# Object file extension for compiled Java test sources.
796104007ebaSmrgobjext=o
796204007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
796304007ebaSmrg
796404007ebaSmrg# Code to be used in simple compile tests
796504007ebaSmrglt_simple_compile_test_code="class foo {}"
796604007ebaSmrg
796704007ebaSmrg# Code to be used in simple link tests
796804007ebaSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
796904007ebaSmrg
797004007ebaSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
797104007ebaSmrg_LT_TAG_COMPILER
797204007ebaSmrg
797304007ebaSmrg# save warnings/boilerplate of simple test code
797404007ebaSmrg_LT_COMPILER_BOILERPLATE
797504007ebaSmrg_LT_LINKER_BOILERPLATE
797604007ebaSmrg
797704007ebaSmrg# Allow CC to be a program name with arguments.
797804007ebaSmrglt_save_CC=$CC
797904007ebaSmrglt_save_CFLAGS=$CFLAGS
798004007ebaSmrglt_save_GCC=$GCC
798104007ebaSmrgGCC=yes
798204007ebaSmrgCC=${GCJ-"gcj"}
798304007ebaSmrgCFLAGS=$GCJFLAGS
798404007ebaSmrgcompiler=$CC
798504007ebaSmrg_LT_TAGVAR(compiler, $1)=$CC
798605cf1079Smrg_LT_TAGVAR(LD, $1)=$LD
798704007ebaSmrg_LT_CC_BASENAME([$compiler])
798804007ebaSmrg
798904007ebaSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
799004007ebaSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
799104007ebaSmrg
799204007ebaSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
799304007ebaSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
799404007ebaSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
799504007ebaSmrg
799604007ebaSmrg## CAVEAT EMPTOR:
799704007ebaSmrg## There is no encapsulation within the following macros, do not change
799804007ebaSmrg## the running order or otherwise move them around unless you know exactly
799904007ebaSmrg## what you are doing...
800004007ebaSmrgif test -n "$compiler"; then
800104007ebaSmrg  _LT_COMPILER_NO_RTTI($1)
800204007ebaSmrg  _LT_COMPILER_PIC($1)
800304007ebaSmrg  _LT_COMPILER_C_O($1)
800404007ebaSmrg  _LT_COMPILER_FILE_LOCKS($1)
800504007ebaSmrg  _LT_LINKER_SHLIBS($1)
800604007ebaSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
800704007ebaSmrg
800804007ebaSmrg  _LT_CONFIG($1)
800904007ebaSmrgfi
801004007ebaSmrg
801104007ebaSmrgAC_LANG_RESTORE
801204007ebaSmrg
801304007ebaSmrgGCC=$lt_save_GCC
801404007ebaSmrgCC=$lt_save_CC
801504007ebaSmrgCFLAGS=$lt_save_CFLAGS
801604007ebaSmrg])# _LT_LANG_GCJ_CONFIG
801704007ebaSmrg
801804007ebaSmrg
801904007ebaSmrg# _LT_LANG_GO_CONFIG([TAG])
802004007ebaSmrg# --------------------------
802104007ebaSmrg# Ensure that the configuration variables for the GNU Go compiler
802204007ebaSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
802305cf1079Smrg# to write the compiler configuration to 'libtool'.
802404007ebaSmrgm4_defun([_LT_LANG_GO_CONFIG],
802504007ebaSmrg[AC_REQUIRE([LT_PROG_GO])dnl
802604007ebaSmrgAC_LANG_SAVE
802704007ebaSmrg
802804007ebaSmrg# Source file extension for Go test sources.
802904007ebaSmrgac_ext=go
803004007ebaSmrg
803104007ebaSmrg# Object file extension for compiled Go test sources.
803204007ebaSmrgobjext=o
803304007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
803404007ebaSmrg
803504007ebaSmrg# Code to be used in simple compile tests
803604007ebaSmrglt_simple_compile_test_code="package main; func main() { }"
803704007ebaSmrg
803804007ebaSmrg# Code to be used in simple link tests
803904007ebaSmrglt_simple_link_test_code='package main; func main() { }'
804004007ebaSmrg
804104007ebaSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
804204007ebaSmrg_LT_TAG_COMPILER
804304007ebaSmrg
804404007ebaSmrg# save warnings/boilerplate of simple test code
804504007ebaSmrg_LT_COMPILER_BOILERPLATE
804604007ebaSmrg_LT_LINKER_BOILERPLATE
804704007ebaSmrg
804804007ebaSmrg# Allow CC to be a program name with arguments.
804904007ebaSmrglt_save_CC=$CC
805004007ebaSmrglt_save_CFLAGS=$CFLAGS
805104007ebaSmrglt_save_GCC=$GCC
805204007ebaSmrgGCC=yes
805304007ebaSmrgCC=${GOC-"gccgo"}
805404007ebaSmrgCFLAGS=$GOFLAGS
805504007ebaSmrgcompiler=$CC
805604007ebaSmrg_LT_TAGVAR(compiler, $1)=$CC
805705cf1079Smrg_LT_TAGVAR(LD, $1)=$LD
805804007ebaSmrg_LT_CC_BASENAME([$compiler])
805904007ebaSmrg
806004007ebaSmrg# Go did not exist at the time GCC didn't implicitly link libc in.
806104007ebaSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
806204007ebaSmrg
806304007ebaSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
806404007ebaSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
806504007ebaSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
806604007ebaSmrg
806704007ebaSmrg## CAVEAT EMPTOR:
806804007ebaSmrg## There is no encapsulation within the following macros, do not change
806904007ebaSmrg## the running order or otherwise move them around unless you know exactly
807004007ebaSmrg## what you are doing...
807104007ebaSmrgif test -n "$compiler"; then
807204007ebaSmrg  _LT_COMPILER_NO_RTTI($1)
807304007ebaSmrg  _LT_COMPILER_PIC($1)
807404007ebaSmrg  _LT_COMPILER_C_O($1)
807504007ebaSmrg  _LT_COMPILER_FILE_LOCKS($1)
807604007ebaSmrg  _LT_LINKER_SHLIBS($1)
807704007ebaSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
807804007ebaSmrg
807904007ebaSmrg  _LT_CONFIG($1)
808004007ebaSmrgfi
808104007ebaSmrg
808204007ebaSmrgAC_LANG_RESTORE
808304007ebaSmrg
808404007ebaSmrgGCC=$lt_save_GCC
808504007ebaSmrgCC=$lt_save_CC
808604007ebaSmrgCFLAGS=$lt_save_CFLAGS
808704007ebaSmrg])# _LT_LANG_GO_CONFIG
808804007ebaSmrg
808904007ebaSmrg
809004007ebaSmrg# _LT_LANG_RC_CONFIG([TAG])
809104007ebaSmrg# -------------------------
809204007ebaSmrg# Ensure that the configuration variables for the Windows resource compiler
809304007ebaSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
809405cf1079Smrg# to write the compiler configuration to 'libtool'.
809504007ebaSmrgm4_defun([_LT_LANG_RC_CONFIG],
809604007ebaSmrg[AC_REQUIRE([LT_PROG_RC])dnl
809704007ebaSmrgAC_LANG_SAVE
809804007ebaSmrg
809904007ebaSmrg# Source file extension for RC test sources.
810004007ebaSmrgac_ext=rc
810104007ebaSmrg
810204007ebaSmrg# Object file extension for compiled RC test sources.
810304007ebaSmrgobjext=o
810404007ebaSmrg_LT_TAGVAR(objext, $1)=$objext
810504007ebaSmrg
810604007ebaSmrg# Code to be used in simple compile tests
810704007ebaSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
810804007ebaSmrg
810904007ebaSmrg# Code to be used in simple link tests
811005cf1079Smrglt_simple_link_test_code=$lt_simple_compile_test_code
811104007ebaSmrg
811204007ebaSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
811304007ebaSmrg_LT_TAG_COMPILER
811404007ebaSmrg
811504007ebaSmrg# save warnings/boilerplate of simple test code
811604007ebaSmrg_LT_COMPILER_BOILERPLATE
811704007ebaSmrg_LT_LINKER_BOILERPLATE
811804007ebaSmrg
811904007ebaSmrg# Allow CC to be a program name with arguments.
812005cf1079Smrglt_save_CC=$CC
812104007ebaSmrglt_save_CFLAGS=$CFLAGS
812204007ebaSmrglt_save_GCC=$GCC
812304007ebaSmrgGCC=
812404007ebaSmrgCC=${RC-"windres"}
812504007ebaSmrgCFLAGS=
812604007ebaSmrgcompiler=$CC
812704007ebaSmrg_LT_TAGVAR(compiler, $1)=$CC
812804007ebaSmrg_LT_CC_BASENAME([$compiler])
812904007ebaSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
813004007ebaSmrg
813104007ebaSmrgif test -n "$compiler"; then
813204007ebaSmrg  :
813304007ebaSmrg  _LT_CONFIG($1)
813404007ebaSmrgfi
813504007ebaSmrg
813604007ebaSmrgGCC=$lt_save_GCC
813704007ebaSmrgAC_LANG_RESTORE
813804007ebaSmrgCC=$lt_save_CC
813904007ebaSmrgCFLAGS=$lt_save_CFLAGS
814004007ebaSmrg])# _LT_LANG_RC_CONFIG
814104007ebaSmrg
814204007ebaSmrg
814304007ebaSmrg# LT_PROG_GCJ
814404007ebaSmrg# -----------
814504007ebaSmrgAC_DEFUN([LT_PROG_GCJ],
814604007ebaSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
814704007ebaSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
814804007ebaSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
814905cf1079Smrg      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
815004007ebaSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
815104007ebaSmrg])
815204007ebaSmrg
815304007ebaSmrg# Old name:
815404007ebaSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
815504007ebaSmrgdnl aclocal-1.4 backwards compatibility:
815604007ebaSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
815704007ebaSmrg
815804007ebaSmrg
815904007ebaSmrg# LT_PROG_GO
816004007ebaSmrg# ----------
816104007ebaSmrgAC_DEFUN([LT_PROG_GO],
816204007ebaSmrg[AC_CHECK_TOOL(GOC, gccgo,)
816304007ebaSmrg])
816404007ebaSmrg
816504007ebaSmrg
816604007ebaSmrg# LT_PROG_RC
816704007ebaSmrg# ----------
816804007ebaSmrgAC_DEFUN([LT_PROG_RC],
816904007ebaSmrg[AC_CHECK_TOOL(RC, windres,)
817004007ebaSmrg])
817104007ebaSmrg
817204007ebaSmrg# Old name:
817304007ebaSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
817404007ebaSmrgdnl aclocal-1.4 backwards compatibility:
817504007ebaSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
817604007ebaSmrg
817704007ebaSmrg
817804007ebaSmrg# _LT_DECL_EGREP
817904007ebaSmrg# --------------
818004007ebaSmrg# If we don't have a new enough Autoconf to choose the best grep
818104007ebaSmrg# available, choose the one first in the user's PATH.
818204007ebaSmrgm4_defun([_LT_DECL_EGREP],
818304007ebaSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
818404007ebaSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
818504007ebaSmrgtest -z "$GREP" && GREP=grep
818604007ebaSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
818704007ebaSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
818804007ebaSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
818904007ebaSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
819004007ebaSmrgAC_SUBST([GREP])
819104007ebaSmrg])
819204007ebaSmrg
819304007ebaSmrg
819404007ebaSmrg# _LT_DECL_OBJDUMP
819504007ebaSmrg# --------------
819604007ebaSmrg# If we don't have a new enough Autoconf to choose the best objdump
819704007ebaSmrg# available, choose the one first in the user's PATH.
819804007ebaSmrgm4_defun([_LT_DECL_OBJDUMP],
819904007ebaSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
820004007ebaSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
820104007ebaSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
820204007ebaSmrgAC_SUBST([OBJDUMP])
820304007ebaSmrg])
820404007ebaSmrg
820504007ebaSmrg# _LT_DECL_DLLTOOL
820604007ebaSmrg# ----------------
820704007ebaSmrg# Ensure DLLTOOL variable is set.
820804007ebaSmrgm4_defun([_LT_DECL_DLLTOOL],
820904007ebaSmrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
821004007ebaSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
821104007ebaSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
821204007ebaSmrgAC_SUBST([DLLTOOL])
821304007ebaSmrg])
821404007ebaSmrg
821579d5fcd7Smrg# _LT_DECL_FILECMD
821679d5fcd7Smrg# ----------------
821779d5fcd7Smrg# Check for a file(cmd) program that can be used to detect file type and magic
821879d5fcd7Smrgm4_defun([_LT_DECL_FILECMD],
821979d5fcd7Smrg[AC_CHECK_TOOL([FILECMD], [file], [:])
822079d5fcd7Smrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
822179d5fcd7Smrg])# _LD_DECL_FILECMD
822279d5fcd7Smrg
822304007ebaSmrg# _LT_DECL_SED
822404007ebaSmrg# ------------
822504007ebaSmrg# Check for a fully-functional sed program, that truncates
822604007ebaSmrg# as few characters as possible.  Prefer GNU sed if found.
822704007ebaSmrgm4_defun([_LT_DECL_SED],
822804007ebaSmrg[AC_PROG_SED
822904007ebaSmrgtest -z "$SED" && SED=sed
823004007ebaSmrgXsed="$SED -e 1s/^X//"
823104007ebaSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
823204007ebaSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
823304007ebaSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
823404007ebaSmrg])# _LT_DECL_SED
823504007ebaSmrg
823604007ebaSmrgm4_ifndef([AC_PROG_SED], [
823704007ebaSmrg############################################################
823804007ebaSmrg# NOTE: This macro has been submitted for inclusion into   #
823904007ebaSmrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
824004007ebaSmrg#  a released version of Autoconf we should remove this    #
824104007ebaSmrg#  macro and use it instead.                               #
824204007ebaSmrg############################################################
824304007ebaSmrg
824404007ebaSmrgm4_defun([AC_PROG_SED],
824504007ebaSmrg[AC_MSG_CHECKING([for a sed that does not truncate output])
824604007ebaSmrgAC_CACHE_VAL(lt_cv_path_SED,
824704007ebaSmrg[# Loop through the user's path and test for sed and gsed.
824804007ebaSmrg# Then use that list of sed's as ones to test for truncation.
824904007ebaSmrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
825004007ebaSmrgfor as_dir in $PATH
825104007ebaSmrgdo
825204007ebaSmrg  IFS=$as_save_IFS
825304007ebaSmrg  test -z "$as_dir" && as_dir=.
825404007ebaSmrg  for lt_ac_prog in sed gsed; do
825504007ebaSmrg    for ac_exec_ext in '' $ac_executable_extensions; do
825604007ebaSmrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
825704007ebaSmrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
825804007ebaSmrg      fi
825904007ebaSmrg    done
826004007ebaSmrg  done
826104007ebaSmrgdone
826204007ebaSmrgIFS=$as_save_IFS
826304007ebaSmrglt_ac_max=0
826404007ebaSmrglt_ac_count=0
826504007ebaSmrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
826604007ebaSmrg# along with /bin/sed that truncates output.
826704007ebaSmrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
826805cf1079Smrg  test ! -f "$lt_ac_sed" && continue
826904007ebaSmrg  cat /dev/null > conftest.in
827004007ebaSmrg  lt_ac_count=0
827104007ebaSmrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
827204007ebaSmrg  # Check for GNU sed and select it if it is found.
827304007ebaSmrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
827404007ebaSmrg    lt_cv_path_SED=$lt_ac_sed
827504007ebaSmrg    break
827604007ebaSmrg  fi
827704007ebaSmrg  while true; do
827804007ebaSmrg    cat conftest.in conftest.in >conftest.tmp
827904007ebaSmrg    mv conftest.tmp conftest.in
828004007ebaSmrg    cp conftest.in conftest.nl
828104007ebaSmrg    echo >>conftest.nl
828204007ebaSmrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
828304007ebaSmrg    cmp -s conftest.out conftest.nl || break
828404007ebaSmrg    # 10000 chars as input seems more than enough
828505cf1079Smrg    test 10 -lt "$lt_ac_count" && break
828604007ebaSmrg    lt_ac_count=`expr $lt_ac_count + 1`
828705cf1079Smrg    if test "$lt_ac_count" -gt "$lt_ac_max"; then
828804007ebaSmrg      lt_ac_max=$lt_ac_count
828904007ebaSmrg      lt_cv_path_SED=$lt_ac_sed
829004007ebaSmrg    fi
829104007ebaSmrg  done
829204007ebaSmrgdone
829304007ebaSmrg])
829404007ebaSmrgSED=$lt_cv_path_SED
829504007ebaSmrgAC_SUBST([SED])
829604007ebaSmrgAC_MSG_RESULT([$SED])
829704007ebaSmrg])#AC_PROG_SED
829804007ebaSmrg])#m4_ifndef
829904007ebaSmrg
830004007ebaSmrg# Old name:
830104007ebaSmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
830204007ebaSmrgdnl aclocal-1.4 backwards compatibility:
830304007ebaSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
830404007ebaSmrg
830504007ebaSmrg
830604007ebaSmrg# _LT_CHECK_SHELL_FEATURES
830704007ebaSmrg# ------------------------
830804007ebaSmrg# Find out whether the shell is Bourne or XSI compatible,
830904007ebaSmrg# or has some other useful features.
831004007ebaSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
831105cf1079Smrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
831204007ebaSmrg  lt_unset=unset
831304007ebaSmrgelse
831404007ebaSmrg  lt_unset=false
831504007ebaSmrgfi
831604007ebaSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
831704007ebaSmrg
831804007ebaSmrg# test EBCDIC or ASCII
831904007ebaSmrgcase `echo X|tr X '\101'` in
832004007ebaSmrg A) # ASCII based system
832104007ebaSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
832204007ebaSmrg  lt_SP2NL='tr \040 \012'
832304007ebaSmrg  lt_NL2SP='tr \015\012 \040\040'
832404007ebaSmrg  ;;
832504007ebaSmrg *) # EBCDIC based system
832604007ebaSmrg  lt_SP2NL='tr \100 \n'
832704007ebaSmrg  lt_NL2SP='tr \r\n \100\100'
832804007ebaSmrg  ;;
832904007ebaSmrgesac
833004007ebaSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
833104007ebaSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
833204007ebaSmrg])# _LT_CHECK_SHELL_FEATURES
833304007ebaSmrg
833404007ebaSmrg
833504007ebaSmrg# _LT_PATH_CONVERSION_FUNCTIONS
833604007ebaSmrg# -----------------------------
833705cf1079Smrg# Determine what file name conversion functions should be used by
833804007ebaSmrg# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
833904007ebaSmrg# for certain cross-compile configurations and native mingw.
834004007ebaSmrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
834104007ebaSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
834204007ebaSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
834304007ebaSmrgAC_MSG_CHECKING([how to convert $build file names to $host format])
834404007ebaSmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd,
834504007ebaSmrg[case $host in
834604007ebaSmrg  *-*-mingw* )
834704007ebaSmrg    case $build in
834804007ebaSmrg      *-*-mingw* ) # actually msys
834904007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
835004007ebaSmrg        ;;
835104007ebaSmrg      *-*-cygwin* )
835204007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
835304007ebaSmrg        ;;
835404007ebaSmrg      * ) # otherwise, assume *nix
835504007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
835604007ebaSmrg        ;;
835704007ebaSmrg    esac
835804007ebaSmrg    ;;
835904007ebaSmrg  *-*-cygwin* )
836004007ebaSmrg    case $build in
836104007ebaSmrg      *-*-mingw* ) # actually msys
836204007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
836304007ebaSmrg        ;;
836404007ebaSmrg      *-*-cygwin* )
836504007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_noop
836604007ebaSmrg        ;;
836704007ebaSmrg      * ) # otherwise, assume *nix
836804007ebaSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
836904007ebaSmrg        ;;
837004007ebaSmrg    esac
837104007ebaSmrg    ;;
837204007ebaSmrg  * ) # unhandled hosts (and "normal" native builds)
837304007ebaSmrg    lt_cv_to_host_file_cmd=func_convert_file_noop
837404007ebaSmrg    ;;
837504007ebaSmrgesac
837604007ebaSmrg])
837704007ebaSmrgto_host_file_cmd=$lt_cv_to_host_file_cmd
837804007ebaSmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
837904007ebaSmrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
838004007ebaSmrg         [0], [convert $build file names to $host format])dnl
838104007ebaSmrg
838204007ebaSmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format])
838304007ebaSmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
838404007ebaSmrg[#assume ordinary cross tools, or native build.
838504007ebaSmrglt_cv_to_tool_file_cmd=func_convert_file_noop
838604007ebaSmrgcase $host in
838704007ebaSmrg  *-*-mingw* )
838804007ebaSmrg    case $build in
838904007ebaSmrg      *-*-mingw* ) # actually msys
839004007ebaSmrg        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
839104007ebaSmrg        ;;
839204007ebaSmrg    esac
839304007ebaSmrg    ;;
839404007ebaSmrgesac
839504007ebaSmrg])
839604007ebaSmrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd
839704007ebaSmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
839804007ebaSmrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
839904007ebaSmrg         [0], [convert $build files to toolchain format])dnl
840004007ebaSmrg])# _LT_PATH_CONVERSION_FUNCTIONS
8401