12d19872aSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
22d19872aSmrg#
32f76b07dSmrg#   Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software
42d19872aSmrg#   Foundation, Inc.
52d19872aSmrg#   Written by Gordon Matzigkeit, 1996
62d19872aSmrg#
72d19872aSmrg# This file is free software; the Free Software Foundation gives
82d19872aSmrg# unlimited permission to copy and/or distribute it, with or without
92d19872aSmrg# modifications, as long as this notice is preserved.
102d19872aSmrg
112d19872aSmrgm4_define([_LT_COPYING], [dnl
122f76b07dSmrg# Copyright (C) 2024 Free Software Foundation, Inc.
132d19872aSmrg# This is free software; see the source for copying conditions.  There is NO
142d19872aSmrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
152d19872aSmrg
162d19872aSmrg# GNU Libtool is free software; you can redistribute it and/or modify
172d19872aSmrg# it under the terms of the GNU General Public License as published by
182f76b07dSmrg# the Free Software Foundation; either version 2 of the License, or
192d19872aSmrg# (at your option) any later version.
202d19872aSmrg#
212d19872aSmrg# As a special exception to the GNU General Public License, if you
222d19872aSmrg# distribute this file as part of a program or library that is built
232d19872aSmrg# using GNU Libtool, you may include this file under the  same
242d19872aSmrg# distribution terms that you use for the rest of that program.
252d19872aSmrg#
262d19872aSmrg# GNU Libtool is distributed in the hope that it will be useful, but
272d19872aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
282d19872aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
292d19872aSmrg# GNU General Public License for more details.
302d19872aSmrg#
312d19872aSmrg# You should have received a copy of the GNU General Public License
322d19872aSmrg# along with this program.  If not, see <http://www.gnu.org/licenses/>.
332d19872aSmrg])
342d19872aSmrg
352f76b07dSmrg# serial 63 LT_INIT
362d19872aSmrg
372d19872aSmrg
382d19872aSmrg# LT_PREREQ(VERSION)
392d19872aSmrg# ------------------
402d19872aSmrg# Complain and exit if this libtool version is less that VERSION.
412d19872aSmrgm4_defun([LT_PREREQ],
422d19872aSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
432d19872aSmrg       [m4_default([$3],
442d19872aSmrg		   [m4_fatal([Libtool version $1 or higher is required],
452d19872aSmrg		             63)])],
462d19872aSmrg       [$2])])
472d19872aSmrg
482d19872aSmrg
492d19872aSmrg# _LT_CHECK_BUILDDIR
502d19872aSmrg# ------------------
512d19872aSmrg# Complain if the absolute build directory name contains unusual characters
522d19872aSmrgm4_defun([_LT_CHECK_BUILDDIR],
532d19872aSmrg[case `pwd` in
542d19872aSmrg  *\ * | *\	*)
552d19872aSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
562d19872aSmrgesac
572d19872aSmrg])
582d19872aSmrg
592d19872aSmrg
602d19872aSmrg# LT_INIT([OPTIONS])
612d19872aSmrg# ------------------
622d19872aSmrgAC_DEFUN([LT_INIT],
632f76b07dSmrg[AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK
642d19872aSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
652d19872aSmrgAC_BEFORE([$0], [LT_LANG])dnl
662d19872aSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
672d19872aSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
682d19872aSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
692d19872aSmrg
702d19872aSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
712d19872aSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
722d19872aSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
732d19872aSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
742d19872aSmrgdnl unless we require an AC_DEFUNed macro:
752d19872aSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
762d19872aSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
772d19872aSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
782d19872aSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
792d19872aSmrgm4_require([_LT_PROG_LTMAIN])dnl
802d19872aSmrg
812d19872aSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
822d19872aSmrg
832d19872aSmrgdnl Parse OPTIONS
842d19872aSmrg_LT_SET_OPTIONS([$0], [$1])
852d19872aSmrg
862d19872aSmrg# This can be used to rebuild libtool when needed
872d19872aSmrgLIBTOOL_DEPS=$ltmain
882d19872aSmrg
892d19872aSmrg# Always use our own libtool.
902d19872aSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
912d19872aSmrgAC_SUBST(LIBTOOL)dnl
922d19872aSmrg
932d19872aSmrg_LT_SETUP
942d19872aSmrg
952d19872aSmrg# Only expand once:
962d19872aSmrgm4_define([LT_INIT])
972d19872aSmrg])# LT_INIT
982d19872aSmrg
992d19872aSmrg# Old names:
1002d19872aSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
1012d19872aSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
1022d19872aSmrgdnl aclocal-1.4 backwards compatibility:
1032d19872aSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
1042d19872aSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
1052d19872aSmrg
1062d19872aSmrg
1072d19872aSmrg# _LT_PREPARE_CC_BASENAME
1082d19872aSmrg# -----------------------
1092d19872aSmrgm4_defun([_LT_PREPARE_CC_BASENAME], [
1102d19872aSmrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
1112d19872aSmrgfunc_cc_basename ()
1122d19872aSmrg{
1132d19872aSmrg    for cc_temp in @S|@*""; do
1142d19872aSmrg      case $cc_temp in
1152d19872aSmrg        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
1162d19872aSmrg        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
1172d19872aSmrg        \-*) ;;
1182d19872aSmrg        *) break;;
1192d19872aSmrg      esac
1202d19872aSmrg    done
1212d19872aSmrg    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
1222d19872aSmrg}
1232d19872aSmrg])# _LT_PREPARE_CC_BASENAME
1242d19872aSmrg
1252d19872aSmrg
1262d19872aSmrg# _LT_CC_BASENAME(CC)
1272d19872aSmrg# -------------------
1282d19872aSmrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
1292d19872aSmrg# but that macro is also expanded into generated libtool script, which
1302d19872aSmrg# arranges for $SED and $ECHO to be set by different means.
1312d19872aSmrgm4_defun([_LT_CC_BASENAME],
1322d19872aSmrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl
1332d19872aSmrgAC_REQUIRE([_LT_DECL_SED])dnl
1342d19872aSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
1352d19872aSmrgfunc_cc_basename $1
1362d19872aSmrgcc_basename=$func_cc_basename_result
1372d19872aSmrg])
1382d19872aSmrg
1392d19872aSmrg
1402d19872aSmrg# _LT_FILEUTILS_DEFAULTS
1412d19872aSmrg# ----------------------
1422d19872aSmrg# It is okay to use these file commands and assume they have been set
1432d19872aSmrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
1442d19872aSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
1452d19872aSmrg[: ${CP="cp -f"}
1462d19872aSmrg: ${MV="mv -f"}
1472d19872aSmrg: ${RM="rm -f"}
1482d19872aSmrg])# _LT_FILEUTILS_DEFAULTS
1492d19872aSmrg
1502d19872aSmrg
1512d19872aSmrg# _LT_SETUP
1522d19872aSmrg# ---------
1532d19872aSmrgm4_defun([_LT_SETUP],
1542d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1552d19872aSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
1562d19872aSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
1572d19872aSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
1582d19872aSmrg
1592d19872aSmrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
1602d19872aSmrgdnl
1612d19872aSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
1622d19872aSmrg_LT_DECL([], [host], [0])dnl
1632d19872aSmrg_LT_DECL([], [host_os], [0])dnl
1642d19872aSmrgdnl
1652d19872aSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
1662d19872aSmrg_LT_DECL([], [build], [0])dnl
1672d19872aSmrg_LT_DECL([], [build_os], [0])dnl
1682d19872aSmrgdnl
1692d19872aSmrgAC_REQUIRE([AC_PROG_CC])dnl
1702d19872aSmrgAC_REQUIRE([LT_PATH_LD])dnl
1712d19872aSmrgAC_REQUIRE([LT_PATH_NM])dnl
1722d19872aSmrgdnl
1732d19872aSmrgAC_REQUIRE([AC_PROG_LN_S])dnl
1742d19872aSmrgtest -z "$LN_S" && LN_S="ln -s"
1752d19872aSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
1762d19872aSmrgdnl
1772d19872aSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
1782d19872aSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
1792d19872aSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
1802d19872aSmrgdnl
1812d19872aSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1822d19872aSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
1832d19872aSmrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
1842d19872aSmrgm4_require([_LT_CMD_RELOAD])dnl
1852d19872aSmrgm4_require([_LT_DECL_FILECMD])dnl
1862d19872aSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
1872d19872aSmrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
1882d19872aSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
1892d19872aSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
1902d19872aSmrgm4_require([_LT_WITH_SYSROOT])dnl
1912d19872aSmrgm4_require([_LT_CMD_TRUNCATE])dnl
1922d19872aSmrg
1932d19872aSmrg_LT_CONFIG_LIBTOOL_INIT([
1942d19872aSmrg# See if we are running on zsh, and set the options that allow our
1952d19872aSmrg# commands through without removal of \ escapes INIT.
1962d19872aSmrgif test -n "\${ZSH_VERSION+set}"; then
1972d19872aSmrg   setopt NO_GLOB_SUBST
1982d19872aSmrgfi
1992d19872aSmrg])
2002d19872aSmrgif test -n "${ZSH_VERSION+set}"; then
2012d19872aSmrg   setopt NO_GLOB_SUBST
2022d19872aSmrgfi
2032d19872aSmrg
2042d19872aSmrg_LT_CHECK_OBJDIR
2052d19872aSmrg
2062d19872aSmrgm4_require([_LT_TAG_COMPILER])dnl
2072d19872aSmrg
2082d19872aSmrgcase $host_os in
2092d19872aSmrgaix3*)
2102d19872aSmrg  # AIX sometimes has problems with the GCC collect2 program.  For some
2112d19872aSmrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
2122d19872aSmrg  # vanish in a puff of smoke.
2132d19872aSmrg  if test set != "${COLLECT_NAMES+set}"; then
2142d19872aSmrg    COLLECT_NAMES=
2152d19872aSmrg    export COLLECT_NAMES
2162d19872aSmrg  fi
2172d19872aSmrg  ;;
2182d19872aSmrgesac
2192d19872aSmrg
2202d19872aSmrg# Global variables:
2212d19872aSmrgofile=libtool
2222d19872aSmrgcan_build_shared=yes
2232d19872aSmrg
2242d19872aSmrg# All known linkers require a '.a' archive for static linking (except MSVC and
2252d19872aSmrg# ICC, which need '.lib').
2262d19872aSmrglibext=a
2272d19872aSmrg
2282d19872aSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
2292d19872aSmrg
2302d19872aSmrgold_CC=$CC
2312d19872aSmrgold_CFLAGS=$CFLAGS
2322d19872aSmrg
2332d19872aSmrg# Set sane defaults for various variables
2342d19872aSmrgtest -z "$CC" && CC=cc
2352d19872aSmrgtest -z "$LTCC" && LTCC=$CC
2362d19872aSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
2372d19872aSmrgtest -z "$LD" && LD=ld
2382d19872aSmrgtest -z "$ac_objext" && ac_objext=o
2392d19872aSmrg
2402d19872aSmrg_LT_CC_BASENAME([$compiler])
2412d19872aSmrg
2422d19872aSmrg# Only perform the check for file, if the check method requires it
2432d19872aSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
2442d19872aSmrgcase $deplibs_check_method in
2452d19872aSmrgfile_magic*)
2462d19872aSmrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
2472d19872aSmrg    _LT_PATH_MAGIC
2482d19872aSmrg  fi
2492d19872aSmrg  ;;
2502d19872aSmrgesac
2512d19872aSmrg
2522d19872aSmrg# Use C for the default configuration in the libtool script
2532d19872aSmrgLT_SUPPORTED_TAG([CC])
2542d19872aSmrg_LT_LANG_C_CONFIG
2552d19872aSmrg_LT_LANG_DEFAULT_CONFIG
2562d19872aSmrg_LT_CONFIG_COMMANDS
2572d19872aSmrg])# _LT_SETUP
2582d19872aSmrg
2592d19872aSmrg
2602d19872aSmrg# _LT_PREPARE_SED_QUOTE_VARS
2612d19872aSmrg# --------------------------
2622d19872aSmrg# Define a few sed substitution that help us do robust quoting.
2632d19872aSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
2642d19872aSmrg[# Backslashify metacharacters that are still active within
2652d19872aSmrg# double-quoted strings.
2662d19872aSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
2672d19872aSmrg
2682d19872aSmrg# Same as above, but do not quote variable references.
2692d19872aSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
2702d19872aSmrg
2712d19872aSmrg# Sed substitution to delay expansion of an escaped shell variable in a
2722d19872aSmrg# double_quote_subst'ed string.
2732d19872aSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
2742d19872aSmrg
2752d19872aSmrg# Sed substitution to delay expansion of an escaped single quote.
2762d19872aSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
2772d19872aSmrg
2782d19872aSmrg# Sed substitution to avoid accidental globbing in evaled expressions
2792d19872aSmrgno_glob_subst='s/\*/\\\*/g'
2802d19872aSmrg])
2812d19872aSmrg
2822d19872aSmrg# _LT_PROG_LTMAIN
2832d19872aSmrg# ---------------
2842d19872aSmrg# Note that this code is called both from 'configure', and 'config.status'
2852d19872aSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
2862d19872aSmrg# 'config.status' has no value for ac_aux_dir unless we are using Automake,
2872d19872aSmrg# so we pass a copy along to make sure it has a sensible value anyway.
2882d19872aSmrgm4_defun([_LT_PROG_LTMAIN],
2892d19872aSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
2902d19872aSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
2912d19872aSmrgltmain=$ac_aux_dir/ltmain.sh
2922d19872aSmrg])# _LT_PROG_LTMAIN
2932d19872aSmrg
2942d19872aSmrg
2952d19872aSmrg## ------------------------------------- ##
2962d19872aSmrg## Accumulate code for creating libtool. ##
2972d19872aSmrg## ------------------------------------- ##
2982d19872aSmrg
2992d19872aSmrg# So that we can recreate a full libtool script including additional
3002d19872aSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
3012d19872aSmrg# in macros and then make a single call at the end using the 'libtool'
3022d19872aSmrg# label.
3032d19872aSmrg
3042d19872aSmrg
3052d19872aSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
3062d19872aSmrg# ----------------------------------------
3072d19872aSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3082d19872aSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
3092d19872aSmrg[m4_ifval([$1],
3102d19872aSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
3112d19872aSmrg                     [$1
3122d19872aSmrg])])])
3132d19872aSmrg
3142d19872aSmrg# Initialize.
3152d19872aSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
3162d19872aSmrg
3172d19872aSmrg
3182d19872aSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
3192d19872aSmrg# ------------------------------
3202d19872aSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3212d19872aSmrgm4_define([_LT_CONFIG_LIBTOOL],
3222d19872aSmrg[m4_ifval([$1],
3232d19872aSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
3242d19872aSmrg                     [$1
3252d19872aSmrg])])])
3262d19872aSmrg
3272d19872aSmrg# Initialize.
3282d19872aSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
3292d19872aSmrg
3302d19872aSmrg
3312d19872aSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
3322d19872aSmrg# -----------------------------------------------------
3332d19872aSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
3342d19872aSmrg[_LT_CONFIG_LIBTOOL([$1])
3352d19872aSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
3362d19872aSmrg])
3372d19872aSmrg
3382d19872aSmrg
3392d19872aSmrg# _LT_FORMAT_COMMENT([COMMENT])
3402d19872aSmrg# -----------------------------
3412d19872aSmrg# Add leading comment marks to the start of each line, and a trailing
3422d19872aSmrg# full-stop to the whole comment if one is not present already.
3432d19872aSmrgm4_define([_LT_FORMAT_COMMENT],
3442d19872aSmrg[m4_ifval([$1], [
3452d19872aSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
3462d19872aSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
3472d19872aSmrg)])
3482d19872aSmrg
3492d19872aSmrg
3502d19872aSmrg
3512d19872aSmrg## ------------------------ ##
3522d19872aSmrg## FIXME: Eliminate VARNAME ##
3532d19872aSmrg## ------------------------ ##
3542d19872aSmrg
3552d19872aSmrg
3562d19872aSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
3572d19872aSmrg# -------------------------------------------------------------------
3582d19872aSmrg# CONFIGNAME is the name given to the value in the libtool script.
3592d19872aSmrg# VARNAME is the (base) name used in the configure script.
3602d19872aSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
3612d19872aSmrg# VARNAME.  Any other value will be used directly.
3622d19872aSmrgm4_define([_LT_DECL],
3632d19872aSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
3642d19872aSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
3652d19872aSmrg	[m4_ifval([$1], [$1], [$2])])
3662d19872aSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
3672d19872aSmrg    m4_ifval([$4],
3682d19872aSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
3692d19872aSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
3702d19872aSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
3712d19872aSmrg])
3722d19872aSmrg
3732d19872aSmrg
3742d19872aSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
3752d19872aSmrg# --------------------------------------------------------
3762d19872aSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
3772d19872aSmrg
3782d19872aSmrg
3792d19872aSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
3802d19872aSmrg# ------------------------------------------------
3812d19872aSmrgm4_define([lt_decl_tag_varnames],
3822d19872aSmrg[_lt_decl_filter([tagged?], [yes], $@)])
3832d19872aSmrg
3842d19872aSmrg
3852d19872aSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
3862d19872aSmrg# ---------------------------------------------------------
3872d19872aSmrgm4_define([_lt_decl_filter],
3882d19872aSmrg[m4_case([$#],
3892d19872aSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
3902d19872aSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
3912d19872aSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
3922d19872aSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
3932d19872aSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
3942d19872aSmrg])
3952d19872aSmrg
3962d19872aSmrg
3972d19872aSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
3982d19872aSmrg# --------------------------------------------------
3992d19872aSmrgm4_define([lt_decl_quote_varnames],
4002d19872aSmrg[_lt_decl_filter([value], [1], $@)])
4012d19872aSmrg
4022d19872aSmrg
4032d19872aSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
4042d19872aSmrg# ---------------------------------------------------
4052d19872aSmrgm4_define([lt_decl_dquote_varnames],
4062d19872aSmrg[_lt_decl_filter([value], [2], $@)])
4072d19872aSmrg
4082d19872aSmrg
4092d19872aSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
4102d19872aSmrg# ---------------------------------------------------
4112d19872aSmrgm4_define([lt_decl_varnames_tagged],
4122d19872aSmrg[m4_assert([$# <= 2])dnl
4132d19872aSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
4142d19872aSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
4152d19872aSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
4162d19872aSmrgm4_define([_lt_decl_varnames_tagged],
4172d19872aSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
4182d19872aSmrg
4192d19872aSmrg
4202d19872aSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
4212d19872aSmrg# ------------------------------------------------
4222d19872aSmrgm4_define([lt_decl_all_varnames],
4232d19872aSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
4242d19872aSmrg     m4_if([$2], [],
4252d19872aSmrg	   m4_quote(lt_decl_varnames),
4262d19872aSmrg	m4_quote(m4_shift($@))))[]dnl
4272d19872aSmrg])
4282d19872aSmrgm4_define([_lt_decl_all_varnames],
4292d19872aSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
4302d19872aSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
4312d19872aSmrg])
4322d19872aSmrg
4332d19872aSmrg
4342d19872aSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
4352d19872aSmrg# ------------------------------------
4362d19872aSmrg# Quote a variable value, and forward it to 'config.status' so that its
4372d19872aSmrg# declaration there will have the same value as in 'configure'.  VARNAME
4382d19872aSmrg# must have a single quote delimited value for this to work.
4392d19872aSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
4402d19872aSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
4412d19872aSmrg
4422d19872aSmrg
4432d19872aSmrg# _LT_CONFIG_STATUS_DECLARATIONS
4442d19872aSmrg# ------------------------------
4452d19872aSmrg# We delimit libtool config variables with single quotes, so when
4462d19872aSmrg# we write them to config.status, we have to be sure to quote all
4472d19872aSmrg# embedded single quotes properly.  In configure, this macro expands
4482d19872aSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
4492d19872aSmrg#
4502d19872aSmrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
4512d19872aSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
4522d19872aSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
4532d19872aSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
4542d19872aSmrg
4552d19872aSmrg
4562d19872aSmrg# _LT_LIBTOOL_TAGS
4572d19872aSmrg# ----------------
4582d19872aSmrg# Output comment and list of tags supported by the script
4592d19872aSmrgm4_defun([_LT_LIBTOOL_TAGS],
4602d19872aSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
4612d19872aSmrgavailable_tags='_LT_TAGS'dnl
4622d19872aSmrg])
4632d19872aSmrg
4642d19872aSmrg
4652d19872aSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
4662d19872aSmrg# -----------------------------------
4672d19872aSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
4682d19872aSmrg# expand to a commented shell variable setting:
4692d19872aSmrg#
4702d19872aSmrg#    # Some comment about what VAR is for.
4712d19872aSmrg#    visible_name=$lt_internal_name
4722d19872aSmrgm4_define([_LT_LIBTOOL_DECLARE],
4732d19872aSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
4742d19872aSmrg					   [description])))[]dnl
4752d19872aSmrgm4_pushdef([_libtool_name],
4762d19872aSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
4772d19872aSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
4782d19872aSmrg    [0], [_libtool_name=[$]$1],
4792d19872aSmrg    [1], [_libtool_name=$lt_[]$1],
4802d19872aSmrg    [2], [_libtool_name=$lt_[]$1],
4812d19872aSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
4822d19872aSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
4832d19872aSmrg])
4842d19872aSmrg
4852d19872aSmrg
4862d19872aSmrg# _LT_LIBTOOL_CONFIG_VARS
4872d19872aSmrg# -----------------------
4882d19872aSmrg# Produce commented declarations of non-tagged libtool config variables
4892d19872aSmrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
4902d19872aSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
4912d19872aSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
4922d19872aSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
4932d19872aSmrg[m4_foreach([_lt_var],
4942d19872aSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
4952d19872aSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
4962d19872aSmrg
4972d19872aSmrg
4982d19872aSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
4992d19872aSmrg# -------------------------
5002d19872aSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
5012d19872aSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
5022d19872aSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
5032d19872aSmrg
5042d19872aSmrg
5052d19872aSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
5062d19872aSmrg# ------------------------------
5072d19872aSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
5082d19872aSmrg
5092d19872aSmrg
5102d19872aSmrg# _LT_CONFIG_COMMANDS
5112d19872aSmrg# -------------------
5122d19872aSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
5132d19872aSmrg# variables for single and double quote escaping we saved from calls
5142d19872aSmrg# to _LT_DECL, we can put quote escaped variables declarations
5152d19872aSmrg# into 'config.status', and then the shell code to quote escape them in
5162d19872aSmrg# for loops in 'config.status'.  Finally, any additional code accumulated
5172d19872aSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
5182d19872aSmrgm4_defun([_LT_CONFIG_COMMANDS],
5192d19872aSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
5202d19872aSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
5212d19872aSmrg	dnl instead of duplicating it all over again into config.status,
5222d19872aSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
5232d19872aSmrg	dnl needs to know what name is stored there:
5242d19872aSmrg        [AC_CONFIG_COMMANDS([libtool],
5252d19872aSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
5262d19872aSmrg    dnl If the libtool generation code is destined for config.status,
5272d19872aSmrg    dnl expand the accumulated commands and init code now:
5282d19872aSmrg    [AC_CONFIG_COMMANDS([libtool],
5292d19872aSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
5302d19872aSmrg])#_LT_CONFIG_COMMANDS
5312d19872aSmrg
5322d19872aSmrg
5332d19872aSmrg# Initialize.
5342d19872aSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
5352d19872aSmrg[
5362d19872aSmrg
5372d19872aSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
5382d19872aSmrg# if CDPATH is set.
5392d19872aSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5402d19872aSmrg
5412d19872aSmrgsed_quote_subst='$sed_quote_subst'
5422d19872aSmrgdouble_quote_subst='$double_quote_subst'
5432d19872aSmrgdelay_variable_subst='$delay_variable_subst'
5442d19872aSmrg_LT_CONFIG_STATUS_DECLARATIONS
5452d19872aSmrgLTCC='$LTCC'
5462d19872aSmrgLTCFLAGS='$LTCFLAGS'
5472d19872aSmrgcompiler='$compiler_DEFAULT'
5482d19872aSmrg
5492d19872aSmrg# A function that is used when there is no print builtin or printf.
5502d19872aSmrgfunc_fallback_echo ()
5512d19872aSmrg{
5522d19872aSmrg  eval 'cat <<_LTECHO_EOF
5532d19872aSmrg\$[]1
5542d19872aSmrg_LTECHO_EOF'
5552d19872aSmrg}
5562d19872aSmrg
5572d19872aSmrg# Quote evaled strings.
5582d19872aSmrgfor var in lt_decl_all_varnames([[ \
5592d19872aSmrg]], lt_decl_quote_varnames); do
5602d19872aSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
5612d19872aSmrg    *[[\\\\\\\`\\"\\\$]]*)
5622d19872aSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
5632d19872aSmrg      ;;
5642d19872aSmrg    *)
5652d19872aSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
5662d19872aSmrg      ;;
5672d19872aSmrg    esac
5682d19872aSmrgdone
5692d19872aSmrg
5702d19872aSmrg# Double-quote double-evaled strings.
5712d19872aSmrgfor var in lt_decl_all_varnames([[ \
5722d19872aSmrg]], lt_decl_dquote_varnames); do
5732d19872aSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
5742d19872aSmrg    *[[\\\\\\\`\\"\\\$]]*)
5752d19872aSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
5762d19872aSmrg      ;;
5772d19872aSmrg    *)
5782d19872aSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
5792d19872aSmrg      ;;
5802d19872aSmrg    esac
5812d19872aSmrgdone
5822d19872aSmrg
5832d19872aSmrg_LT_OUTPUT_LIBTOOL_INIT
5842d19872aSmrg])
5852d19872aSmrg
5862d19872aSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
5872d19872aSmrg# ------------------------------------
5882d19872aSmrg# Generate a child script FILE with all initialization necessary to
5892d19872aSmrg# reuse the environment learned by the parent script, and make the
5902d19872aSmrg# file executable.  If COMMENT is supplied, it is inserted after the
5912d19872aSmrg# '#!' sequence but before initialization text begins.  After this
5922d19872aSmrg# macro, additional text can be appended to FILE to form the body of
5932d19872aSmrg# the child script.  The macro ends with non-zero status if the
5942d19872aSmrg# file could not be fully written (such as if the disk is full).
5952d19872aSmrgm4_ifdef([AS_INIT_GENERATED],
5962d19872aSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
5972d19872aSmrg[m4_defun([_LT_GENERATED_FILE_INIT],
5982d19872aSmrg[m4_require([AS_PREPARE])]dnl
5992d19872aSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
6002d19872aSmrg[lt_write_fail=0
6012d19872aSmrgcat >$1 <<_ASEOF || lt_write_fail=1
6022d19872aSmrg#! $SHELL
6032d19872aSmrg# Generated by $as_me.
6042d19872aSmrg$2
6052d19872aSmrgSHELL=\${CONFIG_SHELL-$SHELL}
6062d19872aSmrgexport SHELL
6072d19872aSmrg_ASEOF
6082d19872aSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1
6092d19872aSmrgAS_SHELL_SANITIZE
6102d19872aSmrg_AS_PREPARE
6112d19872aSmrgexec AS_MESSAGE_FD>&1
6122d19872aSmrg_ASEOF
6132d19872aSmrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
6142d19872aSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
6152d19872aSmrg
6162d19872aSmrg# LT_OUTPUT
6172d19872aSmrg# ---------
6182d19872aSmrg# This macro allows early generation of the libtool script (before
6192f76b07dSmrg# AC_OUTPUT is called), in case it is used in configure for compilation
6202d19872aSmrg# tests.
6212d19872aSmrgAC_DEFUN([LT_OUTPUT],
6222d19872aSmrg[: ${CONFIG_LT=./config.lt}
6232d19872aSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
6242d19872aSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
6252d19872aSmrg[# Run this file to recreate a libtool stub with the current configuration.])
6262d19872aSmrg
6272d19872aSmrgcat >>"$CONFIG_LT" <<\_LTEOF
6282d19872aSmrglt_cl_silent=false
6292d19872aSmrgexec AS_MESSAGE_LOG_FD>>config.log
6302d19872aSmrg{
6312d19872aSmrg  echo
6322d19872aSmrg  AS_BOX([Running $as_me.])
6332d19872aSmrg} >&AS_MESSAGE_LOG_FD
6342d19872aSmrg
6352d19872aSmrglt_cl_help="\
6362d19872aSmrg'$as_me' creates a local libtool stub from the current configuration,
6372d19872aSmrgfor use in further configure time tests before the real libtool is
6382d19872aSmrggenerated.
6392d19872aSmrg
6402d19872aSmrgUsage: $[0] [[OPTIONS]]
6412d19872aSmrg
6422d19872aSmrg  -h, --help      print this help, then exit
6432d19872aSmrg  -V, --version   print version number, then exit
6442d19872aSmrg  -q, --quiet     do not print progress messages
6452d19872aSmrg  -d, --debug     don't remove temporary files
6462d19872aSmrg
6472d19872aSmrgReport bugs to <bug-libtool@gnu.org>."
6482d19872aSmrg
6492d19872aSmrglt_cl_version="\
6502d19872aSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
6512d19872aSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
6522d19872aSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
6532d19872aSmrg
6542f76b07dSmrgCopyright (C) 2024 Free Software Foundation, Inc.
6552d19872aSmrgThis config.lt script is free software; the Free Software Foundation
6562f76b07dSmrggives unlimited permission to copy, distribute and modify it."
6572d19872aSmrg
6582d19872aSmrgwhile test 0 != $[#]
6592d19872aSmrgdo
6602d19872aSmrg  case $[1] in
6612d19872aSmrg    --version | --v* | -V )
6622d19872aSmrg      echo "$lt_cl_version"; exit 0 ;;
6632d19872aSmrg    --help | --h* | -h )
6642d19872aSmrg      echo "$lt_cl_help"; exit 0 ;;
6652d19872aSmrg    --debug | --d* | -d )
6662d19872aSmrg      debug=: ;;
6672d19872aSmrg    --quiet | --q* | --silent | --s* | -q )
6682d19872aSmrg      lt_cl_silent=: ;;
6692d19872aSmrg
6702d19872aSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
6712d19872aSmrgTry '$[0] --help' for more information.]) ;;
6722d19872aSmrg
6732d19872aSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
6742d19872aSmrgTry '$[0] --help' for more information.]) ;;
6752d19872aSmrg  esac
6762d19872aSmrg  shift
6772d19872aSmrgdone
6782d19872aSmrg
6792d19872aSmrgif $lt_cl_silent; then
6802d19872aSmrg  exec AS_MESSAGE_FD>/dev/null
6812d19872aSmrgfi
6822d19872aSmrg_LTEOF
6832d19872aSmrg
6842d19872aSmrgcat >>"$CONFIG_LT" <<_LTEOF
6852d19872aSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
6862d19872aSmrg_LTEOF
6872d19872aSmrg
6882d19872aSmrgcat >>"$CONFIG_LT" <<\_LTEOF
6892d19872aSmrgAC_MSG_NOTICE([creating $ofile])
6902d19872aSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
6912d19872aSmrgAS_EXIT(0)
6922d19872aSmrg_LTEOF
6932d19872aSmrgchmod +x "$CONFIG_LT"
6942d19872aSmrg
6952d19872aSmrg# configure is writing to config.log, but config.lt does its own redirection,
6962d19872aSmrg# appending to config.log, which fails on DOS, as config.log is still kept
6972d19872aSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
6982d19872aSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
6992d19872aSmrglt_cl_success=:
7002d19872aSmrgtest yes = "$silent" &&
7012d19872aSmrg  lt_config_lt_args="$lt_config_lt_args --quiet"
7022d19872aSmrgexec AS_MESSAGE_LOG_FD>/dev/null
7032d19872aSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
7042d19872aSmrgexec AS_MESSAGE_LOG_FD>>config.log
7052d19872aSmrg$lt_cl_success || AS_EXIT(1)
7062d19872aSmrg])# LT_OUTPUT
7072d19872aSmrg
7082d19872aSmrg
7092d19872aSmrg# _LT_CONFIG(TAG)
7102d19872aSmrg# ---------------
7112d19872aSmrg# If TAG is the built-in tag, create an initial libtool script with a
7122d19872aSmrg# default configuration from the untagged config vars.  Otherwise add code
7132d19872aSmrg# to config.status for appending the configuration named by TAG from the
7142d19872aSmrg# matching tagged config vars.
7152d19872aSmrgm4_defun([_LT_CONFIG],
7162d19872aSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7172d19872aSmrg_LT_CONFIG_SAVE_COMMANDS([
7182d19872aSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
7192d19872aSmrg  m4_if(_LT_TAG, [C], [
7202d19872aSmrg    # See if we are running on zsh, and set the options that allow our
7212d19872aSmrg    # commands through without removal of \ escapes.
7222d19872aSmrg    if test -n "${ZSH_VERSION+set}"; then
7232d19872aSmrg      setopt NO_GLOB_SUBST
7242d19872aSmrg    fi
7252d19872aSmrg
7262d19872aSmrg    cfgfile=${ofile}T
7272d19872aSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
7282d19872aSmrg    $RM "$cfgfile"
7292d19872aSmrg
7302d19872aSmrg    cat <<_LT_EOF >> "$cfgfile"
7312d19872aSmrg#! $SHELL
7322d19872aSmrg# Generated automatically by $as_me ($PACKAGE) $VERSION
7332d19872aSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
7342d19872aSmrg
7352d19872aSmrg# Provide generalized library-building support services.
7362d19872aSmrg# Written by Gordon Matzigkeit, 1996
7372d19872aSmrg
7382d19872aSmrg_LT_COPYING
7392d19872aSmrg_LT_LIBTOOL_TAGS
7402d19872aSmrg
7412d19872aSmrg# Configured defaults for sys_lib_dlsearch_path munging.
7422d19872aSmrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
7432d19872aSmrg
7442d19872aSmrg# ### BEGIN LIBTOOL CONFIG
7452d19872aSmrg_LT_LIBTOOL_CONFIG_VARS
7462d19872aSmrg_LT_LIBTOOL_TAG_VARS
7472d19872aSmrg# ### END LIBTOOL CONFIG
7482d19872aSmrg
7492d19872aSmrg_LT_EOF
7502d19872aSmrg
7512d19872aSmrg    cat <<'_LT_EOF' >> "$cfgfile"
7522d19872aSmrg
7532d19872aSmrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
7542d19872aSmrg
7552d19872aSmrg_LT_PREPARE_MUNGE_PATH_LIST
7562d19872aSmrg_LT_PREPARE_CC_BASENAME
7572d19872aSmrg
7582d19872aSmrg# ### END FUNCTIONS SHARED WITH CONFIGURE
7592d19872aSmrg
7602d19872aSmrg_LT_EOF
7612d19872aSmrg
7622d19872aSmrg  case $host_os in
7632d19872aSmrg  aix3*)
7642d19872aSmrg    cat <<\_LT_EOF >> "$cfgfile"
7652d19872aSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
7662d19872aSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
7672d19872aSmrg# vanish in a puff of smoke.
7682d19872aSmrgif test set != "${COLLECT_NAMES+set}"; then
7692d19872aSmrg  COLLECT_NAMES=
7702d19872aSmrg  export COLLECT_NAMES
7712d19872aSmrgfi
7722d19872aSmrg_LT_EOF
7732d19872aSmrg    ;;
7742d19872aSmrg  esac
7752d19872aSmrg
7762d19872aSmrg  _LT_PROG_LTMAIN
7772d19872aSmrg
7782d19872aSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
7792d19872aSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
7802d19872aSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
7812d19872aSmrg  # is reportedly fixed, but why not run on old versions too?
7822d19872aSmrg  $SED '$q' "$ltmain" >> "$cfgfile" \
7832d19872aSmrg     || (rm -f "$cfgfile"; exit 1)
7842d19872aSmrg
7852d19872aSmrg   mv -f "$cfgfile" "$ofile" ||
7862d19872aSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
7872d19872aSmrg  chmod +x "$ofile"
7882d19872aSmrg],
7892d19872aSmrg[cat <<_LT_EOF >> "$ofile"
7902d19872aSmrg
7912d19872aSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
7922d19872aSmrgdnl in a comment (ie after a #).
7932d19872aSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
7942d19872aSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
7952d19872aSmrg# ### END LIBTOOL TAG CONFIG: $1
7962d19872aSmrg_LT_EOF
7972d19872aSmrg])dnl /m4_if
7982d19872aSmrg],
7992d19872aSmrg[m4_if([$1], [], [
8002d19872aSmrg    PACKAGE='$PACKAGE'
8012d19872aSmrg    VERSION='$VERSION'
8022d19872aSmrg    RM='$RM'
8032d19872aSmrg    ofile='$ofile'], [])
8042d19872aSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
8052d19872aSmrg])# _LT_CONFIG
8062d19872aSmrg
8072d19872aSmrg
8082d19872aSmrg# LT_SUPPORTED_TAG(TAG)
8092d19872aSmrg# ---------------------
8102d19872aSmrg# Trace this macro to discover what tags are supported by the libtool
8112d19872aSmrg# --tag option, using:
8122d19872aSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
8132d19872aSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
8142d19872aSmrg
8152d19872aSmrg
8162d19872aSmrg# C support is built-in for now
8172d19872aSmrgm4_define([_LT_LANG_C_enabled], [])
8182d19872aSmrgm4_define([_LT_TAGS], [])
8192d19872aSmrg
8202d19872aSmrg
8212d19872aSmrg# LT_LANG(LANG)
8222d19872aSmrg# -------------
8232d19872aSmrg# Enable libtool support for the given language if not already enabled.
8242d19872aSmrgAC_DEFUN([LT_LANG],
8252d19872aSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
8262d19872aSmrgm4_case([$1],
8272d19872aSmrg  [C],			[_LT_LANG(C)],
8282d19872aSmrg  [C++],		[_LT_LANG(CXX)],
8292d19872aSmrg  [Go],			[_LT_LANG(GO)],
8302d19872aSmrg  [Java],		[_LT_LANG(GCJ)],
8312d19872aSmrg  [Fortran 77],		[_LT_LANG(F77)],
8322d19872aSmrg  [Fortran],		[_LT_LANG(FC)],
8332d19872aSmrg  [Windows Resource],	[_LT_LANG(RC)],
8342d19872aSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
8352d19872aSmrg    [_LT_LANG($1)],
8362d19872aSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
8372d19872aSmrg])# LT_LANG
8382d19872aSmrg
8392d19872aSmrg
8402d19872aSmrg# _LT_LANG(LANGNAME)
8412d19872aSmrg# ------------------
8422d19872aSmrgm4_defun([_LT_LANG],
8432d19872aSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
8442d19872aSmrg  [LT_SUPPORTED_TAG([$1])dnl
8452d19872aSmrg  m4_append([_LT_TAGS], [$1 ])dnl
8462d19872aSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
8472d19872aSmrg  _LT_LANG_$1_CONFIG($1)])dnl
8482d19872aSmrg])# _LT_LANG
8492d19872aSmrg
8502d19872aSmrg
8512d19872aSmrgm4_ifndef([AC_PROG_GO], [
8522d19872aSmrg############################################################
8532d19872aSmrg# NOTE: This macro has been submitted for inclusion into   #
8542d19872aSmrg#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
8552d19872aSmrg#  a released version of Autoconf we should remove this    #
8562d19872aSmrg#  macro and use it instead.                               #
8572d19872aSmrg############################################################
8582d19872aSmrgm4_defun([AC_PROG_GO],
8592d19872aSmrg[AC_LANG_PUSH(Go)dnl
8602d19872aSmrgAC_ARG_VAR([GOC],     [Go compiler command])dnl
8612d19872aSmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
8622d19872aSmrg_AC_ARG_VAR_LDFLAGS()dnl
8632d19872aSmrgAC_CHECK_TOOL(GOC, gccgo)
8642d19872aSmrgif test -z "$GOC"; then
8652d19872aSmrg  if test -n "$ac_tool_prefix"; then
8662d19872aSmrg    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
8672d19872aSmrg  fi
8682d19872aSmrgfi
8692d19872aSmrgif test -z "$GOC"; then
8702d19872aSmrg  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
8712d19872aSmrgfi
8722d19872aSmrg])#m4_defun
8732d19872aSmrg])#m4_ifndef
8742d19872aSmrg
8752d19872aSmrg
8762d19872aSmrg# _LT_LANG_DEFAULT_CONFIG
8772d19872aSmrg# -----------------------
8782d19872aSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
8792d19872aSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
8802d19872aSmrg  [LT_LANG(CXX)],
8812d19872aSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
8822d19872aSmrg
8832d19872aSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
8842d19872aSmrg  [LT_LANG(F77)],
8852d19872aSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
8862d19872aSmrg
8872d19872aSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
8882d19872aSmrg  [LT_LANG(FC)],
8892d19872aSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
8902d19872aSmrg
8912d19872aSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
8922d19872aSmrgdnl pulling things in needlessly.
8932d19872aSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
8942d19872aSmrg  [LT_LANG(GCJ)],
8952d19872aSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
8962d19872aSmrg    [LT_LANG(GCJ)],
8972d19872aSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
8982d19872aSmrg      [LT_LANG(GCJ)],
8992d19872aSmrg      [m4_ifdef([AC_PROG_GCJ],
9002d19872aSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
9012d19872aSmrg       m4_ifdef([A][M_PROG_GCJ],
9022d19872aSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
9032d19872aSmrg       m4_ifdef([LT_PROG_GCJ],
9042d19872aSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
9052d19872aSmrg
9062d19872aSmrgAC_PROVIDE_IFELSE([AC_PROG_GO],
9072d19872aSmrg  [LT_LANG(GO)],
9082d19872aSmrg  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
9092d19872aSmrg
9102d19872aSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
9112d19872aSmrg  [LT_LANG(RC)],
9122d19872aSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
9132d19872aSmrg])# _LT_LANG_DEFAULT_CONFIG
9142d19872aSmrg
9152d19872aSmrg# Obsolete macros:
9162d19872aSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
9172d19872aSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
9182d19872aSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
9192d19872aSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
9202d19872aSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
9212d19872aSmrgdnl aclocal-1.4 backwards compatibility:
9222d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
9232d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
9242d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
9252d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
9262d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
9272d19872aSmrg
9282d19872aSmrg
9292d19872aSmrg# _LT_TAG_COMPILER
9302d19872aSmrg# ----------------
9312d19872aSmrgm4_defun([_LT_TAG_COMPILER],
9322d19872aSmrg[AC_REQUIRE([AC_PROG_CC])dnl
9332d19872aSmrg
9342d19872aSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
9352d19872aSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
9362d19872aSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
9372d19872aSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
9382d19872aSmrg
9392d19872aSmrg# If no C compiler was specified, use CC.
9402d19872aSmrgLTCC=${LTCC-"$CC"}
9412d19872aSmrg
9422d19872aSmrg# If no C compiler flags were specified, use CFLAGS.
9432d19872aSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
9442d19872aSmrg
9452d19872aSmrg# Allow CC to be a program name with arguments.
9462d19872aSmrgcompiler=$CC
9472d19872aSmrg])# _LT_TAG_COMPILER
9482d19872aSmrg
9492d19872aSmrg
9502d19872aSmrg# _LT_COMPILER_BOILERPLATE
9512d19872aSmrg# ------------------------
9522d19872aSmrg# Check for compiler boilerplate output or warnings with
9532d19872aSmrg# the simple compiler test code.
9542d19872aSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
9552d19872aSmrg[m4_require([_LT_DECL_SED])dnl
9562d19872aSmrgac_outfile=conftest.$ac_objext
9572d19872aSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
9582d19872aSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
9592d19872aSmrg_lt_compiler_boilerplate=`cat conftest.err`
9602d19872aSmrg$RM conftest*
9612d19872aSmrg])# _LT_COMPILER_BOILERPLATE
9622d19872aSmrg
9632d19872aSmrg
9642d19872aSmrg# _LT_LINKER_BOILERPLATE
9652d19872aSmrg# ----------------------
9662d19872aSmrg# Check for linker boilerplate output or warnings with
9672d19872aSmrg# the simple link test code.
9682d19872aSmrgm4_defun([_LT_LINKER_BOILERPLATE],
9692d19872aSmrg[m4_require([_LT_DECL_SED])dnl
9702d19872aSmrgac_outfile=conftest.$ac_objext
9712d19872aSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
9722d19872aSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
9732d19872aSmrg_lt_linker_boilerplate=`cat conftest.err`
9742d19872aSmrg$RM -r conftest*
9752d19872aSmrg])# _LT_LINKER_BOILERPLATE
9762d19872aSmrg
9772f76b07dSmrg
9782d19872aSmrg# _LT_REQUIRED_DARWIN_CHECKS
9792d19872aSmrg# -------------------------
9802d19872aSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
9812d19872aSmrg  case $host_os in
9822d19872aSmrg    rhapsody* | darwin*)
9832d19872aSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
9842d19872aSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
9852d19872aSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
9862d19872aSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
9872d19872aSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
9882d19872aSmrg    _LT_DECL([], [DSYMUTIL], [1],
9892d19872aSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
9902d19872aSmrg    _LT_DECL([], [NMEDIT], [1],
9912d19872aSmrg      [Tool to change global to local symbols on Mac OS X])
9922d19872aSmrg    _LT_DECL([], [LIPO], [1],
9932d19872aSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
9942d19872aSmrg    _LT_DECL([], [OTOOL], [1],
9952d19872aSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
9962d19872aSmrg    _LT_DECL([], [OTOOL64], [1],
9972d19872aSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
9982d19872aSmrg
9992d19872aSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
10002d19872aSmrg      [lt_cv_apple_cc_single_mod=no
10012d19872aSmrg      if test -z "$LT_MULTI_MODULE"; then
10022d19872aSmrg	# By default we will add the -single_module flag. You can override
10032d19872aSmrg	# by either setting the environment variable LT_MULTI_MODULE
10042d19872aSmrg	# non-empty at configure time, or by adding -multi_module to the
10052d19872aSmrg	# link flags.
10062d19872aSmrg	rm -rf libconftest.dylib*
10072d19872aSmrg	echo "int foo(void){return 1;}" > conftest.c
10082d19872aSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
10092d19872aSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
10102d19872aSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
10112d19872aSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
10122d19872aSmrg        _lt_result=$?
10132d19872aSmrg	# If there is a non-empty error log, and "single_module"
10142d19872aSmrg	# appears in it, assume the flag caused a linker warning
10152d19872aSmrg        if test -s conftest.err && $GREP single_module conftest.err; then
10162d19872aSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
10172d19872aSmrg	# Otherwise, if the output was created with a 0 exit code from
10182d19872aSmrg	# the compiler, it worked.
10192d19872aSmrg	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
10202d19872aSmrg	  lt_cv_apple_cc_single_mod=yes
10212d19872aSmrg	else
10222d19872aSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
10232d19872aSmrg	fi
10242d19872aSmrg	rm -rf libconftest.dylib*
10252d19872aSmrg	rm -f conftest.*
10262d19872aSmrg      fi])
10272d19872aSmrg
10282f76b07dSmrg    # Feature test to disable chained fixups since it is not
10292f76b07dSmrg    # compatible with '-undefined dynamic_lookup'
10302f76b07dSmrg    AC_CACHE_CHECK([for -no_fixup_chains linker flag],
10312f76b07dSmrg      [lt_cv_support_no_fixup_chains],
10322f76b07dSmrg      [ save_LDFLAGS=$LDFLAGS
10332f76b07dSmrg        LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
10342f76b07dSmrg        AC_LINK_IFELSE(
10352f76b07dSmrg          [AC_LANG_PROGRAM([],[])],
10362f76b07dSmrg          lt_cv_support_no_fixup_chains=yes,
10372f76b07dSmrg          lt_cv_support_no_fixup_chains=no
10382f76b07dSmrg        )
10392f76b07dSmrg        LDFLAGS=$save_LDFLAGS
10402f76b07dSmrg      ]
10412f76b07dSmrg    )
10422f76b07dSmrg
10432d19872aSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
10442d19872aSmrg      [lt_cv_ld_exported_symbols_list],
10452d19872aSmrg      [lt_cv_ld_exported_symbols_list=no
10462d19872aSmrg      save_LDFLAGS=$LDFLAGS
10472d19872aSmrg      echo "_main" > conftest.sym
10482d19872aSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
10492d19872aSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
10502d19872aSmrg	[lt_cv_ld_exported_symbols_list=yes],
10512d19872aSmrg	[lt_cv_ld_exported_symbols_list=no])
10522d19872aSmrg	LDFLAGS=$save_LDFLAGS
10532d19872aSmrg    ])
10542d19872aSmrg
10552d19872aSmrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
10562d19872aSmrg      [lt_cv_ld_force_load=no
10572d19872aSmrg      cat > conftest.c << _LT_EOF
10582d19872aSmrgint forced_loaded() { return 2;}
10592d19872aSmrg_LT_EOF
10602d19872aSmrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
10612d19872aSmrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
10622d19872aSmrg      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
10632d19872aSmrg      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
10642d19872aSmrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
10652d19872aSmrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
10662d19872aSmrg      cat > conftest.c << _LT_EOF
10672f76b07dSmrgint main(void) { return 0;}
10682d19872aSmrg_LT_EOF
10692d19872aSmrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
10702d19872aSmrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
10712d19872aSmrg      _lt_result=$?
10722d19872aSmrg      if test -s conftest.err && $GREP force_load conftest.err; then
10732d19872aSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
10742d19872aSmrg      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
10752d19872aSmrg	lt_cv_ld_force_load=yes
10762d19872aSmrg      else
10772d19872aSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
10782d19872aSmrg      fi
10792d19872aSmrg        rm -f conftest.err libconftest.a conftest conftest.c
10802d19872aSmrg        rm -rf conftest.dSYM
10812d19872aSmrg    ])
10822d19872aSmrg    case $host_os in
10832d19872aSmrg    rhapsody* | darwin1.[[012]])
10842d19872aSmrg      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
10852d19872aSmrg    darwin1.*)
10862d19872aSmrg      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10872d19872aSmrg    darwin*)
10882d19872aSmrg      case $MACOSX_DEPLOYMENT_TARGET,$host in
10892d19872aSmrg        10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
10902d19872aSmrg          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10912d19872aSmrg        *)
10922f76b07dSmrg          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
10932f76b07dSmrg          if test yes = "$lt_cv_support_no_fixup_chains"; then
10942f76b07dSmrg            AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains'])
10952f76b07dSmrg          fi
10962f76b07dSmrg        ;;
10972d19872aSmrg      esac
10982d19872aSmrg    ;;
10992d19872aSmrg  esac
11002d19872aSmrg    if test yes = "$lt_cv_apple_cc_single_mod"; then
11012d19872aSmrg      _lt_dar_single_mod='$single_module'
11022d19872aSmrg    fi
11032f76b07dSmrg    _lt_dar_needs_single_mod=no
11042f76b07dSmrg    case $host_os in
11052f76b07dSmrg    rhapsody* | darwin1.*)
11062f76b07dSmrg      _lt_dar_needs_single_mod=yes ;;
11072f76b07dSmrg    darwin*)
11082f76b07dSmrg      # When targeting Mac OS X 10.4 (darwin 8) or later,
11092f76b07dSmrg      # -single_module is the default and -multi_module is unsupported.
11102f76b07dSmrg      # The toolchain on macOS 10.14 (darwin 18) and later cannot
11112f76b07dSmrg      # target any OS version that needs -single_module.
11122f76b07dSmrg      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
11132f76b07dSmrg      10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*)
11142f76b07dSmrg        _lt_dar_needs_single_mod=yes ;;
11152f76b07dSmrg      esac
11162f76b07dSmrg    ;;
11172f76b07dSmrg    esac
11182d19872aSmrg    if test yes = "$lt_cv_ld_exported_symbols_list"; then
11192d19872aSmrg      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
11202d19872aSmrg    else
11212d19872aSmrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
11222d19872aSmrg    fi
11232d19872aSmrg    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
11242d19872aSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
11252d19872aSmrg    else
11262d19872aSmrg      _lt_dsymutil=
11272d19872aSmrg    fi
11282d19872aSmrg    ;;
11292d19872aSmrg  esac
11302d19872aSmrg])
11312d19872aSmrg
11322d19872aSmrg
11332d19872aSmrg# _LT_DARWIN_LINKER_FEATURES([TAG])
11342d19872aSmrg# ---------------------------------
11352d19872aSmrg# Checks for linker and compiler features on darwin
11362d19872aSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
11372d19872aSmrg[
11382d19872aSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
11392d19872aSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
11402d19872aSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
11412d19872aSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
11422d19872aSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
11432d19872aSmrg  if test yes = "$lt_cv_ld_force_load"; then
11442d19872aSmrg    _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\"`'
11452d19872aSmrg    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
11462d19872aSmrg                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
11472d19872aSmrg  else
11482d19872aSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
11492d19872aSmrg  fi
11502d19872aSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
11512d19872aSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
11522d19872aSmrg  case $cc_basename in
11532d19872aSmrg     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
11542d19872aSmrg     *) _lt_dar_can_shared=$GCC ;;
11552d19872aSmrg  esac
11562d19872aSmrg  if test yes = "$_lt_dar_can_shared"; then
11572d19872aSmrg    output_verbose_link_cmd=func_echo_all
11582d19872aSmrg    _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"
11592d19872aSmrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
11602d19872aSmrg    _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"
11612d19872aSmrg    _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"
11622d19872aSmrg    m4_if([$1], [CXX],
11632f76b07dSmrg[   if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then
11642d19872aSmrg      _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"
11652d19872aSmrg      _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"
11662d19872aSmrg    fi
11672d19872aSmrg],[])
11682d19872aSmrg  else
11692d19872aSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
11702d19872aSmrg  fi
11712d19872aSmrg])
11722d19872aSmrg
11732d19872aSmrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
11742d19872aSmrg# ----------------------------------
11752d19872aSmrg# Links a minimal program and checks the executable
11762d19872aSmrg# for the system default hardcoded library path. In most cases,
11772d19872aSmrg# this is /usr/lib:/lib, but when the MPI compilers are used
11782d19872aSmrg# the location of the communication and MPI libs are included too.
11792d19872aSmrg# If we don't find anything, use the default library path according
11802d19872aSmrg# to the aix ld manual.
11812d19872aSmrg# Store the results from the different compilers for each TAGNAME.
11822d19872aSmrg# Allow to override them for all tags through lt_cv_aix_libpath.
11832d19872aSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
11842d19872aSmrg[m4_require([_LT_DECL_SED])dnl
11852d19872aSmrgif test set = "${lt_cv_aix_libpath+set}"; then
11862d19872aSmrg  aix_libpath=$lt_cv_aix_libpath
11872d19872aSmrgelse
11882d19872aSmrg  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
11892d19872aSmrg  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
11902d19872aSmrg  lt_aix_libpath_sed='[
11912d19872aSmrg      /Import File Strings/,/^$/ {
11922d19872aSmrg	  /^0/ {
11932d19872aSmrg	      s/^0  *\([^ ]*\) *$/\1/
11942d19872aSmrg	      p
11952d19872aSmrg	  }
11962d19872aSmrg      }]'
11972d19872aSmrg  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
11982d19872aSmrg  # Check for a 64-bit object if we didn't find anything.
11992d19872aSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
12002d19872aSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12012d19872aSmrg  fi],[])
12022d19872aSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
12032d19872aSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
12042d19872aSmrg  fi
12052d19872aSmrg  ])
12062d19872aSmrg  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
12072d19872aSmrgfi
12082d19872aSmrg])# _LT_SYS_MODULE_PATH_AIX
12092d19872aSmrg
12102d19872aSmrg
12112d19872aSmrg# _LT_SHELL_INIT(ARG)
12122d19872aSmrg# -------------------
12132d19872aSmrgm4_define([_LT_SHELL_INIT],
12142d19872aSmrg[m4_divert_text([M4SH-INIT], [$1
12152d19872aSmrg])])# _LT_SHELL_INIT
12162d19872aSmrg
12172d19872aSmrg
12182d19872aSmrg
12192d19872aSmrg# _LT_PROG_ECHO_BACKSLASH
12202d19872aSmrg# -----------------------
12212d19872aSmrg# Find how we can fake an echo command that does not interpret backslash.
12222d19872aSmrg# In particular, with Autoconf 2.60 or later we add some code to the start
12232d19872aSmrg# of the generated configure script that will find a shell with a builtin
12242d19872aSmrg# printf (that we can use as an echo command).
12252d19872aSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
12262d19872aSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
12272d19872aSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
12282d19872aSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
12292d19872aSmrg
12302d19872aSmrgAC_MSG_CHECKING([how to print strings])
12312d19872aSmrg# Test print first, because it will be a builtin if present.
12322d19872aSmrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
12332d19872aSmrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
12342d19872aSmrg  ECHO='print -r --'
12352d19872aSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
12362d19872aSmrg  ECHO='printf %s\n'
12372d19872aSmrgelse
12382d19872aSmrg  # Use this function as a fallback that always works.
12392d19872aSmrg  func_fallback_echo ()
12402d19872aSmrg  {
12412d19872aSmrg    eval 'cat <<_LTECHO_EOF
12422d19872aSmrg$[]1
12432d19872aSmrg_LTECHO_EOF'
12442d19872aSmrg  }
12452d19872aSmrg  ECHO='func_fallback_echo'
12462d19872aSmrgfi
12472d19872aSmrg
12482d19872aSmrg# func_echo_all arg...
12492d19872aSmrg# Invoke $ECHO with all args, space-separated.
12502d19872aSmrgfunc_echo_all ()
12512d19872aSmrg{
12522d19872aSmrg    $ECHO "$*"
12532d19872aSmrg}
12542d19872aSmrg
12552d19872aSmrgcase $ECHO in
12562d19872aSmrg  printf*) AC_MSG_RESULT([printf]) ;;
12572d19872aSmrg  print*) AC_MSG_RESULT([print -r]) ;;
12582d19872aSmrg  *) AC_MSG_RESULT([cat]) ;;
12592d19872aSmrgesac
12602d19872aSmrg
12612d19872aSmrgm4_ifdef([_AS_DETECT_SUGGESTED],
12622d19872aSmrg[_AS_DETECT_SUGGESTED([
12632d19872aSmrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
12642d19872aSmrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
12652d19872aSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
12662d19872aSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
12672d19872aSmrg    PATH=/empty FPATH=/empty; export PATH FPATH
12682d19872aSmrg    test "X`printf %s $ECHO`" = "X$ECHO" \
12692d19872aSmrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
12702d19872aSmrg
12712d19872aSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
12722d19872aSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
12732d19872aSmrg])# _LT_PROG_ECHO_BACKSLASH
12742d19872aSmrg
12752d19872aSmrg
12762d19872aSmrg# _LT_WITH_SYSROOT
12772d19872aSmrg# ----------------
12782d19872aSmrgAC_DEFUN([_LT_WITH_SYSROOT],
12792d19872aSmrg[m4_require([_LT_DECL_SED])dnl
12802d19872aSmrgAC_MSG_CHECKING([for sysroot])
12812d19872aSmrgAC_ARG_WITH([sysroot],
12822d19872aSmrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
12832d19872aSmrg  [Search for dependent libraries within DIR (or the compiler's sysroot
12842d19872aSmrg   if not specified).])],
12852d19872aSmrg[], [with_sysroot=no])
12862d19872aSmrg
12872d19872aSmrgdnl lt_sysroot will always be passed unquoted.  We quote it here
12882d19872aSmrgdnl in case the user passed a directory name.
12892d19872aSmrglt_sysroot=
12902d19872aSmrgcase $with_sysroot in #(
12912d19872aSmrg yes)
12922d19872aSmrg   if test yes = "$GCC"; then
12932f76b07dSmrg     # Trim trailing / since we'll always append absolute paths and we want
12942f76b07dSmrg     # to avoid //, if only for less confusing output for the user.
12952f76b07dSmrg     lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
12962d19872aSmrg   fi
12972d19872aSmrg   ;; #(
12982d19872aSmrg /*)
12992d19872aSmrg   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
13002d19872aSmrg   ;; #(
13012d19872aSmrg no|'')
13022d19872aSmrg   ;; #(
13032d19872aSmrg *)
13042d19872aSmrg   AC_MSG_RESULT([$with_sysroot])
13052d19872aSmrg   AC_MSG_ERROR([The sysroot must be an absolute path.])
13062d19872aSmrg   ;;
13072d19872aSmrgesac
13082d19872aSmrg
13092d19872aSmrg AC_MSG_RESULT([${lt_sysroot:-no}])
13102d19872aSmrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
13112d19872aSmrg[dependent libraries, and where our libraries should be installed.])])
13122d19872aSmrg
13132d19872aSmrg# _LT_ENABLE_LOCK
13142d19872aSmrg# ---------------
13152d19872aSmrgm4_defun([_LT_ENABLE_LOCK],
13162d19872aSmrg[AC_ARG_ENABLE([libtool-lock],
13172d19872aSmrg  [AS_HELP_STRING([--disable-libtool-lock],
13182d19872aSmrg    [avoid locking (might break parallel builds)])])
13192d19872aSmrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
13202d19872aSmrg
13212d19872aSmrg# Some flags need to be propagated to the compiler or linker for good
13222d19872aSmrg# libtool support.
13232d19872aSmrgcase $host in
13242d19872aSmrgia64-*-hpux*)
13252d19872aSmrg  # Find out what ABI is being produced by ac_compile, and set mode
13262d19872aSmrg  # options accordingly.
13272d19872aSmrg  echo 'int i;' > conftest.$ac_ext
13282d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
13292d19872aSmrg    case `$FILECMD conftest.$ac_objext` in
13302d19872aSmrg      *ELF-32*)
13312d19872aSmrg	HPUX_IA64_MODE=32
13322d19872aSmrg	;;
13332d19872aSmrg      *ELF-64*)
13342d19872aSmrg	HPUX_IA64_MODE=64
13352d19872aSmrg	;;
13362d19872aSmrg    esac
13372d19872aSmrg  fi
13382d19872aSmrg  rm -rf conftest*
13392d19872aSmrg  ;;
13402d19872aSmrg*-*-irix6*)
13412d19872aSmrg  # Find out what ABI is being produced by ac_compile, and set linker
13422d19872aSmrg  # options accordingly.
13432d19872aSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
13442d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
13452d19872aSmrg    if test yes = "$lt_cv_prog_gnu_ld"; then
13462d19872aSmrg      case `$FILECMD conftest.$ac_objext` in
13472d19872aSmrg	*32-bit*)
13482d19872aSmrg	  LD="${LD-ld} -melf32bsmip"
13492d19872aSmrg	  ;;
13502d19872aSmrg	*N32*)
13512d19872aSmrg	  LD="${LD-ld} -melf32bmipn32"
13522d19872aSmrg	  ;;
13532d19872aSmrg	*64-bit*)
13542d19872aSmrg	  LD="${LD-ld} -melf64bmip"
13552d19872aSmrg	;;
13562d19872aSmrg      esac
13572d19872aSmrg    else
13582d19872aSmrg      case `$FILECMD conftest.$ac_objext` in
13592d19872aSmrg	*32-bit*)
13602d19872aSmrg	  LD="${LD-ld} -32"
13612d19872aSmrg	  ;;
13622d19872aSmrg	*N32*)
13632d19872aSmrg	  LD="${LD-ld} -n32"
13642d19872aSmrg	  ;;
13652d19872aSmrg	*64-bit*)
13662d19872aSmrg	  LD="${LD-ld} -64"
13672d19872aSmrg	  ;;
13682d19872aSmrg      esac
13692d19872aSmrg    fi
13702d19872aSmrg  fi
13712d19872aSmrg  rm -rf conftest*
13722d19872aSmrg  ;;
13732d19872aSmrg
13742d19872aSmrgmips64*-*linux*)
13752d19872aSmrg  # Find out what ABI is being produced by ac_compile, and set linker
13762d19872aSmrg  # options accordingly.
13772d19872aSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
13782d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
13792d19872aSmrg    emul=elf
13802d19872aSmrg    case `$FILECMD conftest.$ac_objext` in
13812d19872aSmrg      *32-bit*)
13822d19872aSmrg	emul="${emul}32"
13832d19872aSmrg	;;
13842d19872aSmrg      *64-bit*)
13852d19872aSmrg	emul="${emul}64"
13862d19872aSmrg	;;
13872d19872aSmrg    esac
13882d19872aSmrg    case `$FILECMD conftest.$ac_objext` in
13892d19872aSmrg      *MSB*)
13902d19872aSmrg	emul="${emul}btsmip"
13912d19872aSmrg	;;
13922d19872aSmrg      *LSB*)
13932d19872aSmrg	emul="${emul}ltsmip"
13942d19872aSmrg	;;
13952d19872aSmrg    esac
13962d19872aSmrg    case `$FILECMD conftest.$ac_objext` in
13972d19872aSmrg      *N32*)
13982d19872aSmrg	emul="${emul}n32"
13992d19872aSmrg	;;
14002d19872aSmrg    esac
14012d19872aSmrg    LD="${LD-ld} -m $emul"
14022d19872aSmrg  fi
14032d19872aSmrg  rm -rf conftest*
14042d19872aSmrg  ;;
14052d19872aSmrg
14062d19872aSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
14072f76b07dSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
14082d19872aSmrg  # Find out what ABI is being produced by ac_compile, and set linker
14092d19872aSmrg  # options accordingly.  Note that the listed cases only cover the
14102d19872aSmrg  # situations where additional linker options are needed (such as when
14112d19872aSmrg  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
14122d19872aSmrg  # vice versa); the common cases where no linker options are needed do
14132d19872aSmrg  # not appear in the list.
14142d19872aSmrg  echo 'int i;' > conftest.$ac_ext
14152d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
14162d19872aSmrg    case `$FILECMD conftest.o` in
14172d19872aSmrg      *32-bit*)
14182d19872aSmrg	case $host in
14192d19872aSmrg	  x86_64-*kfreebsd*-gnu)
14202d19872aSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
14212d19872aSmrg	    ;;
14222f76b07dSmrg	  x86_64-*linux*|x86_64-gnu*)
14232d19872aSmrg	    case `$FILECMD conftest.o` in
14242d19872aSmrg	      *x86-64*)
14252d19872aSmrg		LD="${LD-ld} -m elf32_x86_64"
14262d19872aSmrg		;;
14272d19872aSmrg	      *)
14282d19872aSmrg		LD="${LD-ld} -m elf_i386"
14292d19872aSmrg		;;
14302d19872aSmrg	    esac
14312d19872aSmrg	    ;;
14322d19872aSmrg	  powerpc64le-*linux*)
14332d19872aSmrg	    LD="${LD-ld} -m elf32lppclinux"
14342d19872aSmrg	    ;;
14352d19872aSmrg	  powerpc64-*linux*)
14362d19872aSmrg	    LD="${LD-ld} -m elf32ppclinux"
14372d19872aSmrg	    ;;
14382d19872aSmrg	  s390x-*linux*)
14392d19872aSmrg	    LD="${LD-ld} -m elf_s390"
14402d19872aSmrg	    ;;
14412d19872aSmrg	  sparc64-*linux*)
14422d19872aSmrg	    LD="${LD-ld} -m elf32_sparc"
14432d19872aSmrg	    ;;
14442d19872aSmrg	esac
14452d19872aSmrg	;;
14462d19872aSmrg      *64-bit*)
14472d19872aSmrg	case $host in
14482d19872aSmrg	  x86_64-*kfreebsd*-gnu)
14492d19872aSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
14502d19872aSmrg	    ;;
14512f76b07dSmrg	  x86_64-*linux*|x86_64-gnu*)
14522d19872aSmrg	    LD="${LD-ld} -m elf_x86_64"
14532d19872aSmrg	    ;;
145459ca590cSmrg	  powerpcle-*linux*)
14552d19872aSmrg	    LD="${LD-ld} -m elf64lppc"
14562d19872aSmrg	    ;;
145759ca590cSmrg	  powerpc-*linux*)
14582d19872aSmrg	    LD="${LD-ld} -m elf64ppc"
14592d19872aSmrg	    ;;
14602d19872aSmrg	  s390*-*linux*|s390*-*tpf*)
14612d19872aSmrg	    LD="${LD-ld} -m elf64_s390"
14622d19872aSmrg	    ;;
14632d19872aSmrg	  sparc*-*linux*)
14642d19872aSmrg	    LD="${LD-ld} -m elf64_sparc"
14652d19872aSmrg	    ;;
14662d19872aSmrg	esac
14672d19872aSmrg	;;
14682d19872aSmrg    esac
14692d19872aSmrg  fi
14702d19872aSmrg  rm -rf conftest*
14712d19872aSmrg  ;;
14722d19872aSmrg
14732d19872aSmrg*-*-sco3.2v5*)
14742d19872aSmrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
14752d19872aSmrg  SAVE_CFLAGS=$CFLAGS
14762d19872aSmrg  CFLAGS="$CFLAGS -belf"
14772d19872aSmrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
14782d19872aSmrg    [AC_LANG_PUSH(C)
14792d19872aSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
14802d19872aSmrg     AC_LANG_POP])
14812d19872aSmrg  if test yes != "$lt_cv_cc_needs_belf"; then
14822d19872aSmrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
14832d19872aSmrg    CFLAGS=$SAVE_CFLAGS
14842d19872aSmrg  fi
14852d19872aSmrg  ;;
14862d19872aSmrg*-*solaris*)
14872d19872aSmrg  # Find out what ABI is being produced by ac_compile, and set linker
14882d19872aSmrg  # options accordingly.
14892d19872aSmrg  echo 'int i;' > conftest.$ac_ext
14902d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
14912d19872aSmrg    case `$FILECMD conftest.o` in
14922d19872aSmrg    *64-bit*)
14932d19872aSmrg      case $lt_cv_prog_gnu_ld in
14942d19872aSmrg      yes*)
14952d19872aSmrg        case $host in
14962d19872aSmrg        i?86-*-solaris*|x86_64-*-solaris*)
14972d19872aSmrg          LD="${LD-ld} -m elf_x86_64"
14982d19872aSmrg          ;;
14992d19872aSmrg        sparc*-*-solaris*)
15002d19872aSmrg          LD="${LD-ld} -m elf64_sparc"
15012d19872aSmrg          ;;
15022d19872aSmrg        esac
15032d19872aSmrg        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
15042d19872aSmrg        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
15052d19872aSmrg          LD=${LD-ld}_sol2
15062d19872aSmrg        fi
15072d19872aSmrg        ;;
15082d19872aSmrg      *)
15092d19872aSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
15102d19872aSmrg	  LD="${LD-ld} -64"
15112d19872aSmrg	fi
15122d19872aSmrg	;;
15132d19872aSmrg      esac
15142d19872aSmrg      ;;
15152d19872aSmrg    esac
15162d19872aSmrg  fi
15172d19872aSmrg  rm -rf conftest*
15182d19872aSmrg  ;;
15192d19872aSmrgesac
15202d19872aSmrg
15212d19872aSmrgneed_locks=$enable_libtool_lock
15222d19872aSmrg])# _LT_ENABLE_LOCK
15232d19872aSmrg
15242d19872aSmrg
15252d19872aSmrg# _LT_PROG_AR
15262d19872aSmrg# -----------
15272d19872aSmrgm4_defun([_LT_PROG_AR],
15282d19872aSmrg[AC_CHECK_TOOLS(AR, [ar], false)
15292d19872aSmrg: ${AR=ar}
15302d19872aSmrg_LT_DECL([], [AR], [1], [The archiver])
15312d19872aSmrg
15322d19872aSmrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with
15332d19872aSmrg# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
15342f76b07dSmrg# higher priority because that's what people were doing historically (setting
15352d19872aSmrg# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
15362d19872aSmrg# variable obsoleted/removed.
15372d19872aSmrg
15382d19872aSmrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
15392d19872aSmrglt_ar_flags=$AR_FLAGS
15402d19872aSmrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
15412d19872aSmrg
15422d19872aSmrg# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
15432d19872aSmrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
15442d19872aSmrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
15452d19872aSmrg         [Flags to create an archive])
15462d19872aSmrg
15472d19872aSmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
15482d19872aSmrg  [lt_cv_ar_at_file=no
15492d19872aSmrg   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
15502d19872aSmrg     [echo conftest.$ac_objext > conftest.lst
15512d19872aSmrg      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
15522d19872aSmrg      AC_TRY_EVAL([lt_ar_try])
15532d19872aSmrg      if test 0 -eq "$ac_status"; then
15542d19872aSmrg	# Ensure the archiver fails upon bogus file names.
15552d19872aSmrg	rm -f conftest.$ac_objext libconftest.a
15562d19872aSmrg	AC_TRY_EVAL([lt_ar_try])
15572d19872aSmrg	if test 0 -ne "$ac_status"; then
15582d19872aSmrg          lt_cv_ar_at_file=@
15592d19872aSmrg        fi
15602d19872aSmrg      fi
15612d19872aSmrg      rm -f conftest.* libconftest.a
15622d19872aSmrg     ])
15632d19872aSmrg  ])
15642d19872aSmrg
15652d19872aSmrgif test no = "$lt_cv_ar_at_file"; then
15662d19872aSmrg  archiver_list_spec=
15672d19872aSmrgelse
15682d19872aSmrg  archiver_list_spec=$lt_cv_ar_at_file
15692d19872aSmrgfi
15702d19872aSmrg_LT_DECL([], [archiver_list_spec], [1],
15712d19872aSmrg  [How to feed a file listing to the archiver])
15722d19872aSmrg])# _LT_PROG_AR
15732d19872aSmrg
15742d19872aSmrg
15752d19872aSmrg# _LT_CMD_OLD_ARCHIVE
15762d19872aSmrg# -------------------
15772d19872aSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
15782d19872aSmrg[_LT_PROG_AR
15792d19872aSmrg
15802d19872aSmrgAC_CHECK_TOOL(STRIP, strip, :)
15812d19872aSmrgtest -z "$STRIP" && STRIP=:
15822d19872aSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
15832d19872aSmrg
15842f76b07dSmrgAC_REQUIRE([AC_PROG_RANLIB])
15852d19872aSmrgtest -z "$RANLIB" && RANLIB=:
15862d19872aSmrg_LT_DECL([], [RANLIB], [1],
15872d19872aSmrg    [Commands used to install an old-style archive])
15882d19872aSmrg
15892d19872aSmrg# Determine commands to create old-style static archives.
15902d19872aSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
15912d19872aSmrgold_postinstall_cmds='chmod 644 $oldlib'
15922d19872aSmrgold_postuninstall_cmds=
15932d19872aSmrg
15942d19872aSmrgif test -n "$RANLIB"; then
15952d19872aSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
15962f76b07dSmrg  old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
15972d19872aSmrgfi
15982d19872aSmrg
15992d19872aSmrgcase $host_os in
16002d19872aSmrg  darwin*)
16012d19872aSmrg    lock_old_archive_extraction=yes ;;
16022d19872aSmrg  *)
16032d19872aSmrg    lock_old_archive_extraction=no ;;
16042d19872aSmrgesac
16052d19872aSmrg_LT_DECL([], [old_postinstall_cmds], [2])
16062d19872aSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
16072d19872aSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
16082d19872aSmrg    [Commands used to build an old-style archive])
16092d19872aSmrg_LT_DECL([], [lock_old_archive_extraction], [0],
16102d19872aSmrg    [Whether to use a lock for old archive extraction])
16112d19872aSmrg])# _LT_CMD_OLD_ARCHIVE
16122d19872aSmrg
16132d19872aSmrg
16142d19872aSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
16152d19872aSmrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
16162d19872aSmrg# ----------------------------------------------------------------
16172d19872aSmrg# Check whether the given compiler option works
16182d19872aSmrgAC_DEFUN([_LT_COMPILER_OPTION],
16192d19872aSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
16202d19872aSmrgm4_require([_LT_DECL_SED])dnl
16212d19872aSmrgAC_CACHE_CHECK([$1], [$2],
16222d19872aSmrg  [$2=no
16232d19872aSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
16242d19872aSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
16252d19872aSmrg   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
16262d19872aSmrg   # Insert the option either (1) after the last *FLAGS variable, or
16272d19872aSmrg   # (2) before a word containing "conftest.", or (3) at the end.
16282d19872aSmrg   # Note that $ac_compile itself does not contain backslashes and begins
16292d19872aSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
16302d19872aSmrg   # The option is referenced via a variable to avoid confusing sed.
16312d19872aSmrg   lt_compile=`echo "$ac_compile" | $SED \
16322d19872aSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
16332d19872aSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
16342d19872aSmrg   -e 's:$: $lt_compiler_flag:'`
16352d19872aSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
16362d19872aSmrg   (eval "$lt_compile" 2>conftest.err)
16372d19872aSmrg   ac_status=$?
16382d19872aSmrg   cat conftest.err >&AS_MESSAGE_LOG_FD
16392d19872aSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
16402d19872aSmrg   if (exit $ac_status) && test -s "$ac_outfile"; then
16412d19872aSmrg     # The compiler can only warn and ignore the option if not recognized
16422d19872aSmrg     # So say no if there are warnings other than the usual output.
16432d19872aSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
16442d19872aSmrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
16452d19872aSmrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
16462d19872aSmrg       $2=yes
16472d19872aSmrg     fi
16482d19872aSmrg   fi
16492d19872aSmrg   $RM conftest*
16502d19872aSmrg])
16512d19872aSmrg
16522d19872aSmrgif test yes = "[$]$2"; then
16532d19872aSmrg    m4_if([$5], , :, [$5])
16542d19872aSmrgelse
16552d19872aSmrg    m4_if([$6], , :, [$6])
16562d19872aSmrgfi
16572d19872aSmrg])# _LT_COMPILER_OPTION
16582d19872aSmrg
16592d19872aSmrg# Old name:
16602d19872aSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
16612d19872aSmrgdnl aclocal-1.4 backwards compatibility:
16622d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
16632d19872aSmrg
16642d19872aSmrg
16652d19872aSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
16662d19872aSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
16672d19872aSmrg# ----------------------------------------------------
16682d19872aSmrg# Check whether the given linker option works
16692d19872aSmrgAC_DEFUN([_LT_LINKER_OPTION],
16702d19872aSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
16712d19872aSmrgm4_require([_LT_DECL_SED])dnl
16722d19872aSmrgAC_CACHE_CHECK([$1], [$2],
16732d19872aSmrg  [$2=no
16742d19872aSmrg   save_LDFLAGS=$LDFLAGS
16752d19872aSmrg   LDFLAGS="$LDFLAGS $3"
16762d19872aSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
16772d19872aSmrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
16782d19872aSmrg     # The linker can only warn and ignore the option if not recognized
16792d19872aSmrg     # So say no if there are warnings
16802d19872aSmrg     if test -s conftest.err; then
16812d19872aSmrg       # Append any errors to the config.log.
16822d19872aSmrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
16832d19872aSmrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
16842d19872aSmrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
16852d19872aSmrg       if diff conftest.exp conftest.er2 >/dev/null; then
16862d19872aSmrg         $2=yes
16872d19872aSmrg       fi
16882d19872aSmrg     else
16892d19872aSmrg       $2=yes
16902d19872aSmrg     fi
16912d19872aSmrg   fi
16922d19872aSmrg   $RM -r conftest*
16932d19872aSmrg   LDFLAGS=$save_LDFLAGS
16942d19872aSmrg])
16952d19872aSmrg
16962d19872aSmrgif test yes = "[$]$2"; then
16972d19872aSmrg    m4_if([$4], , :, [$4])
16982d19872aSmrgelse
16992d19872aSmrg    m4_if([$5], , :, [$5])
17002d19872aSmrgfi
17012d19872aSmrg])# _LT_LINKER_OPTION
17022d19872aSmrg
17032d19872aSmrg# Old name:
17042d19872aSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
17052d19872aSmrgdnl aclocal-1.4 backwards compatibility:
17062d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
17072d19872aSmrg
17082d19872aSmrg
17092d19872aSmrg# LT_CMD_MAX_LEN
17102d19872aSmrg#---------------
17112d19872aSmrgAC_DEFUN([LT_CMD_MAX_LEN],
17122d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
17132d19872aSmrg# find the maximum length of command line arguments
17142d19872aSmrgAC_MSG_CHECKING([the maximum length of command line arguments])
17152d19872aSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
17162d19872aSmrg  i=0
17172d19872aSmrg  teststring=ABCD
17182d19872aSmrg
17192d19872aSmrg  case $build_os in
17202d19872aSmrg  msdosdjgpp*)
17212d19872aSmrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
17222d19872aSmrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
17232d19872aSmrg    # during glob expansion).  Even if it were fixed, the result of this
17242d19872aSmrg    # check would be larger than it should be.
17252d19872aSmrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
17262d19872aSmrg    ;;
17272d19872aSmrg
17282f76b07dSmrg  gnu* | ironclad*)
17292f76b07dSmrg    # Under GNU Hurd and Ironclad, this test is not required because there
17302f76b07dSmrg    # is no limit to the length of command line arguments.
17312d19872aSmrg    # Libtool will interpret -1 as no limit whatsoever
17322d19872aSmrg    lt_cv_sys_max_cmd_len=-1;
17332d19872aSmrg    ;;
17342d19872aSmrg
17352f76b07dSmrg  cygwin* | mingw* | windows* | cegcc*)
17362d19872aSmrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
17372d19872aSmrg    # about 5 minutes as the teststring grows exponentially.
17382d19872aSmrg    # Worse, since 9x/ME are not pre-emptively multitasking,
17392d19872aSmrg    # you end up with a "frozen" computer, even though with patience
17402d19872aSmrg    # the test eventually succeeds (with a max line length of 256k).
17412d19872aSmrg    # Instead, let's just punt: use the minimum linelength reported by
17422d19872aSmrg    # all of the supported platforms: 8192 (on NT/2K/XP).
17432d19872aSmrg    lt_cv_sys_max_cmd_len=8192;
17442d19872aSmrg    ;;
17452d19872aSmrg
17462d19872aSmrg  mint*)
17472d19872aSmrg    # On MiNT this can take a long time and run out of memory.
17482d19872aSmrg    lt_cv_sys_max_cmd_len=8192;
17492d19872aSmrg    ;;
17502d19872aSmrg
17512d19872aSmrg  amigaos*)
17522d19872aSmrg    # On AmigaOS with pdksh, this test takes hours, literally.
17532d19872aSmrg    # So we just punt and use a minimum line length of 8192.
17542d19872aSmrg    lt_cv_sys_max_cmd_len=8192;
17552d19872aSmrg    ;;
17562d19872aSmrg
17572f76b07dSmrg  darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
17582d19872aSmrg    # This has been around since 386BSD, at least.  Likely further.
17592d19872aSmrg    if test -x /sbin/sysctl; then
17602d19872aSmrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
17612d19872aSmrg    elif test -x /usr/sbin/sysctl; then
17622d19872aSmrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
17632d19872aSmrg    else
17642d19872aSmrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
17652d19872aSmrg    fi
17662d19872aSmrg    # And add a safety zone
17672d19872aSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
17682d19872aSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
17692d19872aSmrg    ;;
17702d19872aSmrg
17712d19872aSmrg  interix*)
17722d19872aSmrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
17732d19872aSmrg    lt_cv_sys_max_cmd_len=196608
17742d19872aSmrg    ;;
17752d19872aSmrg
17762d19872aSmrg  os2*)
17772d19872aSmrg    # The test takes a long time on OS/2.
17782d19872aSmrg    lt_cv_sys_max_cmd_len=8192
17792d19872aSmrg    ;;
17802d19872aSmrg
17812d19872aSmrg  osf*)
17822d19872aSmrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
17832d19872aSmrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
17842d19872aSmrg    # nice to cause kernel panics so lets avoid the loop below.
17852d19872aSmrg    # First set a reasonable default.
17862d19872aSmrg    lt_cv_sys_max_cmd_len=16384
17872d19872aSmrg    #
17882d19872aSmrg    if test -x /sbin/sysconfig; then
17892d19872aSmrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
17902d19872aSmrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
17912d19872aSmrg      esac
17922d19872aSmrg    fi
17932d19872aSmrg    ;;
17942d19872aSmrg  sco3.2v5*)
17952d19872aSmrg    lt_cv_sys_max_cmd_len=102400
17962d19872aSmrg    ;;
17972d19872aSmrg  sysv5* | sco5v6* | sysv4.2uw2*)
17982d19872aSmrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
17992d19872aSmrg    if test -n "$kargmax"; then
18002d19872aSmrg      lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[	 ]]//'`
18012d19872aSmrg    else
18022d19872aSmrg      lt_cv_sys_max_cmd_len=32768
18032d19872aSmrg    fi
18042d19872aSmrg    ;;
18052d19872aSmrg  *)
18062d19872aSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
18072d19872aSmrg    if test -n "$lt_cv_sys_max_cmd_len" && \
18082d19872aSmrg       test undefined != "$lt_cv_sys_max_cmd_len"; then
18092d19872aSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
18102d19872aSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
18112d19872aSmrg    else
18122d19872aSmrg      # Make teststring a little bigger before we do anything with it.
18132d19872aSmrg      # a 1K string should be a reasonable start.
18142d19872aSmrg      for i in 1 2 3 4 5 6 7 8; do
18152d19872aSmrg        teststring=$teststring$teststring
18162d19872aSmrg      done
18172d19872aSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
18182d19872aSmrg      # If test is not a shell built-in, we'll probably end up computing a
18192d19872aSmrg      # maximum length that is only half of the actual maximum length, but
18202d19872aSmrg      # we can't tell.
18212d19872aSmrg      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
18222d19872aSmrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
18232d19872aSmrg	      test 17 != "$i" # 1/2 MB should be enough
18242d19872aSmrg      do
18252d19872aSmrg        i=`expr $i + 1`
18262d19872aSmrg        teststring=$teststring$teststring
18272d19872aSmrg      done
18282d19872aSmrg      # Only check the string length outside the loop.
18292d19872aSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
18302d19872aSmrg      teststring=
18312d19872aSmrg      # Add a significant safety factor because C++ compilers can tack on
18322d19872aSmrg      # massive amounts of additional arguments before passing them to the
18332d19872aSmrg      # linker.  It appears as though 1/2 is a usable value.
18342d19872aSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
18352d19872aSmrg    fi
18362d19872aSmrg    ;;
18372d19872aSmrg  esac
18382d19872aSmrg])
18392d19872aSmrgif test -n "$lt_cv_sys_max_cmd_len"; then
18402d19872aSmrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
18412d19872aSmrgelse
18422d19872aSmrg  AC_MSG_RESULT(none)
18432d19872aSmrgfi
18442d19872aSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
18452d19872aSmrg_LT_DECL([], [max_cmd_len], [0],
18462d19872aSmrg    [What is the maximum length of a command?])
18472d19872aSmrg])# LT_CMD_MAX_LEN
18482d19872aSmrg
18492d19872aSmrg# Old name:
18502d19872aSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
18512d19872aSmrgdnl aclocal-1.4 backwards compatibility:
18522d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
18532d19872aSmrg
18542d19872aSmrg
18552d19872aSmrg# _LT_HEADER_DLFCN
18562d19872aSmrg# ----------------
18572d19872aSmrgm4_defun([_LT_HEADER_DLFCN],
18582d19872aSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
18592d19872aSmrg])# _LT_HEADER_DLFCN
18602d19872aSmrg
18612d19872aSmrg
18622d19872aSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
18632d19872aSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
18642d19872aSmrg# ----------------------------------------------------------------
18652d19872aSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
18662d19872aSmrg[m4_require([_LT_HEADER_DLFCN])dnl
18672d19872aSmrgif test yes = "$cross_compiling"; then :
18682d19872aSmrg  [$4]
18692d19872aSmrgelse
18702d19872aSmrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
18712d19872aSmrg  lt_status=$lt_dlunknown
18722d19872aSmrg  cat > conftest.$ac_ext <<_LT_EOF
18732d19872aSmrg[#line $LINENO "configure"
18742d19872aSmrg#include "confdefs.h"
18752d19872aSmrg
18762d19872aSmrg#if HAVE_DLFCN_H
18772d19872aSmrg#include <dlfcn.h>
18782d19872aSmrg#endif
18792d19872aSmrg
18802d19872aSmrg#include <stdio.h>
18812d19872aSmrg
18822d19872aSmrg#ifdef RTLD_GLOBAL
18832d19872aSmrg#  define LT_DLGLOBAL		RTLD_GLOBAL
18842d19872aSmrg#else
18852d19872aSmrg#  ifdef DL_GLOBAL
18862d19872aSmrg#    define LT_DLGLOBAL		DL_GLOBAL
18872d19872aSmrg#  else
18882d19872aSmrg#    define LT_DLGLOBAL		0
18892d19872aSmrg#  endif
18902d19872aSmrg#endif
18912d19872aSmrg
18922d19872aSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
18932d19872aSmrg   find out it does not work in some platform. */
18942d19872aSmrg#ifndef LT_DLLAZY_OR_NOW
18952d19872aSmrg#  ifdef RTLD_LAZY
18962d19872aSmrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
18972d19872aSmrg#  else
18982d19872aSmrg#    ifdef DL_LAZY
18992d19872aSmrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
19002d19872aSmrg#    else
19012d19872aSmrg#      ifdef RTLD_NOW
19022d19872aSmrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
19032d19872aSmrg#      else
19042d19872aSmrg#        ifdef DL_NOW
19052d19872aSmrg#          define LT_DLLAZY_OR_NOW	DL_NOW
19062d19872aSmrg#        else
19072d19872aSmrg#          define LT_DLLAZY_OR_NOW	0
19082d19872aSmrg#        endif
19092d19872aSmrg#      endif
19102d19872aSmrg#    endif
19112d19872aSmrg#  endif
19122d19872aSmrg#endif
19132d19872aSmrg
19142d19872aSmrg/* When -fvisibility=hidden is used, assume the code has been annotated
19152d19872aSmrg   correspondingly for the symbols needed.  */
19162d19872aSmrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
19172f76b07dSmrgint fnord (void) __attribute__((visibility("default")));
19182d19872aSmrg#endif
19192d19872aSmrg
19202f76b07dSmrgint fnord (void) { return 42; }
19212f76b07dSmrgint main (void)
19222d19872aSmrg{
19232d19872aSmrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
19242d19872aSmrg  int status = $lt_dlunknown;
19252d19872aSmrg
19262d19872aSmrg  if (self)
19272d19872aSmrg    {
19282d19872aSmrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
19292d19872aSmrg      else
19302d19872aSmrg        {
19312d19872aSmrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
19322d19872aSmrg          else puts (dlerror ());
19332d19872aSmrg	}
19342d19872aSmrg      /* dlclose (self); */
19352d19872aSmrg    }
19362d19872aSmrg  else
19372d19872aSmrg    puts (dlerror ());
19382d19872aSmrg
19392d19872aSmrg  return status;
19402d19872aSmrg}]
19412d19872aSmrg_LT_EOF
19422d19872aSmrg  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
19432d19872aSmrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
19442d19872aSmrg    lt_status=$?
19452d19872aSmrg    case x$lt_status in
19462d19872aSmrg      x$lt_dlno_uscore) $1 ;;
19472d19872aSmrg      x$lt_dlneed_uscore) $2 ;;
19482d19872aSmrg      x$lt_dlunknown|x*) $3 ;;
19492d19872aSmrg    esac
19502d19872aSmrg  else :
19512d19872aSmrg    # compilation failed
19522d19872aSmrg    $3
19532d19872aSmrg  fi
19542d19872aSmrgfi
19552d19872aSmrgrm -fr conftest*
19562d19872aSmrg])# _LT_TRY_DLOPEN_SELF
19572d19872aSmrg
19582d19872aSmrg
19592d19872aSmrg# LT_SYS_DLOPEN_SELF
19602d19872aSmrg# ------------------
19612d19872aSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
19622d19872aSmrg[m4_require([_LT_HEADER_DLFCN])dnl
19632d19872aSmrgif test yes != "$enable_dlopen"; then
19642d19872aSmrg  enable_dlopen=unknown
19652d19872aSmrg  enable_dlopen_self=unknown
19662d19872aSmrg  enable_dlopen_self_static=unknown
19672d19872aSmrgelse
19682d19872aSmrg  lt_cv_dlopen=no
19692d19872aSmrg  lt_cv_dlopen_libs=
19702d19872aSmrg
19712d19872aSmrg  case $host_os in
19722d19872aSmrg  beos*)
19732d19872aSmrg    lt_cv_dlopen=load_add_on
19742d19872aSmrg    lt_cv_dlopen_libs=
19752d19872aSmrg    lt_cv_dlopen_self=yes
19762d19872aSmrg    ;;
19772d19872aSmrg
19782f76b07dSmrg  mingw* | windows* | pw32* | cegcc*)
19792d19872aSmrg    lt_cv_dlopen=LoadLibrary
19802d19872aSmrg    lt_cv_dlopen_libs=
19812d19872aSmrg    ;;
19822d19872aSmrg
19832d19872aSmrg  cygwin*)
19842d19872aSmrg    lt_cv_dlopen=dlopen
19852d19872aSmrg    lt_cv_dlopen_libs=
19862d19872aSmrg    ;;
19872d19872aSmrg
19882d19872aSmrg  darwin*)
19892d19872aSmrg    # if libdl is installed we need to link against it
19902d19872aSmrg    AC_CHECK_LIB([dl], [dlopen],
19912d19872aSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
19922d19872aSmrg    lt_cv_dlopen=dyld
19932d19872aSmrg    lt_cv_dlopen_libs=
19942d19872aSmrg    lt_cv_dlopen_self=yes
19952d19872aSmrg    ])
19962d19872aSmrg    ;;
19972d19872aSmrg
19982d19872aSmrg  tpf*)
19992d19872aSmrg    # Don't try to run any link tests for TPF.  We know it's impossible
20002d19872aSmrg    # because TPF is a cross-compiler, and we know how we open DSOs.
20012d19872aSmrg    lt_cv_dlopen=dlopen
20022d19872aSmrg    lt_cv_dlopen_libs=
20032d19872aSmrg    lt_cv_dlopen_self=no
20042d19872aSmrg    ;;
20052d19872aSmrg
20062d19872aSmrg  *)
20072d19872aSmrg    AC_CHECK_FUNC([shl_load],
20082d19872aSmrg	  [lt_cv_dlopen=shl_load],
20092d19872aSmrg      [AC_CHECK_LIB([dld], [shl_load],
20102d19872aSmrg	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
20112d19872aSmrg	[AC_CHECK_FUNC([dlopen],
20122d19872aSmrg	      [lt_cv_dlopen=dlopen],
20132d19872aSmrg	  [AC_CHECK_LIB([dl], [dlopen],
20142d19872aSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
20152d19872aSmrg	    [AC_CHECK_LIB([svld], [dlopen],
20162d19872aSmrg		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
20172d19872aSmrg	      [AC_CHECK_LIB([dld], [dld_link],
20182d19872aSmrg		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
20192d19872aSmrg	      ])
20202d19872aSmrg	    ])
20212d19872aSmrg	  ])
20222d19872aSmrg	])
20232d19872aSmrg      ])
20242d19872aSmrg    ;;
20252d19872aSmrg  esac
20262d19872aSmrg
20272d19872aSmrg  if test no = "$lt_cv_dlopen"; then
20282d19872aSmrg    enable_dlopen=no
20292d19872aSmrg  else
20302d19872aSmrg    enable_dlopen=yes
20312d19872aSmrg  fi
20322d19872aSmrg
20332d19872aSmrg  case $lt_cv_dlopen in
20342d19872aSmrg  dlopen)
20352d19872aSmrg    save_CPPFLAGS=$CPPFLAGS
20362d19872aSmrg    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
20372d19872aSmrg
20382d19872aSmrg    save_LDFLAGS=$LDFLAGS
20392d19872aSmrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
20402d19872aSmrg
20412d19872aSmrg    save_LIBS=$LIBS
20422d19872aSmrg    LIBS="$lt_cv_dlopen_libs $LIBS"
20432d19872aSmrg
20442d19872aSmrg    AC_CACHE_CHECK([whether a program can dlopen itself],
20452d19872aSmrg	  lt_cv_dlopen_self, [dnl
20462d19872aSmrg	  _LT_TRY_DLOPEN_SELF(
20472d19872aSmrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
20482d19872aSmrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
20492d19872aSmrg    ])
20502d19872aSmrg
20512d19872aSmrg    if test yes = "$lt_cv_dlopen_self"; then
20522d19872aSmrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
20532d19872aSmrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
20542d19872aSmrg	  lt_cv_dlopen_self_static, [dnl
20552d19872aSmrg	  _LT_TRY_DLOPEN_SELF(
20562d19872aSmrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
20572d19872aSmrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
20582d19872aSmrg      ])
20592d19872aSmrg    fi
20602d19872aSmrg
20612d19872aSmrg    CPPFLAGS=$save_CPPFLAGS
20622d19872aSmrg    LDFLAGS=$save_LDFLAGS
20632d19872aSmrg    LIBS=$save_LIBS
20642d19872aSmrg    ;;
20652d19872aSmrg  esac
20662d19872aSmrg
20672d19872aSmrg  case $lt_cv_dlopen_self in
20682d19872aSmrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
20692d19872aSmrg  *) enable_dlopen_self=unknown ;;
20702d19872aSmrg  esac
20712d19872aSmrg
20722d19872aSmrg  case $lt_cv_dlopen_self_static in
20732d19872aSmrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
20742d19872aSmrg  *) enable_dlopen_self_static=unknown ;;
20752d19872aSmrg  esac
20762d19872aSmrgfi
20772d19872aSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
20782d19872aSmrg	 [Whether dlopen is supported])
20792d19872aSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
20802d19872aSmrg	 [Whether dlopen of programs is supported])
20812d19872aSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
20822d19872aSmrg	 [Whether dlopen of statically linked programs is supported])
20832d19872aSmrg])# LT_SYS_DLOPEN_SELF
20842d19872aSmrg
20852d19872aSmrg# Old name:
20862d19872aSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
20872d19872aSmrgdnl aclocal-1.4 backwards compatibility:
20882d19872aSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
20892d19872aSmrg
20902d19872aSmrg
20912d19872aSmrg# _LT_COMPILER_C_O([TAGNAME])
20922d19872aSmrg# ---------------------------
20932d19872aSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
20942d19872aSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
20952d19872aSmrgm4_defun([_LT_COMPILER_C_O],
20962d19872aSmrg[m4_require([_LT_DECL_SED])dnl
20972d19872aSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
20982d19872aSmrgm4_require([_LT_TAG_COMPILER])dnl
20992d19872aSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
21002d19872aSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
21012d19872aSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
21022d19872aSmrg   $RM -r conftest 2>/dev/null
21032d19872aSmrg   mkdir conftest
21042d19872aSmrg   cd conftest
21052d19872aSmrg   mkdir out
21062d19872aSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
21072d19872aSmrg
21082d19872aSmrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
21092d19872aSmrg   # Insert the option either (1) after the last *FLAGS variable, or
21102d19872aSmrg   # (2) before a word containing "conftest.", or (3) at the end.
21112d19872aSmrg   # Note that $ac_compile itself does not contain backslashes and begins
21122d19872aSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
21132d19872aSmrg   lt_compile=`echo "$ac_compile" | $SED \
21142d19872aSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
21152d19872aSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
21162d19872aSmrg   -e 's:$: $lt_compiler_flag:'`
21172d19872aSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
21182d19872aSmrg   (eval "$lt_compile" 2>out/conftest.err)
21192d19872aSmrg   ac_status=$?
21202d19872aSmrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
21212d19872aSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
21222d19872aSmrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
21232d19872aSmrg   then
21242d19872aSmrg     # The compiler can only warn and ignore the option if not recognized
21252d19872aSmrg     # So say no if there are warnings
21262d19872aSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
21272d19872aSmrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
21282d19872aSmrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
21292d19872aSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
21302d19872aSmrg     fi
21312d19872aSmrg   fi
21322d19872aSmrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
21332d19872aSmrg   $RM conftest*
21342d19872aSmrg   # SGI C++ compiler will create directory out/ii_files/ for
21352d19872aSmrg   # template instantiation
21362d19872aSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
21372d19872aSmrg   $RM out/* && rmdir out
21382d19872aSmrg   cd ..
21392d19872aSmrg   $RM -r conftest
21402d19872aSmrg   $RM conftest*
21412d19872aSmrg])
21422d19872aSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
21432d19872aSmrg	[Does compiler simultaneously support -c and -o options?])
21442d19872aSmrg])# _LT_COMPILER_C_O
21452d19872aSmrg
21462d19872aSmrg
21472d19872aSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
21482d19872aSmrg# ----------------------------------
21492d19872aSmrg# Check to see if we can do hard links to lock some files if needed
21502d19872aSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
21512d19872aSmrg[m4_require([_LT_ENABLE_LOCK])dnl
21522d19872aSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
21532d19872aSmrg_LT_COMPILER_C_O([$1])
21542d19872aSmrg
21552d19872aSmrghard_links=nottested
21562d19872aSmrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
21572d19872aSmrg  # do not overwrite the value of need_locks provided by the user
21582d19872aSmrg  AC_MSG_CHECKING([if we can lock with hard links])
21592d19872aSmrg  hard_links=yes
21602d19872aSmrg  $RM conftest*
21612d19872aSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
21622d19872aSmrg  touch conftest.a
21632d19872aSmrg  ln conftest.a conftest.b 2>&5 || hard_links=no
21642d19872aSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
21652d19872aSmrg  AC_MSG_RESULT([$hard_links])
21662d19872aSmrg  if test no = "$hard_links"; then
21672d19872aSmrg    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
21682d19872aSmrg    need_locks=warn
21692d19872aSmrg  fi
21702d19872aSmrgelse
21712d19872aSmrg  need_locks=no
21722d19872aSmrgfi
21732d19872aSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
21742d19872aSmrg])# _LT_COMPILER_FILE_LOCKS
21752d19872aSmrg
21762d19872aSmrg
21772d19872aSmrg# _LT_CHECK_OBJDIR
21782d19872aSmrg# ----------------
21792d19872aSmrgm4_defun([_LT_CHECK_OBJDIR],
21802d19872aSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
21812d19872aSmrg[rm -f .libs 2>/dev/null
21822d19872aSmrgmkdir .libs 2>/dev/null
21832d19872aSmrgif test -d .libs; then
21842d19872aSmrg  lt_cv_objdir=.libs
21852d19872aSmrgelse
21862d19872aSmrg  # MS-DOS does not allow filenames that begin with a dot.
21872d19872aSmrg  lt_cv_objdir=_libs
21882d19872aSmrgfi
21892d19872aSmrgrmdir .libs 2>/dev/null])
21902d19872aSmrgobjdir=$lt_cv_objdir
21912d19872aSmrg_LT_DECL([], [objdir], [0],
21922d19872aSmrg         [The name of the directory that contains temporary libtool files])dnl
21932d19872aSmrgm4_pattern_allow([LT_OBJDIR])dnl
21942d19872aSmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
21952d19872aSmrg  [Define to the sub-directory where libtool stores uninstalled libraries.])
21962d19872aSmrg])# _LT_CHECK_OBJDIR
21972d19872aSmrg
21982d19872aSmrg
21992d19872aSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
22002d19872aSmrg# --------------------------------------
22012d19872aSmrg# Check hardcoding attributes.
22022d19872aSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
22032d19872aSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
22042d19872aSmrg_LT_TAGVAR(hardcode_action, $1)=
22052d19872aSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
22062d19872aSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
22072d19872aSmrg   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
22082d19872aSmrg
22092d19872aSmrg  # We can hardcode non-existent directories.
22102d19872aSmrg  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
22112d19872aSmrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
22122d19872aSmrg     # have to relink, otherwise we might link with an installed library
22132d19872aSmrg     # when we should be linking with a yet-to-be-installed one
22142d19872aSmrg     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
22152d19872aSmrg     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
22162d19872aSmrg    # Linking always hardcodes the temporary library directory.
22172d19872aSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
22182d19872aSmrg  else
22192d19872aSmrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
22202d19872aSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
22212d19872aSmrg  fi
22222d19872aSmrgelse
22232d19872aSmrg  # We cannot hardcode anything, or else we can only hardcode existing
22242d19872aSmrg  # directories.
22252d19872aSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
22262d19872aSmrgfi
22272d19872aSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
22282d19872aSmrg
22292d19872aSmrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
22302d19872aSmrg   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
22312d19872aSmrg  # Fast installation is not supported
22322d19872aSmrg  enable_fast_install=no
22332d19872aSmrgelif test yes = "$shlibpath_overrides_runpath" ||
22342d19872aSmrg     test no = "$enable_shared"; then
22352d19872aSmrg  # Fast installation is not necessary
22362d19872aSmrg  enable_fast_install=needless
22372d19872aSmrgfi
22382d19872aSmrg_LT_TAGDECL([], [hardcode_action], [0],
22392d19872aSmrg    [How to hardcode a shared library path into an executable])
22402d19872aSmrg])# _LT_LINKER_HARDCODE_LIBPATH
22412d19872aSmrg
22422d19872aSmrg
22432d19872aSmrg# _LT_CMD_STRIPLIB
22442d19872aSmrg# ----------------
22452d19872aSmrgm4_defun([_LT_CMD_STRIPLIB],
22462d19872aSmrg[m4_require([_LT_DECL_EGREP])
22472d19872aSmrgstriplib=
22482d19872aSmrgold_striplib=
22492d19872aSmrgAC_MSG_CHECKING([whether stripping libraries is possible])
22502d19872aSmrgif test -z "$STRIP"; then
22512d19872aSmrg  AC_MSG_RESULT([no])
22522d19872aSmrgelse
22532d19872aSmrg  if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
22542d19872aSmrg    old_striplib="$STRIP --strip-debug"
22552d19872aSmrg    striplib="$STRIP --strip-unneeded"
22562d19872aSmrg    AC_MSG_RESULT([yes])
22572d19872aSmrg  else
22582d19872aSmrg    case $host_os in
22592d19872aSmrg    darwin*)
22602d19872aSmrg      # FIXME - insert some real tests, host_os isn't really good enough
22612d19872aSmrg      striplib="$STRIP -x"
22622d19872aSmrg      old_striplib="$STRIP -S"
22632d19872aSmrg      AC_MSG_RESULT([yes])
22642d19872aSmrg      ;;
22652d19872aSmrg    freebsd*)
22662d19872aSmrg      if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
22672d19872aSmrg        old_striplib="$STRIP --strip-debug"
22682d19872aSmrg        striplib="$STRIP --strip-unneeded"
22692d19872aSmrg        AC_MSG_RESULT([yes])
22702d19872aSmrg      else
22712d19872aSmrg        AC_MSG_RESULT([no])
22722d19872aSmrg      fi
22732d19872aSmrg      ;;
22742d19872aSmrg    *)
22752d19872aSmrg      AC_MSG_RESULT([no])
22762d19872aSmrg      ;;
22772d19872aSmrg    esac
22782d19872aSmrg  fi
22792d19872aSmrgfi
22802d19872aSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
22812d19872aSmrg_LT_DECL([], [striplib], [1])
22822d19872aSmrg])# _LT_CMD_STRIPLIB
22832d19872aSmrg
22842d19872aSmrg
22852d19872aSmrg# _LT_PREPARE_MUNGE_PATH_LIST
22862d19872aSmrg# ---------------------------
22872d19872aSmrg# Make sure func_munge_path_list() is defined correctly.
22882d19872aSmrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
22892d19872aSmrg[[# func_munge_path_list VARIABLE PATH
22902d19872aSmrg# -----------------------------------
22912d19872aSmrg# VARIABLE is name of variable containing _space_ separated list of
22922d19872aSmrg# directories to be munged by the contents of PATH, which is string
22932d19872aSmrg# having a format:
22942d19872aSmrg# "DIR[:DIR]:"
22952d19872aSmrg#       string "DIR[ DIR]" will be prepended to VARIABLE
22962d19872aSmrg# ":DIR[:DIR]"
22972d19872aSmrg#       string "DIR[ DIR]" will be appended to VARIABLE
22982d19872aSmrg# "DIRP[:DIRP]::[DIRA:]DIRA"
22992d19872aSmrg#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
23002d19872aSmrg#       "DIRA[ DIRA]" will be appended to VARIABLE
23012d19872aSmrg# "DIR[:DIR]"
23022d19872aSmrg#       VARIABLE will be replaced by "DIR[ DIR]"
23032d19872aSmrgfunc_munge_path_list ()
23042d19872aSmrg{
23052d19872aSmrg    case x@S|@2 in
23062d19872aSmrg    x)
23072d19872aSmrg        ;;
23082d19872aSmrg    *:)
23092d19872aSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
23102d19872aSmrg        ;;
23112d19872aSmrg    x:*)
23122d19872aSmrg        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
23132d19872aSmrg        ;;
23142d19872aSmrg    *::*)
23152d19872aSmrg        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
23162d19872aSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
23172d19872aSmrg        ;;
23182d19872aSmrg    *)
23192d19872aSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
23202d19872aSmrg        ;;
23212d19872aSmrg    esac
23222d19872aSmrg}
23232d19872aSmrg]])# _LT_PREPARE_PATH_LIST
23242d19872aSmrg
23252d19872aSmrg
23262d19872aSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
23272d19872aSmrg# -----------------------------
23282d19872aSmrg# PORTME Fill in your ld.so characteristics
23292d19872aSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
23302d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
23312d19872aSmrgm4_require([_LT_DECL_EGREP])dnl
23322d19872aSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
23332d19872aSmrgm4_require([_LT_DECL_OBJDUMP])dnl
23342d19872aSmrgm4_require([_LT_DECL_SED])dnl
23352d19872aSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
23362d19872aSmrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
23372d19872aSmrgAC_MSG_CHECKING([dynamic linker characteristics])
23382d19872aSmrgm4_if([$1],
23392d19872aSmrg	[], [
23402d19872aSmrgif test yes = "$GCC"; then
23412d19872aSmrg  case $host_os in
23422d19872aSmrg    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
23432d19872aSmrg    *) lt_awk_arg='/^libraries:/' ;;
23442d19872aSmrg  esac
23452d19872aSmrg  case $host_os in
23462f76b07dSmrg    mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
23472d19872aSmrg    *) lt_sed_strip_eq='s|=/|/|g' ;;
23482d19872aSmrg  esac
23492d19872aSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
23502d19872aSmrg  case $lt_search_path_spec in
23512d19872aSmrg  *\;*)
23522d19872aSmrg    # if the path contains ";" then we assume it to be the separator
23532d19872aSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
23542d19872aSmrg    # assumed that no part of a normal pathname contains ";" but that should
23552d19872aSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
23562d19872aSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
23572d19872aSmrg    ;;
23582d19872aSmrg  *)
23592d19872aSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
23602d19872aSmrg    ;;
23612d19872aSmrg  esac
23622d19872aSmrg  # Ok, now we have the path, separated by spaces, we can step through it
23632d19872aSmrg  # and add multilib dir if necessary...
23642d19872aSmrg  lt_tmp_lt_search_path_spec=
23652d19872aSmrg  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
23662d19872aSmrg  # ...but if some path component already ends with the multilib dir we assume
23672d19872aSmrg  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
23682d19872aSmrg  case "$lt_multi_os_dir; $lt_search_path_spec " in
23692d19872aSmrg  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
23702d19872aSmrg    lt_multi_os_dir=
23712d19872aSmrg    ;;
23722d19872aSmrg  esac
23732d19872aSmrg  for lt_sys_path in $lt_search_path_spec; do
23742d19872aSmrg    if test -d "$lt_sys_path$lt_multi_os_dir"; then
23752d19872aSmrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
23762d19872aSmrg    elif test -n "$lt_multi_os_dir"; then
23772d19872aSmrg      test -d "$lt_sys_path" && \
23782d19872aSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
23792d19872aSmrg    fi
23802d19872aSmrg  done
23812d19872aSmrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
23822d19872aSmrgBEGIN {RS = " "; FS = "/|\n";} {
23832d19872aSmrg  lt_foo = "";
23842d19872aSmrg  lt_count = 0;
23852d19872aSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
23862d19872aSmrg    if ($lt_i != "" && $lt_i != ".") {
23872d19872aSmrg      if ($lt_i == "..") {
23882d19872aSmrg        lt_count++;
23892d19872aSmrg      } else {
23902d19872aSmrg        if (lt_count == 0) {
23912d19872aSmrg          lt_foo = "/" $lt_i lt_foo;
23922d19872aSmrg        } else {
23932d19872aSmrg          lt_count--;
23942d19872aSmrg        }
23952d19872aSmrg      }
23962d19872aSmrg    }
23972d19872aSmrg  }
23982d19872aSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
23992d19872aSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
24002d19872aSmrg}'`
24012d19872aSmrg  # AWK program above erroneously prepends '/' to C:/dos/paths
24022d19872aSmrg  # for these hosts.
24032d19872aSmrg  case $host_os in
24042f76b07dSmrg    mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
24052d19872aSmrg      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
24062d19872aSmrg  esac
24072d19872aSmrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
24082d19872aSmrgelse
24092d19872aSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
24102d19872aSmrgfi])
24112d19872aSmrglibrary_names_spec=
24122d19872aSmrglibname_spec='lib$name'
24132d19872aSmrgsoname_spec=
24142d19872aSmrgshrext_cmds=.so
24152d19872aSmrgpostinstall_cmds=
24162d19872aSmrgpostuninstall_cmds=
24172d19872aSmrgfinish_cmds=
24182d19872aSmrgfinish_eval=
24192d19872aSmrgshlibpath_var=
24202d19872aSmrgshlibpath_overrides_runpath=unknown
24212d19872aSmrgversion_type=none
24222d19872aSmrgdynamic_linker="$host_os ld.so"
24232d19872aSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
24242d19872aSmrgneed_lib_prefix=unknown
24252d19872aSmrghardcode_into_libs=no
24262d19872aSmrg
24272d19872aSmrg# when you set need_version to no, make sure it does not cause -set_version
24282d19872aSmrg# flags to be left without arguments
24292d19872aSmrgneed_version=unknown
24302d19872aSmrg
24312d19872aSmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
24322d19872aSmrg[User-defined run-time library search path.])
24332d19872aSmrg
24342d19872aSmrgcase $host_os in
24352d19872aSmrgaix3*)
24362d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
24372d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
24382d19872aSmrg  shlibpath_var=LIBPATH
24392d19872aSmrg
24402d19872aSmrg  # AIX 3 has no versioning support, so we append a major version to the name.
24412d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
24422d19872aSmrg  ;;
24432d19872aSmrg
24442d19872aSmrgaix[[4-9]]*)
24452d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
24462d19872aSmrg  need_lib_prefix=no
24472d19872aSmrg  need_version=no
24482d19872aSmrg  hardcode_into_libs=yes
24492d19872aSmrg  if test ia64 = "$host_cpu"; then
24502d19872aSmrg    # AIX 5 supports IA64
24512d19872aSmrg    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
24522d19872aSmrg    shlibpath_var=LD_LIBRARY_PATH
24532d19872aSmrg  else
24542d19872aSmrg    # With GCC up to 2.95.x, collect2 would create an import file
24552d19872aSmrg    # for dependence libraries.  The import file would start with
24562d19872aSmrg    # the line '#! .'.  This would cause the generated library to
24572d19872aSmrg    # depend on '.', always an invalid library.  This was fixed in
24582d19872aSmrg    # development snapshots of GCC prior to 3.0.
24592d19872aSmrg    case $host_os in
24602d19872aSmrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
24612d19872aSmrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
24622d19872aSmrg	   echo ' yes '
24632d19872aSmrg	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
24642d19872aSmrg	:
24652d19872aSmrg      else
24662d19872aSmrg	can_build_shared=no
24672d19872aSmrg      fi
24682d19872aSmrg      ;;
24692d19872aSmrg    esac
24702d19872aSmrg    # Using Import Files as archive members, it is possible to support
24712d19872aSmrg    # filename-based versioning of shared library archives on AIX. While
24722d19872aSmrg    # this would work for both with and without runtime linking, it will
24732d19872aSmrg    # prevent static linking of such archives. So we do filename-based
24742d19872aSmrg    # shared library versioning with .so extension only, which is used
24752d19872aSmrg    # when both runtime linking and shared linking is enabled.
24762d19872aSmrg    # Unfortunately, runtime linking may impact performance, so we do
24772d19872aSmrg    # not want this to be the default eventually. Also, we use the
24782d19872aSmrg    # versioned .so libs for executables only if there is the -brtl
24792f76b07dSmrg    # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only.
24802d19872aSmrg    # To allow for filename-based versioning support, we need to create
24812d19872aSmrg    # libNAME.so.V as an archive file, containing:
24822d19872aSmrg    # *) an Import File, referring to the versioned filename of the
24832d19872aSmrg    #    archive as well as the shared archive member, telling the
24842d19872aSmrg    #    bitwidth (32 or 64) of that shared object, and providing the
24852d19872aSmrg    #    list of exported symbols of that shared object, eventually
24862d19872aSmrg    #    decorated with the 'weak' keyword
24872d19872aSmrg    # *) the shared object with the F_LOADONLY flag set, to really avoid
24882d19872aSmrg    #    it being seen by the linker.
24892d19872aSmrg    # At run time we better use the real file rather than another symlink,
24902d19872aSmrg    # but for link time we create the symlink libNAME.so -> libNAME.so.V
24912d19872aSmrg
24922d19872aSmrg    case $with_aix_soname,$aix_use_runtimelinking in
24932d19872aSmrg    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
24942d19872aSmrg    # soname into executable. Probably we can add versioning support to
24952d19872aSmrg    # collect2, so additional links can be useful in future.
24962d19872aSmrg    aix,yes) # traditional libtool
24972d19872aSmrg      dynamic_linker='AIX unversionable lib.so'
24982d19872aSmrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
24992d19872aSmrg      # instead of lib<name>.a to let people know that these are not
25002d19872aSmrg      # typical AIX shared libraries.
25012d19872aSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
25022d19872aSmrg      ;;
25032d19872aSmrg    aix,no) # traditional AIX only
25042d19872aSmrg      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
25052d19872aSmrg      # We preserve .a as extension for shared libraries through AIX4.2
25062d19872aSmrg      # and later when we are not doing run time linking.
25072d19872aSmrg      library_names_spec='$libname$release.a $libname.a'
25082d19872aSmrg      soname_spec='$libname$release$shared_ext$major'
25092d19872aSmrg      ;;
25102d19872aSmrg    svr4,*) # full svr4 only
25112d19872aSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
25122d19872aSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
25132d19872aSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
25142d19872aSmrg      shlibpath_overrides_runpath=yes
25152d19872aSmrg      ;;
25162d19872aSmrg    *,yes) # both, prefer svr4
25172d19872aSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
25182d19872aSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
25192d19872aSmrg      # unpreferred sharedlib libNAME.a needs extra handling
25202d19872aSmrg      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"'
25212d19872aSmrg      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"'
25222d19872aSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
25232d19872aSmrg      shlibpath_overrides_runpath=yes
25242d19872aSmrg      ;;
25252d19872aSmrg    *,no) # both, prefer aix
25262d19872aSmrg      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
25272d19872aSmrg      library_names_spec='$libname$release.a $libname.a'
25282d19872aSmrg      soname_spec='$libname$release$shared_ext$major'
25292d19872aSmrg      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
25302d19872aSmrg      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)'
25312d19872aSmrg      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"'
25322d19872aSmrg      ;;
25332d19872aSmrg    esac
25342d19872aSmrg    shlibpath_var=LIBPATH
25352d19872aSmrg  fi
25362d19872aSmrg  ;;
25372d19872aSmrg
25382d19872aSmrgamigaos*)
25392d19872aSmrg  case $host_cpu in
25402d19872aSmrg  powerpc)
25412d19872aSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
25422d19872aSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
25432d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
25442d19872aSmrg    ;;
25452d19872aSmrg  m68k)
25462d19872aSmrg    library_names_spec='$libname.ixlibrary $libname.a'
25472d19872aSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
25482d19872aSmrg    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'
25492d19872aSmrg    ;;
25502d19872aSmrg  esac
25512d19872aSmrg  ;;
25522d19872aSmrg
25532d19872aSmrgbeos*)
25542d19872aSmrg  library_names_spec='$libname$shared_ext'
25552d19872aSmrg  dynamic_linker="$host_os ld.so"
25562d19872aSmrg  shlibpath_var=LIBRARY_PATH
25572d19872aSmrg  ;;
25582d19872aSmrg
25592d19872aSmrgbsdi[[45]]*)
25602d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
25612d19872aSmrg  need_version=no
25622d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
25632d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
25642d19872aSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
25652d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
25662d19872aSmrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
25672d19872aSmrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
25682d19872aSmrg  # the default ld.so.conf also contains /usr/contrib/lib and
25692d19872aSmrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
25702d19872aSmrg  # libtool to hard-code these into programs
25712d19872aSmrg  ;;
25722d19872aSmrg
25732f76b07dSmrgcygwin* | mingw* | windows* | pw32* | cegcc*)
25742d19872aSmrg  version_type=windows
25752d19872aSmrg  shrext_cmds=.dll
25762d19872aSmrg  need_version=no
25772d19872aSmrg  need_lib_prefix=no
25782d19872aSmrg
25792d19872aSmrg  case $GCC,$cc_basename in
25802d19872aSmrg  yes,*)
25812d19872aSmrg    # gcc
25822d19872aSmrg    library_names_spec='$libname.dll.a'
25832d19872aSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
25842f76b07dSmrg    # If user builds GCC with multilib enabled,
25852f76b07dSmrg    # it should just install on $(libdir)
25862f76b07dSmrg    # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
25872f76b07dSmrg    if test xyes = x"$multilib"; then
25882f76b07dSmrg      postinstall_cmds='base_file=`basename \$file`~
25892f76b07dSmrg        dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
25902f76b07dSmrg        dldir=$destdir/`dirname \$dlpath`~
25912f76b07dSmrg        $install_prog $dir/$dlname $destdir/$dlname~
25922f76b07dSmrg        chmod a+x $destdir/$dlname~
25932f76b07dSmrg        if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
25942f76b07dSmrg          eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
25952f76b07dSmrg        fi'
25962f76b07dSmrg    else
25972f76b07dSmrg      postinstall_cmds='base_file=`basename \$file`~
25982f76b07dSmrg        dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
25992f76b07dSmrg        dldir=$destdir/`dirname \$dlpath`~
26002f76b07dSmrg        test -d \$dldir || mkdir -p \$dldir~
26012f76b07dSmrg        $install_prog $dir/$dlname \$dldir/$dlname~
26022f76b07dSmrg        chmod a+x \$dldir/$dlname~
26032f76b07dSmrg        if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
26042f76b07dSmrg          eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
26052f76b07dSmrg        fi'
26062f76b07dSmrg    fi
26072d19872aSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
26082d19872aSmrg      dlpath=$dir/\$dldll~
26092d19872aSmrg       $RM \$dlpath'
26102d19872aSmrg    shlibpath_overrides_runpath=yes
26112d19872aSmrg
26122d19872aSmrg    case $host_os in
26132d19872aSmrg    cygwin*)
26142d19872aSmrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
26152d19872aSmrg      soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
26162d19872aSmrgm4_if([$1], [],[
26172d19872aSmrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
26182d19872aSmrg      ;;
26192f76b07dSmrg    mingw* | windows* | cegcc*)
26202d19872aSmrg      # MinGW DLLs use traditional 'lib' prefix
26212d19872aSmrg      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
26222d19872aSmrg      ;;
26232d19872aSmrg    pw32*)
26242d19872aSmrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
26252d19872aSmrg      library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
26262d19872aSmrg      ;;
26272d19872aSmrg    esac
26282d19872aSmrg    dynamic_linker='Win32 ld.exe'
26292d19872aSmrg    ;;
26302d19872aSmrg
26312d19872aSmrg  *,cl* | *,icl*)
26322d19872aSmrg    # Native MSVC or ICC
26332d19872aSmrg    libname_spec='$name'
26342d19872aSmrg    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
26352d19872aSmrg    library_names_spec='$libname.dll.lib'
26362d19872aSmrg
26372d19872aSmrg    case $build_os in
26382f76b07dSmrg    mingw* | windows*)
26392d19872aSmrg      sys_lib_search_path_spec=
26402d19872aSmrg      lt_save_ifs=$IFS
26412d19872aSmrg      IFS=';'
26422d19872aSmrg      for lt_path in $LIB
26432d19872aSmrg      do
26442d19872aSmrg        IFS=$lt_save_ifs
26452d19872aSmrg        # Let DOS variable expansion print the short 8.3 style file name.
26462d19872aSmrg        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
26472d19872aSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
26482d19872aSmrg      done
26492d19872aSmrg      IFS=$lt_save_ifs
26502d19872aSmrg      # Convert to MSYS style.
26512d19872aSmrg      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
26522d19872aSmrg      ;;
26532d19872aSmrg    cygwin*)
26542d19872aSmrg      # Convert to unix form, then to dos form, then back to unix form
26552d19872aSmrg      # but this time dos style (no spaces!) so that the unix form looks
26562d19872aSmrg      # like /cygdrive/c/PROGRA~1:/cygdr...
26572d19872aSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
26582d19872aSmrg      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
26592d19872aSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
26602d19872aSmrg      ;;
26612d19872aSmrg    *)
26622d19872aSmrg      sys_lib_search_path_spec=$LIB
26632d19872aSmrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
26642d19872aSmrg        # It is most probably a Windows format PATH.
26652d19872aSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
26662d19872aSmrg      else
26672d19872aSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
26682d19872aSmrg      fi
26692d19872aSmrg      # FIXME: find the short name or the path components, as spaces are
26702d19872aSmrg      # common. (e.g. "Program Files" -> "PROGRA~1")
26712d19872aSmrg      ;;
26722d19872aSmrg    esac
26732d19872aSmrg
26742d19872aSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
26752d19872aSmrg    postinstall_cmds='base_file=`basename \$file`~
26762d19872aSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
26772d19872aSmrg      dldir=$destdir/`dirname \$dlpath`~
26782d19872aSmrg      test -d \$dldir || mkdir -p \$dldir~
26792d19872aSmrg      $install_prog $dir/$dlname \$dldir/$dlname'
26802d19872aSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
26812d19872aSmrg      dlpath=$dir/\$dldll~
26822d19872aSmrg       $RM \$dlpath'
26832d19872aSmrg    shlibpath_overrides_runpath=yes
26842d19872aSmrg    dynamic_linker='Win32 link.exe'
26852d19872aSmrg    ;;
26862d19872aSmrg
26872d19872aSmrg  *)
26882d19872aSmrg    # Assume MSVC and ICC wrapper
26892d19872aSmrg    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
26902d19872aSmrg    dynamic_linker='Win32 ld.exe'
26912d19872aSmrg    ;;
26922d19872aSmrg  esac
26932d19872aSmrg  # FIXME: first we should search . and the directory the executable is in
26942d19872aSmrg  shlibpath_var=PATH
26952d19872aSmrg  ;;
26962d19872aSmrg
26972d19872aSmrgdarwin* | rhapsody*)
26982d19872aSmrg  dynamic_linker="$host_os dyld"
26992d19872aSmrg  version_type=darwin
27002d19872aSmrg  need_lib_prefix=no
27012d19872aSmrg  need_version=no
270259ca590cSmrg  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
27032d19872aSmrg  soname_spec='$libname$release$major$shared_ext'
27042d19872aSmrg  shlibpath_overrides_runpath=yes
27052d19872aSmrg  shlibpath_var=DYLD_LIBRARY_PATH
270659ca590cSmrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
27072d19872aSmrgm4_if([$1], [],[
27082d19872aSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
27092d19872aSmrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
27102d19872aSmrg  ;;
27112d19872aSmrg
27122d19872aSmrgdgux*)
27132d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
27142d19872aSmrg  need_lib_prefix=no
27152d19872aSmrg  need_version=no
27162d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
27172d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
27182d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
27192d19872aSmrg  ;;
27202d19872aSmrg
27212d19872aSmrgfreebsd* | dragonfly* | midnightbsd*)
27222d19872aSmrg  # DragonFly does not have aout.  When/if they implement a new
27232d19872aSmrg  # versioning mechanism, adjust this.
27242d19872aSmrg  if test -x /usr/bin/objformat; then
27252d19872aSmrg    objformat=`/usr/bin/objformat`
27262d19872aSmrg  else
27272d19872aSmrg    case $host_os in
27282d19872aSmrg    freebsd[[23]].*) objformat=aout ;;
27292d19872aSmrg    *) objformat=elf ;;
27302d19872aSmrg    esac
27312d19872aSmrg  fi
273259ca590cSmrg  version_type=freebsd-$objformat
27332d19872aSmrg  case $version_type in
27342d19872aSmrg    freebsd-elf*)
27352d19872aSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
27362d19872aSmrg      soname_spec='$libname$release$shared_ext$major'
27372d19872aSmrg      need_version=no
27382d19872aSmrg      need_lib_prefix=no
27392d19872aSmrg      ;;
27402d19872aSmrg    freebsd-*)
27412d19872aSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
27422d19872aSmrg      need_version=yes
27432d19872aSmrg      ;;
27442d19872aSmrg  esac
27452f76b07dSmrg  case $host_cpu in
27462f76b07dSmrg    powerpc64)
27472f76b07dSmrg      # On FreeBSD bi-arch platforms, a different variable is used for 32-bit
27482f76b07dSmrg      # binaries.  See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>.
27492f76b07dSmrg      AC_COMPILE_IFELSE(
27502f76b07dSmrg        [AC_LANG_SOURCE(
27512f76b07dSmrg           [[int test_pointer_size[sizeof (void *) - 5];
27522f76b07dSmrg           ]])],
27532f76b07dSmrg        [shlibpath_var=LD_LIBRARY_PATH],
27542f76b07dSmrg        [shlibpath_var=LD_32_LIBRARY_PATH])
27552f76b07dSmrg      ;;
27562f76b07dSmrg    *)
27572f76b07dSmrg      shlibpath_var=LD_LIBRARY_PATH
27582f76b07dSmrg      ;;
27592f76b07dSmrg  esac
27602d19872aSmrg  case $host_os in
27612d19872aSmrg  freebsd2.*)
27622d19872aSmrg    shlibpath_overrides_runpath=yes
27632d19872aSmrg    ;;
27642d19872aSmrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
27652d19872aSmrg    shlibpath_overrides_runpath=yes
27662d19872aSmrg    hardcode_into_libs=yes
27672d19872aSmrg    ;;
27682d19872aSmrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
27692d19872aSmrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
27702d19872aSmrg    shlibpath_overrides_runpath=no
27712d19872aSmrg    hardcode_into_libs=yes
27722d19872aSmrg    ;;
27732d19872aSmrg  *) # from 4.6 on, and DragonFly
27742d19872aSmrg    shlibpath_overrides_runpath=yes
27752d19872aSmrg    hardcode_into_libs=yes
27762d19872aSmrg    ;;
27772d19872aSmrg  esac
27782d19872aSmrg  ;;
27792d19872aSmrg
27802d19872aSmrghaiku*)
27812d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
27822d19872aSmrg  need_lib_prefix=no
27832d19872aSmrg  need_version=no
27842d19872aSmrg  dynamic_linker="$host_os runtime_loader"
27852d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
27862d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
27872d19872aSmrg  shlibpath_var=LIBRARY_PATH
27882d19872aSmrg  shlibpath_overrides_runpath=no
27892f76b07dSmrg  sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
27902f76b07dSmrg  sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
27912f76b07dSmrg  hardcode_into_libs=no
27922d19872aSmrg  ;;
27932d19872aSmrg
27942d19872aSmrghpux9* | hpux10* | hpux11*)
27952d19872aSmrg  # Give a soname corresponding to the major version so that dld.sl refuses to
27962d19872aSmrg  # link against other versions.
27972d19872aSmrg  version_type=sunos
27982d19872aSmrg  need_lib_prefix=no
27992d19872aSmrg  need_version=no
28002d19872aSmrg  case $host_cpu in
28012d19872aSmrg  ia64*)
28022d19872aSmrg    shrext_cmds='.so'
28032d19872aSmrg    hardcode_into_libs=yes
28042d19872aSmrg    dynamic_linker="$host_os dld.so"
28052d19872aSmrg    shlibpath_var=LD_LIBRARY_PATH
28062d19872aSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
28072d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
28082d19872aSmrg    soname_spec='$libname$release$shared_ext$major'
28092d19872aSmrg    if test 32 = "$HPUX_IA64_MODE"; then
28102d19872aSmrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
28112d19872aSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
28122d19872aSmrg    else
28132d19872aSmrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
28142d19872aSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
28152d19872aSmrg    fi
28162d19872aSmrg    ;;
28172d19872aSmrg  hppa*64*)
28182d19872aSmrg    shrext_cmds='.sl'
28192d19872aSmrg    hardcode_into_libs=yes
28202d19872aSmrg    dynamic_linker="$host_os dld.sl"
28212d19872aSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
28222d19872aSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
28232d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
28242d19872aSmrg    soname_spec='$libname$release$shared_ext$major'
28252d19872aSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
28262d19872aSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
28272d19872aSmrg    ;;
28282d19872aSmrg  *)
28292d19872aSmrg    shrext_cmds='.sl'
28302d19872aSmrg    dynamic_linker="$host_os dld.sl"
28312d19872aSmrg    shlibpath_var=SHLIB_PATH
28322d19872aSmrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
28332d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
28342d19872aSmrg    soname_spec='$libname$release$shared_ext$major'
28352d19872aSmrg    ;;
28362d19872aSmrg  esac
28372d19872aSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
28382d19872aSmrg  postinstall_cmds='chmod 555 $lib'
28392d19872aSmrg  # or fails outright, so override atomically:
28402d19872aSmrg  install_override_mode=555
28412d19872aSmrg  ;;
28422d19872aSmrg
28432d19872aSmrginterix[[3-9]]*)
28442d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
28452d19872aSmrg  need_lib_prefix=no
28462d19872aSmrg  need_version=no
28472d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
28482d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
28492d19872aSmrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
28502d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
28512d19872aSmrg  shlibpath_overrides_runpath=no
28522d19872aSmrg  hardcode_into_libs=yes
28532d19872aSmrg  ;;
28542d19872aSmrg
28552d19872aSmrgirix5* | irix6* | nonstopux*)
28562d19872aSmrg  case $host_os in
28572d19872aSmrg    nonstopux*) version_type=nonstopux ;;
28582d19872aSmrg    *)
28592d19872aSmrg	if test yes = "$lt_cv_prog_gnu_ld"; then
28602d19872aSmrg		version_type=linux # correct to gnu/linux during the next big refactor
28612d19872aSmrg	else
28622d19872aSmrg		version_type=irix
28632d19872aSmrg	fi ;;
28642d19872aSmrg  esac
28652d19872aSmrg  need_lib_prefix=no
28662d19872aSmrg  need_version=no
28672d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
28682d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
28692d19872aSmrg  case $host_os in
28702d19872aSmrg  irix5* | nonstopux*)
28712d19872aSmrg    libsuff= shlibsuff=
28722d19872aSmrg    ;;
28732d19872aSmrg  *)
28742d19872aSmrg    case $LD in # libtool.m4 will add one of these switches to LD
28752d19872aSmrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
28762d19872aSmrg      libsuff= shlibsuff= libmagic=32-bit;;
28772d19872aSmrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
28782d19872aSmrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
28792d19872aSmrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
28802d19872aSmrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
28812d19872aSmrg    *) libsuff= shlibsuff= libmagic=never-match;;
28822d19872aSmrg    esac
28832d19872aSmrg    ;;
28842d19872aSmrg  esac
28852d19872aSmrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
28862d19872aSmrg  shlibpath_overrides_runpath=no
28872d19872aSmrg  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
28882d19872aSmrg  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
28892d19872aSmrg  hardcode_into_libs=yes
28902d19872aSmrg  ;;
28912d19872aSmrg
28922d19872aSmrg# No shared lib support for Linux oldld, aout, or coff.
28932d19872aSmrglinux*oldld* | linux*aout* | linux*coff*)
28942d19872aSmrg  dynamic_linker=no
28952d19872aSmrg  ;;
28962d19872aSmrg
28972d19872aSmrglinux*android*)
28982d19872aSmrg  version_type=none # Android doesn't support versioned libraries.
28992d19872aSmrg  need_lib_prefix=no
29002d19872aSmrg  need_version=no
29012f76b07dSmrg  library_names_spec='$libname$release$shared_ext $libname$shared_ext'
29022d19872aSmrg  soname_spec='$libname$release$shared_ext'
29032d19872aSmrg  finish_cmds=
29042d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
29052d19872aSmrg  shlibpath_overrides_runpath=yes
29062d19872aSmrg
29072d19872aSmrg  # This implies no fast_install, which is unacceptable.
29082d19872aSmrg  # Some rework will be needed to allow for fast_install
29092d19872aSmrg  # before this can be enabled.
29102d19872aSmrg  hardcode_into_libs=yes
29112d19872aSmrg
29122d19872aSmrg  dynamic_linker='Android linker'
29132f76b07dSmrg  # -rpath works at least for libraries that are not overridden by
29142f76b07dSmrg  # libraries installed in system locations.
29152f76b07dSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
29162d19872aSmrg  ;;
29172d19872aSmrg
29182d19872aSmrg# This must be glibc/ELF.
29192d19872aSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
29202d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
29212d19872aSmrg  need_lib_prefix=no
29222d19872aSmrg  need_version=no
29232d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
29242d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
29252d19872aSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
29262d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
29272d19872aSmrg  shlibpath_overrides_runpath=no
29282d19872aSmrg
29292d19872aSmrg  # Some binutils ld are patched to set DT_RUNPATH
29302d19872aSmrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
29312d19872aSmrg    [lt_cv_shlibpath_overrides_runpath=no
29322d19872aSmrg    save_LDFLAGS=$LDFLAGS
29332d19872aSmrg    save_libdir=$libdir
29342d19872aSmrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
29352d19872aSmrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
29362d19872aSmrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
29372d19872aSmrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
29382d19872aSmrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
29392d19872aSmrg    LDFLAGS=$save_LDFLAGS
29402d19872aSmrg    libdir=$save_libdir
29412d19872aSmrg    ])
29422d19872aSmrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
29432d19872aSmrg
29442d19872aSmrg  # This implies no fast_install, which is unacceptable.
29452d19872aSmrg  # Some rework will be needed to allow for fast_install
29462d19872aSmrg  # before this can be enabled.
29472d19872aSmrg  hardcode_into_libs=yes
29482d19872aSmrg
294959ca590cSmrg  # Add ABI-specific directories to the system library path.
295059ca590cSmrg  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
295159ca590cSmrg
29522f76b07dSmrg  # Ideally, we could use ldconfig to report *all* directories which are
29532d19872aSmrg  # searched for libraries, however this is still not possible.  Aside from not
29542d19872aSmrg  # being certain /sbin/ldconfig is available, command
29552d19872aSmrg  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
29562d19872aSmrg  # even though it is searched at run-time.  Try to do the best guess by
29572d19872aSmrg  # appending ld.so.conf contents (and includes) to the search path.
29582d19872aSmrg  if test -f /etc/ld.so.conf; then
29592d19872aSmrg    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' ' '`
296059ca590cSmrg    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
29612d19872aSmrg  fi
29622d19872aSmrg
29632d19872aSmrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
29642d19872aSmrg  # powerpc, because MkLinux only supported shared libraries with the
29652d19872aSmrg  # GNU dynamic linker.  Since this was broken with cross compilers,
29662d19872aSmrg  # most powerpc-linux boxes support dynamic linking these days and
29672d19872aSmrg  # people can always --disable-shared, the test was removed, and we
29682d19872aSmrg  # assume the GNU/Linux dynamic linker is in use.
29692d19872aSmrg  dynamic_linker='GNU/Linux ld.so'
29702d19872aSmrg  ;;
29712d19872aSmrg
29722f76b07dSmrgnetbsdelf*-gnu)
29732f76b07dSmrg  version_type=linux
29742f76b07dSmrg  need_lib_prefix=no
29752f76b07dSmrg  need_version=no
29762f76b07dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
29772f76b07dSmrg  soname_spec='$libname$release$shared_ext$major'
29782f76b07dSmrg  shlibpath_var=LD_LIBRARY_PATH
29792f76b07dSmrg  shlibpath_overrides_runpath=no
29802f76b07dSmrg  hardcode_into_libs=yes
29812f76b07dSmrg  dynamic_linker='NetBSD ld.elf_so'
29822f76b07dSmrg  ;;
29832f76b07dSmrg
29842d19872aSmrgnetbsd*)
29852d19872aSmrg  version_type=sunos
29862d19872aSmrg  need_lib_prefix=no
29872d19872aSmrg  need_version=no
29882d19872aSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
29892d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
29902d19872aSmrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
29912d19872aSmrg    dynamic_linker='NetBSD (a.out) ld.so'
29922d19872aSmrg  else
29932d19872aSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
29942d19872aSmrg    soname_spec='$libname$release$shared_ext$major'
29952d19872aSmrg    dynamic_linker='NetBSD ld.elf_so'
29962d19872aSmrg  fi
29972d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
29982d19872aSmrg  shlibpath_overrides_runpath=yes
29992d19872aSmrg  hardcode_into_libs=yes
30002d19872aSmrg  ;;
30012d19872aSmrg
30022f76b07dSmrg*-mlibc)
30032f76b07dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
30042f76b07dSmrg  need_lib_prefix=no
30052f76b07dSmrg  need_version=no
30062f76b07dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
30072f76b07dSmrg  soname_spec='$libname$release$shared_ext$major'
30082f76b07dSmrg  dynamic_linker='mlibc ld.so'
30092f76b07dSmrg  shlibpath_var=LD_LIBRARY_PATH
30102f76b07dSmrg  shlibpath_overrides_runpath=no
30112f76b07dSmrg  hardcode_into_libs=yes
30122f76b07dSmrg  ;;
30132f76b07dSmrg
30142d19872aSmrgnewsos6)
30152d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
30162d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
30172d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
30182d19872aSmrg  shlibpath_overrides_runpath=yes
30192d19872aSmrg  ;;
30202d19872aSmrg
30212d19872aSmrg*nto* | *qnx*)
30222d19872aSmrg  version_type=qnx
30232d19872aSmrg  need_lib_prefix=no
30242d19872aSmrg  need_version=no
30252d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
30262d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
30272d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
30282d19872aSmrg  shlibpath_overrides_runpath=no
30292d19872aSmrg  hardcode_into_libs=yes
30302d19872aSmrg  dynamic_linker='ldqnx.so'
30312d19872aSmrg  ;;
30322d19872aSmrg
30332f76b07dSmrgopenbsd*)
30342d19872aSmrg  version_type=sunos
30352d19872aSmrg  sys_lib_dlsearch_path_spec=/usr/lib
30362d19872aSmrg  need_lib_prefix=no
30372d19872aSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
30382d19872aSmrg    need_version=no
30392d19872aSmrg  else
30402d19872aSmrg    need_version=yes
30412d19872aSmrg  fi
30422d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
30432d19872aSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
30442d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
30452d19872aSmrg  shlibpath_overrides_runpath=yes
30462d19872aSmrg  ;;
30472d19872aSmrg
30482d19872aSmrgos2*)
30492d19872aSmrg  libname_spec='$name'
30502d19872aSmrg  version_type=windows
30512d19872aSmrg  shrext_cmds=.dll
30522d19872aSmrg  need_version=no
30532d19872aSmrg  need_lib_prefix=no
30542d19872aSmrg  # OS/2 can only load a DLL with a base name of 8 characters or less.
30552d19872aSmrg  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
30562d19872aSmrg    v=$($ECHO $release$versuffix | tr -d .-);
30572d19872aSmrg    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
30582d19872aSmrg    $ECHO $n$v`$shared_ext'
30592d19872aSmrg  library_names_spec='${libname}_dll.$libext'
30602d19872aSmrg  dynamic_linker='OS/2 ld.exe'
30612d19872aSmrg  shlibpath_var=BEGINLIBPATH
30622d19872aSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
30632d19872aSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
30642d19872aSmrg  postinstall_cmds='base_file=`basename \$file`~
30652d19872aSmrg    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
30662d19872aSmrg    dldir=$destdir/`dirname \$dlpath`~
30672d19872aSmrg    test -d \$dldir || mkdir -p \$dldir~
30682d19872aSmrg    $install_prog $dir/$dlname \$dldir/$dlname~
30692d19872aSmrg    chmod a+x \$dldir/$dlname~
30702d19872aSmrg    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
30712d19872aSmrg      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
30722d19872aSmrg    fi'
30732d19872aSmrg  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
30742d19872aSmrg    dlpath=$dir/\$dldll~
30752d19872aSmrg    $RM \$dlpath'
30762d19872aSmrg  ;;
30772d19872aSmrg
30782d19872aSmrgosf3* | osf4* | osf5*)
30792d19872aSmrg  version_type=osf
30802d19872aSmrg  need_lib_prefix=no
30812d19872aSmrg  need_version=no
30822d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
30832d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
30842d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
30852d19872aSmrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
30862d19872aSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
30872d19872aSmrg  ;;
30882d19872aSmrg
30892d19872aSmrgrdos*)
30902d19872aSmrg  dynamic_linker=no
30912d19872aSmrg  ;;
30922d19872aSmrg
30932f76b07dSmrgserenity*)
30942f76b07dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
30952f76b07dSmrg  need_lib_prefix=no
30962f76b07dSmrg  need_version=no
30972f76b07dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
30982f76b07dSmrg  soname_spec='$libname$release$shared_ext$major'
30992f76b07dSmrg  shlibpath_var=LD_LIBRARY_PATH
31002f76b07dSmrg  shlibpath_overrides_runpath=no
31012f76b07dSmrg  dynamic_linker='SerenityOS LibELF'
31022f76b07dSmrg  ;;
31032f76b07dSmrg
31042d19872aSmrgsolaris*)
31052d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
31062d19872aSmrg  need_lib_prefix=no
31072d19872aSmrg  need_version=no
31082d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
31092d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
31102d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31112d19872aSmrg  shlibpath_overrides_runpath=yes
31122d19872aSmrg  hardcode_into_libs=yes
31132d19872aSmrg  # ldd complains unless libraries are executable
31142d19872aSmrg  postinstall_cmds='chmod +x $lib'
31152d19872aSmrg  ;;
31162d19872aSmrg
31172d19872aSmrgsunos4*)
31182d19872aSmrg  version_type=sunos
31192d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
31202d19872aSmrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
31212d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31222d19872aSmrg  shlibpath_overrides_runpath=yes
31232d19872aSmrg  if test yes = "$with_gnu_ld"; then
31242d19872aSmrg    need_lib_prefix=no
31252d19872aSmrg  fi
31262d19872aSmrg  need_version=yes
31272d19872aSmrg  ;;
31282d19872aSmrg
31292d19872aSmrgsysv4 | sysv4.3*)
31302d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
31312d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
31322d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
31332d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31342d19872aSmrg  case $host_vendor in
31352d19872aSmrg    sni)
31362d19872aSmrg      shlibpath_overrides_runpath=no
31372d19872aSmrg      need_lib_prefix=no
31382d19872aSmrg      runpath_var=LD_RUN_PATH
31392d19872aSmrg      ;;
31402d19872aSmrg    siemens)
31412d19872aSmrg      need_lib_prefix=no
31422d19872aSmrg      ;;
31432d19872aSmrg    motorola)
31442d19872aSmrg      need_lib_prefix=no
31452d19872aSmrg      need_version=no
31462d19872aSmrg      shlibpath_overrides_runpath=no
31472d19872aSmrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
31482d19872aSmrg      ;;
31492d19872aSmrg  esac
31502d19872aSmrg  ;;
31512d19872aSmrg
31522d19872aSmrgsysv4*MP*)
31532d19872aSmrg  if test -d /usr/nec; then
31542d19872aSmrg    version_type=linux # correct to gnu/linux during the next big refactor
31552d19872aSmrg    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
31562d19872aSmrg    soname_spec='$libname$shared_ext.$major'
31572d19872aSmrg    shlibpath_var=LD_LIBRARY_PATH
31582d19872aSmrg  fi
31592d19872aSmrg  ;;
31602d19872aSmrg
31612d19872aSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
31622d19872aSmrg  version_type=sco
31632d19872aSmrg  need_lib_prefix=no
31642d19872aSmrg  need_version=no
31652d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
31662d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
31672d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31682d19872aSmrg  shlibpath_overrides_runpath=yes
31692d19872aSmrg  hardcode_into_libs=yes
31702d19872aSmrg  if test yes = "$with_gnu_ld"; then
31712d19872aSmrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
31722d19872aSmrg  else
31732d19872aSmrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
31742d19872aSmrg    case $host_os in
31752d19872aSmrg      sco3.2v5*)
31762d19872aSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
31772d19872aSmrg	;;
31782d19872aSmrg    esac
31792d19872aSmrg  fi
31802d19872aSmrg  sys_lib_dlsearch_path_spec='/usr/lib'
31812d19872aSmrg  ;;
31822d19872aSmrg
31832d19872aSmrgtpf*)
31842d19872aSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
31852d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
31862d19872aSmrg  need_lib_prefix=no
31872d19872aSmrg  need_version=no
31882d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
31892d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31902d19872aSmrg  shlibpath_overrides_runpath=no
31912d19872aSmrg  hardcode_into_libs=yes
31922d19872aSmrg  ;;
31932d19872aSmrg
31942d19872aSmrguts4*)
31952d19872aSmrg  version_type=linux # correct to gnu/linux during the next big refactor
31962d19872aSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
31972d19872aSmrg  soname_spec='$libname$release$shared_ext$major'
31982d19872aSmrg  shlibpath_var=LD_LIBRARY_PATH
31992d19872aSmrg  ;;
32002d19872aSmrg
32012f76b07dSmrgemscripten*)
32022f76b07dSmrg  version_type=none
32032f76b07dSmrg  need_lib_prefix=no
32042f76b07dSmrg  need_version=no
32052f76b07dSmrg  library_names_spec='$libname$release$shared_ext'
32062f76b07dSmrg  soname_spec='$libname$release$shared_ext'
32072f76b07dSmrg  finish_cmds=
32082f76b07dSmrg  dynamic_linker="Emscripten linker"
32092f76b07dSmrg  _LT_COMPILER_PIC($1)='-fPIC'
32102f76b07dSmrg  _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib'
32112f76b07dSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym'
32122f76b07dSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
32132f76b07dSmrg  _LT_TAGVAR(no_undefined_flag, $1)=
32142f76b07dSmrg  ;;
32152f76b07dSmrg
32162d19872aSmrg*)
32172d19872aSmrg  dynamic_linker=no
32182d19872aSmrg  ;;
32192d19872aSmrgesac
32202d19872aSmrgAC_MSG_RESULT([$dynamic_linker])
32212d19872aSmrgtest no = "$dynamic_linker" && can_build_shared=no
32222d19872aSmrg
32232d19872aSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
32242d19872aSmrgif test yes = "$GCC"; then
32252d19872aSmrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
32262d19872aSmrgfi
32272d19872aSmrg
32282d19872aSmrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
32292d19872aSmrg  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
32302d19872aSmrgfi
32312d19872aSmrg
32322d19872aSmrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
32332d19872aSmrg  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
32342d19872aSmrgfi
32352d19872aSmrg
32362d19872aSmrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
32372d19872aSmrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
32382d19872aSmrg
32392d19872aSmrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
32402d19872aSmrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
32412d19872aSmrg
32422d19872aSmrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
32432d19872aSmrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
32442d19872aSmrg
32452d19872aSmrg_LT_DECL([], [variables_saved_for_relink], [1],
32462d19872aSmrg    [Variables whose values should be saved in libtool wrapper scripts and
32472d19872aSmrg    restored at link time])
32482d19872aSmrg_LT_DECL([], [need_lib_prefix], [0],
32492d19872aSmrg    [Do we need the "lib" prefix for modules?])
32502d19872aSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
32512d19872aSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
32522d19872aSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
32532d19872aSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
32542d19872aSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
32552d19872aSmrg    [Is shlibpath searched before the hard-coded library search path?])
32562d19872aSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
32572d19872aSmrg_LT_DECL([], [library_names_spec], [1],
32582d19872aSmrg    [[List of archive names.  First name is the real one, the rest are links.
32592d19872aSmrg    The last name is the one that the linker finds with -lNAME]])
32602d19872aSmrg_LT_DECL([], [soname_spec], [1],
32612d19872aSmrg    [[The coded name of the library, if different from the real name]])
32622d19872aSmrg_LT_DECL([], [install_override_mode], [1],
32632d19872aSmrg    [Permission mode override for installation of shared libraries])
32642d19872aSmrg_LT_DECL([], [postinstall_cmds], [2],
32652d19872aSmrg    [Command to use after installation of a shared archive])
32662d19872aSmrg_LT_DECL([], [postuninstall_cmds], [2],
32672d19872aSmrg    [Command to use after uninstallation of a shared archive])
32682d19872aSmrg_LT_DECL([], [finish_cmds], [2],
32692d19872aSmrg    [Commands used to finish a libtool library installation in a directory])
32702d19872aSmrg_LT_DECL([], [finish_eval], [1],
32712d19872aSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
32722d19872aSmrg    not shown]])
32732d19872aSmrg_LT_DECL([], [hardcode_into_libs], [0],
32742d19872aSmrg    [Whether we should hardcode library paths into libraries])
32752d19872aSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
32762d19872aSmrg    [Compile-time system search path for libraries])
32772d19872aSmrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
32782d19872aSmrg    [Detected run-time system search path for libraries])
32792d19872aSmrg_LT_DECL([], [configure_time_lt_sys_library_path], [2],
32802d19872aSmrg    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
32812d19872aSmrg])# _LT_SYS_DYNAMIC_LINKER
32822d19872aSmrg
32832d19872aSmrg
32842d19872aSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
32852d19872aSmrg# --------------------------
32862d19872aSmrg# find a file program that can recognize shared library
32872d19872aSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
32882d19872aSmrg[m4_require([_LT_DECL_EGREP])dnl
32892d19872aSmrgAC_MSG_CHECKING([for $1])
32902d19872aSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
32912d19872aSmrg[case $MAGIC_CMD in
32922d19872aSmrg[[\\/*] |  ?:[\\/]*])
32932d19872aSmrg  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
32942d19872aSmrg  ;;
32952d19872aSmrg*)
32962d19872aSmrg  lt_save_MAGIC_CMD=$MAGIC_CMD
32972d19872aSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
32982d19872aSmrgdnl $ac_dummy forces splitting on constant user-supplied paths.
32992d19872aSmrgdnl POSIX.2 word splitting is done only on the output of word expansions,
33002d19872aSmrgdnl not every word.  This closes a longstanding sh security hole.
33012d19872aSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
33022d19872aSmrg  for ac_dir in $ac_dummy; do
33032d19872aSmrg    IFS=$lt_save_ifs
33042d19872aSmrg    test -z "$ac_dir" && ac_dir=.
33052d19872aSmrg    if test -f "$ac_dir/$1"; then
33062d19872aSmrg      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
33072d19872aSmrg      if test -n "$file_magic_test_file"; then
33082d19872aSmrg	case $deplibs_check_method in
33092d19872aSmrg	"file_magic "*)
33102d19872aSmrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
33112d19872aSmrg	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
33122d19872aSmrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
33132d19872aSmrg	    $EGREP "$file_magic_regex" > /dev/null; then
33142d19872aSmrg	    :
33152d19872aSmrg	  else
33162d19872aSmrg	    cat <<_LT_EOF 1>&2
33172d19872aSmrg
33182d19872aSmrg*** Warning: the command libtool uses to detect shared libraries,
33192d19872aSmrg*** $file_magic_cmd, produces output that libtool cannot recognize.
33202d19872aSmrg*** The result is that libtool may fail to recognize shared libraries
33212d19872aSmrg*** as such.  This will affect the creation of libtool libraries that
33222d19872aSmrg*** depend on shared libraries, but programs linked with such libtool
33232d19872aSmrg*** libraries will work regardless of this problem.  Nevertheless, you
33242d19872aSmrg*** may want to report the problem to your system manager and/or to
33252d19872aSmrg*** bug-libtool@gnu.org
33262d19872aSmrg
33272d19872aSmrg_LT_EOF
33282d19872aSmrg	  fi ;;
33292d19872aSmrg	esac
33302d19872aSmrg      fi
33312d19872aSmrg      break
33322d19872aSmrg    fi
33332d19872aSmrg  done
33342d19872aSmrg  IFS=$lt_save_ifs
33352d19872aSmrg  MAGIC_CMD=$lt_save_MAGIC_CMD
33362d19872aSmrg  ;;
33372d19872aSmrgesac])
33382d19872aSmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD
33392d19872aSmrgif test -n "$MAGIC_CMD"; then
33402d19872aSmrg  AC_MSG_RESULT($MAGIC_CMD)
33412d19872aSmrgelse
33422d19872aSmrg  AC_MSG_RESULT(no)
33432d19872aSmrgfi
33442d19872aSmrg_LT_DECL([], [MAGIC_CMD], [0],
33452d19872aSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
33462d19872aSmrg])# _LT_PATH_TOOL_PREFIX
33472d19872aSmrg
33482d19872aSmrg# Old name:
33492d19872aSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
33502d19872aSmrgdnl aclocal-1.4 backwards compatibility:
33512d19872aSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
33522d19872aSmrg
33532d19872aSmrg
33542d19872aSmrg# _LT_PATH_MAGIC
33552d19872aSmrg# --------------
33562d19872aSmrg# find a file program that can recognize a shared library
33572d19872aSmrgm4_defun([_LT_PATH_MAGIC],
33582d19872aSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
33592d19872aSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then
33602d19872aSmrg  if test -n "$ac_tool_prefix"; then
33612d19872aSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
33622d19872aSmrg  else
33632d19872aSmrg    MAGIC_CMD=:
33642d19872aSmrg  fi
33652d19872aSmrgfi
33662d19872aSmrg])# _LT_PATH_MAGIC
33672d19872aSmrg
33682d19872aSmrg
33692d19872aSmrg# LT_PATH_LD
33702d19872aSmrg# ----------
33712d19872aSmrg# find the pathname to the GNU or non-GNU linker
33722d19872aSmrgAC_DEFUN([LT_PATH_LD],
33732d19872aSmrg[AC_REQUIRE([AC_PROG_CC])dnl
33742d19872aSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
33752d19872aSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
33762d19872aSmrgm4_require([_LT_DECL_SED])dnl
33772d19872aSmrgm4_require([_LT_DECL_EGREP])dnl
33782d19872aSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
33792d19872aSmrg
33802d19872aSmrgAC_ARG_WITH([gnu-ld],
33812d19872aSmrg    [AS_HELP_STRING([--with-gnu-ld],
33822d19872aSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
33832d19872aSmrg    [test no = "$withval" || with_gnu_ld=yes],
33842d19872aSmrg    [with_gnu_ld=no])dnl
33852d19872aSmrg
33862d19872aSmrgac_prog=ld
33872d19872aSmrgif test yes = "$GCC"; then
33882d19872aSmrg  # Check if gcc -print-prog-name=ld gives a path.
33892d19872aSmrg  AC_MSG_CHECKING([for ld used by $CC])
33902d19872aSmrg  case $host in
33912f76b07dSmrg  *-*-mingw* | *-*-windows*)
33922d19872aSmrg    # gcc leaves a trailing carriage return, which upsets mingw
33932d19872aSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
33942d19872aSmrg  *)
33952d19872aSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
33962d19872aSmrg  esac
33972d19872aSmrg  case $ac_prog in
33982d19872aSmrg    # Accept absolute paths.
33992d19872aSmrg    [[\\/]]* | ?:[[\\/]]*)
34002d19872aSmrg      re_direlt='/[[^/]][[^/]]*/\.\./'
34012d19872aSmrg      # Canonicalize the pathname of ld
34022d19872aSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
34032d19872aSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
34042d19872aSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
34052d19872aSmrg      done
34062d19872aSmrg      test -z "$LD" && LD=$ac_prog
34072d19872aSmrg      ;;
34082d19872aSmrg  "")
34092d19872aSmrg    # If it fails, then pretend we aren't using GCC.
34102d19872aSmrg    ac_prog=ld
34112d19872aSmrg    ;;
34122d19872aSmrg  *)
34132d19872aSmrg    # If it is relative, then search for the first ld in PATH.
34142d19872aSmrg    with_gnu_ld=unknown
34152d19872aSmrg    ;;
34162d19872aSmrg  esac
34172d19872aSmrgelif test yes = "$with_gnu_ld"; then
34182d19872aSmrg  AC_MSG_CHECKING([for GNU ld])
34192d19872aSmrgelse
34202d19872aSmrg  AC_MSG_CHECKING([for non-GNU ld])
34212d19872aSmrgfi
34222d19872aSmrgAC_CACHE_VAL(lt_cv_path_LD,
34232d19872aSmrg[if test -z "$LD"; then
34242d19872aSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
34252d19872aSmrg  for ac_dir in $PATH; do
34262d19872aSmrg    IFS=$lt_save_ifs
34272d19872aSmrg    test -z "$ac_dir" && ac_dir=.
34282d19872aSmrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
34292d19872aSmrg      lt_cv_path_LD=$ac_dir/$ac_prog
34302d19872aSmrg      # Check to see if the program is GNU ld.  I'd rather use --version,
34312d19872aSmrg      # but apparently some variants of GNU ld only accept -v.
34322d19872aSmrg      # Break only if it was the GNU/non-GNU ld that we prefer.
34332d19872aSmrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
34342d19872aSmrg      *GNU* | *'with BFD'*)
34352d19872aSmrg	test no != "$with_gnu_ld" && break
34362d19872aSmrg	;;
34372d19872aSmrg      *)
34382d19872aSmrg	test yes != "$with_gnu_ld" && break
34392d19872aSmrg	;;
34402d19872aSmrg      esac
34412d19872aSmrg    fi
34422d19872aSmrg  done
34432d19872aSmrg  IFS=$lt_save_ifs
34442d19872aSmrgelse
34452d19872aSmrg  lt_cv_path_LD=$LD # Let the user override the test with a path.
34462d19872aSmrgfi])
34472d19872aSmrgLD=$lt_cv_path_LD
34482d19872aSmrgif test -n "$LD"; then
34492d19872aSmrg  AC_MSG_RESULT($LD)
34502d19872aSmrgelse
34512d19872aSmrg  AC_MSG_RESULT(no)
34522d19872aSmrgfi
34532d19872aSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
34542d19872aSmrg_LT_PATH_LD_GNU
34552d19872aSmrgAC_SUBST([LD])
34562d19872aSmrg
34572d19872aSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
34582d19872aSmrg])# LT_PATH_LD
34592d19872aSmrg
34602d19872aSmrg# Old names:
34612d19872aSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
34622d19872aSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
34632d19872aSmrgdnl aclocal-1.4 backwards compatibility:
34642d19872aSmrgdnl AC_DEFUN([AM_PROG_LD], [])
34652d19872aSmrgdnl AC_DEFUN([AC_PROG_LD], [])
34662d19872aSmrg
34672d19872aSmrg
34682d19872aSmrg# _LT_PATH_LD_GNU
34692d19872aSmrg#- --------------
34702d19872aSmrgm4_defun([_LT_PATH_LD_GNU],
34712d19872aSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
34722d19872aSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
34732d19872aSmrgcase `$LD -v 2>&1 </dev/null` in
34742d19872aSmrg*GNU* | *'with BFD'*)
34752d19872aSmrg  lt_cv_prog_gnu_ld=yes
34762d19872aSmrg  ;;
34772d19872aSmrg*)
34782d19872aSmrg  lt_cv_prog_gnu_ld=no
34792d19872aSmrg  ;;
34802d19872aSmrgesac])
34812d19872aSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
34822d19872aSmrg])# _LT_PATH_LD_GNU
34832d19872aSmrg
34842d19872aSmrg
34852d19872aSmrg# _LT_CMD_RELOAD
34862d19872aSmrg# --------------
34872d19872aSmrg# find reload flag for linker
34882d19872aSmrg#   -- PORTME Some linkers may need a different reload flag.
34892d19872aSmrgm4_defun([_LT_CMD_RELOAD],
34902d19872aSmrg[AC_CACHE_CHECK([for $LD option to reload object files],
34912d19872aSmrg  lt_cv_ld_reload_flag,
34922d19872aSmrg  [lt_cv_ld_reload_flag='-r'])
34932d19872aSmrgreload_flag=$lt_cv_ld_reload_flag
34942d19872aSmrgcase $reload_flag in
34952d19872aSmrg"" | " "*) ;;
34962d19872aSmrg*) reload_flag=" $reload_flag" ;;
34972d19872aSmrgesac
34982d19872aSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
34992d19872aSmrgcase $host_os in
35002f76b07dSmrg  cygwin* | mingw* | windows* | pw32* | cegcc*)
35012d19872aSmrg    if test yes != "$GCC"; then
35022d19872aSmrg      reload_cmds=false
35032d19872aSmrg    fi
35042d19872aSmrg    ;;
35052d19872aSmrg  darwin*)
35062d19872aSmrg    if test yes = "$GCC"; then
35072d19872aSmrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
35082d19872aSmrg    else
35092d19872aSmrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
35102d19872aSmrg    fi
35112d19872aSmrg    ;;
35122d19872aSmrgesac
35132d19872aSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
35142d19872aSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl
35152d19872aSmrg])# _LT_CMD_RELOAD
35162d19872aSmrg
35172d19872aSmrg
35182d19872aSmrg# _LT_PATH_DD
35192d19872aSmrg# -----------
35202d19872aSmrg# find a working dd
35212d19872aSmrgm4_defun([_LT_PATH_DD],
35222d19872aSmrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
35232d19872aSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
35242d19872aSmrgcat conftest.i conftest.i >conftest2.i
35252d19872aSmrg: ${lt_DD:=$DD}
35262d19872aSmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
35272d19872aSmrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
35282d19872aSmrg  cmp -s conftest.i conftest.out \
35292d19872aSmrg  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
35302d19872aSmrgfi])
35312d19872aSmrgrm -f conftest.i conftest2.i conftest.out])
35322d19872aSmrg])# _LT_PATH_DD
35332d19872aSmrg
35342d19872aSmrg
35352d19872aSmrg# _LT_CMD_TRUNCATE
35362d19872aSmrg# ----------------
35372d19872aSmrg# find command to truncate a binary pipe
35382d19872aSmrgm4_defun([_LT_CMD_TRUNCATE],
35392d19872aSmrg[m4_require([_LT_PATH_DD])
35402d19872aSmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
35412d19872aSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
35422d19872aSmrgcat conftest.i conftest.i >conftest2.i
35432d19872aSmrglt_cv_truncate_bin=
35442d19872aSmrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
35452d19872aSmrg  cmp -s conftest.i conftest.out \
35462d19872aSmrg  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
35472d19872aSmrgfi
35482d19872aSmrgrm -f conftest.i conftest2.i conftest.out
35492d19872aSmrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
35502d19872aSmrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
35512d19872aSmrg  [Command to truncate a binary pipe])
35522d19872aSmrg])# _LT_CMD_TRUNCATE
35532d19872aSmrg
35542d19872aSmrg
35552d19872aSmrg# _LT_CHECK_MAGIC_METHOD
35562d19872aSmrg# ----------------------
35572d19872aSmrg# how to check for library dependencies
35582d19872aSmrg#  -- PORTME fill in with the dynamic library characteristics
35592d19872aSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
35602d19872aSmrg[m4_require([_LT_DECL_EGREP])
35612d19872aSmrgm4_require([_LT_DECL_OBJDUMP])
35622d19872aSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
35632d19872aSmrglt_cv_deplibs_check_method,
35642d19872aSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
35652d19872aSmrglt_cv_file_magic_test_file=
35662d19872aSmrglt_cv_deplibs_check_method='unknown'
35672d19872aSmrg# Need to set the preceding variable on all platforms that support
35682d19872aSmrg# interlibrary dependencies.
35692d19872aSmrg# 'none' -- dependencies not supported.
35702d19872aSmrg# 'unknown' -- same as none, but documents that we really don't know.
35712d19872aSmrg# 'pass_all' -- all dependencies passed with no checks.
35722d19872aSmrg# 'file_magic [[regex]]' -- check by looking for files in library path
35732d19872aSmrg# that responds to the $file_magic_cmd with a given extended regex.
35742d19872aSmrg# If you have 'file' or equivalent on your system and you're not sure
35752d19872aSmrg# whether 'pass_all' will *always* work, you probably want this one.
35762d19872aSmrg
35772d19872aSmrgcase $host_os in
35782d19872aSmrgaix[[4-9]]*)
35792d19872aSmrg  lt_cv_deplibs_check_method=pass_all
35802d19872aSmrg  ;;
35812d19872aSmrg
35822d19872aSmrgbeos*)
35832d19872aSmrg  lt_cv_deplibs_check_method=pass_all
35842d19872aSmrg  ;;
35852d19872aSmrg
35862d19872aSmrgbsdi[[45]]*)
35872d19872aSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
35882d19872aSmrg  lt_cv_file_magic_cmd='$FILECMD -L'
35892d19872aSmrg  lt_cv_file_magic_test_file=/shlib/libc.so
35902d19872aSmrg  ;;
35912d19872aSmrg
35922d19872aSmrgcygwin*)
35932d19872aSmrg  # func_win32_libid is a shell function defined in ltmain.sh
35942d19872aSmrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
35952d19872aSmrg  lt_cv_file_magic_cmd='func_win32_libid'
35962d19872aSmrg  ;;
35972d19872aSmrg
35982f76b07dSmrgmingw* | windows* | pw32*)
35992d19872aSmrg  # Base MSYS/MinGW do not provide the 'file' command needed by
36002d19872aSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
36012d19872aSmrg  # unless we find 'file', for example because we are cross-compiling.
36022d19872aSmrg  if ( file / ) >/dev/null 2>&1; then
36032d19872aSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
36042d19872aSmrg    lt_cv_file_magic_cmd='func_win32_libid'
36052d19872aSmrg  else
36062d19872aSmrg    # Keep this pattern in sync with the one in func_win32_libid.
36072f76b07dSmrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)'
36082d19872aSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
36092d19872aSmrg  fi
36102d19872aSmrg  ;;
36112d19872aSmrg
36122d19872aSmrgcegcc*)
36132d19872aSmrg  # use the weaker test based on 'objdump'. See mingw*.
36142d19872aSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
36152d19872aSmrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
36162d19872aSmrg  ;;
36172d19872aSmrg
36182d19872aSmrgdarwin* | rhapsody*)
36192d19872aSmrg  lt_cv_deplibs_check_method=pass_all
36202d19872aSmrg  ;;
36212d19872aSmrg
36222d19872aSmrgfreebsd* | dragonfly* | midnightbsd*)
36232d19872aSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
36242d19872aSmrg    case $host_cpu in
36252d19872aSmrg    i*86 )
36262d19872aSmrg      # Not sure whether the presence of OpenBSD here was a mistake.
36272d19872aSmrg      # Let's accept both of them until this is cleared up.
36282d19872aSmrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
36292d19872aSmrg      lt_cv_file_magic_cmd=$FILECMD
36302d19872aSmrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
36312d19872aSmrg      ;;
36322d19872aSmrg    esac
36332d19872aSmrg  else
36342d19872aSmrg    lt_cv_deplibs_check_method=pass_all
36352d19872aSmrg  fi
36362d19872aSmrg  ;;
36372d19872aSmrg
36382d19872aSmrghaiku*)
36392d19872aSmrg  lt_cv_deplibs_check_method=pass_all
36402d19872aSmrg  ;;
36412d19872aSmrg
36422d19872aSmrghpux10.20* | hpux11*)
36432d19872aSmrg  lt_cv_file_magic_cmd=$FILECMD
36442d19872aSmrg  case $host_cpu in
36452d19872aSmrg  ia64*)
36462d19872aSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
36472d19872aSmrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
36482d19872aSmrg    ;;
36492d19872aSmrg  hppa*64*)
36502d19872aSmrg    [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]']
36512d19872aSmrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
36522d19872aSmrg    ;;
36532d19872aSmrg  *)
36542d19872aSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
36552d19872aSmrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
36562d19872aSmrg    ;;
36572d19872aSmrg  esac
36582d19872aSmrg  ;;
36592d19872aSmrg
36602d19872aSmrginterix[[3-9]]*)
36612d19872aSmrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
36622d19872aSmrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
36632d19872aSmrg  ;;
36642d19872aSmrg
36652d19872aSmrgirix5* | irix6* | nonstopux*)
36662d19872aSmrg  case $LD in
36672d19872aSmrg  *-32|*"-32 ") libmagic=32-bit;;
36682d19872aSmrg  *-n32|*"-n32 ") libmagic=N32;;
36692d19872aSmrg  *-64|*"-64 ") libmagic=64-bit;;
36702d19872aSmrg  *) libmagic=never-match;;
36712d19872aSmrg  esac
36722d19872aSmrg  lt_cv_deplibs_check_method=pass_all
36732d19872aSmrg  ;;
36742d19872aSmrg
36752d19872aSmrg# This must be glibc/ELF.
36762d19872aSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
36772d19872aSmrg  lt_cv_deplibs_check_method=pass_all
36782d19872aSmrg  ;;
36792d19872aSmrg
36802f76b07dSmrg*-mlibc)
36812f76b07dSmrg  lt_cv_deplibs_check_method=pass_all
36822f76b07dSmrg  ;;
36832f76b07dSmrg
36842f76b07dSmrgnetbsd* | netbsdelf*-gnu)
36852d19872aSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
36862d19872aSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
36872d19872aSmrg  else
36882d19872aSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
36892d19872aSmrg  fi
36902d19872aSmrg  ;;
36912d19872aSmrg
36922d19872aSmrgnewos6*)
36932d19872aSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
36942d19872aSmrg  lt_cv_file_magic_cmd=$FILECMD
36952d19872aSmrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
36962d19872aSmrg  ;;
36972d19872aSmrg
36982d19872aSmrg*nto* | *qnx*)
36992d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37002d19872aSmrg  ;;
37012d19872aSmrg
37022f76b07dSmrgopenbsd*)
37032d19872aSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
37042d19872aSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
37052d19872aSmrg  else
37062d19872aSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
37072d19872aSmrg  fi
37082d19872aSmrg  ;;
37092d19872aSmrg
37102d19872aSmrgosf3* | osf4* | osf5*)
37112d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37122d19872aSmrg  ;;
37132d19872aSmrg
37142d19872aSmrgrdos*)
37152d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37162d19872aSmrg  ;;
37172d19872aSmrg
37182f76b07dSmrgserenity*)
37192f76b07dSmrg  lt_cv_deplibs_check_method=pass_all
37202f76b07dSmrg  ;;
37212f76b07dSmrg
37222d19872aSmrgsolaris*)
37232d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37242d19872aSmrg  ;;
37252d19872aSmrg
37262d19872aSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
37272d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37282d19872aSmrg  ;;
37292d19872aSmrg
37302d19872aSmrgsysv4 | sysv4.3*)
37312d19872aSmrg  case $host_vendor in
37322d19872aSmrg  motorola)
37332d19872aSmrg    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]]'
37342d19872aSmrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
37352d19872aSmrg    ;;
37362d19872aSmrg  ncr)
37372d19872aSmrg    lt_cv_deplibs_check_method=pass_all
37382d19872aSmrg    ;;
37392d19872aSmrg  sequent)
37402d19872aSmrg    lt_cv_file_magic_cmd='/bin/file'
37412d19872aSmrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
37422d19872aSmrg    ;;
37432d19872aSmrg  sni)
37442d19872aSmrg    lt_cv_file_magic_cmd='/bin/file'
37452d19872aSmrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
37462d19872aSmrg    lt_cv_file_magic_test_file=/lib/libc.so
37472d19872aSmrg    ;;
37482d19872aSmrg  siemens)
37492d19872aSmrg    lt_cv_deplibs_check_method=pass_all
37502d19872aSmrg    ;;
37512d19872aSmrg  pc)
37522d19872aSmrg    lt_cv_deplibs_check_method=pass_all
37532d19872aSmrg    ;;
37542d19872aSmrg  esac
37552d19872aSmrg  ;;
37562d19872aSmrg
37572d19872aSmrgtpf*)
37582d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37592d19872aSmrg  ;;
37602d19872aSmrgos2*)
37612d19872aSmrg  lt_cv_deplibs_check_method=pass_all
37622d19872aSmrg  ;;
37632d19872aSmrgesac
37642d19872aSmrg])
37652d19872aSmrg
37662d19872aSmrgfile_magic_glob=
37672d19872aSmrgwant_nocaseglob=no
37682d19872aSmrgif test "$build" = "$host"; then
37692d19872aSmrg  case $host_os in
37702f76b07dSmrg  mingw* | windows* | pw32*)
37712d19872aSmrg    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
37722d19872aSmrg      want_nocaseglob=yes
37732d19872aSmrg    else
37742d19872aSmrg      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
37752d19872aSmrg    fi
37762d19872aSmrg    ;;
37772d19872aSmrg  esac
37782d19872aSmrgfi
37792d19872aSmrg
37802d19872aSmrgfile_magic_cmd=$lt_cv_file_magic_cmd
37812d19872aSmrgdeplibs_check_method=$lt_cv_deplibs_check_method
37822d19872aSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
37832d19872aSmrg
37842d19872aSmrg_LT_DECL([], [deplibs_check_method], [1],
37852d19872aSmrg    [Method to check whether dependent libraries are shared objects])
37862d19872aSmrg_LT_DECL([], [file_magic_cmd], [1],
37872d19872aSmrg    [Command to use when deplibs_check_method = "file_magic"])
37882d19872aSmrg_LT_DECL([], [file_magic_glob], [1],
37892d19872aSmrg    [How to find potential files when deplibs_check_method = "file_magic"])
37902d19872aSmrg_LT_DECL([], [want_nocaseglob], [1],
37912d19872aSmrg    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
37922d19872aSmrg])# _LT_CHECK_MAGIC_METHOD
37932d19872aSmrg
37942d19872aSmrg
37952d19872aSmrg# LT_PATH_NM
37962d19872aSmrg# ----------
37972d19872aSmrg# find the pathname to a BSD- or MS-compatible name lister
37982d19872aSmrgAC_DEFUN([LT_PATH_NM],
37992d19872aSmrg[AC_REQUIRE([AC_PROG_CC])dnl
38002d19872aSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
38012d19872aSmrg[if test -n "$NM"; then
38022d19872aSmrg  # Let the user override the test.
38032d19872aSmrg  lt_cv_path_NM=$NM
38042d19872aSmrgelse
38052d19872aSmrg  lt_nm_to_check=${ac_tool_prefix}nm
38062d19872aSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
38072d19872aSmrg    lt_nm_to_check="$lt_nm_to_check nm"
38082d19872aSmrg  fi
38092d19872aSmrg  for lt_tmp_nm in $lt_nm_to_check; do
38102d19872aSmrg    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
38112d19872aSmrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
38122d19872aSmrg      IFS=$lt_save_ifs
38132d19872aSmrg      test -z "$ac_dir" && ac_dir=.
38142d19872aSmrg      tmp_nm=$ac_dir/$lt_tmp_nm
38152d19872aSmrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
38162d19872aSmrg	# Check to see if the nm accepts a BSD-compat flag.
38172d19872aSmrg	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
38182d19872aSmrg	#   nm: unknown option "B" ignored
38192d19872aSmrg	# Tru64's nm complains that /dev/null is an invalid object file
38202d19872aSmrg	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
38212d19872aSmrg	case $build_os in
38222f76b07dSmrg	mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
38232d19872aSmrg	*) lt_bad_file=/dev/null ;;
38242d19872aSmrg	esac
38252d19872aSmrg	case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
38262d19872aSmrg	*$lt_bad_file* | *'Invalid file or object type'*)
38272d19872aSmrg	  lt_cv_path_NM="$tmp_nm -B"
38282d19872aSmrg	  break 2
38292d19872aSmrg	  ;;
38302d19872aSmrg	*)
38312d19872aSmrg	  case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
38322d19872aSmrg	  */dev/null*)
38332d19872aSmrg	    lt_cv_path_NM="$tmp_nm -p"
38342d19872aSmrg	    break 2
38352d19872aSmrg	    ;;
38362d19872aSmrg	  *)
38372d19872aSmrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
38382d19872aSmrg	    continue # so that we can try to find one that supports BSD flags
38392d19872aSmrg	    ;;
38402d19872aSmrg	  esac
38412d19872aSmrg	  ;;
38422d19872aSmrg	esac
38432d19872aSmrg      fi
38442d19872aSmrg    done
38452d19872aSmrg    IFS=$lt_save_ifs
38462d19872aSmrg  done
38472d19872aSmrg  : ${lt_cv_path_NM=no}
38482d19872aSmrgfi])
38492d19872aSmrgif test no != "$lt_cv_path_NM"; then
38502d19872aSmrg  NM=$lt_cv_path_NM
38512d19872aSmrgelse
38522d19872aSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
38532d19872aSmrg  if test -n "$DUMPBIN"; then :
38542d19872aSmrg    # Let the user override the test.
38552d19872aSmrg  else
38562d19872aSmrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
38572d19872aSmrg    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
38582d19872aSmrg    *COFF*)
38592d19872aSmrg      DUMPBIN="$DUMPBIN -symbols -headers"
38602d19872aSmrg      ;;
38612d19872aSmrg    *)
38622d19872aSmrg      DUMPBIN=:
38632d19872aSmrg      ;;
38642d19872aSmrg    esac
38652d19872aSmrg  fi
38662d19872aSmrg  AC_SUBST([DUMPBIN])
38672d19872aSmrg  if test : != "$DUMPBIN"; then
38682d19872aSmrg    NM=$DUMPBIN
38692d19872aSmrg  fi
38702d19872aSmrgfi
38712d19872aSmrgtest -z "$NM" && NM=nm
38722d19872aSmrgAC_SUBST([NM])
38732d19872aSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
38742d19872aSmrg
38752d19872aSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
38762d19872aSmrg  [lt_cv_nm_interface="BSD nm"
38772d19872aSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
38782d19872aSmrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
38792d19872aSmrg  (eval "$ac_compile" 2>conftest.err)
38802d19872aSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
38812d19872aSmrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
38822d19872aSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
38832d19872aSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
38842d19872aSmrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
38852d19872aSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
38862d19872aSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
38872d19872aSmrg    lt_cv_nm_interface="MS dumpbin"
38882d19872aSmrg  fi
38892d19872aSmrg  rm -f conftest*])
38902d19872aSmrg])# LT_PATH_NM
38912d19872aSmrg
38922d19872aSmrg# Old names:
38932d19872aSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
38942d19872aSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
38952d19872aSmrgdnl aclocal-1.4 backwards compatibility:
38962d19872aSmrgdnl AC_DEFUN([AM_PROG_NM], [])
38972d19872aSmrgdnl AC_DEFUN([AC_PROG_NM], [])
38982d19872aSmrg
38992d19872aSmrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
39002d19872aSmrg# --------------------------------
39012d19872aSmrg# how to determine the name of the shared library
39022d19872aSmrg# associated with a specific link library.
39032d19872aSmrg#  -- PORTME fill in with the dynamic library characteristics
39042d19872aSmrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
39052d19872aSmrg[m4_require([_LT_DECL_EGREP])
39062d19872aSmrgm4_require([_LT_DECL_OBJDUMP])
39072d19872aSmrgm4_require([_LT_DECL_DLLTOOL])
39082d19872aSmrgAC_CACHE_CHECK([how to associate runtime and link libraries],
39092d19872aSmrglt_cv_sharedlib_from_linklib_cmd,
39102d19872aSmrg[lt_cv_sharedlib_from_linklib_cmd='unknown'
39112d19872aSmrg
39122d19872aSmrgcase $host_os in
39132f76b07dSmrgcygwin* | mingw* | windows* | pw32* | cegcc*)
39142d19872aSmrg  # two different shell functions defined in ltmain.sh;
39152d19872aSmrg  # decide which one to use based on capabilities of $DLLTOOL
39162d19872aSmrg  case `$DLLTOOL --help 2>&1` in
39172d19872aSmrg  *--identify-strict*)
39182d19872aSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
39192d19872aSmrg    ;;
39202d19872aSmrg  *)
39212d19872aSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
39222d19872aSmrg    ;;
39232d19872aSmrg  esac
39242d19872aSmrg  ;;
39252d19872aSmrg*)
39262d19872aSmrg  # fallback: assume linklib IS sharedlib
39272d19872aSmrg  lt_cv_sharedlib_from_linklib_cmd=$ECHO
39282d19872aSmrg  ;;
39292d19872aSmrgesac
39302d19872aSmrg])
39312d19872aSmrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
39322d19872aSmrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
39332d19872aSmrg
39342d19872aSmrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
39352d19872aSmrg    [Command to associate shared and link libraries])
39362d19872aSmrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
39372d19872aSmrg
39382d19872aSmrg
39392d19872aSmrg# _LT_PATH_MANIFEST_TOOL
39402d19872aSmrg# ----------------------
39412d19872aSmrg# locate the manifest tool
39422d19872aSmrgm4_defun([_LT_PATH_MANIFEST_TOOL],
39432d19872aSmrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
39442d19872aSmrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
39452f76b07dSmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool],
39462f76b07dSmrg  [lt_cv_path_manifest_tool=no
39472d19872aSmrg  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
39482d19872aSmrg  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
39492d19872aSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
39502d19872aSmrg  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
39512f76b07dSmrg    lt_cv_path_manifest_tool=yes
39522d19872aSmrg  fi
39532d19872aSmrg  rm -f conftest*])
39542f76b07dSmrgif test yes != "$lt_cv_path_manifest_tool"; then
39552d19872aSmrg  MANIFEST_TOOL=:
39562d19872aSmrgfi
39572d19872aSmrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
39582d19872aSmrg])# _LT_PATH_MANIFEST_TOOL
39592d19872aSmrg
39602d19872aSmrg
39612d19872aSmrg# _LT_DLL_DEF_P([FILE])
39622d19872aSmrg# ---------------------
39632d19872aSmrg# True iff FILE is a Windows DLL '.def' file.
39642d19872aSmrg# Keep in sync with func_dll_def_p in the libtool script
39652d19872aSmrgAC_DEFUN([_LT_DLL_DEF_P],
39662d19872aSmrg[dnl
39672d19872aSmrg  test DEF = "`$SED -n dnl
39682d19872aSmrg    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
39692d19872aSmrg    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
39702d19872aSmrg    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
39712d19872aSmrg    -e q dnl                          Only consider the first "real" line
39722d19872aSmrg    $1`" dnl
39732d19872aSmrg])# _LT_DLL_DEF_P
39742d19872aSmrg
39752d19872aSmrg
39762d19872aSmrg# LT_LIB_M
39772d19872aSmrg# --------
39782d19872aSmrg# check for math library
39792d19872aSmrgAC_DEFUN([LT_LIB_M],
39802d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
39812d19872aSmrgLIBM=
39822d19872aSmrgcase $host in
39832f76b07dSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*)
39842d19872aSmrg  # These system don't have libm, or don't need it
39852d19872aSmrg  ;;
39862d19872aSmrg*-ncr-sysv4.3*)
39872d19872aSmrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
39882d19872aSmrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
39892d19872aSmrg  ;;
39902d19872aSmrg*)
39912d19872aSmrg  AC_CHECK_LIB(m, cos, LIBM=-lm)
39922d19872aSmrg  ;;
39932d19872aSmrgesac
39942d19872aSmrgAC_SUBST([LIBM])
39952d19872aSmrg])# LT_LIB_M
39962d19872aSmrg
39972d19872aSmrg# Old name:
39982d19872aSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
39992d19872aSmrgdnl aclocal-1.4 backwards compatibility:
40002d19872aSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
40012d19872aSmrg
40022d19872aSmrg
40032d19872aSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
40042d19872aSmrg# -------------------------------
40052d19872aSmrgm4_defun([_LT_COMPILER_NO_RTTI],
40062d19872aSmrg[m4_require([_LT_TAG_COMPILER])dnl
40072d19872aSmrg
40082d19872aSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
40092d19872aSmrg
40102d19872aSmrgif test yes = "$GCC"; then
40112d19872aSmrg  case $cc_basename in
40122d19872aSmrg  nvcc*)
40132d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
40142d19872aSmrg  *)
40152d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
40162d19872aSmrg  esac
40172d19872aSmrg
40182d19872aSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
40192d19872aSmrg    lt_cv_prog_compiler_rtti_exceptions,
40202d19872aSmrg    [-fno-rtti -fno-exceptions], [],
40212d19872aSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
40222d19872aSmrgfi
40232d19872aSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
40242d19872aSmrg	[Compiler flag to turn off builtin functions])
40252d19872aSmrg])# _LT_COMPILER_NO_RTTI
40262d19872aSmrg
40272d19872aSmrg
40282d19872aSmrg# _LT_CMD_GLOBAL_SYMBOLS
40292d19872aSmrg# ----------------------
40302d19872aSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
40312d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
40322d19872aSmrgAC_REQUIRE([AC_PROG_CC])dnl
40332d19872aSmrgAC_REQUIRE([AC_PROG_AWK])dnl
40342d19872aSmrgAC_REQUIRE([LT_PATH_NM])dnl
40352d19872aSmrgAC_REQUIRE([LT_PATH_LD])dnl
40362d19872aSmrgm4_require([_LT_DECL_SED])dnl
40372d19872aSmrgm4_require([_LT_DECL_EGREP])dnl
40382d19872aSmrgm4_require([_LT_TAG_COMPILER])dnl
40392d19872aSmrg
40402d19872aSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
40412d19872aSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
40422d19872aSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
40432d19872aSmrg[
40442d19872aSmrg# These are sane defaults that work on at least a few old systems.
40452d19872aSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
40462d19872aSmrg
40472d19872aSmrg# Character class describing NM global symbol codes.
40482d19872aSmrgsymcode='[[BCDEGRST]]'
40492d19872aSmrg
40502d19872aSmrg# Regexp to match symbols that can be accessed directly from C.
40512d19872aSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
40522d19872aSmrg
40532d19872aSmrg# Define system-specific variables.
40542d19872aSmrgcase $host_os in
40552d19872aSmrgaix*)
40562d19872aSmrg  symcode='[[BCDT]]'
40572d19872aSmrg  ;;
40582f76b07dSmrgcygwin* | mingw* | windows* | pw32* | cegcc*)
40592d19872aSmrg  symcode='[[ABCDGISTW]]'
40602d19872aSmrg  ;;
40612d19872aSmrghpux*)
40622d19872aSmrg  if test ia64 = "$host_cpu"; then
40632d19872aSmrg    symcode='[[ABCDEGRST]]'
40642d19872aSmrg  fi
40652d19872aSmrg  ;;
40662d19872aSmrgirix* | nonstopux*)
40672d19872aSmrg  symcode='[[BCDEGRST]]'
40682d19872aSmrg  ;;
40692d19872aSmrgosf*)
40702d19872aSmrg  symcode='[[BCDEGQRST]]'
40712d19872aSmrg  ;;
40722d19872aSmrgsolaris*)
40732f76b07dSmrg  symcode='[[BCDRT]]'
40742d19872aSmrg  ;;
40752d19872aSmrgsco3.2v5*)
40762d19872aSmrg  symcode='[[DT]]'
40772d19872aSmrg  ;;
40782d19872aSmrgsysv4.2uw2*)
40792d19872aSmrg  symcode='[[DT]]'
40802d19872aSmrg  ;;
40812d19872aSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
40822d19872aSmrg  symcode='[[ABDT]]'
40832d19872aSmrg  ;;
40842d19872aSmrgsysv4)
40852d19872aSmrg  symcode='[[DFNSTU]]'
40862d19872aSmrg  ;;
40872d19872aSmrgesac
40882d19872aSmrg
40892d19872aSmrg# If we're using GNU nm, then use its standard symbol codes.
40902d19872aSmrgcase `$NM -V 2>&1` in
40912d19872aSmrg*GNU* | *'with BFD'*)
40922d19872aSmrg  symcode='[[ABCDGIRSTW]]' ;;
40932d19872aSmrgesac
40942d19872aSmrg
40952d19872aSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
40962d19872aSmrg  # Gets list of data symbols to import.
40972d19872aSmrg  lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
40982d19872aSmrg  # Adjust the below global symbol transforms to fixup imported variables.
40992d19872aSmrg  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
41002d19872aSmrg  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
41012d19872aSmrg  lt_c_name_lib_hook="\
41022d19872aSmrg  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
41032d19872aSmrg  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
41042d19872aSmrgelse
41052d19872aSmrg  # Disable hooks by default.
41062d19872aSmrg  lt_cv_sys_global_symbol_to_import=
41072d19872aSmrg  lt_cdecl_hook=
41082d19872aSmrg  lt_c_name_hook=
41092d19872aSmrg  lt_c_name_lib_hook=
41102d19872aSmrgfi
41112d19872aSmrg
41122d19872aSmrg# Transform an extracted symbol line into a proper C declaration.
41132d19872aSmrg# Some systems (esp. on ia64) link data and code symbols differently,
41142d19872aSmrg# so use this general approach.
41152d19872aSmrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\
41162d19872aSmrg$lt_cdecl_hook\
41172d19872aSmrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
41182d19872aSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
41192d19872aSmrg
41202d19872aSmrg# Transform an extracted symbol line into symbol name and symbol address
41212d19872aSmrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
41222d19872aSmrg$lt_c_name_hook\
41232d19872aSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
41242d19872aSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
41252d19872aSmrg
41262d19872aSmrg# Transform an extracted symbol line into symbol name with lib prefix and
41272d19872aSmrg# symbol address.
41282d19872aSmrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
41292d19872aSmrg$lt_c_name_lib_hook\
41302d19872aSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
41312d19872aSmrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
41322d19872aSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
41332d19872aSmrg
41342d19872aSmrg# Handle CRLF in mingw tool chain
41352d19872aSmrgopt_cr=
41362d19872aSmrgcase $build_os in
41372f76b07dSmrgmingw* | windows*)
41382d19872aSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
41392d19872aSmrg  ;;
41402d19872aSmrgesac
41412d19872aSmrg
41422d19872aSmrg# Try without a prefix underscore, then with it.
41432d19872aSmrgfor ac_symprfx in "" "_"; do
41442d19872aSmrg
41452d19872aSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
41462d19872aSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
41472d19872aSmrg
41482d19872aSmrg  # Write the raw and C identifiers.
41492d19872aSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
41502d19872aSmrg    # Fake it for dumpbin and say T for any non-static function,
41512d19872aSmrg    # D for any global variable and I for any imported variable.
41522d19872aSmrg    # Also find C++ and __fastcall symbols from MSVC++ or ICC,
41532d19872aSmrg    # which start with @ or ?.
41542d19872aSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
41552d19872aSmrg"     {last_section=section; section=\$ 3};"\
41562d19872aSmrg"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
41572d19872aSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
41582d19872aSmrg"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
41592d19872aSmrg"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
41602d19872aSmrg"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
41612d19872aSmrg"     \$ 0!~/External *\|/{next};"\
41622d19872aSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
41632d19872aSmrg"     {if(hide[section]) next};"\
41642d19872aSmrg"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
41652d19872aSmrg"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
41662d19872aSmrg"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
41672d19872aSmrg"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
41682d19872aSmrg"     ' prfx=^$ac_symprfx]"
41692d19872aSmrg  else
41702d19872aSmrg    lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
41712d19872aSmrg  fi
41722d19872aSmrg  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
41732d19872aSmrg
41742d19872aSmrg  # Check to see that the pipe works correctly.
41752d19872aSmrg  pipe_works=no
41762d19872aSmrg
41772d19872aSmrg  rm -f conftest*
41782d19872aSmrg  cat > conftest.$ac_ext <<_LT_EOF
41792d19872aSmrg#ifdef __cplusplus
41802d19872aSmrgextern "C" {
41812d19872aSmrg#endif
41822d19872aSmrgchar nm_test_var;
41832d19872aSmrgvoid nm_test_func(void);
41842d19872aSmrgvoid nm_test_func(void){}
41852d19872aSmrg#ifdef __cplusplus
41862d19872aSmrg}
41872d19872aSmrg#endif
41882f76b07dSmrgint main(void){nm_test_var='a';nm_test_func();return(0);}
41892d19872aSmrg_LT_EOF
41902d19872aSmrg
41912d19872aSmrg  if AC_TRY_EVAL(ac_compile); then
41922d19872aSmrg    # Now try to grab the symbols.
41932d19872aSmrg    nlist=conftest.nm
41942f76b07dSmrg    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
41952f76b07dSmrg    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
41962d19872aSmrg      # Try sorting and uniquifying the output.
41972d19872aSmrg      if sort "$nlist" | uniq > "$nlist"T; then
41982d19872aSmrg	mv -f "$nlist"T "$nlist"
41992d19872aSmrg      else
42002d19872aSmrg	rm -f "$nlist"T
42012d19872aSmrg      fi
42022d19872aSmrg
42032d19872aSmrg      # Make sure that we snagged all the symbols we need.
42042d19872aSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
42052d19872aSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
42062d19872aSmrg	  cat <<_LT_EOF > conftest.$ac_ext
42072d19872aSmrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
42082d19872aSmrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
42092d19872aSmrg/* DATA imports from DLLs on WIN32 can't be const, because runtime
42102d19872aSmrg   relocations are performed -- see ld's documentation on pseudo-relocs.  */
42112d19872aSmrg# define LT@&t@_DLSYM_CONST
42122d19872aSmrg#elif defined __osf__
42132d19872aSmrg/* This system does not cope well with relocations in const data.  */
42142d19872aSmrg# define LT@&t@_DLSYM_CONST
42152d19872aSmrg#else
42162d19872aSmrg# define LT@&t@_DLSYM_CONST const
42172d19872aSmrg#endif
42182d19872aSmrg
42192d19872aSmrg#ifdef __cplusplus
42202d19872aSmrgextern "C" {
42212d19872aSmrg#endif
42222d19872aSmrg
42232d19872aSmrg_LT_EOF
42242d19872aSmrg	  # Now generate the symbol file.
42252d19872aSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
42262d19872aSmrg
42272d19872aSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
42282d19872aSmrg
42292d19872aSmrg/* The mapping between symbol names and symbols.  */
42302d19872aSmrgLT@&t@_DLSYM_CONST struct {
42312d19872aSmrg  const char *name;
42322d19872aSmrg  void       *address;
42332d19872aSmrg}
42342d19872aSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
42352d19872aSmrg{
42362d19872aSmrg  { "@PROGRAM@", (void *) 0 },
42372d19872aSmrg_LT_EOF
42382d19872aSmrg	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
42392d19872aSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
42402d19872aSmrg  {0, (void *) 0}
42412d19872aSmrg};
42422d19872aSmrg
42432d19872aSmrg/* This works around a problem in FreeBSD linker */
42442d19872aSmrg#ifdef FREEBSD_WORKAROUND
42452d19872aSmrgstatic const void *lt_preloaded_setup() {
42462d19872aSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
42472d19872aSmrg}
42482d19872aSmrg#endif
42492d19872aSmrg
42502d19872aSmrg#ifdef __cplusplus
42512d19872aSmrg}
42522d19872aSmrg#endif
42532d19872aSmrg_LT_EOF
42542d19872aSmrg	  # Now try linking the two files.
42552d19872aSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
42562d19872aSmrg	  lt_globsym_save_LIBS=$LIBS
42572d19872aSmrg	  lt_globsym_save_CFLAGS=$CFLAGS
42582d19872aSmrg	  LIBS=conftstm.$ac_objext
42592d19872aSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
42602d19872aSmrg	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
42612d19872aSmrg	    pipe_works=yes
42622d19872aSmrg	  fi
42632d19872aSmrg	  LIBS=$lt_globsym_save_LIBS
42642d19872aSmrg	  CFLAGS=$lt_globsym_save_CFLAGS
42652d19872aSmrg	else
42662d19872aSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
42672d19872aSmrg	fi
42682d19872aSmrg      else
42692d19872aSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
42702d19872aSmrg      fi
42712d19872aSmrg    else
42722d19872aSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
42732d19872aSmrg    fi
42742d19872aSmrg  else
42752d19872aSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
42762d19872aSmrg    cat conftest.$ac_ext >&5
42772d19872aSmrg  fi
42782d19872aSmrg  rm -rf conftest* conftst*
42792d19872aSmrg
42802d19872aSmrg  # Do not use the global_symbol_pipe unless it works.
42812d19872aSmrg  if test yes = "$pipe_works"; then
42822d19872aSmrg    break
42832d19872aSmrg  else
42842d19872aSmrg    lt_cv_sys_global_symbol_pipe=
42852d19872aSmrg  fi
42862d19872aSmrgdone
42872d19872aSmrg])
42882d19872aSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
42892d19872aSmrg  lt_cv_sys_global_symbol_to_cdecl=
42902d19872aSmrgfi
42912d19872aSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
42922d19872aSmrg  AC_MSG_RESULT(failed)
42932d19872aSmrgelse
42942d19872aSmrg  AC_MSG_RESULT(ok)
42952d19872aSmrgfi
42962d19872aSmrg
42972d19872aSmrg# Response file support.
42982d19872aSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
42992d19872aSmrg  nm_file_list_spec='@'
43002d19872aSmrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
43012d19872aSmrg  nm_file_list_spec='@'
43022d19872aSmrgfi
43032d19872aSmrg
43042d19872aSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
43052d19872aSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
43062d19872aSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
43072d19872aSmrg    [Transform the output of nm in a proper C declaration])
43082d19872aSmrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
43092d19872aSmrg    [Transform the output of nm into a list of symbols to manually relocate])
43102d19872aSmrg_LT_DECL([global_symbol_to_c_name_address],
43112d19872aSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
43122d19872aSmrg    [Transform the output of nm in a C name address pair])
43132d19872aSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
43142d19872aSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
43152d19872aSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
43162d19872aSmrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
43172d19872aSmrg    [The name lister interface])
43182d19872aSmrg_LT_DECL([], [nm_file_list_spec], [1],
43192d19872aSmrg    [Specify filename containing input files for $NM])
43202d19872aSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
43212d19872aSmrg
43222d19872aSmrg
43232d19872aSmrg# _LT_COMPILER_PIC([TAGNAME])
43242d19872aSmrg# ---------------------------
43252d19872aSmrgm4_defun([_LT_COMPILER_PIC],
43262d19872aSmrg[m4_require([_LT_TAG_COMPILER])dnl
43272d19872aSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
43282d19872aSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
43292d19872aSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
43302d19872aSmrg
43312d19872aSmrgm4_if([$1], [CXX], [
43322d19872aSmrg  # C++ specific cases for pic, static, wl, etc.
43332d19872aSmrg  if test yes = "$GXX"; then
43342d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
43352d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
43362d19872aSmrg
43372d19872aSmrg    case $host_os in
43382d19872aSmrg    aix*)
43392d19872aSmrg      # All AIX code is PIC.
43402d19872aSmrg      if test ia64 = "$host_cpu"; then
43412d19872aSmrg	# AIX 5 now supports IA64 processor
43422d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
43432d19872aSmrg      fi
43442d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
43452d19872aSmrg      ;;
43462d19872aSmrg
43472d19872aSmrg    amigaos*)
43482d19872aSmrg      case $host_cpu in
43492d19872aSmrg      powerpc)
43502d19872aSmrg            # see comment about AmigaOS4 .so support
43512d19872aSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
43522d19872aSmrg        ;;
43532d19872aSmrg      m68k)
43542d19872aSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
43552d19872aSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
43562d19872aSmrg            # like '-m68040'.
43572d19872aSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
43582d19872aSmrg        ;;
43592d19872aSmrg      esac
43602d19872aSmrg      ;;
43612d19872aSmrg
43622d19872aSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
43632d19872aSmrg      # PIC is the default for these OSes.
43642d19872aSmrg      ;;
43652f76b07dSmrg    mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
43662d19872aSmrg      # This hack is so that the source file can tell whether it is being
43672d19872aSmrg      # built for inclusion in a dll (and should export symbols for example).
43682d19872aSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
43692d19872aSmrg      # (--disable-auto-import) libraries
43702d19872aSmrg      m4_if([$1], [GCJ], [],
43712d19872aSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
43722d19872aSmrg      case $host_os in
43732d19872aSmrg      os2*)
43742d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
43752d19872aSmrg	;;
43762d19872aSmrg      esac
43772d19872aSmrg      ;;
43782d19872aSmrg    darwin* | rhapsody*)
43792d19872aSmrg      # PIC is the default on this platform
43802d19872aSmrg      # Common symbols not allowed in MH_DYLIB files
43812d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
43822d19872aSmrg      ;;
43832d19872aSmrg    *djgpp*)
43842d19872aSmrg      # DJGPP does not support shared libraries at all
43852d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
43862d19872aSmrg      ;;
43872d19872aSmrg    haiku*)
43882d19872aSmrg      # PIC is the default for Haiku.
43892d19872aSmrg      # The "-static" flag exists, but is broken.
43902d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
43912d19872aSmrg      ;;
43922d19872aSmrg    interix[[3-9]]*)
43932d19872aSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
43942d19872aSmrg      # Instead, we relocate shared libraries at runtime.
43952d19872aSmrg      ;;
43962d19872aSmrg    sysv4*MP*)
43972d19872aSmrg      if test -d /usr/nec; then
43982d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
43992d19872aSmrg      fi
44002d19872aSmrg      ;;
44012d19872aSmrg    hpux*)
44022d19872aSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
44032d19872aSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
44042d19872aSmrg      # sets the default TLS model and affects inlining.
44052d19872aSmrg      case $host_cpu in
44062d19872aSmrg      hppa*64*)
44072d19872aSmrg	;;
44082d19872aSmrg      *)
44092d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
44102d19872aSmrg	;;
44112d19872aSmrg      esac
44122d19872aSmrg      ;;
44132d19872aSmrg    *qnx* | *nto*)
44142d19872aSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
44152d19872aSmrg      # it will coredump.
44162d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
44172d19872aSmrg      ;;
44182d19872aSmrg    *)
44192d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
44202d19872aSmrg      ;;
44212d19872aSmrg    esac
44222d19872aSmrg  else
44232d19872aSmrg    case $host_os in
44242d19872aSmrg      aix[[4-9]]*)
44252d19872aSmrg	# All AIX code is PIC.
44262d19872aSmrg	if test ia64 = "$host_cpu"; then
44272d19872aSmrg	  # AIX 5 now supports IA64 processor
44282d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
44292d19872aSmrg	else
44302d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
44312d19872aSmrg	fi
44322d19872aSmrg	;;
44332d19872aSmrg      chorus*)
44342d19872aSmrg	case $cc_basename in
44352d19872aSmrg	cxch68*)
44362d19872aSmrg	  # Green Hills C++ Compiler
44372d19872aSmrg	  # _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"
44382d19872aSmrg	  ;;
44392d19872aSmrg	esac
44402d19872aSmrg	;;
44412f76b07dSmrg      mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
44422d19872aSmrg	# This hack is so that the source file can tell whether it is being
44432d19872aSmrg	# built for inclusion in a dll (and should export symbols for example).
44442d19872aSmrg	m4_if([$1], [GCJ], [],
44452d19872aSmrg	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
44462d19872aSmrg	;;
44472d19872aSmrg      dgux*)
44482d19872aSmrg	case $cc_basename in
44492d19872aSmrg	  ec++*)
44502d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
44512d19872aSmrg	    ;;
44522d19872aSmrg	  ghcx*)
44532d19872aSmrg	    # Green Hills C++ Compiler
44542d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
44552d19872aSmrg	    ;;
44562d19872aSmrg	  *)
44572d19872aSmrg	    ;;
44582d19872aSmrg	esac
44592d19872aSmrg	;;
44602d19872aSmrg      freebsd* | dragonfly* | midnightbsd*)
44612d19872aSmrg	# FreeBSD uses GNU C++
44622d19872aSmrg	;;
44632d19872aSmrg      hpux9* | hpux10* | hpux11*)
44642d19872aSmrg	case $cc_basename in
44652d19872aSmrg	  CC*)
44662d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
44672d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
44682d19872aSmrg	    if test ia64 != "$host_cpu"; then
44692d19872aSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
44702d19872aSmrg	    fi
44712d19872aSmrg	    ;;
44722d19872aSmrg	  aCC*)
44732d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
44742d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
44752d19872aSmrg	    case $host_cpu in
44762d19872aSmrg	    hppa*64*|ia64*)
44772d19872aSmrg	      # +Z the default
44782d19872aSmrg	      ;;
44792d19872aSmrg	    *)
44802d19872aSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
44812d19872aSmrg	      ;;
44822d19872aSmrg	    esac
44832d19872aSmrg	    ;;
44842d19872aSmrg	  *)
44852d19872aSmrg	    ;;
44862d19872aSmrg	esac
44872d19872aSmrg	;;
44882d19872aSmrg      interix*)
44892d19872aSmrg	# This is c89, which is MS Visual C++ (no shared libs)
44902d19872aSmrg	# Anyone wants to do a port?
44912d19872aSmrg	;;
44922d19872aSmrg      irix5* | irix6* | nonstopux*)
44932d19872aSmrg	case $cc_basename in
44942d19872aSmrg	  CC*)
44952d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
44962d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
44972d19872aSmrg	    # CC pic flag -KPIC is the default.
44982d19872aSmrg	    ;;
44992d19872aSmrg	  *)
45002d19872aSmrg	    ;;
45012d19872aSmrg	esac
45022d19872aSmrg	;;
45032d19872aSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
45042d19872aSmrg	case $cc_basename in
45052d19872aSmrg	  KCC*)
45062d19872aSmrg	    # KAI C++ Compiler
45072d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
45082d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
45092d19872aSmrg	    ;;
45102d19872aSmrg	  ecpc* )
45112d19872aSmrg	    # old Intel C++ for x86_64, which still supported -KPIC.
45122d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
45132d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
45142d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
45152d19872aSmrg	    ;;
45162d19872aSmrg	  icpc* )
45172d19872aSmrg	    # Intel C++, used to be incompatible with GCC.
45182d19872aSmrg	    # ICC 10 doesn't accept -KPIC any more.
45192d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
45202d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
45212d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
45222d19872aSmrg	    ;;
45232d19872aSmrg	  pgCC* | pgcpp*)
45242d19872aSmrg	    # Portland Group C++ compiler
45252d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
45262d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
45272d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
45282d19872aSmrg	    ;;
45292d19872aSmrg	  cxx*)
45302d19872aSmrg	    # Compaq C++
45312d19872aSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
45322d19872aSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
45332d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
45342d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
45352d19872aSmrg	    ;;
45362d19872aSmrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
45372d19872aSmrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
45382d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
45392d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
45402d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
45412d19872aSmrg	    ;;
45422d19872aSmrg	  *)
45432d19872aSmrg	    case `$CC -V 2>&1 | $SED 5q` in
45442d19872aSmrg	    *Sun\ C*)
45452d19872aSmrg	      # Sun C++ 5.9
45462d19872aSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
45472d19872aSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
45482d19872aSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
45492d19872aSmrg	      ;;
45502d19872aSmrg	    esac
45512d19872aSmrg	    ;;
45522d19872aSmrg	esac
45532d19872aSmrg	;;
45542d19872aSmrg      lynxos*)
45552d19872aSmrg	;;
45562d19872aSmrg      m88k*)
45572d19872aSmrg	;;
45582d19872aSmrg      mvs*)
45592d19872aSmrg	case $cc_basename in
45602d19872aSmrg	  cxx*)
45612d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
45622d19872aSmrg	    ;;
45632d19872aSmrg	  *)
45642d19872aSmrg	    ;;
45652d19872aSmrg	esac
45662d19872aSmrg	;;
45672f76b07dSmrg      netbsd* | netbsdelf*-gnu)
45682f76b07dSmrg	;;
45692f76b07dSmrg      *-mlibc)
45702d19872aSmrg	;;
45712d19872aSmrg      *qnx* | *nto*)
45722d19872aSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
45732d19872aSmrg        # it will coredump.
45742d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
45752d19872aSmrg        ;;
45762d19872aSmrg      osf3* | osf4* | osf5*)
45772d19872aSmrg	case $cc_basename in
45782d19872aSmrg	  KCC*)
45792d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
45802d19872aSmrg	    ;;
45812d19872aSmrg	  RCC*)
45822d19872aSmrg	    # Rational C++ 2.4.1
45832d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
45842d19872aSmrg	    ;;
45852d19872aSmrg	  cxx*)
45862d19872aSmrg	    # Digital/Compaq C++
45872d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
45882d19872aSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
45892d19872aSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
45902d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
45912d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
45922d19872aSmrg	    ;;
45932d19872aSmrg	  *)
45942d19872aSmrg	    ;;
45952d19872aSmrg	esac
45962d19872aSmrg	;;
45972d19872aSmrg      psos*)
45982d19872aSmrg	;;
45992f76b07dSmrg      serenity*)
46002f76b07dSmrg        ;;
46012d19872aSmrg      solaris*)
46022d19872aSmrg	case $cc_basename in
46032d19872aSmrg	  CC* | sunCC*)
46042d19872aSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
46052d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
46062d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
46072d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
46082d19872aSmrg	    ;;
46092d19872aSmrg	  gcx*)
46102d19872aSmrg	    # Green Hills C++ Compiler
46112d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
46122d19872aSmrg	    ;;
46132d19872aSmrg	  *)
46142d19872aSmrg	    ;;
46152d19872aSmrg	esac
46162d19872aSmrg	;;
46172d19872aSmrg      sunos4*)
46182d19872aSmrg	case $cc_basename in
46192d19872aSmrg	  CC*)
46202d19872aSmrg	    # Sun C++ 4.x
46212d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
46222d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
46232d19872aSmrg	    ;;
46242d19872aSmrg	  lcc*)
46252d19872aSmrg	    # Lucid
46262d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
46272d19872aSmrg	    ;;
46282d19872aSmrg	  *)
46292d19872aSmrg	    ;;
46302d19872aSmrg	esac
46312d19872aSmrg	;;
46322d19872aSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
46332d19872aSmrg	case $cc_basename in
46342d19872aSmrg	  CC*)
46352d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
46362d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
46372d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
46382d19872aSmrg	    ;;
46392d19872aSmrg	esac
46402d19872aSmrg	;;
46412d19872aSmrg      tandem*)
46422d19872aSmrg	case $cc_basename in
46432d19872aSmrg	  NCC*)
46442d19872aSmrg	    # NonStop-UX NCC 3.20
46452d19872aSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
46462d19872aSmrg	    ;;
46472d19872aSmrg	  *)
46482d19872aSmrg	    ;;
46492d19872aSmrg	esac
46502d19872aSmrg	;;
46512d19872aSmrg      vxworks*)
46522d19872aSmrg	;;
46532d19872aSmrg      *)
46542d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
46552d19872aSmrg	;;
46562d19872aSmrg    esac
46572d19872aSmrg  fi
46582d19872aSmrg],
46592d19872aSmrg[
46602d19872aSmrg  if test yes = "$GCC"; then
46612d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
46622d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
46632d19872aSmrg
46642d19872aSmrg    case $host_os in
46652d19872aSmrg      aix*)
46662d19872aSmrg      # All AIX code is PIC.
46672d19872aSmrg      if test ia64 = "$host_cpu"; then
46682d19872aSmrg	# AIX 5 now supports IA64 processor
46692d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
46702d19872aSmrg      fi
46712d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
46722d19872aSmrg      ;;
46732d19872aSmrg
46742d19872aSmrg    amigaos*)
46752d19872aSmrg      case $host_cpu in
46762d19872aSmrg      powerpc)
46772d19872aSmrg            # see comment about AmigaOS4 .so support
46782d19872aSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
46792d19872aSmrg        ;;
46802d19872aSmrg      m68k)
46812d19872aSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
46822d19872aSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
46832d19872aSmrg            # like '-m68040'.
46842d19872aSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
46852d19872aSmrg        ;;
46862d19872aSmrg      esac
46872d19872aSmrg      ;;
46882d19872aSmrg
46892d19872aSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
46902d19872aSmrg      # PIC is the default for these OSes.
46912d19872aSmrg      ;;
46922d19872aSmrg
46932f76b07dSmrg    mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
46942d19872aSmrg      # This hack is so that the source file can tell whether it is being
46952d19872aSmrg      # built for inclusion in a dll (and should export symbols for example).
46962d19872aSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
46972d19872aSmrg      # (--disable-auto-import) libraries
46982d19872aSmrg      m4_if([$1], [GCJ], [],
46992d19872aSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
47002d19872aSmrg      case $host_os in
47012d19872aSmrg      os2*)
47022d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
47032d19872aSmrg	;;
47042d19872aSmrg      esac
47052d19872aSmrg      ;;
47062d19872aSmrg
47072d19872aSmrg    darwin* | rhapsody*)
47082d19872aSmrg      # PIC is the default on this platform
47092d19872aSmrg      # Common symbols not allowed in MH_DYLIB files
47102d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
47112d19872aSmrg      ;;
47122d19872aSmrg
47132d19872aSmrg    haiku*)
47142d19872aSmrg      # PIC is the default for Haiku.
47152d19872aSmrg      # The "-static" flag exists, but is broken.
47162d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
47172d19872aSmrg      ;;
47182d19872aSmrg
47192d19872aSmrg    hpux*)
47202d19872aSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
47212d19872aSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
47222d19872aSmrg      # sets the default TLS model and affects inlining.
47232d19872aSmrg      case $host_cpu in
47242d19872aSmrg      hppa*64*)
47252d19872aSmrg	# +Z the default
47262d19872aSmrg	;;
47272d19872aSmrg      *)
47282d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
47292d19872aSmrg	;;
47302d19872aSmrg      esac
47312d19872aSmrg      ;;
47322d19872aSmrg
47332d19872aSmrg    interix[[3-9]]*)
47342d19872aSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
47352d19872aSmrg      # Instead, we relocate shared libraries at runtime.
47362d19872aSmrg      ;;
47372d19872aSmrg
47382d19872aSmrg    msdosdjgpp*)
47392d19872aSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
47402d19872aSmrg      # on systems that don't support them.
47412d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
47422d19872aSmrg      enable_shared=no
47432d19872aSmrg      ;;
47442d19872aSmrg
47452d19872aSmrg    *nto* | *qnx*)
47462d19872aSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
47472d19872aSmrg      # it will coredump.
47482d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
47492d19872aSmrg      ;;
47502d19872aSmrg
47512d19872aSmrg    sysv4*MP*)
47522d19872aSmrg      if test -d /usr/nec; then
47532d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
47542d19872aSmrg      fi
47552d19872aSmrg      ;;
47562d19872aSmrg
47572d19872aSmrg    *)
47582d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
47592d19872aSmrg      ;;
47602d19872aSmrg    esac
47612d19872aSmrg
47622d19872aSmrg    case $cc_basename in
47632d19872aSmrg    nvcc*) # Cuda Compiler Driver 2.2
47642d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
47652d19872aSmrg      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
47662d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
47672d19872aSmrg      fi
47682d19872aSmrg      ;;
47692d19872aSmrg    esac
47702d19872aSmrg  else
47712d19872aSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
47722d19872aSmrg    case $host_os in
47732d19872aSmrg    aix*)
47742d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
47752d19872aSmrg      if test ia64 = "$host_cpu"; then
47762d19872aSmrg	# AIX 5 now supports IA64 processor
47772d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
47782d19872aSmrg      else
47792d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
47802d19872aSmrg      fi
47812d19872aSmrg      ;;
47822d19872aSmrg
47832d19872aSmrg    darwin* | rhapsody*)
47842d19872aSmrg      # PIC is the default on this platform
47852d19872aSmrg      # Common symbols not allowed in MH_DYLIB files
47862d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
47872d19872aSmrg      case $cc_basename in
47882d19872aSmrg      nagfor*)
47892d19872aSmrg        # NAG Fortran compiler
47902d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
47912d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
47922d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
47932d19872aSmrg        ;;
47942d19872aSmrg      esac
47952d19872aSmrg      ;;
47962d19872aSmrg
47972f76b07dSmrg    mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
47982d19872aSmrg      # This hack is so that the source file can tell whether it is being
47992d19872aSmrg      # built for inclusion in a dll (and should export symbols for example).
48002d19872aSmrg      m4_if([$1], [GCJ], [],
48012d19872aSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
48022d19872aSmrg      case $host_os in
48032d19872aSmrg      os2*)
48042d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
48052d19872aSmrg	;;
48062d19872aSmrg      esac
48072d19872aSmrg      ;;
48082d19872aSmrg
48092d19872aSmrg    hpux9* | hpux10* | hpux11*)
48102d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48112d19872aSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
48122d19872aSmrg      # not for PA HP-UX.
48132d19872aSmrg      case $host_cpu in
48142d19872aSmrg      hppa*64*|ia64*)
48152d19872aSmrg	# +Z the default
48162d19872aSmrg	;;
48172d19872aSmrg      *)
48182d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
48192d19872aSmrg	;;
48202d19872aSmrg      esac
48212d19872aSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
48222d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
48232d19872aSmrg      ;;
48242d19872aSmrg
48252d19872aSmrg    irix5* | irix6* | nonstopux*)
48262d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48272d19872aSmrg      # PIC (with -KPIC) is the default.
48282d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
48292d19872aSmrg      ;;
48302d19872aSmrg
48312d19872aSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
48322d19872aSmrg      case $cc_basename in
48332d19872aSmrg      # old Intel for x86_64, which still supported -KPIC.
48342d19872aSmrg      ecc*)
48352d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48362d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
48372d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
48382d19872aSmrg        ;;
48392f76b07dSmrg      *flang* | ftn | f18* | f95*)
48402f76b07dSmrg        # Flang compiler.
48412f76b07dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48422f76b07dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
48432f76b07dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
48442f76b07dSmrg        ;;
48452d19872aSmrg      # icc used to be incompatible with GCC.
48462d19872aSmrg      # ICC 10 doesn't accept -KPIC any more.
48472d19872aSmrg      icc* | ifort*)
48482d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48492d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
48502d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
48512d19872aSmrg        ;;
48522d19872aSmrg      # Lahey Fortran 8.1.
48532d19872aSmrg      lf95*)
48542d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48552d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
48562d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
48572d19872aSmrg	;;
48582d19872aSmrg      nagfor*)
48592d19872aSmrg	# NAG Fortran compiler
48602d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
48612d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
48622d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
48632d19872aSmrg	;;
48642d19872aSmrg      tcc*)
48652d19872aSmrg	# Fabrice Bellard et al's Tiny C Compiler
48662d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48672d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
48682d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
48692d19872aSmrg	;;
48702d19872aSmrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
48712d19872aSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
48722d19872aSmrg	# which looks to be a dead project)
48732d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48742d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
48752d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
48762d19872aSmrg        ;;
48772d19872aSmrg      ccc*)
48782d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48792d19872aSmrg        # All Alpha code is PIC.
48802d19872aSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
48812d19872aSmrg        ;;
48822d19872aSmrg      xl* | bgxl* | bgf* | mpixl*)
48832d19872aSmrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
48842d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
48852d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
48862d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
48872d19872aSmrg	;;
48882d19872aSmrg      *)
48892d19872aSmrg	case `$CC -V 2>&1 | $SED 5q` in
48902d19872aSmrg	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
48912d19872aSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
48922d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
48932d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
48942d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
48952d19872aSmrg	  ;;
48962d19872aSmrg	*Sun\ F* | *Sun*Fortran*)
48972d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
48982d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
48992d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
49002d19872aSmrg	  ;;
49012d19872aSmrg	*Sun\ C*)
49022d19872aSmrg	  # Sun C 5.9
49032d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
49042d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49052d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49062d19872aSmrg	  ;;
49072d19872aSmrg        *Intel*\ [[CF]]*Compiler*)
49082d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49092d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
49102d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
49112d19872aSmrg	  ;;
49122d19872aSmrg	*Portland\ Group*)
49132d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49142d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
49152d19872aSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49162d19872aSmrg	  ;;
49172d19872aSmrg	esac
49182d19872aSmrg	;;
49192d19872aSmrg      esac
49202d19872aSmrg      ;;
49212d19872aSmrg
49222d19872aSmrg    newsos6)
49232d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
49242d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49252d19872aSmrg      ;;
49262d19872aSmrg
49272f76b07dSmrg    *-mlibc)
49282f76b07dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49292f76b07dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
49302f76b07dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
49312f76b07dSmrg      ;;
49322f76b07dSmrg
49332d19872aSmrg    *nto* | *qnx*)
49342d19872aSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
49352d19872aSmrg      # it will coredump.
49362d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
49372d19872aSmrg      ;;
49382d19872aSmrg
49392d19872aSmrg    osf3* | osf4* | osf5*)
49402d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49412d19872aSmrg      # All OSF/1 code is PIC.
49422d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
49432d19872aSmrg      ;;
49442d19872aSmrg
49452d19872aSmrg    rdos*)
49462d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
49472d19872aSmrg      ;;
49482d19872aSmrg
49492f76b07dSmrg    serenity*)
49502f76b07dSmrg      ;;
49512f76b07dSmrg
49522d19872aSmrg    solaris*)
49532d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
49542d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49552d19872aSmrg      case $cc_basename in
49562d19872aSmrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
49572d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
49582d19872aSmrg      *)
49592d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
49602d19872aSmrg      esac
49612d19872aSmrg      ;;
49622d19872aSmrg
49632d19872aSmrg    sunos4*)
49642d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
49652d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
49662d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49672d19872aSmrg      ;;
49682d19872aSmrg
49692d19872aSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
49702d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49712d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
49722d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49732d19872aSmrg      ;;
49742d19872aSmrg
49752d19872aSmrg    sysv4*MP*)
49762d19872aSmrg      if test -d /usr/nec; then
49772d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
49782d19872aSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49792d19872aSmrg      fi
49802d19872aSmrg      ;;
49812d19872aSmrg
49822d19872aSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
49832d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49842d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
49852d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49862d19872aSmrg      ;;
49872d19872aSmrg
49882d19872aSmrg    unicos*)
49892d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
49902d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
49912d19872aSmrg      ;;
49922d19872aSmrg
49932d19872aSmrg    uts4*)
49942d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
49952d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
49962d19872aSmrg      ;;
49972d19872aSmrg
49982d19872aSmrg    *)
49992d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
50002d19872aSmrg      ;;
50012d19872aSmrg    esac
50022d19872aSmrg  fi
50032d19872aSmrg])
50042d19872aSmrgcase $host_os in
50052d19872aSmrg  # For platforms that do not support PIC, -DPIC is meaningless:
50062d19872aSmrg  *djgpp*)
50072d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
50082d19872aSmrg    ;;
50092d19872aSmrg  *)
50102d19872aSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
50112d19872aSmrg    ;;
50122d19872aSmrgesac
50132d19872aSmrg
50142d19872aSmrgAC_CACHE_CHECK([for $compiler option to produce PIC],
50152d19872aSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
50162d19872aSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
50172d19872aSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
50182d19872aSmrg
50192d19872aSmrg#
50202d19872aSmrg# Check to make sure the PIC flag actually works.
50212d19872aSmrg#
50222d19872aSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
50232d19872aSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
50242d19872aSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
50252d19872aSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
50262d19872aSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
50272d19872aSmrg     "" | " "*) ;;
50282d19872aSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
50292d19872aSmrg     esac],
50302d19872aSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
50312d19872aSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
50322d19872aSmrgfi
50332d19872aSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
50342d19872aSmrg	[Additional compiler flags for building library objects])
50352d19872aSmrg
50362d19872aSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
50372d19872aSmrg	[How to pass a linker flag through the compiler])
50382d19872aSmrg#
50392d19872aSmrg# Check to make sure the static flag actually works.
50402d19872aSmrg#
50412d19872aSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
50422d19872aSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
50432d19872aSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
50442d19872aSmrg  $lt_tmp_static_flag,
50452d19872aSmrg  [],
50462d19872aSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
50472d19872aSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
50482d19872aSmrg	[Compiler flag to prevent dynamic linking])
50492d19872aSmrg])# _LT_COMPILER_PIC
50502d19872aSmrg
50512d19872aSmrg
50522d19872aSmrg# _LT_LINKER_SHLIBS([TAGNAME])
50532d19872aSmrg# ----------------------------
50542d19872aSmrg# See if the linker supports building shared libraries.
50552d19872aSmrgm4_defun([_LT_LINKER_SHLIBS],
50562d19872aSmrg[AC_REQUIRE([LT_PATH_LD])dnl
50572d19872aSmrgAC_REQUIRE([LT_PATH_NM])dnl
50582d19872aSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
50592d19872aSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
50602d19872aSmrgm4_require([_LT_DECL_EGREP])dnl
50612d19872aSmrgm4_require([_LT_DECL_SED])dnl
50622d19872aSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
50632d19872aSmrgm4_require([_LT_TAG_COMPILER])dnl
50642d19872aSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
50652d19872aSmrgm4_if([$1], [CXX], [
50662d19872aSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
50672d19872aSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
50682d19872aSmrg  case $host_os in
50692d19872aSmrg  aix[[4-9]]*)
50702d19872aSmrg    # If we're using GNU nm, then we don't want the "-C" option.
50712d19872aSmrg    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
50722d19872aSmrg    # Without the "-l" option, or with the "-B" option, AIX nm treats
50732d19872aSmrg    # weak defined symbols like other global defined symbols, whereas
50742d19872aSmrg    # GNU nm marks them as "W".
50752d19872aSmrg    # While the 'weak' keyword is ignored in the Export File, we need
50762d19872aSmrg    # it in the Import File for the 'aix-soname' feature, so we have
50772d19872aSmrg    # to replace the "-B" option with "-P" for AIX nm.
50782d19872aSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
50792d19872aSmrg      _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'
50802d19872aSmrg    else
50812d19872aSmrg      _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'
50822d19872aSmrg    fi
50832d19872aSmrg    ;;
50842d19872aSmrg  pw32*)
50852d19872aSmrg    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
50862d19872aSmrg    ;;
50872f76b07dSmrg  cygwin* | mingw* | windows* | cegcc*)
50882d19872aSmrg    case $cc_basename in
50892d19872aSmrg    cl* | icl*)
50902d19872aSmrg      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
50912d19872aSmrg      ;;
50922d19872aSmrg    *)
50932d19872aSmrg      _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'
50942d19872aSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
50952d19872aSmrg      ;;
50962d19872aSmrg    esac
50972d19872aSmrg    ;;
50982d19872aSmrg  *)
50992d19872aSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
51002d19872aSmrg    ;;
51012d19872aSmrg  esac
51022d19872aSmrg], [
51032d19872aSmrg  runpath_var=
51042d19872aSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
51052d19872aSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
51062d19872aSmrg  _LT_TAGVAR(archive_cmds, $1)=
51072d19872aSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
51082d19872aSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
51092d19872aSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
51102d19872aSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
51112d19872aSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
51122d19872aSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
51132d19872aSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
51142d19872aSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
51152d19872aSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
51162d19872aSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
51172d19872aSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
51182d19872aSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
51192d19872aSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
51202d19872aSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
51212d19872aSmrg  _LT_TAGVAR(module_cmds, $1)=
51222d19872aSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
51232d19872aSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
51242d19872aSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
51252d19872aSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
51262d19872aSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
51272d19872aSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
51282d19872aSmrg  # included in the symbol list
51292d19872aSmrg  _LT_TAGVAR(include_expsyms, $1)=
51302d19872aSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
51312d19872aSmrg  # it will be wrapped by ' (' and ')$', so one must not match beginning or
51322d19872aSmrg  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
51332d19872aSmrg  # as well as any symbol that contains 'd'.
51342d19872aSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
51352d19872aSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
51362d19872aSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
51372d19872aSmrg  # the symbol is explicitly referenced.  Since portable code cannot
51382d19872aSmrg  # rely on this symbol name, it's probably fine to never include it in
51392d19872aSmrg  # preloaded symbol tables.
51402d19872aSmrg  # Exclude shared library initialization/finalization symbols.
51412d19872aSmrgdnl Note also adjust exclude_expsyms for C++ above.
51422d19872aSmrg  extract_expsyms_cmds=
51432d19872aSmrg
51442d19872aSmrg  case $host_os in
51452f76b07dSmrg  cygwin* | mingw* | windows* | pw32* | cegcc*)
51462d19872aSmrg    # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
51472d19872aSmrg    # When not using gcc, we currently assume that we are using
51482d19872aSmrg    # Microsoft Visual C++ or Intel C++ Compiler.
51492d19872aSmrg    if test yes != "$GCC"; then
51502d19872aSmrg      with_gnu_ld=no
51512d19872aSmrg    fi
51522d19872aSmrg    ;;
51532d19872aSmrg  interix*)
51542d19872aSmrg    # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
51552d19872aSmrg    with_gnu_ld=yes
51562d19872aSmrg    ;;
51572d19872aSmrg  esac
51582d19872aSmrg
51592d19872aSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
51602d19872aSmrg
51612d19872aSmrg  # On some targets, GNU ld is compatible enough with the native linker
51622d19872aSmrg  # that we're better off using the native interface for both.
51632d19872aSmrg  lt_use_gnu_ld_interface=no
51642d19872aSmrg  if test yes = "$with_gnu_ld"; then
51652d19872aSmrg    case $host_os in
51662d19872aSmrg      aix*)
51672d19872aSmrg	# The AIX port of GNU ld has always aspired to compatibility
51682d19872aSmrg	# with the native linker.  However, as the warning in the GNU ld
51692d19872aSmrg	# block says, versions before 2.19.5* couldn't really create working
51702d19872aSmrg	# shared libraries, regardless of the interface used.
51712d19872aSmrg	case `$LD -v 2>&1` in
51722d19872aSmrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
51732d19872aSmrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
51742d19872aSmrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
51752d19872aSmrg	  *)
51762d19872aSmrg	    lt_use_gnu_ld_interface=yes
51772d19872aSmrg	    ;;
51782d19872aSmrg	esac
51792d19872aSmrg	;;
51802d19872aSmrg      *)
51812d19872aSmrg	lt_use_gnu_ld_interface=yes
51822d19872aSmrg	;;
51832d19872aSmrg    esac
51842d19872aSmrg  fi
51852d19872aSmrg
51862d19872aSmrg  if test yes = "$lt_use_gnu_ld_interface"; then
51872d19872aSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
51882d19872aSmrg    wlarc='$wl'
51892d19872aSmrg
51902d19872aSmrg    # Set some defaults for GNU ld with shared library support. These
51912d19872aSmrg    # are reset later if shared libraries are not supported. Putting them
51922d19872aSmrg    # here allows them to be overridden if necessary.
51932d19872aSmrg    runpath_var=LD_RUN_PATH
51942d19872aSmrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
51952d19872aSmrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
51962d19872aSmrg    # ancient GNU ld didn't support --whole-archive et. al.
51972d19872aSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
51982d19872aSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
51992d19872aSmrg    else
52002d19872aSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
52012d19872aSmrg    fi
52022d19872aSmrg    supports_anon_versioning=no
52032d19872aSmrg    case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
52042d19872aSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
52052d19872aSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
52062d19872aSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
52072d19872aSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
52082d19872aSmrg      *\ 2.11.*) ;; # other 2.11 versions
52092d19872aSmrg      *) supports_anon_versioning=yes ;;
52102d19872aSmrg    esac
52112d19872aSmrg
52122d19872aSmrg    # See if GNU ld supports shared libraries.
52132d19872aSmrg    case $host_os in
52142d19872aSmrg    aix[[3-9]]*)
52152d19872aSmrg      # On AIX/PPC, the GNU linker is very broken
52162d19872aSmrg      if test ia64 != "$host_cpu"; then
52172d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
52182d19872aSmrg	cat <<_LT_EOF 1>&2
52192d19872aSmrg
52202d19872aSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported
52212d19872aSmrg*** to be unable to reliably create shared libraries on AIX.
52222d19872aSmrg*** Therefore, libtool is disabling shared libraries support.  If you
52232d19872aSmrg*** really care for shared libraries, you may want to install binutils
52242d19872aSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
52252d19872aSmrg*** You will then need to restart the configuration process.
52262d19872aSmrg
52272d19872aSmrg_LT_EOF
52282d19872aSmrg      fi
52292d19872aSmrg      ;;
52302d19872aSmrg
52312d19872aSmrg    amigaos*)
52322d19872aSmrg      case $host_cpu in
52332d19872aSmrg      powerpc)
52342d19872aSmrg            # see comment about AmigaOS4 .so support
52352d19872aSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
52362d19872aSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
52372d19872aSmrg        ;;
52382d19872aSmrg      m68k)
52392d19872aSmrg            _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)'
52402d19872aSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
52412d19872aSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
52422d19872aSmrg        ;;
52432d19872aSmrg      esac
52442d19872aSmrg      ;;
52452d19872aSmrg
52462d19872aSmrg    beos*)
52472d19872aSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
52482d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
52492d19872aSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
52502d19872aSmrg	# support --undefined.  This deserves some investigation.  FIXME
52512d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
52522d19872aSmrg      else
52532d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
52542d19872aSmrg      fi
52552d19872aSmrg      ;;
52562d19872aSmrg
52572f76b07dSmrg    cygwin* | mingw* | windows* | pw32* | cegcc*)
52582d19872aSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
52592d19872aSmrg      # as there is no search path for DLLs.
52602d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
52612d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
52622d19872aSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
52632d19872aSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
52642d19872aSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
52652d19872aSmrg      _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'
52662d19872aSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
52672f76b07dSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
52682d19872aSmrg
52692d19872aSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
52702d19872aSmrg        _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'
52712d19872aSmrg	# If the export-symbols file already is a .def file, use it as
52722d19872aSmrg	# is; otherwise, prepend EXPORTS...
52732d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
52742d19872aSmrg          cp $export_symbols $output_objdir/$soname.def;
52752d19872aSmrg        else
52762d19872aSmrg          echo EXPORTS > $output_objdir/$soname.def;
52772d19872aSmrg          cat $export_symbols >> $output_objdir/$soname.def;
52782d19872aSmrg        fi~
52792d19872aSmrg        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
52802d19872aSmrg      else
52812d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
52822d19872aSmrg      fi
52832d19872aSmrg      ;;
52842d19872aSmrg
52852d19872aSmrg    haiku*)
52862d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
52872f76b07dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=no
52882d19872aSmrg      ;;
52892d19872aSmrg
52902d19872aSmrg    os2*)
52912d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
52922d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
52932d19872aSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
52942d19872aSmrg      shrext_cmds=.dll
52952d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
52962d19872aSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
52972d19872aSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
52982d19872aSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
52992d19872aSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
53002d19872aSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
53012d19872aSmrg	emximp -o $lib $output_objdir/$libname.def'
53022d19872aSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
53032d19872aSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
53042d19872aSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
53052d19872aSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
53062d19872aSmrg	prefix_cmds="$SED"~
53072d19872aSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
53082d19872aSmrg	  prefix_cmds="$prefix_cmds -e 1d";
53092d19872aSmrg	fi~
53102d19872aSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
53112d19872aSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
53122d19872aSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
53132d19872aSmrg	emximp -o $lib $output_objdir/$libname.def'
53142f76b07dSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
53152d19872aSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
53162d19872aSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
53172d19872aSmrg      ;;
53182d19872aSmrg
53192d19872aSmrg    interix[[3-9]]*)
53202d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
53212d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
53222d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
53232d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
53242d19872aSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
53252d19872aSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
53262d19872aSmrg      # default) and relocated if they conflict, which is a slow very memory
53272d19872aSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
53282d19872aSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
53292d19872aSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
53302d19872aSmrg      _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'
53312d19872aSmrg      _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'
53322d19872aSmrg      ;;
53332d19872aSmrg
53342d19872aSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
53352d19872aSmrg      tmp_diet=no
53362d19872aSmrg      if test linux-dietlibc = "$host_os"; then
53372d19872aSmrg	case $cc_basename in
53382d19872aSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
53392d19872aSmrg	esac
53402d19872aSmrg      fi
53412d19872aSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
53422d19872aSmrg	 && test no = "$tmp_diet"
53432d19872aSmrg      then
53442d19872aSmrg	tmp_addflag=' $pic_flag'
53452d19872aSmrg	tmp_sharedflag='-shared'
53462d19872aSmrg	case $cc_basename,$host_cpu in
53472d19872aSmrg        pgcc*)				# Portland Group C compiler
53482d19872aSmrg	  _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'
53492d19872aSmrg	  tmp_addflag=' $pic_flag'
53502d19872aSmrg	  ;;
53512d19872aSmrg	pgf77* | pgf90* | pgf95* | pgfortran*)
53522d19872aSmrg					# Portland Group f77 and f90 compilers
53532d19872aSmrg	  _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'
53542d19872aSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
53552d19872aSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
53562d19872aSmrg	  tmp_addflag=' -i_dynamic' ;;
53572d19872aSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
53582d19872aSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
53592d19872aSmrg	ifc* | ifort*)			# Intel Fortran compiler
53602d19872aSmrg	  tmp_addflag=' -nofor_main' ;;
53612d19872aSmrg	lf95*)				# Lahey Fortran 8.1
53622d19872aSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
53632d19872aSmrg	  tmp_sharedflag='--shared' ;;
53642d19872aSmrg        nagfor*)                        # NAGFOR 5.3
53652d19872aSmrg          tmp_sharedflag='-Wl,-shared' ;;
53662d19872aSmrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
53672d19872aSmrg	  tmp_sharedflag='-qmkshrobj'
53682d19872aSmrg	  tmp_addflag= ;;
53692d19872aSmrg	nvcc*)	# Cuda Compiler Driver 2.2
53702d19872aSmrg	  _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'
53712d19872aSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
53722d19872aSmrg	  ;;
53732d19872aSmrg	esac
53742d19872aSmrg	case `$CC -V 2>&1 | $SED 5q` in
53752d19872aSmrg	*Sun\ C*)			# Sun C 5.9
53762d19872aSmrg	  _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'
53772d19872aSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
53782d19872aSmrg	  tmp_sharedflag='-G' ;;
53792d19872aSmrg	*Sun\ F*)			# Sun Fortran 8.3
53802d19872aSmrg	  tmp_sharedflag='-G' ;;
53812d19872aSmrg	esac
53822d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
53832d19872aSmrg
53842d19872aSmrg        if test yes = "$supports_anon_versioning"; then
53852d19872aSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
53862d19872aSmrg            cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
53872d19872aSmrg            echo "local: *; };" >> $output_objdir/$libname.ver~
53882d19872aSmrg            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
53892d19872aSmrg        fi
53902d19872aSmrg
53912d19872aSmrg	case $cc_basename in
53922d19872aSmrg	tcc*)
53932f76b07dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
53942d19872aSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
53952d19872aSmrg	  ;;
53962d19872aSmrg	xlf* | bgf* | bgxlf* | mpixlf*)
53972d19872aSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
53982d19872aSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
53992d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
54002d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
54012d19872aSmrg	  if test yes = "$supports_anon_versioning"; then
54022d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
54032d19872aSmrg              cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
54042d19872aSmrg              echo "local: *; };" >> $output_objdir/$libname.ver~
54052d19872aSmrg              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
54062d19872aSmrg	  fi
54072d19872aSmrg	  ;;
54082d19872aSmrg	esac
54092d19872aSmrg      else
54102d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
54112d19872aSmrg      fi
54122d19872aSmrg      ;;
54132d19872aSmrg
54142f76b07dSmrg    *-mlibc)
54152f76b07dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
54162f76b07dSmrg	_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'
54172f76b07dSmrg      ;;
54182f76b07dSmrg
54192f76b07dSmrg    netbsd* | netbsdelf*-gnu)
54202d19872aSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
54212d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
54222d19872aSmrg	wlarc=
54232d19872aSmrg      else
54242d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
54252d19872aSmrg	_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'
54262d19872aSmrg      fi
54272d19872aSmrg      ;;
54282d19872aSmrg
54292d19872aSmrg    solaris*)
54302d19872aSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
54312d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
54322d19872aSmrg	cat <<_LT_EOF 1>&2
54332d19872aSmrg
54342d19872aSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
54352d19872aSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
54362d19872aSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
54372d19872aSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
54382d19872aSmrg*** your PATH or compiler configuration so that the native linker is
54392d19872aSmrg*** used, and then restart.
54402d19872aSmrg
54412d19872aSmrg_LT_EOF
54422d19872aSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
54432d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
54442d19872aSmrg	_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'
54452d19872aSmrg      else
54462d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
54472d19872aSmrg      fi
54482d19872aSmrg      ;;
54492d19872aSmrg
54502d19872aSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
54512d19872aSmrg      case `$LD -v 2>&1` in
54522d19872aSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
54532d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
54542d19872aSmrg	cat <<_LT_EOF 1>&2
54552d19872aSmrg
54562d19872aSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
54572d19872aSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
54582d19872aSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
54592d19872aSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
54602d19872aSmrg*** your PATH or compiler configuration so that the native linker is
54612d19872aSmrg*** used, and then restart.
54622d19872aSmrg
54632d19872aSmrg_LT_EOF
54642d19872aSmrg	;;
54652d19872aSmrg	*)
54662d19872aSmrg	  # For security reasons, it is highly recommended that you always
54672d19872aSmrg	  # use absolute paths for naming shared libraries, and exclude the
54682d19872aSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
54692d19872aSmrg	  # requires that you compile everything twice, which is a pain.
54702d19872aSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
54712d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
54722d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
54732d19872aSmrg	    _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'
54742d19872aSmrg	  else
54752d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
54762d19872aSmrg	  fi
54772d19872aSmrg	;;
54782d19872aSmrg      esac
54792d19872aSmrg      ;;
54802d19872aSmrg
54812d19872aSmrg    sunos4*)
54822d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
54832d19872aSmrg      wlarc=
54842d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
54852d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
54862d19872aSmrg      ;;
54872d19872aSmrg
54882d19872aSmrg    *)
54892d19872aSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
54902d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
54912d19872aSmrg	_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'
54922d19872aSmrg      else
54932d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
54942d19872aSmrg      fi
54952d19872aSmrg      ;;
54962d19872aSmrg    esac
54972d19872aSmrg
54982d19872aSmrg    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
54992d19872aSmrg      runpath_var=
55002d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
55012d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
55022d19872aSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
55032d19872aSmrg    fi
55042d19872aSmrg  else
55052d19872aSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
55062d19872aSmrg    case $host_os in
55072d19872aSmrg    aix3*)
55082d19872aSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
55092d19872aSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
55102d19872aSmrg      _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'
55112d19872aSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
55122d19872aSmrg      # are no directories specified by -L.
55132d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
55142d19872aSmrg      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
55152d19872aSmrg	# Neither direct hardcoding nor static linking is supported with a
55162d19872aSmrg	# broken collect2.
55172d19872aSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
55182d19872aSmrg      fi
55192d19872aSmrg      ;;
55202d19872aSmrg
55212d19872aSmrg    aix[[4-9]]*)
55222d19872aSmrg      if test ia64 = "$host_cpu"; then
55232d19872aSmrg	# On IA64, the linker does run time linking by default, so we don't
55242d19872aSmrg	# have to do anything special.
55252d19872aSmrg	aix_use_runtimelinking=no
55262d19872aSmrg	exp_sym_flag='-Bexport'
55272d19872aSmrg	no_entry_flag=
55282d19872aSmrg      else
55292d19872aSmrg	# If we're using GNU nm, then we don't want the "-C" option.
55302d19872aSmrg	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
55312d19872aSmrg	# Without the "-l" option, or with the "-B" option, AIX nm treats
55322d19872aSmrg	# weak defined symbols like other global defined symbols, whereas
55332d19872aSmrg	# GNU nm marks them as "W".
55342d19872aSmrg	# While the 'weak' keyword is ignored in the Export File, we need
55352d19872aSmrg	# it in the Import File for the 'aix-soname' feature, so we have
55362d19872aSmrg	# to replace the "-B" option with "-P" for AIX nm.
55372d19872aSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
55382d19872aSmrg	  _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'
55392d19872aSmrg	else
55402d19872aSmrg	  _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'
55412d19872aSmrg	fi
55422d19872aSmrg	aix_use_runtimelinking=no
55432d19872aSmrg
55442d19872aSmrg	# Test if we are trying to use run time linking or normal
55452d19872aSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
55462d19872aSmrg	# have runtime linking enabled, and use it for executables.
55472d19872aSmrg	# For shared libraries, we enable/disable runtime linking
55482d19872aSmrg	# depending on the kind of the shared library created -
55492d19872aSmrg	# when "with_aix_soname,aix_use_runtimelinking" is:
55502d19872aSmrg	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
55512d19872aSmrg	# "aix,yes"  lib.so          shared, rtl:yes, for executables
55522d19872aSmrg	#            lib.a           static archive
55532d19872aSmrg	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
55542d19872aSmrg	#            lib.a(lib.so.V) shared, rtl:no,  for executables
55552d19872aSmrg	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
55562d19872aSmrg	#            lib.a(lib.so.V) shared, rtl:no
55572d19872aSmrg	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
55582d19872aSmrg	#            lib.a           static archive
55592d19872aSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
55602d19872aSmrg	  for ld_flag in $LDFLAGS; do
55612d19872aSmrg	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
55622d19872aSmrg	    aix_use_runtimelinking=yes
55632d19872aSmrg	    break
55642d19872aSmrg	  fi
55652d19872aSmrg	  done
55662d19872aSmrg	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
55672d19872aSmrg	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
55682d19872aSmrg	    # so we don't have lib.a shared libs to link our executables.
55692d19872aSmrg	    # We have to force runtime linking in this case.
55702d19872aSmrg	    aix_use_runtimelinking=yes
55712d19872aSmrg	    LDFLAGS="$LDFLAGS -Wl,-brtl"
55722d19872aSmrg	  fi
55732d19872aSmrg	  ;;
55742d19872aSmrg	esac
55752d19872aSmrg
55762d19872aSmrg	exp_sym_flag='-bexport'
55772d19872aSmrg	no_entry_flag='-bnoentry'
55782d19872aSmrg      fi
55792d19872aSmrg
55802d19872aSmrg      # When large executables or shared objects are built, AIX ld can
55812d19872aSmrg      # have problems creating the table of contents.  If linking a library
55822d19872aSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
55832d19872aSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
55842d19872aSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
55852d19872aSmrg
55862d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)=''
55872d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
55882d19872aSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
55892d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
55902d19872aSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
55912d19872aSmrg      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
55922d19872aSmrg      case $with_aix_soname,$aix_use_runtimelinking in
55932d19872aSmrg      aix,*) ;; # traditional, no import file
55942d19872aSmrg      svr4,* | *,yes) # use import file
55952d19872aSmrg	# The Import File defines what to hardcode.
55962d19872aSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
55972d19872aSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
55982d19872aSmrg	;;
55992d19872aSmrg      esac
56002d19872aSmrg
56012d19872aSmrg      if test yes = "$GCC"; then
56022d19872aSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
56032d19872aSmrg	# We only want to do this on AIX 4.2 and lower, the check
56042d19872aSmrg	# below for broken collect2 doesn't work under 4.3+
56052d19872aSmrg	  collect2name=`$CC -print-prog-name=collect2`
56062d19872aSmrg	  if test -f "$collect2name" &&
56072d19872aSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
56082d19872aSmrg	  then
56092d19872aSmrg	  # We have reworked collect2
56102d19872aSmrg	  :
56112d19872aSmrg	  else
56122d19872aSmrg	  # We have old collect2
56132d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
56142d19872aSmrg	  # It fails to find uninstalled libraries when the uninstalled
56152d19872aSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
56162d19872aSmrg	  # to unsupported forces relinking
56172d19872aSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
56182d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
56192d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
56202d19872aSmrg	  fi
56212d19872aSmrg	  ;;
56222d19872aSmrg	esac
56232d19872aSmrg	shared_flag='-shared'
56242d19872aSmrg	if test yes = "$aix_use_runtimelinking"; then
56252d19872aSmrg	  shared_flag="$shared_flag "'$wl-G'
56262d19872aSmrg	fi
56272d19872aSmrg	# Need to ensure runtime linking is disabled for the traditional
56282d19872aSmrg	# shared library, or the linker may eventually find shared libraries
56292d19872aSmrg	# /with/ Import File - we do not want to mix them.
56302d19872aSmrg	shared_flag_aix='-shared'
56312d19872aSmrg	shared_flag_svr4='-shared $wl-G'
56322d19872aSmrg      else
56332d19872aSmrg	# not using gcc
56342d19872aSmrg	if test ia64 = "$host_cpu"; then
56352d19872aSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
56362d19872aSmrg	# chokes on -Wl,-G. The following line is correct:
56372d19872aSmrg	  shared_flag='-G'
56382d19872aSmrg	else
56392d19872aSmrg	  if test yes = "$aix_use_runtimelinking"; then
56402d19872aSmrg	    shared_flag='$wl-G'
56412d19872aSmrg	  else
56422d19872aSmrg	    shared_flag='$wl-bM:SRE'
56432d19872aSmrg	  fi
56442d19872aSmrg	  shared_flag_aix='$wl-bM:SRE'
56452d19872aSmrg	  shared_flag_svr4='$wl-G'
56462d19872aSmrg	fi
56472d19872aSmrg      fi
56482d19872aSmrg
56492d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
56502d19872aSmrg      # It seems that -bexpall does not export symbols beginning with
56512d19872aSmrg      # underscore (_), so it is better to generate a list of symbols to export.
56522d19872aSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
56532d19872aSmrg      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
56542d19872aSmrg	# Warning - without using the other runtime loading flags (-brtl),
56552d19872aSmrg	# -berok will link without error, but may produce a broken library.
56562d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
56572d19872aSmrg        # Determine the default libpath from the value encoded in an
56582d19872aSmrg        # empty executable.
56592d19872aSmrg        _LT_SYS_MODULE_PATH_AIX([$1])
56602d19872aSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
56612d19872aSmrg        _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
56622d19872aSmrg      else
56632d19872aSmrg	if test ia64 = "$host_cpu"; then
56642d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
56652d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
56662d19872aSmrg	  _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"
56672d19872aSmrg	else
56682d19872aSmrg	 # Determine the default libpath from the value encoded in an
56692d19872aSmrg	 # empty executable.
56702d19872aSmrg	 _LT_SYS_MODULE_PATH_AIX([$1])
56712d19872aSmrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
56722d19872aSmrg	  # Warning - without using the other run time loading flags,
56732d19872aSmrg	  # -berok will link without error, but may produce a broken library.
56742d19872aSmrg	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
56752d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
56762d19872aSmrg	  if test yes = "$with_gnu_ld"; then
56772d19872aSmrg	    # We only use this code for GNU lds that support --whole-archive.
56782d19872aSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
56792d19872aSmrg	  else
56802d19872aSmrg	    # Exported symbols can be pulled into shared objects from archives
56812d19872aSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
56822d19872aSmrg	  fi
56832d19872aSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
56842d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
56852d19872aSmrg	  # -brtl affects multiple linker settings, -berok does not and is overridden later
56862d19872aSmrg	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
56872d19872aSmrg	  if test svr4 != "$with_aix_soname"; then
56882d19872aSmrg	    # This is similar to how AIX traditionally builds its shared libraries.
56892d19872aSmrg	    _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'
56902d19872aSmrg	  fi
56912d19872aSmrg	  if test aix != "$with_aix_soname"; then
56922d19872aSmrg	    _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'
56932d19872aSmrg	  else
56942d19872aSmrg	    # used by -dlpreopen to get the symbols
56952d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
56962d19872aSmrg	  fi
56972d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
56982d19872aSmrg	fi
56992d19872aSmrg      fi
57002d19872aSmrg      ;;
57012d19872aSmrg
57022d19872aSmrg    amigaos*)
57032d19872aSmrg      case $host_cpu in
57042d19872aSmrg      powerpc)
57052d19872aSmrg            # see comment about AmigaOS4 .so support
57062d19872aSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
57072d19872aSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
57082d19872aSmrg        ;;
57092d19872aSmrg      m68k)
57102d19872aSmrg            _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)'
57112d19872aSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
57122d19872aSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
57132d19872aSmrg        ;;
57142d19872aSmrg      esac
57152d19872aSmrg      ;;
57162d19872aSmrg
57172d19872aSmrg    bsdi[[45]]*)
57182d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
57192d19872aSmrg      ;;
57202d19872aSmrg
57212f76b07dSmrg    cygwin* | mingw* | windows* | pw32* | cegcc*)
57222d19872aSmrg      # When not using gcc, we currently assume that we are using
57232d19872aSmrg      # Microsoft Visual C++ or Intel C++ Compiler.
57242d19872aSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
57252d19872aSmrg      # no search path for DLLs.
57262d19872aSmrg      case $cc_basename in
57272d19872aSmrg      cl* | icl*)
57282d19872aSmrg	# Native MSVC or ICC
57292d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
57302d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
57312d19872aSmrg	_LT_TAGVAR(always_export_symbols, $1)=yes
57322d19872aSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
57332d19872aSmrg	# Tell ltmain to make .lib files, not .a files.
57342d19872aSmrg	libext=lib
57352d19872aSmrg	# Tell ltmain to make .dll files, not .so files.
57362d19872aSmrg	shrext_cmds=.dll
57372d19872aSmrg	# FIXME: Setting linknames here is a bad hack.
57382f76b07dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
57392d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
57402d19872aSmrg            cp "$export_symbols" "$output_objdir/$soname.def";
57412d19872aSmrg            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
57422d19872aSmrg          else
57432d19872aSmrg            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
57442d19872aSmrg          fi~
57452f76b07dSmrg          $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
57462d19872aSmrg          linknames='
57472d19872aSmrg	# The linker will not automatically build a static lib if we build a DLL.
57482d19872aSmrg	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
57492d19872aSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
57502d19872aSmrg	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
57512d19872aSmrg	_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'
57522d19872aSmrg	# Don't use ranlib
57532d19872aSmrg	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
57542d19872aSmrg	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
57552d19872aSmrg          lt_tool_outputfile="@TOOL_OUTPUT@"~
57562d19872aSmrg          case $lt_outputfile in
57572d19872aSmrg            *.exe|*.EXE) ;;
57582d19872aSmrg            *)
57592d19872aSmrg              lt_outputfile=$lt_outputfile.exe
57602d19872aSmrg              lt_tool_outputfile=$lt_tool_outputfile.exe
57612d19872aSmrg              ;;
57622d19872aSmrg          esac~
57632d19872aSmrg          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
57642d19872aSmrg            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
57652d19872aSmrg            $RM "$lt_outputfile.manifest";
57662d19872aSmrg          fi'
57672d19872aSmrg	;;
57682d19872aSmrg      *)
57692d19872aSmrg	# Assume MSVC and ICC wrapper
57702d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
57712d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
57722d19872aSmrg	# Tell ltmain to make .lib files, not .a files.
57732d19872aSmrg	libext=lib
57742d19872aSmrg	# Tell ltmain to make .dll files, not .so files.
57752d19872aSmrg	shrext_cmds=.dll
57762d19872aSmrg	# FIXME: Setting linknames here is a bad hack.
57772d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
57782d19872aSmrg	# The linker will automatically build a .lib file if we build a DLL.
57792d19872aSmrg	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
57802d19872aSmrg	# FIXME: Should let the user specify the lib program.
57812d19872aSmrg	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
57822d19872aSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
57832d19872aSmrg	;;
57842d19872aSmrg      esac
57852d19872aSmrg      ;;
57862d19872aSmrg
57872d19872aSmrg    darwin* | rhapsody*)
57882d19872aSmrg      _LT_DARWIN_LINKER_FEATURES($1)
57892d19872aSmrg      ;;
57902d19872aSmrg
57912d19872aSmrg    dgux*)
57922d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
57932d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
57942d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
57952d19872aSmrg      ;;
57962d19872aSmrg
57972d19872aSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
57982d19872aSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
57992d19872aSmrg    # does not break anything, and helps significantly (at the cost of a little
58002d19872aSmrg    # extra space).
58012d19872aSmrg    freebsd2.2*)
58022d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
58032d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
58042d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
58052d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
58062d19872aSmrg      ;;
58072d19872aSmrg
58082d19872aSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
58092d19872aSmrg    freebsd2.*)
58102d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
58112d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
58122d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
58132d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
58142d19872aSmrg      ;;
58152d19872aSmrg
58162d19872aSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
58172d19872aSmrg    freebsd* | dragonfly* | midnightbsd*)
58182d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
58192d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
58202d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
58212d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
58222d19872aSmrg      ;;
58232d19872aSmrg
58242d19872aSmrg    hpux9*)
58252d19872aSmrg      if test yes = "$GCC"; then
58262d19872aSmrg	_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'
58272d19872aSmrg      else
58282d19872aSmrg	_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'
58292d19872aSmrg      fi
58302d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
58312d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
58322d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
58332d19872aSmrg
58342d19872aSmrg      # hardcode_minus_L: Not really in the search PATH,
58352d19872aSmrg      # but as the default location of the library.
58362d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
58372d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
58382d19872aSmrg      ;;
58392d19872aSmrg
58402d19872aSmrg    hpux10*)
58412d19872aSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
58422d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
58432d19872aSmrg      else
58442d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
58452d19872aSmrg      fi
58462d19872aSmrg      if test no = "$with_gnu_ld"; then
58472d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
58482d19872aSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
58492d19872aSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
58502d19872aSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
58512d19872aSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
58522d19872aSmrg	# hardcode_minus_L: Not really in the search PATH,
58532d19872aSmrg	# but as the default location of the library.
58542d19872aSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
58552d19872aSmrg      fi
58562d19872aSmrg      ;;
58572d19872aSmrg
58582d19872aSmrg    hpux11*)
58592d19872aSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
58602d19872aSmrg	case $host_cpu in
58612d19872aSmrg	hppa*64*)
58622d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
58632d19872aSmrg	  ;;
58642d19872aSmrg	ia64*)
58652d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
58662d19872aSmrg	  ;;
58672d19872aSmrg	*)
58682d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
58692d19872aSmrg	  ;;
58702d19872aSmrg	esac
58712d19872aSmrg      else
58722d19872aSmrg	case $host_cpu in
58732d19872aSmrg	hppa*64*)
58742d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
58752d19872aSmrg	  ;;
58762d19872aSmrg	ia64*)
58772d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
58782d19872aSmrg	  ;;
58792d19872aSmrg	*)
58802d19872aSmrg	m4_if($1, [], [
58812d19872aSmrg	  # Older versions of the 11.00 compiler do not understand -b yet
58822d19872aSmrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
58832d19872aSmrg	  _LT_LINKER_OPTION([if $CC understands -b],
58842d19872aSmrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
58852d19872aSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
58862d19872aSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
58872d19872aSmrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
58882d19872aSmrg	  ;;
58892d19872aSmrg	esac
58902d19872aSmrg      fi
58912d19872aSmrg      if test no = "$with_gnu_ld"; then
58922d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
58932d19872aSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
58942d19872aSmrg
58952d19872aSmrg	case $host_cpu in
58962d19872aSmrg	hppa*64*|ia64*)
58972d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
58982d19872aSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
58992d19872aSmrg	  ;;
59002d19872aSmrg	*)
59012d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
59022d19872aSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
59032d19872aSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
59042d19872aSmrg
59052d19872aSmrg	  # hardcode_minus_L: Not really in the search PATH,
59062d19872aSmrg	  # but as the default location of the library.
59072d19872aSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
59082d19872aSmrg	  ;;
59092d19872aSmrg	esac
59102d19872aSmrg      fi
59112d19872aSmrg      ;;
59122d19872aSmrg
59132d19872aSmrg    irix5* | irix6* | nonstopux*)
59142d19872aSmrg      if test yes = "$GCC"; then
59152d19872aSmrg	_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'
59162d19872aSmrg	# Try to use the -exported_symbol ld option, if it does not
59172d19872aSmrg	# work, assume that -exports_file does not work either and
59182d19872aSmrg	# implicitly export all symbols.
59192d19872aSmrg	# This should be the same for all languages, so no per-tag cache variable.
59202d19872aSmrg	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
59212d19872aSmrg	  [lt_cv_irix_exported_symbol],
59222d19872aSmrg	  [save_LDFLAGS=$LDFLAGS
59232d19872aSmrg	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
59242d19872aSmrg	   AC_LINK_IFELSE(
59252d19872aSmrg	     [AC_LANG_SOURCE(
59262d19872aSmrg	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
59272d19872aSmrg			      [C++], [[int foo (void) { return 0; }]],
59282d19872aSmrg			      [Fortran 77], [[
59292d19872aSmrg      subroutine foo
59302d19872aSmrg      end]],
59312d19872aSmrg			      [Fortran], [[
59322d19872aSmrg      subroutine foo
59332d19872aSmrg      end]])])],
59342d19872aSmrg	      [lt_cv_irix_exported_symbol=yes],
59352d19872aSmrg	      [lt_cv_irix_exported_symbol=no])
59362d19872aSmrg           LDFLAGS=$save_LDFLAGS])
59372d19872aSmrg	if test yes = "$lt_cv_irix_exported_symbol"; then
59382d19872aSmrg          _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'
59392d19872aSmrg	fi
59402d19872aSmrg      else
59412d19872aSmrg	_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'
59422d19872aSmrg	_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'
59432d19872aSmrg      fi
59442d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
59452d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
59462d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
59472d19872aSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
59482d19872aSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
59492d19872aSmrg      ;;
59502d19872aSmrg
59512d19872aSmrg    linux*)
59522d19872aSmrg      case $cc_basename in
59532d19872aSmrg      tcc*)
59542d19872aSmrg	# Fabrice Bellard et al's Tiny C Compiler
59552d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
59562d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
59572f76b07dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
59582d19872aSmrg	;;
59592d19872aSmrg      esac
59602d19872aSmrg      ;;
59612d19872aSmrg
59622f76b07dSmrg    *-mlibc)
59632f76b07dSmrg      ;;
59642f76b07dSmrg
59652f76b07dSmrg    netbsd* | netbsdelf*-gnu)
59662d19872aSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
59672d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
59682d19872aSmrg      else
59692d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
59702d19872aSmrg      fi
59712d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
59722d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
59732d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
59742d19872aSmrg      ;;
59752d19872aSmrg
59762d19872aSmrg    newsos6)
59772d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
59782d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
59792d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
59802d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
59812d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
59822d19872aSmrg      ;;
59832d19872aSmrg
59842d19872aSmrg    *nto* | *qnx*)
59852d19872aSmrg      ;;
59862d19872aSmrg
59872f76b07dSmrg    openbsd*)
59882d19872aSmrg      if test -f /usr/libexec/ld.so; then
59892d19872aSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
59902d19872aSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
59912d19872aSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
59922d19872aSmrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
59932d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
59942d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
59952d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
59962d19872aSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
59972d19872aSmrg	else
59982d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
59992d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
60002d19872aSmrg	fi
60012d19872aSmrg      else
60022d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
60032d19872aSmrg      fi
60042d19872aSmrg      ;;
60052d19872aSmrg
60062d19872aSmrg    os2*)
60072d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
60082d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
60092d19872aSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
60102d19872aSmrg      shrext_cmds=.dll
60112d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
60122d19872aSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
60132d19872aSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
60142d19872aSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
60152d19872aSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
60162d19872aSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
60172d19872aSmrg	emximp -o $lib $output_objdir/$libname.def'
60182d19872aSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
60192d19872aSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
60202d19872aSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
60212d19872aSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
60222d19872aSmrg	prefix_cmds="$SED"~
60232d19872aSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
60242d19872aSmrg	  prefix_cmds="$prefix_cmds -e 1d";
60252d19872aSmrg	fi~
60262d19872aSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
60272d19872aSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
60282d19872aSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
60292d19872aSmrg	emximp -o $lib $output_objdir/$libname.def'
60302f76b07dSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
60312d19872aSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
60322d19872aSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
60332d19872aSmrg      ;;
60342d19872aSmrg
60352d19872aSmrg    osf3*)
60362d19872aSmrg      if test yes = "$GCC"; then
60372d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
60382d19872aSmrg	_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'
60392d19872aSmrg      else
60402d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
60412d19872aSmrg	_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'
60422d19872aSmrg      fi
60432d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
60442d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
60452d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
60462d19872aSmrg      ;;
60472d19872aSmrg
60482d19872aSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
60492d19872aSmrg      if test yes = "$GCC"; then
60502d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
60512d19872aSmrg	_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'
60522d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
60532d19872aSmrg      else
60542d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
60552d19872aSmrg	_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'
60562d19872aSmrg	_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~
60572d19872aSmrg          $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'
60582d19872aSmrg
60592d19872aSmrg	# Both c and cxx compiler support -rpath directly
60602d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
60612d19872aSmrg      fi
60622d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
60632d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
60642d19872aSmrg      ;;
60652d19872aSmrg
60662f76b07dSmrg    serenity*)
60672f76b07dSmrg      ;;
60682f76b07dSmrg
60692d19872aSmrg    solaris*)
60702d19872aSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
60712d19872aSmrg      if test yes = "$GCC"; then
60722d19872aSmrg	wlarc='$wl'
60732d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
60742d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
60752d19872aSmrg          $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'
60762d19872aSmrg      else
60772d19872aSmrg	case `$CC -V 2>&1` in
60782d19872aSmrg	*"Compilers 5.0"*)
60792d19872aSmrg	  wlarc=''
60802d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
60812d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
60822d19872aSmrg            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
60832d19872aSmrg	  ;;
60842d19872aSmrg	*)
60852d19872aSmrg	  wlarc='$wl'
60862d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
60872d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
60882d19872aSmrg            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
60892d19872aSmrg	  ;;
60902d19872aSmrg	esac
60912d19872aSmrg      fi
60922d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
60932d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
60942d19872aSmrg      case $host_os in
60952d19872aSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
60962d19872aSmrg      *)
60972d19872aSmrg	# The compiler driver will combine and reorder linker options,
60982d19872aSmrg	# but understands '-z linker_flag'.  GCC discards it without '$wl',
60992d19872aSmrg	# but is careful enough not to reorder.
61002d19872aSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
61012d19872aSmrg	if test yes = "$GCC"; then
61022d19872aSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
61032d19872aSmrg	else
61042d19872aSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
61052d19872aSmrg	fi
61062d19872aSmrg	;;
61072d19872aSmrg      esac
61082d19872aSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
61092d19872aSmrg      ;;
61102d19872aSmrg
61112d19872aSmrg    sunos4*)
61122d19872aSmrg      if test sequent = "$host_vendor"; then
61132d19872aSmrg	# Use $CC to link under sequent, because it throws in some extra .o
61142d19872aSmrg	# files that make .init and .fini sections work.
61152d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
61162d19872aSmrg      else
61172d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
61182d19872aSmrg      fi
61192d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
61202d19872aSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
61212d19872aSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
61222d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61232d19872aSmrg      ;;
61242d19872aSmrg
61252d19872aSmrg    sysv4)
61262d19872aSmrg      case $host_vendor in
61272d19872aSmrg	sni)
61282d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
61292d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
61302d19872aSmrg	;;
61312d19872aSmrg	siemens)
61322d19872aSmrg	  ## LD is ld it makes a PLAMLIB
61332d19872aSmrg	  ## CC just makes a GrossModule.
61342d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
61352d19872aSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
61362d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
61372d19872aSmrg        ;;
61382d19872aSmrg	motorola)
61392d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
61402d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
61412d19872aSmrg	;;
61422d19872aSmrg      esac
61432d19872aSmrg      runpath_var='LD_RUN_PATH'
61442d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61452d19872aSmrg      ;;
61462d19872aSmrg
61472d19872aSmrg    sysv4.3*)
61482d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
61492d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61502d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
61512d19872aSmrg      ;;
61522d19872aSmrg
61532d19872aSmrg    sysv4*MP*)
61542d19872aSmrg      if test -d /usr/nec; then
61552d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
61562d19872aSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61572d19872aSmrg	runpath_var=LD_RUN_PATH
61582d19872aSmrg	hardcode_runpath_var=yes
61592d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
61602d19872aSmrg      fi
61612d19872aSmrg      ;;
61622d19872aSmrg
61632d19872aSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
61642d19872aSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
61652d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
61662d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61672d19872aSmrg      runpath_var='LD_RUN_PATH'
61682d19872aSmrg
61692d19872aSmrg      if test yes = "$GCC"; then
61702d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61712d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61722d19872aSmrg      else
61732d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61742d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61752d19872aSmrg      fi
61762d19872aSmrg      ;;
61772d19872aSmrg
61782d19872aSmrg    sysv5* | sco3.2v5* | sco5v6*)
61792d19872aSmrg      # Note: We CANNOT use -z defs as we might desire, because we do not
61802d19872aSmrg      # link with -lc, and that would cause any symbols used from libc to
61812d19872aSmrg      # always be unresolved, which means just about no library would
61822d19872aSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
61832d19872aSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
61842d19872aSmrg      # as -z defs.
61852d19872aSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
61862d19872aSmrg      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
61872d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
61882d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61892d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
61902d19872aSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
61912d19872aSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
61922d19872aSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
61932d19872aSmrg      runpath_var='LD_RUN_PATH'
61942d19872aSmrg
61952d19872aSmrg      if test yes = "$GCC"; then
61962d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61972d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
61982d19872aSmrg      else
61992d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62002d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62012d19872aSmrg      fi
62022d19872aSmrg      ;;
62032d19872aSmrg
62042d19872aSmrg    uts4*)
62052d19872aSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
62062d19872aSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
62072d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
62082d19872aSmrg      ;;
62092d19872aSmrg
62102d19872aSmrg    *)
62112d19872aSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
62122d19872aSmrg      ;;
62132d19872aSmrg    esac
62142d19872aSmrg
62152d19872aSmrg    if test sni = "$host_vendor"; then
62162d19872aSmrg      case $host in
62172d19872aSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
62182d19872aSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
62192d19872aSmrg	;;
62202d19872aSmrg      esac
62212d19872aSmrg    fi
62222d19872aSmrg  fi
62232d19872aSmrg])
62242d19872aSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
62252d19872aSmrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
62262d19872aSmrg
62272d19872aSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
62282d19872aSmrg
62292d19872aSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
62302d19872aSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
62312d19872aSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
62322d19872aSmrg    [The commands to extract the exported symbol list from a shared archive])
62332d19872aSmrg
62342d19872aSmrg#
62352d19872aSmrg# Do we need to explicitly link libc?
62362d19872aSmrg#
62372d19872aSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
62382d19872aSmrgx|xyes)
62392d19872aSmrg  # Assume -lc should be added
62402d19872aSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
62412d19872aSmrg
62422d19872aSmrg  if test yes,yes = "$GCC,$enable_shared"; then
62432d19872aSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
62442d19872aSmrg    *'~'*)
62452d19872aSmrg      # FIXME: we may have to deal with multi-command sequences.
62462d19872aSmrg      ;;
62472d19872aSmrg    '$CC '*)
62482d19872aSmrg      # Test whether the compiler implicitly links with -lc since on some
62492d19872aSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
62502d19872aSmrg      # to ld, don't add -lc before -lgcc.
62512d19872aSmrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
62522d19872aSmrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
62532d19872aSmrg	[$RM conftest*
62542d19872aSmrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
62552d19872aSmrg
62562d19872aSmrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
62572d19872aSmrg	  soname=conftest
62582d19872aSmrg	  lib=conftest
62592d19872aSmrg	  libobjs=conftest.$ac_objext
62602d19872aSmrg	  deplibs=
62612d19872aSmrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
62622d19872aSmrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
62632d19872aSmrg	  compiler_flags=-v
62642d19872aSmrg	  linker_flags=-v
62652d19872aSmrg	  verstring=
62662d19872aSmrg	  output_objdir=.
62672d19872aSmrg	  libname=conftest
62682d19872aSmrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
62692d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
62702d19872aSmrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
62712d19872aSmrg	  then
62722d19872aSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
62732d19872aSmrg	  else
62742d19872aSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
62752d19872aSmrg	  fi
62762d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
62772d19872aSmrg	else
62782d19872aSmrg	  cat conftest.err 1>&5
62792d19872aSmrg	fi
62802d19872aSmrg	$RM conftest*
62812d19872aSmrg	])
62822d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
62832d19872aSmrg      ;;
62842d19872aSmrg    esac
62852d19872aSmrg  fi
62862d19872aSmrg  ;;
62872d19872aSmrgesac
62882d19872aSmrg
62892d19872aSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
62902d19872aSmrg    [Whether or not to add -lc for building shared libraries])
62912d19872aSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
62922d19872aSmrg    [enable_shared_with_static_runtimes], [0],
62932d19872aSmrg    [Whether or not to disallow shared libs when runtime libs are static])
62942d19872aSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
62952d19872aSmrg    [Compiler flag to allow reflexive dlopens])
62962d19872aSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
62972d19872aSmrg    [Compiler flag to generate shared objects directly from archives])
62982d19872aSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
62992d19872aSmrg    [Whether the compiler copes with passing no objects directly])
63002d19872aSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
63012d19872aSmrg    [Create an old-style archive from a shared archive])
63022d19872aSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
63032d19872aSmrg    [Create a temporary old-style archive to link instead of a shared archive])
63042d19872aSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
63052d19872aSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
63062d19872aSmrg_LT_TAGDECL([], [module_cmds], [2],
63072d19872aSmrg    [Commands used to build a loadable module if different from building
63082d19872aSmrg    a shared archive.])
63092d19872aSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
63102d19872aSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
63112d19872aSmrg    [Whether we are building with GNU ld or not])
63122d19872aSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
63132d19872aSmrg    [Flag that allows shared libraries with undefined symbols to be built])
63142d19872aSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
63152d19872aSmrg    [Flag that enforces no undefined symbols])
63162d19872aSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
63172d19872aSmrg    [Flag to hardcode $libdir into a binary during linking.
63182d19872aSmrg    This must work even if $libdir does not exist])
63192d19872aSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
63202d19872aSmrg    [Whether we need a single "-rpath" flag with a separated argument])
63212d19872aSmrg_LT_TAGDECL([], [hardcode_direct], [0],
63222d19872aSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
63232d19872aSmrg    DIR into the resulting binary])
63242d19872aSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
63252d19872aSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
63262d19872aSmrg    DIR into the resulting binary and the resulting library dependency is
63272f76b07dSmrg    "absolute", i.e. impossible to change by setting $shlibpath_var if the
63282d19872aSmrg    library is relocated])
63292d19872aSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
63302d19872aSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
63312d19872aSmrg    into the resulting binary])
63322d19872aSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
63332d19872aSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
63342d19872aSmrg    into the resulting binary])
63352d19872aSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
63362d19872aSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
63372d19872aSmrg    into the library and all subsequent libraries and executables linked
63382d19872aSmrg    against it])
63392d19872aSmrg_LT_TAGDECL([], [inherit_rpath], [0],
63402d19872aSmrg    [Set to yes if linker adds runtime paths of dependent libraries
63412d19872aSmrg    to runtime path list])
63422d19872aSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
63432d19872aSmrg    [Whether libtool must link a program against all its dependency libraries])
63442d19872aSmrg_LT_TAGDECL([], [always_export_symbols], [0],
63452d19872aSmrg    [Set to "yes" if exported symbols are required])
63462d19872aSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
63472d19872aSmrg    [The commands to list exported symbols])
63482d19872aSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
63492d19872aSmrg    [Symbols that should not be listed in the preloaded symbols])
63502d19872aSmrg_LT_TAGDECL([], [include_expsyms], [1],
63512d19872aSmrg    [Symbols that must always be exported])
63522d19872aSmrg_LT_TAGDECL([], [prelink_cmds], [2],
63532d19872aSmrg    [Commands necessary for linking programs (against libraries) with templates])
63542d19872aSmrg_LT_TAGDECL([], [postlink_cmds], [2],
63552d19872aSmrg    [Commands necessary for finishing linking programs])
63562d19872aSmrg_LT_TAGDECL([], [file_list_spec], [1],
63572d19872aSmrg    [Specify filename containing input files])
63582d19872aSmrgdnl FIXME: Not yet implemented
63592d19872aSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
63602d19872aSmrgdnl    [Compiler flag to generate thread safe objects])
63612d19872aSmrg])# _LT_LINKER_SHLIBS
63622d19872aSmrg
63632d19872aSmrg
63642d19872aSmrg# _LT_LANG_C_CONFIG([TAG])
63652d19872aSmrg# ------------------------
63662d19872aSmrg# Ensure that the configuration variables for a C compiler are suitably
63672d19872aSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
63682d19872aSmrg# the compiler configuration to 'libtool'.
63692d19872aSmrgm4_defun([_LT_LANG_C_CONFIG],
63702d19872aSmrg[m4_require([_LT_DECL_EGREP])dnl
63712d19872aSmrglt_save_CC=$CC
63722d19872aSmrgAC_LANG_PUSH(C)
63732d19872aSmrg
63742d19872aSmrg# Source file extension for C test sources.
63752d19872aSmrgac_ext=c
63762d19872aSmrg
63772d19872aSmrg# Object file extension for compiled C test sources.
63782d19872aSmrgobjext=o
63792d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
63802d19872aSmrg
63812d19872aSmrg# Code to be used in simple compile tests
63822d19872aSmrglt_simple_compile_test_code="int some_variable = 0;"
63832d19872aSmrg
63842d19872aSmrg# Code to be used in simple link tests
63852f76b07dSmrglt_simple_link_test_code='int main(void){return(0);}'
63862d19872aSmrg
63872d19872aSmrg_LT_TAG_COMPILER
63882d19872aSmrg# Save the default compiler, since it gets overwritten when the other
63892d19872aSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
63902d19872aSmrgcompiler_DEFAULT=$CC
63912d19872aSmrg
63922d19872aSmrg# save warnings/boilerplate of simple test code
63932d19872aSmrg_LT_COMPILER_BOILERPLATE
63942d19872aSmrg_LT_LINKER_BOILERPLATE
63952d19872aSmrg
63962d19872aSmrg## CAVEAT EMPTOR:
63972d19872aSmrg## There is no encapsulation within the following macros, do not change
63982d19872aSmrg## the running order or otherwise move them around unless you know exactly
63992d19872aSmrg## what you are doing...
64002d19872aSmrgif test -n "$compiler"; then
64012d19872aSmrg  _LT_COMPILER_NO_RTTI($1)
64022d19872aSmrg  _LT_COMPILER_PIC($1)
64032d19872aSmrg  _LT_COMPILER_C_O($1)
64042d19872aSmrg  _LT_COMPILER_FILE_LOCKS($1)
64052d19872aSmrg  _LT_LINKER_SHLIBS($1)
64062d19872aSmrg  _LT_SYS_DYNAMIC_LINKER($1)
64072d19872aSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
64082d19872aSmrg  LT_SYS_DLOPEN_SELF
64092d19872aSmrg  _LT_CMD_STRIPLIB
64102d19872aSmrg
64112d19872aSmrg  # Report what library types will actually be built
64122d19872aSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
64132d19872aSmrg  AC_MSG_RESULT([$can_build_shared])
64142d19872aSmrg
64152d19872aSmrg  AC_MSG_CHECKING([whether to build shared libraries])
64162d19872aSmrg  test no = "$can_build_shared" && enable_shared=no
64172d19872aSmrg
64182d19872aSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
64192d19872aSmrg  # are all built from PIC.
64202d19872aSmrg  case $host_os in
64212d19872aSmrg  aix3*)
64222d19872aSmrg    test yes = "$enable_shared" && enable_static=no
64232d19872aSmrg    if test -n "$RANLIB"; then
64242d19872aSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
64252d19872aSmrg      postinstall_cmds='$RANLIB $lib'
64262d19872aSmrg    fi
64272d19872aSmrg    ;;
64282d19872aSmrg
64292d19872aSmrg  aix[[4-9]]*)
64302d19872aSmrg    if test ia64 != "$host_cpu"; then
64312d19872aSmrg      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
64322d19872aSmrg      yes,aix,yes) ;;			# shared object as lib.so file only
64332d19872aSmrg      yes,svr4,*) ;;			# shared object as lib.so archive member only
64342d19872aSmrg      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
64352d19872aSmrg      esac
64362d19872aSmrg    fi
64372d19872aSmrg    ;;
64382d19872aSmrg  esac
64392d19872aSmrg  AC_MSG_RESULT([$enable_shared])
64402d19872aSmrg
64412d19872aSmrg  AC_MSG_CHECKING([whether to build static libraries])
64422d19872aSmrg  # Make sure either enable_shared or enable_static is yes.
64432d19872aSmrg  test yes = "$enable_shared" || enable_static=yes
64442d19872aSmrg  AC_MSG_RESULT([$enable_static])
64452d19872aSmrg
64462d19872aSmrg  _LT_CONFIG($1)
64472d19872aSmrgfi
64482d19872aSmrgAC_LANG_POP
64492d19872aSmrgCC=$lt_save_CC
64502d19872aSmrg])# _LT_LANG_C_CONFIG
64512d19872aSmrg
64522d19872aSmrg
64532d19872aSmrg# _LT_LANG_CXX_CONFIG([TAG])
64542d19872aSmrg# --------------------------
64552d19872aSmrg# Ensure that the configuration variables for a C++ compiler are suitably
64562d19872aSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
64572d19872aSmrg# the compiler configuration to 'libtool'.
64582d19872aSmrgm4_defun([_LT_LANG_CXX_CONFIG],
64592d19872aSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
64602d19872aSmrgm4_require([_LT_DECL_EGREP])dnl
64612d19872aSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
64622d19872aSmrgif test -n "$CXX" && ( test no != "$CXX" &&
64632d19872aSmrg    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
64642d19872aSmrg    (test g++ != "$CXX"))); then
64652d19872aSmrg  AC_PROG_CXXCPP
64662d19872aSmrgelse
64672d19872aSmrg  _lt_caught_CXX_error=yes
64682d19872aSmrgfi
64692d19872aSmrg
64702d19872aSmrgAC_LANG_PUSH(C++)
64712d19872aSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
64722d19872aSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
64732d19872aSmrg_LT_TAGVAR(always_export_symbols, $1)=no
64742d19872aSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
64752d19872aSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
64762d19872aSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
64772d19872aSmrg_LT_TAGVAR(hardcode_direct, $1)=no
64782d19872aSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
64792d19872aSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
64802d19872aSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
64812d19872aSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
64822d19872aSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
64832d19872aSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
64842d19872aSmrg_LT_TAGVAR(inherit_rpath, $1)=no
64852d19872aSmrg_LT_TAGVAR(module_cmds, $1)=
64862d19872aSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
64872d19872aSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
64882d19872aSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
64892d19872aSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
64902d19872aSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
64912d19872aSmrg_LT_TAGVAR(no_undefined_flag, $1)=
64922d19872aSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
64932d19872aSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
64942d19872aSmrg
64952d19872aSmrg# Source file extension for C++ test sources.
64962d19872aSmrgac_ext=cpp
64972d19872aSmrg
64982d19872aSmrg# Object file extension for compiled C++ test sources.
64992d19872aSmrgobjext=o
65002d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
65012d19872aSmrg
65022d19872aSmrg# No sense in running all these tests if we already determined that
65032d19872aSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
65042d19872aSmrg# are currently assumed to apply to all compilers on this platform,
65052d19872aSmrg# and will be corrupted by setting them based on a non-working compiler.
65062d19872aSmrgif test yes != "$_lt_caught_CXX_error"; then
65072d19872aSmrg  # Code to be used in simple compile tests
65082d19872aSmrg  lt_simple_compile_test_code="int some_variable = 0;"
65092d19872aSmrg
65102d19872aSmrg  # Code to be used in simple link tests
65112d19872aSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
65122d19872aSmrg
65132d19872aSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
65142d19872aSmrg  _LT_TAG_COMPILER
65152d19872aSmrg
65162d19872aSmrg  # save warnings/boilerplate of simple test code
65172d19872aSmrg  _LT_COMPILER_BOILERPLATE
65182d19872aSmrg  _LT_LINKER_BOILERPLATE
65192d19872aSmrg
65202d19872aSmrg  # Allow CC to be a program name with arguments.
65212d19872aSmrg  lt_save_CC=$CC
65222d19872aSmrg  lt_save_CFLAGS=$CFLAGS
65232d19872aSmrg  lt_save_LD=$LD
65242d19872aSmrg  lt_save_GCC=$GCC
65252d19872aSmrg  GCC=$GXX
65262d19872aSmrg  lt_save_with_gnu_ld=$with_gnu_ld
65272d19872aSmrg  lt_save_path_LD=$lt_cv_path_LD
65282d19872aSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
65292d19872aSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
65302d19872aSmrg  else
65312d19872aSmrg    $as_unset lt_cv_prog_gnu_ld
65322d19872aSmrg  fi
65332d19872aSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
65342d19872aSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
65352d19872aSmrg  else
65362d19872aSmrg    $as_unset lt_cv_path_LD
65372d19872aSmrg  fi
65382d19872aSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
65392d19872aSmrg  CC=${CXX-"c++"}
65402d19872aSmrg  CFLAGS=$CXXFLAGS
65412d19872aSmrg  compiler=$CC
65422d19872aSmrg  _LT_TAGVAR(compiler, $1)=$CC
65432d19872aSmrg  _LT_CC_BASENAME([$compiler])
65442d19872aSmrg
65452d19872aSmrg  if test -n "$compiler"; then
65462d19872aSmrg    # We don't want -fno-exception when compiling C++ code, so set the
65472d19872aSmrg    # no_builtin_flag separately
65482d19872aSmrg    if test yes = "$GXX"; then
65492d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
65502d19872aSmrg    else
65512d19872aSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
65522d19872aSmrg    fi
65532d19872aSmrg
65542d19872aSmrg    if test yes = "$GXX"; then
65552d19872aSmrg      # Set up default GNU C++ configuration
65562d19872aSmrg
65572d19872aSmrg      LT_PATH_LD
65582d19872aSmrg
65592d19872aSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
65602d19872aSmrg      # archiving commands below assume that GNU ld is being used.
65612d19872aSmrg      if test yes = "$with_gnu_ld"; then
65622d19872aSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
65632d19872aSmrg        _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'
65642d19872aSmrg
65652d19872aSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
65662d19872aSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
65672d19872aSmrg
65682d19872aSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
65692d19872aSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
65702d19872aSmrg        #     investigate it a little bit more. (MM)
65712d19872aSmrg        wlarc='$wl'
65722d19872aSmrg
65732d19872aSmrg        # ancient GNU ld didn't support --whole-archive et. al.
65742f76b07dSmrg        if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
65752d19872aSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
65762d19872aSmrg        else
65772d19872aSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
65782d19872aSmrg        fi
65792d19872aSmrg      else
65802d19872aSmrg        with_gnu_ld=no
65812d19872aSmrg        wlarc=
65822d19872aSmrg
65832d19872aSmrg        # A generic and very simple default shared library creation
65842d19872aSmrg        # command for GNU C++ for the case where it uses the native
65852d19872aSmrg        # linker, instead of GNU ld.  If possible, this setting should
65862d19872aSmrg        # overridden to take advantage of the native linker features on
65872d19872aSmrg        # the platform it is being used on.
65882d19872aSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
65892d19872aSmrg      fi
65902d19872aSmrg
65912d19872aSmrg      # Commands to make compiler produce verbose output that lists
65922d19872aSmrg      # what "hidden" libraries, object files and flags are used when
65932d19872aSmrg      # linking a shared library.
65942f76b07dSmrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
65952d19872aSmrg
65962d19872aSmrg    else
65972d19872aSmrg      GXX=no
65982d19872aSmrg      with_gnu_ld=no
65992d19872aSmrg      wlarc=
66002d19872aSmrg    fi
66012d19872aSmrg
66022d19872aSmrg    # PORTME: fill in a description of your system's C++ link characteristics
66032d19872aSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
66042d19872aSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
66052d19872aSmrg    case $host_os in
66062d19872aSmrg      aix3*)
66072d19872aSmrg        # FIXME: insert proper C++ library support
66082d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
66092d19872aSmrg        ;;
66102d19872aSmrg      aix[[4-9]]*)
66112d19872aSmrg        if test ia64 = "$host_cpu"; then
66122d19872aSmrg          # On IA64, the linker does run time linking by default, so we don't
66132d19872aSmrg          # have to do anything special.
66142d19872aSmrg          aix_use_runtimelinking=no
66152d19872aSmrg          exp_sym_flag='-Bexport'
66162d19872aSmrg          no_entry_flag=
66172d19872aSmrg        else
66182d19872aSmrg          aix_use_runtimelinking=no
66192d19872aSmrg
66202d19872aSmrg          # Test if we are trying to use run time linking or normal
66212d19872aSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
66222d19872aSmrg          # have runtime linking enabled, and use it for executables.
66232d19872aSmrg          # For shared libraries, we enable/disable runtime linking
66242d19872aSmrg          # depending on the kind of the shared library created -
66252d19872aSmrg          # when "with_aix_soname,aix_use_runtimelinking" is:
66262d19872aSmrg          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
66272d19872aSmrg          # "aix,yes"  lib.so          shared, rtl:yes, for executables
66282d19872aSmrg          #            lib.a           static archive
66292d19872aSmrg          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
66302d19872aSmrg          #            lib.a(lib.so.V) shared, rtl:no,  for executables
66312d19872aSmrg          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
66322d19872aSmrg          #            lib.a(lib.so.V) shared, rtl:no
66332d19872aSmrg          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
66342d19872aSmrg          #            lib.a           static archive
66352d19872aSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
66362d19872aSmrg	    for ld_flag in $LDFLAGS; do
66372d19872aSmrg	      case $ld_flag in
66382d19872aSmrg	      *-brtl*)
66392d19872aSmrg	        aix_use_runtimelinking=yes
66402d19872aSmrg	        break
66412d19872aSmrg	        ;;
66422d19872aSmrg	      esac
66432d19872aSmrg	    done
66442d19872aSmrg	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
66452d19872aSmrg	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
66462d19872aSmrg	      # so we don't have lib.a shared libs to link our executables.
66472d19872aSmrg	      # We have to force runtime linking in this case.
66482d19872aSmrg	      aix_use_runtimelinking=yes
66492d19872aSmrg	      LDFLAGS="$LDFLAGS -Wl,-brtl"
66502d19872aSmrg	    fi
66512d19872aSmrg	    ;;
66522d19872aSmrg          esac
66532d19872aSmrg
66542d19872aSmrg          exp_sym_flag='-bexport'
66552d19872aSmrg          no_entry_flag='-bnoentry'
66562d19872aSmrg        fi
66572d19872aSmrg
66582d19872aSmrg        # When large executables or shared objects are built, AIX ld can
66592d19872aSmrg        # have problems creating the table of contents.  If linking a library
66602d19872aSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
66612d19872aSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
66622d19872aSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
66632d19872aSmrg
66642d19872aSmrg        _LT_TAGVAR(archive_cmds, $1)=''
66652d19872aSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
66662d19872aSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
66672d19872aSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
66682d19872aSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
66692d19872aSmrg        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
66702d19872aSmrg        case $with_aix_soname,$aix_use_runtimelinking in
66712d19872aSmrg        aix,*) ;;	# no import file
66722d19872aSmrg        svr4,* | *,yes) # use import file
66732d19872aSmrg          # The Import File defines what to hardcode.
66742d19872aSmrg          _LT_TAGVAR(hardcode_direct, $1)=no
66752d19872aSmrg          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
66762d19872aSmrg          ;;
66772d19872aSmrg        esac
66782d19872aSmrg
66792d19872aSmrg        if test yes = "$GXX"; then
66802d19872aSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
66812d19872aSmrg          # We only want to do this on AIX 4.2 and lower, the check
66822d19872aSmrg          # below for broken collect2 doesn't work under 4.3+
66832d19872aSmrg	  collect2name=`$CC -print-prog-name=collect2`
66842d19872aSmrg	  if test -f "$collect2name" &&
66852d19872aSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
66862d19872aSmrg	  then
66872d19872aSmrg	    # We have reworked collect2
66882d19872aSmrg	    :
66892d19872aSmrg	  else
66902d19872aSmrg	    # We have old collect2
66912d19872aSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
66922d19872aSmrg	    # It fails to find uninstalled libraries when the uninstalled
66932d19872aSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
66942d19872aSmrg	    # to unsupported forces relinking
66952d19872aSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
66962d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
66972d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
66982d19872aSmrg	  fi
66992d19872aSmrg          esac
67002d19872aSmrg          shared_flag='-shared'
67012d19872aSmrg	  if test yes = "$aix_use_runtimelinking"; then
67022d19872aSmrg	    shared_flag=$shared_flag' $wl-G'
67032d19872aSmrg	  fi
67042d19872aSmrg	  # Need to ensure runtime linking is disabled for the traditional
67052d19872aSmrg	  # shared library, or the linker may eventually find shared libraries
67062d19872aSmrg	  # /with/ Import File - we do not want to mix them.
67072d19872aSmrg	  shared_flag_aix='-shared'
67082d19872aSmrg	  shared_flag_svr4='-shared $wl-G'
67092d19872aSmrg        else
67102d19872aSmrg          # not using gcc
67112d19872aSmrg          if test ia64 = "$host_cpu"; then
67122d19872aSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
67132d19872aSmrg	  # chokes on -Wl,-G. The following line is correct:
67142d19872aSmrg	  shared_flag='-G'
67152d19872aSmrg          else
67162d19872aSmrg	    if test yes = "$aix_use_runtimelinking"; then
67172d19872aSmrg	      shared_flag='$wl-G'
67182d19872aSmrg	    else
67192d19872aSmrg	      shared_flag='$wl-bM:SRE'
67202d19872aSmrg	    fi
67212d19872aSmrg	    shared_flag_aix='$wl-bM:SRE'
67222d19872aSmrg	    shared_flag_svr4='$wl-G'
67232d19872aSmrg          fi
67242d19872aSmrg        fi
67252d19872aSmrg
67262d19872aSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
67272d19872aSmrg        # It seems that -bexpall does not export symbols beginning with
67282d19872aSmrg        # underscore (_), so it is better to generate a list of symbols to
67292d19872aSmrg	# export.
67302d19872aSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
67312d19872aSmrg	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
67322d19872aSmrg          # Warning - without using the other runtime loading flags (-brtl),
67332d19872aSmrg          # -berok will link without error, but may produce a broken library.
67342d19872aSmrg          # The "-G" linker flag allows undefined symbols.
67352d19872aSmrg          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
67362d19872aSmrg          # Determine the default libpath from the value encoded in an empty
67372d19872aSmrg          # executable.
67382d19872aSmrg          _LT_SYS_MODULE_PATH_AIX([$1])
67392d19872aSmrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
67402d19872aSmrg
67412d19872aSmrg          _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
67422d19872aSmrg        else
67432d19872aSmrg          if test ia64 = "$host_cpu"; then
67442d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
67452d19872aSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
67462d19872aSmrg	    _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"
67472d19872aSmrg          else
67482d19872aSmrg	    # Determine the default libpath from the value encoded in an
67492d19872aSmrg	    # empty executable.
67502d19872aSmrg	    _LT_SYS_MODULE_PATH_AIX([$1])
67512d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
67522d19872aSmrg	    # Warning - without using the other run time loading flags,
67532d19872aSmrg	    # -berok will link without error, but may produce a broken library.
67542d19872aSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
67552d19872aSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
67562d19872aSmrg	    if test yes = "$with_gnu_ld"; then
67572d19872aSmrg	      # We only use this code for GNU lds that support --whole-archive.
67582d19872aSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
67592d19872aSmrg	    else
67602d19872aSmrg	      # Exported symbols can be pulled into shared objects from archives
67612d19872aSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
67622d19872aSmrg	    fi
67632d19872aSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
67642d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
67652d19872aSmrg	    # -brtl affects multiple linker settings, -berok does not and is overridden later
67662d19872aSmrg	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
67672d19872aSmrg	    if test svr4 != "$with_aix_soname"; then
67682d19872aSmrg	      # This is similar to how AIX traditionally builds its shared
67692d19872aSmrg	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
67702d19872aSmrg	      _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'
67712d19872aSmrg	    fi
67722d19872aSmrg	    if test aix != "$with_aix_soname"; then
67732d19872aSmrg	      _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'
67742d19872aSmrg	    else
67752d19872aSmrg	      # used by -dlpreopen to get the symbols
67762d19872aSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
67772d19872aSmrg	    fi
67782d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
67792d19872aSmrg          fi
67802d19872aSmrg        fi
67812d19872aSmrg        ;;
67822d19872aSmrg
67832d19872aSmrg      beos*)
67842d19872aSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
67852d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
67862d19872aSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
67872d19872aSmrg	  # support --undefined.  This deserves some investigation.  FIXME
67882d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
67892d19872aSmrg	else
67902d19872aSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
67912d19872aSmrg	fi
67922d19872aSmrg	;;
67932d19872aSmrg
67942d19872aSmrg      chorus*)
67952d19872aSmrg        case $cc_basename in
67962d19872aSmrg          *)
67972d19872aSmrg	  # FIXME: insert proper C++ library support
67982d19872aSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
67992d19872aSmrg	  ;;
68002d19872aSmrg        esac
68012d19872aSmrg        ;;
68022d19872aSmrg
68032f76b07dSmrg      cygwin* | mingw* | windows* | pw32* | cegcc*)
68042d19872aSmrg	case $GXX,$cc_basename in
68052d19872aSmrg	,cl* | no,cl* | ,icl* | no,icl*)
68062d19872aSmrg	  # Native MSVC or ICC
68072d19872aSmrg	  # hardcode_libdir_flag_spec is actually meaningless, as there is
68082d19872aSmrg	  # no search path for DLLs.
68092d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
68102d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
68112d19872aSmrg	  _LT_TAGVAR(always_export_symbols, $1)=yes
68122d19872aSmrg	  _LT_TAGVAR(file_list_spec, $1)='@'
68132d19872aSmrg	  # Tell ltmain to make .lib files, not .a files.
68142d19872aSmrg	  libext=lib
68152d19872aSmrg	  # Tell ltmain to make .dll files, not .so files.
68162d19872aSmrg	  shrext_cmds=.dll
68172d19872aSmrg	  # FIXME: Setting linknames here is a bad hack.
68182d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
68192d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
68202d19872aSmrg              cp "$export_symbols" "$output_objdir/$soname.def";
68212d19872aSmrg              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
68222d19872aSmrg            else
68232d19872aSmrg              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
68242d19872aSmrg            fi~
68252d19872aSmrg            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
68262d19872aSmrg            linknames='
68272d19872aSmrg	  # The linker will not automatically build a static lib if we build a DLL.
68282d19872aSmrg	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
68292d19872aSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
68302d19872aSmrg	  # Don't use ranlib
68312d19872aSmrg	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
68322d19872aSmrg	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
68332d19872aSmrg            lt_tool_outputfile="@TOOL_OUTPUT@"~
68342d19872aSmrg            case $lt_outputfile in
68352d19872aSmrg              *.exe|*.EXE) ;;
68362d19872aSmrg              *)
68372d19872aSmrg                lt_outputfile=$lt_outputfile.exe
68382d19872aSmrg                lt_tool_outputfile=$lt_tool_outputfile.exe
68392d19872aSmrg                ;;
68402d19872aSmrg            esac~
68412d19872aSmrg            func_to_tool_file "$lt_outputfile"~
68422d19872aSmrg            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
68432d19872aSmrg              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
68442d19872aSmrg              $RM "$lt_outputfile.manifest";
68452d19872aSmrg            fi'
68462d19872aSmrg	  ;;
68472d19872aSmrg	*)
68482d19872aSmrg	  # g++
68492d19872aSmrg	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
68502d19872aSmrg	  # as there is no search path for DLLs.
68512d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
68522d19872aSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
68532d19872aSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
68542d19872aSmrg	  _LT_TAGVAR(always_export_symbols, $1)=no
68552d19872aSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
68562f76b07dSmrg	  _LT_TAGVAR(file_list_spec, $1)='@'
68572d19872aSmrg
68582d19872aSmrg	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
68592d19872aSmrg	    _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'
68602d19872aSmrg	    # If the export-symbols file already is a .def file, use it as
68612d19872aSmrg	    # is; otherwise, prepend EXPORTS...
68622d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
68632d19872aSmrg              cp $export_symbols $output_objdir/$soname.def;
68642d19872aSmrg            else
68652d19872aSmrg              echo EXPORTS > $output_objdir/$soname.def;
68662d19872aSmrg              cat $export_symbols >> $output_objdir/$soname.def;
68672d19872aSmrg            fi~
68682d19872aSmrg            $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'
68692d19872aSmrg	  else
68702d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
68712d19872aSmrg	  fi
68722d19872aSmrg	  ;;
68732d19872aSmrg	esac
68742d19872aSmrg	;;
68752d19872aSmrg      darwin* | rhapsody*)
68762d19872aSmrg        _LT_DARWIN_LINKER_FEATURES($1)
68772d19872aSmrg	;;
68782d19872aSmrg
68792d19872aSmrg      os2*)
68802d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
68812d19872aSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
68822d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
68832d19872aSmrg	shrext_cmds=.dll
68842d19872aSmrg	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
68852d19872aSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
68862d19872aSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
68872d19872aSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
68882d19872aSmrg	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
68892d19872aSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
68902d19872aSmrg	  emximp -o $lib $output_objdir/$libname.def'
68912d19872aSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
68922d19872aSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
68932d19872aSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
68942d19872aSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
68952d19872aSmrg	  prefix_cmds="$SED"~
68962d19872aSmrg	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
68972d19872aSmrg	    prefix_cmds="$prefix_cmds -e 1d";
68982d19872aSmrg	  fi~
68992d19872aSmrg	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
69002d19872aSmrg	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
69012d19872aSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
69022d19872aSmrg	  emximp -o $lib $output_objdir/$libname.def'
69032f76b07dSmrg	_LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
69042d19872aSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
69052d19872aSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
69062d19872aSmrg	;;
69072d19872aSmrg
69082d19872aSmrg      dgux*)
69092d19872aSmrg        case $cc_basename in
69102d19872aSmrg          ec++*)
69112d19872aSmrg	    # FIXME: insert proper C++ library support
69122d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
69132d19872aSmrg	    ;;
69142d19872aSmrg          ghcx*)
69152d19872aSmrg	    # Green Hills C++ Compiler
69162d19872aSmrg	    # FIXME: insert proper C++ library support
69172d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
69182d19872aSmrg	    ;;
69192d19872aSmrg          *)
69202d19872aSmrg	    # FIXME: insert proper C++ library support
69212d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
69222d19872aSmrg	    ;;
69232d19872aSmrg        esac
69242d19872aSmrg        ;;
69252d19872aSmrg
69262d19872aSmrg      freebsd2.*)
69272d19872aSmrg        # C++ shared libraries reported to be fairly broken before
69282d19872aSmrg	# switch to ELF
69292d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
69302d19872aSmrg        ;;
69312d19872aSmrg
69322d19872aSmrg      freebsd-elf*)
69332d19872aSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
69342d19872aSmrg        ;;
69352d19872aSmrg
69362d19872aSmrg      freebsd* | dragonfly* | midnightbsd*)
69372d19872aSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
69382d19872aSmrg        # conventions
69392d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
69402d19872aSmrg        ;;
69412d19872aSmrg
69422d19872aSmrg      haiku*)
69432d19872aSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
69442f76b07dSmrg        _LT_TAGVAR(link_all_deplibs, $1)=no
69452d19872aSmrg        ;;
69462d19872aSmrg
69472d19872aSmrg      hpux9*)
69482d19872aSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
69492d19872aSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
69502d19872aSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
69512d19872aSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
69522d19872aSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
69532d19872aSmrg				             # but as the default
69542d19872aSmrg				             # location of the library.
69552d19872aSmrg
69562d19872aSmrg        case $cc_basename in
69572d19872aSmrg          CC*)
69582d19872aSmrg            # FIXME: insert proper C++ library support
69592d19872aSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
69602d19872aSmrg            ;;
69612d19872aSmrg          aCC*)
69622d19872aSmrg            _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'
69632d19872aSmrg            # Commands to make compiler produce verbose output that lists
69642d19872aSmrg            # what "hidden" libraries, object files and flags are used when
69652d19872aSmrg            # linking a shared library.
69662d19872aSmrg            #
69672d19872aSmrg            # There doesn't appear to be a way to prevent this compiler from
69682d19872aSmrg            # explicitly linking system object files so we need to strip them
69692d19872aSmrg            # from the output so that they don't get included in the library
69702d19872aSmrg            # dependencies.
69712f76b07dSmrg            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"'
69722d19872aSmrg            ;;
69732d19872aSmrg          *)
69742d19872aSmrg            if test yes = "$GXX"; then
69752d19872aSmrg              _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'
69762d19872aSmrg            else
69772d19872aSmrg              # FIXME: insert proper C++ library support
69782d19872aSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
69792d19872aSmrg            fi
69802d19872aSmrg            ;;
69812d19872aSmrg        esac
69822d19872aSmrg        ;;
69832d19872aSmrg
69842d19872aSmrg      hpux10*|hpux11*)
69852d19872aSmrg        if test no = "$with_gnu_ld"; then
69862d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
69872d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
69882d19872aSmrg
69892d19872aSmrg          case $host_cpu in
69902d19872aSmrg            hppa*64*|ia64*)
69912d19872aSmrg              ;;
69922d19872aSmrg            *)
69932d19872aSmrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
69942d19872aSmrg              ;;
69952d19872aSmrg          esac
69962d19872aSmrg        fi
69972d19872aSmrg        case $host_cpu in
69982d19872aSmrg          hppa*64*|ia64*)
69992d19872aSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
70002d19872aSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70012d19872aSmrg            ;;
70022d19872aSmrg          *)
70032d19872aSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
70042d19872aSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
70052d19872aSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
70062d19872aSmrg					         # but as the default
70072d19872aSmrg					         # location of the library.
70082d19872aSmrg            ;;
70092d19872aSmrg        esac
70102d19872aSmrg
70112d19872aSmrg        case $cc_basename in
70122d19872aSmrg          CC*)
70132d19872aSmrg	    # FIXME: insert proper C++ library support
70142d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
70152d19872aSmrg	    ;;
70162d19872aSmrg          aCC*)
70172d19872aSmrg	    case $host_cpu in
70182d19872aSmrg	      hppa*64*)
70192d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
70202d19872aSmrg	        ;;
70212d19872aSmrg	      ia64*)
70222d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
70232d19872aSmrg	        ;;
70242d19872aSmrg	      *)
70252d19872aSmrg	        _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'
70262d19872aSmrg	        ;;
70272d19872aSmrg	    esac
70282d19872aSmrg	    # Commands to make compiler produce verbose output that lists
70292d19872aSmrg	    # what "hidden" libraries, object files and flags are used when
70302d19872aSmrg	    # linking a shared library.
70312d19872aSmrg	    #
70322d19872aSmrg	    # There doesn't appear to be a way to prevent this compiler from
70332d19872aSmrg	    # explicitly linking system object files so we need to strip them
70342d19872aSmrg	    # from the output so that they don't get included in the library
70352d19872aSmrg	    # dependencies.
70362f76b07dSmrg	    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"'
70372d19872aSmrg	    ;;
70382d19872aSmrg          *)
70392d19872aSmrg	    if test yes = "$GXX"; then
70402d19872aSmrg	      if test no = "$with_gnu_ld"; then
70412d19872aSmrg	        case $host_cpu in
70422d19872aSmrg	          hppa*64*)
70432d19872aSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
70442d19872aSmrg	            ;;
70452d19872aSmrg	          ia64*)
70462d19872aSmrg	            _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'
70472d19872aSmrg	            ;;
70482d19872aSmrg	          *)
70492d19872aSmrg	            _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'
70502d19872aSmrg	            ;;
70512d19872aSmrg	        esac
70522d19872aSmrg	      fi
70532d19872aSmrg	    else
70542d19872aSmrg	      # FIXME: insert proper C++ library support
70552d19872aSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
70562d19872aSmrg	    fi
70572d19872aSmrg	    ;;
70582d19872aSmrg        esac
70592d19872aSmrg        ;;
70602d19872aSmrg
70612d19872aSmrg      interix[[3-9]]*)
70622d19872aSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
70632d19872aSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
70642d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
70652d19872aSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
70662d19872aSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
70672d19872aSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
70682d19872aSmrg	# default) and relocated if they conflict, which is a slow very memory
70692d19872aSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
70702d19872aSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
70712d19872aSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
70722d19872aSmrg	_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'
70732d19872aSmrg	_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'
70742d19872aSmrg	;;
70752d19872aSmrg      irix5* | irix6*)
70762d19872aSmrg        case $cc_basename in
70772d19872aSmrg          CC*)
70782d19872aSmrg	    # SGI C++
70792d19872aSmrg	    _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'
70802d19872aSmrg
70812d19872aSmrg	    # Archives containing C++ object files must be created using
70822d19872aSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
70832d19872aSmrg	    # necessary to make sure instantiated templates are included
70842d19872aSmrg	    # in the archive.
70852d19872aSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
70862d19872aSmrg	    ;;
70872d19872aSmrg          *)
70882d19872aSmrg	    if test yes = "$GXX"; then
70892d19872aSmrg	      if test no = "$with_gnu_ld"; then
70902d19872aSmrg	        _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'
70912d19872aSmrg	      else
70922d19872aSmrg	        _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'
70932d19872aSmrg	      fi
70942d19872aSmrg	    fi
70952d19872aSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
70962d19872aSmrg	    ;;
70972d19872aSmrg        esac
70982d19872aSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
70992d19872aSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
71002d19872aSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
71012d19872aSmrg        ;;
71022d19872aSmrg
71032d19872aSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
71042d19872aSmrg        case $cc_basename in
71052d19872aSmrg          KCC*)
71062d19872aSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
71072d19872aSmrg
71082d19872aSmrg	    # KCC will only create a shared library if the output file
71092d19872aSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
71102d19872aSmrg	    # to its proper name (with version) after linking.
71112d19872aSmrg	    _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'
71122d19872aSmrg	    _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'
71132d19872aSmrg	    # Commands to make compiler produce verbose output that lists
71142d19872aSmrg	    # what "hidden" libraries, object files and flags are used when
71152d19872aSmrg	    # linking a shared library.
71162d19872aSmrg	    #
71172d19872aSmrg	    # There doesn't appear to be a way to prevent this compiler from
71182d19872aSmrg	    # explicitly linking system object files so we need to strip them
71192d19872aSmrg	    # from the output so that they don't get included in the library
71202d19872aSmrg	    # dependencies.
71212d19872aSmrg	    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"'
71222d19872aSmrg
71232d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
71242d19872aSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
71252d19872aSmrg
71262d19872aSmrg	    # Archives containing C++ object files must be created using
71272d19872aSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
71282d19872aSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
71292d19872aSmrg	    ;;
71302d19872aSmrg	  icpc* | ecpc* )
71312d19872aSmrg	    # Intel C++
71322d19872aSmrg	    with_gnu_ld=yes
71332d19872aSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
71342d19872aSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
71352d19872aSmrg	    # earlier do not add the objects themselves.
71362d19872aSmrg	    case `$CC -V 2>&1` in
71372d19872aSmrg	      *"Version 7."*)
71382d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
71392d19872aSmrg		_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'
71402d19872aSmrg		;;
71412d19872aSmrg	      *)  # Version 8.0 or newer
71422d19872aSmrg	        tmp_idyn=
71432d19872aSmrg	        case $host_cpu in
71442d19872aSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
71452d19872aSmrg		esac
71462d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
71472d19872aSmrg		_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'
71482d19872aSmrg		;;
71492d19872aSmrg	    esac
71502d19872aSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
71512d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
71522d19872aSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
71532d19872aSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
71542d19872aSmrg	    ;;
71552d19872aSmrg          pgCC* | pgcpp*)
71562d19872aSmrg            # Portland Group C++ compiler
71572d19872aSmrg	    case `$CC -V` in
71582d19872aSmrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
71592d19872aSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
71602d19872aSmrg               rm -rf $tpldir~
71612d19872aSmrg               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
71622d19872aSmrg               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
71632d19872aSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
71642d19872aSmrg                rm -rf $tpldir~
71652d19872aSmrg                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
71662d19872aSmrg                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
71672d19872aSmrg                $RANLIB $oldlib'
71682d19872aSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
71692d19872aSmrg                rm -rf $tpldir~
71702d19872aSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
71712d19872aSmrg                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
71722d19872aSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
71732d19872aSmrg                rm -rf $tpldir~
71742d19872aSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
71752d19872aSmrg                $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'
71762d19872aSmrg	      ;;
71772d19872aSmrg	    *) # Version 6 and above use weak symbols
71782d19872aSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
71792d19872aSmrg	      _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'
71802d19872aSmrg	      ;;
71812d19872aSmrg	    esac
71822d19872aSmrg
71832d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
71842d19872aSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
71852d19872aSmrg	    _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'
71862d19872aSmrg            ;;
71872d19872aSmrg	  cxx*)
71882d19872aSmrg	    # Compaq C++
71892d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
71902d19872aSmrg	    _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'
71912d19872aSmrg
71922d19872aSmrg	    runpath_var=LD_RUN_PATH
71932d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
71942d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
71952d19872aSmrg
71962d19872aSmrg	    # Commands to make compiler produce verbose output that lists
71972d19872aSmrg	    # what "hidden" libraries, object files and flags are used when
71982d19872aSmrg	    # linking a shared library.
71992d19872aSmrg	    #
72002d19872aSmrg	    # There doesn't appear to be a way to prevent this compiler from
72012d19872aSmrg	    # explicitly linking system object files so we need to strip them
72022d19872aSmrg	    # from the output so that they don't get included in the library
72032d19872aSmrg	    # dependencies.
72042d19872aSmrg	    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'
72052d19872aSmrg	    ;;
72062d19872aSmrg	  xl* | mpixl* | bgxl*)
72072d19872aSmrg	    # IBM XL 8.0 on PPC, with GNU ld
72082d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
72092d19872aSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
72102d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
72112d19872aSmrg	    if test yes = "$supports_anon_versioning"; then
72122d19872aSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
72132d19872aSmrg                cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
72142d19872aSmrg                echo "local: *; };" >> $output_objdir/$libname.ver~
72152d19872aSmrg                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
72162d19872aSmrg	    fi
72172d19872aSmrg	    ;;
72182d19872aSmrg	  *)
72192d19872aSmrg	    case `$CC -V 2>&1 | $SED 5q` in
72202d19872aSmrg	    *Sun\ C*)
72212d19872aSmrg	      # Sun C++ 5.9
72222d19872aSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
72232d19872aSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
72242d19872aSmrg	      _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'
72252d19872aSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
72262d19872aSmrg	      _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'
72272d19872aSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
72282d19872aSmrg
72292d19872aSmrg	      # Not sure whether something based on
72302d19872aSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
72312d19872aSmrg	      # would be better.
72322d19872aSmrg	      output_verbose_link_cmd='func_echo_all'
72332d19872aSmrg
72342d19872aSmrg	      # Archives containing C++ object files must be created using
72352d19872aSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
72362d19872aSmrg	      # necessary to make sure instantiated templates are included
72372d19872aSmrg	      # in the archive.
72382d19872aSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
72392d19872aSmrg	      ;;
72402d19872aSmrg	    esac
72412d19872aSmrg	    ;;
72422d19872aSmrg	esac
72432d19872aSmrg	;;
72442d19872aSmrg
72452d19872aSmrg      lynxos*)
72462d19872aSmrg        # FIXME: insert proper C++ library support
72472d19872aSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
72482d19872aSmrg	;;
72492d19872aSmrg
72502d19872aSmrg      m88k*)
72512d19872aSmrg        # FIXME: insert proper C++ library support
72522d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
72532d19872aSmrg	;;
72542d19872aSmrg
72552d19872aSmrg      mvs*)
72562d19872aSmrg        case $cc_basename in
72572d19872aSmrg          cxx*)
72582d19872aSmrg	    # FIXME: insert proper C++ library support
72592d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
72602d19872aSmrg	    ;;
72612d19872aSmrg	  *)
72622d19872aSmrg	    # FIXME: insert proper C++ library support
72632d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
72642d19872aSmrg	    ;;
72652d19872aSmrg	esac
72662d19872aSmrg	;;
72672d19872aSmrg
72682f76b07dSmrg      *-mlibc)
72692f76b07dSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
72702f76b07dSmrg	;;
72712f76b07dSmrg
72722d19872aSmrg      netbsd*)
72732d19872aSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
72742d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
72752d19872aSmrg	  wlarc=
72762d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
72772d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
72782d19872aSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
72792d19872aSmrg	fi
72802d19872aSmrg	# Workaround some broken pre-1.5 toolchains
72812d19872aSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
72822d19872aSmrg	;;
72832d19872aSmrg
72842d19872aSmrg      *nto* | *qnx*)
72852d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
72862d19872aSmrg	;;
72872d19872aSmrg
72882f76b07dSmrg      openbsd*)
72892d19872aSmrg	if test -f /usr/libexec/ld.so; then
72902d19872aSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
72912d19872aSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
72922d19872aSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
72932d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
72942d19872aSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
72952d19872aSmrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
72962d19872aSmrg	    _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'
72972d19872aSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
72982d19872aSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
72992d19872aSmrg	  fi
73002d19872aSmrg	  output_verbose_link_cmd=func_echo_all
73012d19872aSmrg	else
73022d19872aSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
73032d19872aSmrg	fi
73042d19872aSmrg	;;
73052d19872aSmrg
73062d19872aSmrg      osf3* | osf4* | osf5*)
73072d19872aSmrg        case $cc_basename in
73082d19872aSmrg          KCC*)
73092d19872aSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
73102d19872aSmrg
73112d19872aSmrg	    # KCC will only create a shared library if the output file
73122d19872aSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
73132d19872aSmrg	    # to its proper name (with version) after linking.
73142d19872aSmrg	    _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'
73152d19872aSmrg
73162d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
73172d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
73182d19872aSmrg
73192d19872aSmrg	    # Archives containing C++ object files must be created using
73202d19872aSmrg	    # the KAI C++ compiler.
73212d19872aSmrg	    case $host in
73222d19872aSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
73232d19872aSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
73242d19872aSmrg	    esac
73252d19872aSmrg	    ;;
73262d19872aSmrg          RCC*)
73272d19872aSmrg	    # Rational C++ 2.4.1
73282d19872aSmrg	    # FIXME: insert proper C++ library support
73292d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
73302d19872aSmrg	    ;;
73312d19872aSmrg          cxx*)
73322d19872aSmrg	    case $host in
73332d19872aSmrg	      osf3*)
73342d19872aSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
73352d19872aSmrg	        _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'
73362d19872aSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
73372d19872aSmrg		;;
73382d19872aSmrg	      *)
73392d19872aSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
73402d19872aSmrg	        _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'
73412d19872aSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
73422d19872aSmrg                  echo "-hidden">> $lib.exp~
73432d19872aSmrg                  $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~
73442d19872aSmrg                  $RM $lib.exp'
73452d19872aSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
73462d19872aSmrg		;;
73472d19872aSmrg	    esac
73482d19872aSmrg
73492d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
73502d19872aSmrg
73512d19872aSmrg	    # Commands to make compiler produce verbose output that lists
73522d19872aSmrg	    # what "hidden" libraries, object files and flags are used when
73532d19872aSmrg	    # linking a shared library.
73542d19872aSmrg	    #
73552d19872aSmrg	    # There doesn't appear to be a way to prevent this compiler from
73562d19872aSmrg	    # explicitly linking system object files so we need to strip them
73572d19872aSmrg	    # from the output so that they don't get included in the library
73582d19872aSmrg	    # dependencies.
73592d19872aSmrg	    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"'
73602d19872aSmrg	    ;;
73612d19872aSmrg	  *)
73622d19872aSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
73632d19872aSmrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
73642d19872aSmrg	      case $host in
73652d19872aSmrg	        osf3*)
73662d19872aSmrg	          _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'
73672d19872aSmrg		  ;;
73682d19872aSmrg	        *)
73692d19872aSmrg	          _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'
73702d19872aSmrg		  ;;
73712d19872aSmrg	      esac
73722d19872aSmrg
73732d19872aSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
73742d19872aSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
73752d19872aSmrg
73762d19872aSmrg	      # Commands to make compiler produce verbose output that lists
73772d19872aSmrg	      # what "hidden" libraries, object files and flags are used when
73782d19872aSmrg	      # linking a shared library.
73792f76b07dSmrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
73802d19872aSmrg
73812d19872aSmrg	    else
73822d19872aSmrg	      # FIXME: insert proper C++ library support
73832d19872aSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
73842d19872aSmrg	    fi
73852d19872aSmrg	    ;;
73862d19872aSmrg        esac
73872d19872aSmrg        ;;
73882d19872aSmrg
73892d19872aSmrg      psos*)
73902d19872aSmrg        # FIXME: insert proper C++ library support
73912d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
73922d19872aSmrg        ;;
73932d19872aSmrg
73942f76b07dSmrg      serenity*)
73952f76b07dSmrg        ;;
73962f76b07dSmrg
73972d19872aSmrg      sunos4*)
73982d19872aSmrg        case $cc_basename in
73992d19872aSmrg          CC*)
74002d19872aSmrg	    # Sun C++ 4.x
74012d19872aSmrg	    # FIXME: insert proper C++ library support
74022d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
74032d19872aSmrg	    ;;
74042d19872aSmrg          lcc*)
74052d19872aSmrg	    # Lucid
74062d19872aSmrg	    # FIXME: insert proper C++ library support
74072d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
74082d19872aSmrg	    ;;
74092d19872aSmrg          *)
74102d19872aSmrg	    # FIXME: insert proper C++ library support
74112d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
74122d19872aSmrg	    ;;
74132d19872aSmrg        esac
74142d19872aSmrg        ;;
74152d19872aSmrg
74162d19872aSmrg      solaris*)
74172d19872aSmrg        case $cc_basename in
74182d19872aSmrg          CC* | sunCC*)
74192d19872aSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
74202d19872aSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
74212d19872aSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
74222d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
74232d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
74242d19872aSmrg              $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'
74252d19872aSmrg
74262d19872aSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
74272d19872aSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
74282d19872aSmrg	    case $host_os in
74292d19872aSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
74302d19872aSmrg	      *)
74312d19872aSmrg		# The compiler driver will combine and reorder linker options,
74322d19872aSmrg		# but understands '-z linker_flag'.
74332d19872aSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
74342d19872aSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
74352d19872aSmrg	        ;;
74362d19872aSmrg	    esac
74372d19872aSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
74382d19872aSmrg
74392d19872aSmrg	    output_verbose_link_cmd='func_echo_all'
74402d19872aSmrg
74412d19872aSmrg	    # Archives containing C++ object files must be created using
74422d19872aSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
74432d19872aSmrg	    # necessary to make sure instantiated templates are included
74442d19872aSmrg	    # in the archive.
74452d19872aSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
74462d19872aSmrg	    ;;
74472d19872aSmrg          gcx*)
74482d19872aSmrg	    # Green Hills C++ Compiler
74492d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
74502d19872aSmrg
74512d19872aSmrg	    # The C++ compiler must be used to create the archive.
74522d19872aSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
74532d19872aSmrg	    ;;
74542d19872aSmrg          *)
74552d19872aSmrg	    # GNU C++ compiler with Solaris linker
74562d19872aSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
74572d19872aSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
74582d19872aSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
74592d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
74602d19872aSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
74612d19872aSmrg                  $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'
74622d19872aSmrg
74632d19872aSmrg	        # Commands to make compiler produce verbose output that lists
74642d19872aSmrg	        # what "hidden" libraries, object files and flags are used when
74652d19872aSmrg	        # linking a shared library.
74662f76b07dSmrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
74672d19872aSmrg	      else
74682d19872aSmrg	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
74692d19872aSmrg	        # platform.
74702d19872aSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
74712d19872aSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
74722d19872aSmrg                  $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'
74732d19872aSmrg
74742d19872aSmrg	        # Commands to make compiler produce verbose output that lists
74752d19872aSmrg	        # what "hidden" libraries, object files and flags are used when
74762d19872aSmrg	        # linking a shared library.
74772f76b07dSmrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
74782d19872aSmrg	      fi
74792d19872aSmrg
74802d19872aSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
74812d19872aSmrg	      case $host_os in
74822d19872aSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
74832d19872aSmrg		*)
74842d19872aSmrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
74852d19872aSmrg		  ;;
74862d19872aSmrg	      esac
74872d19872aSmrg	    fi
74882d19872aSmrg	    ;;
74892d19872aSmrg        esac
74902d19872aSmrg        ;;
74912d19872aSmrg
74922d19872aSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
74932d19872aSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
74942d19872aSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
74952d19872aSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
74962d19872aSmrg      runpath_var='LD_RUN_PATH'
74972d19872aSmrg
74982d19872aSmrg      case $cc_basename in
74992d19872aSmrg        CC*)
75002d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75012d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75022d19872aSmrg	  ;;
75032d19872aSmrg	*)
75042d19872aSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75052d19872aSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75062d19872aSmrg	  ;;
75072d19872aSmrg      esac
75082d19872aSmrg      ;;
75092d19872aSmrg
75102d19872aSmrg      sysv5* | sco3.2v5* | sco5v6*)
75112d19872aSmrg	# Note: We CANNOT use -z defs as we might desire, because we do not
75122d19872aSmrg	# link with -lc, and that would cause any symbols used from libc to
75132d19872aSmrg	# always be unresolved, which means just about no library would
75142d19872aSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
75152d19872aSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
75162d19872aSmrg	# as -z defs.
75172d19872aSmrg	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
75182d19872aSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
75192d19872aSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
75202d19872aSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
75212d19872aSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
75222d19872aSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
75232d19872aSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
75242d19872aSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
75252d19872aSmrg	runpath_var='LD_RUN_PATH'
75262d19872aSmrg
75272d19872aSmrg	case $cc_basename in
75282d19872aSmrg          CC*)
75292d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75302d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75312d19872aSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
75322d19872aSmrg              '"$_LT_TAGVAR(old_archive_cmds, $1)"
75332d19872aSmrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
75342d19872aSmrg              '"$_LT_TAGVAR(reload_cmds, $1)"
75352d19872aSmrg	    ;;
75362d19872aSmrg	  *)
75372d19872aSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75382d19872aSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
75392d19872aSmrg	    ;;
75402d19872aSmrg	esac
75412d19872aSmrg      ;;
75422d19872aSmrg
75432d19872aSmrg      tandem*)
75442d19872aSmrg        case $cc_basename in
75452d19872aSmrg          NCC*)
75462d19872aSmrg	    # NonStop-UX NCC 3.20
75472d19872aSmrg	    # FIXME: insert proper C++ library support
75482d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
75492d19872aSmrg	    ;;
75502d19872aSmrg          *)
75512d19872aSmrg	    # FIXME: insert proper C++ library support
75522d19872aSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
75532d19872aSmrg	    ;;
75542d19872aSmrg        esac
75552d19872aSmrg        ;;
75562d19872aSmrg
75572d19872aSmrg      vxworks*)
75582d19872aSmrg        # FIXME: insert proper C++ library support
75592d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
75602d19872aSmrg        ;;
75612d19872aSmrg
75622d19872aSmrg      *)
75632d19872aSmrg        # FIXME: insert proper C++ library support
75642d19872aSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
75652d19872aSmrg        ;;
75662d19872aSmrg    esac
75672d19872aSmrg
75682d19872aSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
75692d19872aSmrg    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
75702d19872aSmrg
75712d19872aSmrg    _LT_TAGVAR(GCC, $1)=$GXX
75722d19872aSmrg    _LT_TAGVAR(LD, $1)=$LD
75732d19872aSmrg
75742d19872aSmrg    ## CAVEAT EMPTOR:
75752d19872aSmrg    ## There is no encapsulation within the following macros, do not change
75762d19872aSmrg    ## the running order or otherwise move them around unless you know exactly
75772d19872aSmrg    ## what you are doing...
75782d19872aSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
75792d19872aSmrg    _LT_COMPILER_PIC($1)
75802d19872aSmrg    _LT_COMPILER_C_O($1)
75812d19872aSmrg    _LT_COMPILER_FILE_LOCKS($1)
75822d19872aSmrg    _LT_LINKER_SHLIBS($1)
75832d19872aSmrg    _LT_SYS_DYNAMIC_LINKER($1)
75842d19872aSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
75852d19872aSmrg
75862d19872aSmrg    _LT_CONFIG($1)
75872d19872aSmrg  fi # test -n "$compiler"
75882d19872aSmrg
75892d19872aSmrg  CC=$lt_save_CC
75902d19872aSmrg  CFLAGS=$lt_save_CFLAGS
75912d19872aSmrg  LDCXX=$LD
75922d19872aSmrg  LD=$lt_save_LD
75932d19872aSmrg  GCC=$lt_save_GCC
75942d19872aSmrg  with_gnu_ld=$lt_save_with_gnu_ld
75952d19872aSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
75962d19872aSmrg  lt_cv_path_LD=$lt_save_path_LD
75972d19872aSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
75982d19872aSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
75992d19872aSmrgfi # test yes != "$_lt_caught_CXX_error"
76002d19872aSmrg
76012d19872aSmrgAC_LANG_POP
76022d19872aSmrg])# _LT_LANG_CXX_CONFIG
76032d19872aSmrg
76042d19872aSmrg
76052d19872aSmrg# _LT_FUNC_STRIPNAME_CNF
76062d19872aSmrg# ----------------------
76072d19872aSmrg# func_stripname_cnf prefix suffix name
76082d19872aSmrg# strip PREFIX and SUFFIX off of NAME.
76092d19872aSmrg# PREFIX and SUFFIX must not contain globbing or regex special
76102d19872aSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
76112d19872aSmrg# dot (in which case that matches only a dot).
76122d19872aSmrg#
76132d19872aSmrg# This function is identical to the (non-XSI) version of func_stripname,
76142d19872aSmrg# except this one can be used by m4 code that may be executed by configure,
76152d19872aSmrg# rather than the libtool script.
76162d19872aSmrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
76172d19872aSmrgAC_REQUIRE([_LT_DECL_SED])
76182d19872aSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
76192d19872aSmrgfunc_stripname_cnf ()
76202d19872aSmrg{
76212d19872aSmrg  case @S|@2 in
76222d19872aSmrg  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
76232d19872aSmrg  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
76242d19872aSmrg  esac
76252d19872aSmrg} # func_stripname_cnf
76262d19872aSmrg])# _LT_FUNC_STRIPNAME_CNF
76272d19872aSmrg
76282d19872aSmrg
76292d19872aSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
76302d19872aSmrg# ---------------------------------
76312d19872aSmrg# Figure out "hidden" library dependencies from verbose
76322d19872aSmrg# compiler output when linking a shared library.
76332d19872aSmrg# Parse the compiler output and extract the necessary
76342d19872aSmrg# objects, libraries and library flags.
76352d19872aSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
76362d19872aSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
76372d19872aSmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
76382d19872aSmrg# Dependencies to place before and after the object being linked:
76392d19872aSmrg_LT_TAGVAR(predep_objects, $1)=
76402d19872aSmrg_LT_TAGVAR(postdep_objects, $1)=
76412d19872aSmrg_LT_TAGVAR(predeps, $1)=
76422d19872aSmrg_LT_TAGVAR(postdeps, $1)=
76432d19872aSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
76442d19872aSmrg
76452d19872aSmrgdnl we can't use the lt_simple_compile_test_code here,
76462d19872aSmrgdnl because it contains code intended for an executable,
76472d19872aSmrgdnl not a library.  It's possible we should let each
76482d19872aSmrgdnl tag define a new lt_????_link_test_code variable,
76492d19872aSmrgdnl but it's only used here...
76502d19872aSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
76512d19872aSmrgint a;
76522d19872aSmrgvoid foo (void) { a = 0; }
76532d19872aSmrg_LT_EOF
76542d19872aSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
76552d19872aSmrgclass Foo
76562d19872aSmrg{
76572d19872aSmrgpublic:
76582d19872aSmrg  Foo (void) { a = 0; }
76592d19872aSmrgprivate:
76602d19872aSmrg  int a;
76612d19872aSmrg};
76622d19872aSmrg_LT_EOF
76632d19872aSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
76642d19872aSmrg      subroutine foo
76652d19872aSmrg      implicit none
76662d19872aSmrg      integer*4 a
76672d19872aSmrg      a=0
76682d19872aSmrg      return
76692d19872aSmrg      end
76702d19872aSmrg_LT_EOF
76712d19872aSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
76722d19872aSmrg      subroutine foo
76732d19872aSmrg      implicit none
76742d19872aSmrg      integer a
76752d19872aSmrg      a=0
76762d19872aSmrg      return
76772d19872aSmrg      end
76782d19872aSmrg_LT_EOF
76792d19872aSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
76802d19872aSmrgpublic class foo {
76812d19872aSmrg  private int a;
76822d19872aSmrg  public void bar (void) {
76832d19872aSmrg    a = 0;
76842d19872aSmrg  }
76852d19872aSmrg};
76862d19872aSmrg_LT_EOF
76872d19872aSmrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
76882d19872aSmrgpackage foo
76892d19872aSmrgfunc foo() {
76902d19872aSmrg}
76912d19872aSmrg_LT_EOF
76922d19872aSmrg])
76932d19872aSmrg
76942d19872aSmrg_lt_libdeps_save_CFLAGS=$CFLAGS
76952d19872aSmrgcase "$CC $CFLAGS " in #(
76962d19872aSmrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
76972d19872aSmrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
76982d19872aSmrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
76992d19872aSmrgesac
77002d19872aSmrg
77012d19872aSmrgdnl Parse the compiler output and extract the necessary
77022d19872aSmrgdnl objects, libraries and library flags.
77032d19872aSmrgif AC_TRY_EVAL(ac_compile); then
77042d19872aSmrg  # Parse the compiler output and extract the necessary
77052d19872aSmrg  # objects, libraries and library flags.
77062d19872aSmrg
77072d19872aSmrg  # Sentinel used to keep track of whether or not we are before
77082d19872aSmrg  # the conftest object file.
77092d19872aSmrg  pre_test_object_deps_done=no
77102d19872aSmrg
77112d19872aSmrg  for p in `eval "$output_verbose_link_cmd"`; do
77122d19872aSmrg    case $prev$p in
77132d19872aSmrg
77142d19872aSmrg    -L* | -R* | -l*)
77152f76b07dSmrg       # Some compilers place space between "-{L,R,l}" and the path.
77162d19872aSmrg       # Remove the space.
77172f76b07dSmrg       if test x-L = x"$p" ||
77182f76b07dSmrg          test x-R = x"$p" ||
77192f76b07dSmrg          test x-l = x"$p"; then
77202d19872aSmrg	 prev=$p
77212d19872aSmrg	 continue
77222d19872aSmrg       fi
77232d19872aSmrg
77242d19872aSmrg       # Expand the sysroot to ease extracting the directories later.
77252d19872aSmrg       if test -z "$prev"; then
77262d19872aSmrg         case $p in
77272d19872aSmrg         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
77282d19872aSmrg         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
77292d19872aSmrg         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
77302d19872aSmrg         esac
77312d19872aSmrg       fi
77322d19872aSmrg       case $p in
77332d19872aSmrg       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
77342d19872aSmrg       esac
77352d19872aSmrg       if test no = "$pre_test_object_deps_done"; then
77362d19872aSmrg	 case $prev in
77372d19872aSmrg	 -L | -R)
77382d19872aSmrg	   # Internal compiler library paths should come after those
77392d19872aSmrg	   # provided the user.  The postdeps already come after the
77402d19872aSmrg	   # user supplied libs so there is no need to process them.
77412d19872aSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
77422d19872aSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
77432d19872aSmrg	   else
77442d19872aSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
77452d19872aSmrg	   fi
77462d19872aSmrg	   ;;
77472d19872aSmrg	 # The "-l" case would never come before the object being
77482d19872aSmrg	 # linked, so don't bother handling this case.
77492d19872aSmrg	 esac
77502d19872aSmrg       else
77512d19872aSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
77522d19872aSmrg	   _LT_TAGVAR(postdeps, $1)=$prev$p
77532d19872aSmrg	 else
77542d19872aSmrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
77552d19872aSmrg	 fi
77562d19872aSmrg       fi
77572d19872aSmrg       prev=
77582d19872aSmrg       ;;
77592d19872aSmrg
77602d19872aSmrg    *.lto.$objext) ;; # Ignore GCC LTO objects
77612d19872aSmrg    *.$objext)
77622d19872aSmrg       # This assumes that the test object file only shows up
77632d19872aSmrg       # once in the compiler output.
77642d19872aSmrg       if test "$p" = "conftest.$objext"; then
77652d19872aSmrg	 pre_test_object_deps_done=yes
77662d19872aSmrg	 continue
77672d19872aSmrg       fi
77682d19872aSmrg
77692d19872aSmrg       if test no = "$pre_test_object_deps_done"; then
77702d19872aSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
77712d19872aSmrg	   _LT_TAGVAR(predep_objects, $1)=$p
77722d19872aSmrg	 else
77732d19872aSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
77742d19872aSmrg	 fi
77752d19872aSmrg       else
77762d19872aSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
77772d19872aSmrg	   _LT_TAGVAR(postdep_objects, $1)=$p
77782d19872aSmrg	 else
77792d19872aSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
77802d19872aSmrg	 fi
77812d19872aSmrg       fi
77822d19872aSmrg       ;;
77832d19872aSmrg
77842d19872aSmrg    *) ;; # Ignore the rest.
77852d19872aSmrg
77862d19872aSmrg    esac
77872d19872aSmrg  done
77882d19872aSmrg
77892d19872aSmrg  # Clean up.
77902d19872aSmrg  rm -f a.out a.exe
77912d19872aSmrgelse
77922d19872aSmrg  echo "libtool.m4: error: problem compiling $1 test program"
77932d19872aSmrgfi
77942d19872aSmrg
77952d19872aSmrg$RM -f confest.$objext
77962d19872aSmrgCFLAGS=$_lt_libdeps_save_CFLAGS
77972d19872aSmrg
77982d19872aSmrg# PORTME: override above test on systems where it is broken
77992d19872aSmrgm4_if([$1], [CXX],
78002d19872aSmrg[case $host_os in
78012d19872aSmrginterix[[3-9]]*)
78022d19872aSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
78032d19872aSmrg  # hack all around it, let's just trust "g++" to DTRT.
78042d19872aSmrg  _LT_TAGVAR(predep_objects,$1)=
78052d19872aSmrg  _LT_TAGVAR(postdep_objects,$1)=
78062d19872aSmrg  _LT_TAGVAR(postdeps,$1)=
78072d19872aSmrg  ;;
78082d19872aSmrgesac
78092d19872aSmrg])
78102d19872aSmrg
78112d19872aSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
78122d19872aSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
78132d19872aSmrgesac
78142d19872aSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
78152d19872aSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
78162d19872aSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
78172d19872aSmrgfi
78182d19872aSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
78192d19872aSmrg    [The directories searched by this compiler when creating a shared library])
78202d19872aSmrg_LT_TAGDECL([], [predep_objects], [1],
78212d19872aSmrg    [Dependencies to place before and after the objects being linked to
78222d19872aSmrg    create a shared library])
78232d19872aSmrg_LT_TAGDECL([], [postdep_objects], [1])
78242d19872aSmrg_LT_TAGDECL([], [predeps], [1])
78252d19872aSmrg_LT_TAGDECL([], [postdeps], [1])
78262d19872aSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
78272d19872aSmrg    [The library search path used internally by the compiler when linking
78282d19872aSmrg    a shared library])
78292d19872aSmrg])# _LT_SYS_HIDDEN_LIBDEPS
78302d19872aSmrg
78312d19872aSmrg
78322d19872aSmrg# _LT_LANG_F77_CONFIG([TAG])
78332d19872aSmrg# --------------------------
78342d19872aSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
78352d19872aSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
78362d19872aSmrg# to write the compiler configuration to 'libtool'.
78372d19872aSmrgm4_defun([_LT_LANG_F77_CONFIG],
78382d19872aSmrg[AC_LANG_PUSH(Fortran 77)
78392d19872aSmrgif test -z "$F77" || test no = "$F77"; then
78402d19872aSmrg  _lt_disable_F77=yes
78412d19872aSmrgfi
78422d19872aSmrg
78432d19872aSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
78442d19872aSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
78452d19872aSmrg_LT_TAGVAR(always_export_symbols, $1)=no
78462d19872aSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
78472d19872aSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
78482d19872aSmrg_LT_TAGVAR(hardcode_direct, $1)=no
78492d19872aSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
78502d19872aSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
78512d19872aSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
78522d19872aSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
78532d19872aSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
78542d19872aSmrg_LT_TAGVAR(inherit_rpath, $1)=no
78552d19872aSmrg_LT_TAGVAR(module_cmds, $1)=
78562d19872aSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
78572d19872aSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
78582d19872aSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
78592d19872aSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
78602d19872aSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
78612d19872aSmrg_LT_TAGVAR(no_undefined_flag, $1)=
78622d19872aSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
78632d19872aSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
78642d19872aSmrg
78652d19872aSmrg# Source file extension for f77 test sources.
78662d19872aSmrgac_ext=f
78672d19872aSmrg
78682d19872aSmrg# Object file extension for compiled f77 test sources.
78692d19872aSmrgobjext=o
78702d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
78712d19872aSmrg
78722d19872aSmrg# No sense in running all these tests if we already determined that
78732d19872aSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
78742d19872aSmrg# are currently assumed to apply to all compilers on this platform,
78752d19872aSmrg# and will be corrupted by setting them based on a non-working compiler.
78762d19872aSmrgif test yes != "$_lt_disable_F77"; then
78772d19872aSmrg  # Code to be used in simple compile tests
78782d19872aSmrg  lt_simple_compile_test_code="\
78792d19872aSmrg      subroutine t
78802d19872aSmrg      return
78812d19872aSmrg      end
78822d19872aSmrg"
78832d19872aSmrg
78842d19872aSmrg  # Code to be used in simple link tests
78852d19872aSmrg  lt_simple_link_test_code="\
78862d19872aSmrg      program t
78872d19872aSmrg      end
78882d19872aSmrg"
78892d19872aSmrg
78902d19872aSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
78912d19872aSmrg  _LT_TAG_COMPILER
78922d19872aSmrg
78932d19872aSmrg  # save warnings/boilerplate of simple test code
78942d19872aSmrg  _LT_COMPILER_BOILERPLATE
78952d19872aSmrg  _LT_LINKER_BOILERPLATE
78962d19872aSmrg
78972d19872aSmrg  # Allow CC to be a program name with arguments.
78982d19872aSmrg  lt_save_CC=$CC
78992d19872aSmrg  lt_save_GCC=$GCC
79002d19872aSmrg  lt_save_CFLAGS=$CFLAGS
79012d19872aSmrg  CC=${F77-"f77"}
79022d19872aSmrg  CFLAGS=$FFLAGS
79032d19872aSmrg  compiler=$CC
79042d19872aSmrg  _LT_TAGVAR(compiler, $1)=$CC
79052d19872aSmrg  _LT_CC_BASENAME([$compiler])
79062d19872aSmrg  GCC=$G77
79072d19872aSmrg  if test -n "$compiler"; then
79082d19872aSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
79092d19872aSmrg    AC_MSG_RESULT([$can_build_shared])
79102d19872aSmrg
79112d19872aSmrg    AC_MSG_CHECKING([whether to build shared libraries])
79122d19872aSmrg    test no = "$can_build_shared" && enable_shared=no
79132d19872aSmrg
79142d19872aSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
79152d19872aSmrg    # are all built from PIC.
79162d19872aSmrg    case $host_os in
79172d19872aSmrg      aix3*)
79182d19872aSmrg        test yes = "$enable_shared" && enable_static=no
79192d19872aSmrg        if test -n "$RANLIB"; then
79202d19872aSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
79212d19872aSmrg          postinstall_cmds='$RANLIB $lib'
79222d19872aSmrg        fi
79232d19872aSmrg        ;;
79242d19872aSmrg      aix[[4-9]]*)
79252d19872aSmrg	if test ia64 != "$host_cpu"; then
79262d19872aSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
79272d19872aSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
79282d19872aSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
79292d19872aSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
79302d19872aSmrg	  esac
79312d19872aSmrg	fi
79322d19872aSmrg        ;;
79332d19872aSmrg    esac
79342d19872aSmrg    AC_MSG_RESULT([$enable_shared])
79352d19872aSmrg
79362d19872aSmrg    AC_MSG_CHECKING([whether to build static libraries])
79372d19872aSmrg    # Make sure either enable_shared or enable_static is yes.
79382d19872aSmrg    test yes = "$enable_shared" || enable_static=yes
79392d19872aSmrg    AC_MSG_RESULT([$enable_static])
79402d19872aSmrg
79412d19872aSmrg    _LT_TAGVAR(GCC, $1)=$G77
79422d19872aSmrg    _LT_TAGVAR(LD, $1)=$LD
79432d19872aSmrg
79442d19872aSmrg    ## CAVEAT EMPTOR:
79452d19872aSmrg    ## There is no encapsulation within the following macros, do not change
79462d19872aSmrg    ## the running order or otherwise move them around unless you know exactly
79472d19872aSmrg    ## what you are doing...
79482d19872aSmrg    _LT_COMPILER_PIC($1)
79492d19872aSmrg    _LT_COMPILER_C_O($1)
79502d19872aSmrg    _LT_COMPILER_FILE_LOCKS($1)
79512d19872aSmrg    _LT_LINKER_SHLIBS($1)
79522d19872aSmrg    _LT_SYS_DYNAMIC_LINKER($1)
79532d19872aSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
79542d19872aSmrg
79552d19872aSmrg    _LT_CONFIG($1)
79562d19872aSmrg  fi # test -n "$compiler"
79572d19872aSmrg
79582d19872aSmrg  GCC=$lt_save_GCC
79592d19872aSmrg  CC=$lt_save_CC
79602d19872aSmrg  CFLAGS=$lt_save_CFLAGS
79612d19872aSmrgfi # test yes != "$_lt_disable_F77"
79622d19872aSmrg
79632d19872aSmrgAC_LANG_POP
79642d19872aSmrg])# _LT_LANG_F77_CONFIG
79652d19872aSmrg
79662d19872aSmrg
79672d19872aSmrg# _LT_LANG_FC_CONFIG([TAG])
79682d19872aSmrg# -------------------------
79692d19872aSmrg# Ensure that the configuration variables for a Fortran compiler are
79702d19872aSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
79712d19872aSmrg# to write the compiler configuration to 'libtool'.
79722d19872aSmrgm4_defun([_LT_LANG_FC_CONFIG],
79732d19872aSmrg[AC_LANG_PUSH(Fortran)
79742d19872aSmrg
79752d19872aSmrgif test -z "$FC" || test no = "$FC"; then
79762d19872aSmrg  _lt_disable_FC=yes
79772d19872aSmrgfi
79782d19872aSmrg
79792d19872aSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
79802d19872aSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
79812d19872aSmrg_LT_TAGVAR(always_export_symbols, $1)=no
79822d19872aSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
79832d19872aSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
79842d19872aSmrg_LT_TAGVAR(hardcode_direct, $1)=no
79852d19872aSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
79862d19872aSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
79872d19872aSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
79882d19872aSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
79892d19872aSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
79902d19872aSmrg_LT_TAGVAR(inherit_rpath, $1)=no
79912d19872aSmrg_LT_TAGVAR(module_cmds, $1)=
79922d19872aSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
79932d19872aSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
79942d19872aSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
79952d19872aSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
79962d19872aSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
79972d19872aSmrg_LT_TAGVAR(no_undefined_flag, $1)=
79982d19872aSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
79992d19872aSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
80002d19872aSmrg
80012d19872aSmrg# Source file extension for fc test sources.
80022d19872aSmrgac_ext=${ac_fc_srcext-f}
80032d19872aSmrg
80042d19872aSmrg# Object file extension for compiled fc test sources.
80052d19872aSmrgobjext=o
80062d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
80072d19872aSmrg
80082d19872aSmrg# No sense in running all these tests if we already determined that
80092d19872aSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
80102d19872aSmrg# are currently assumed to apply to all compilers on this platform,
80112d19872aSmrg# and will be corrupted by setting them based on a non-working compiler.
80122d19872aSmrgif test yes != "$_lt_disable_FC"; then
80132d19872aSmrg  # Code to be used in simple compile tests
80142d19872aSmrg  lt_simple_compile_test_code="\
80152d19872aSmrg      subroutine t
80162d19872aSmrg      return
80172d19872aSmrg      end
80182d19872aSmrg"
80192d19872aSmrg
80202d19872aSmrg  # Code to be used in simple link tests
80212d19872aSmrg  lt_simple_link_test_code="\
80222d19872aSmrg      program t
80232d19872aSmrg      end
80242d19872aSmrg"
80252d19872aSmrg
80262d19872aSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
80272d19872aSmrg  _LT_TAG_COMPILER
80282d19872aSmrg
80292d19872aSmrg  # save warnings/boilerplate of simple test code
80302d19872aSmrg  _LT_COMPILER_BOILERPLATE
80312d19872aSmrg  _LT_LINKER_BOILERPLATE
80322d19872aSmrg
80332d19872aSmrg  # Allow CC to be a program name with arguments.
80342d19872aSmrg  lt_save_CC=$CC
80352d19872aSmrg  lt_save_GCC=$GCC
80362d19872aSmrg  lt_save_CFLAGS=$CFLAGS
80372d19872aSmrg  CC=${FC-"f95"}
80382d19872aSmrg  CFLAGS=$FCFLAGS
80392d19872aSmrg  compiler=$CC
80402d19872aSmrg  GCC=$ac_cv_fc_compiler_gnu
80412d19872aSmrg
80422d19872aSmrg  _LT_TAGVAR(compiler, $1)=$CC
80432d19872aSmrg  _LT_CC_BASENAME([$compiler])
80442d19872aSmrg
80452d19872aSmrg  if test -n "$compiler"; then
80462d19872aSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
80472d19872aSmrg    AC_MSG_RESULT([$can_build_shared])
80482d19872aSmrg
80492d19872aSmrg    AC_MSG_CHECKING([whether to build shared libraries])
80502d19872aSmrg    test no = "$can_build_shared" && enable_shared=no
80512d19872aSmrg
80522d19872aSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
80532d19872aSmrg    # are all built from PIC.
80542d19872aSmrg    case $host_os in
80552d19872aSmrg      aix3*)
80562d19872aSmrg        test yes = "$enable_shared" && enable_static=no
80572d19872aSmrg        if test -n "$RANLIB"; then
80582d19872aSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
80592d19872aSmrg          postinstall_cmds='$RANLIB $lib'
80602d19872aSmrg        fi
80612d19872aSmrg        ;;
80622d19872aSmrg      aix[[4-9]]*)
80632d19872aSmrg	if test ia64 != "$host_cpu"; then
80642d19872aSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
80652d19872aSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
80662d19872aSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
80672d19872aSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
80682d19872aSmrg	  esac
80692d19872aSmrg	fi
80702d19872aSmrg        ;;
80712d19872aSmrg    esac
80722d19872aSmrg    AC_MSG_RESULT([$enable_shared])
80732d19872aSmrg
80742d19872aSmrg    AC_MSG_CHECKING([whether to build static libraries])
80752d19872aSmrg    # Make sure either enable_shared or enable_static is yes.
80762d19872aSmrg    test yes = "$enable_shared" || enable_static=yes
80772d19872aSmrg    AC_MSG_RESULT([$enable_static])
80782d19872aSmrg
80792d19872aSmrg    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
80802d19872aSmrg    _LT_TAGVAR(LD, $1)=$LD
80812d19872aSmrg
80822d19872aSmrg    ## CAVEAT EMPTOR:
80832d19872aSmrg    ## There is no encapsulation within the following macros, do not change
80842d19872aSmrg    ## the running order or otherwise move them around unless you know exactly
80852d19872aSmrg    ## what you are doing...
80862d19872aSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
80872d19872aSmrg    _LT_COMPILER_PIC($1)
80882d19872aSmrg    _LT_COMPILER_C_O($1)
80892d19872aSmrg    _LT_COMPILER_FILE_LOCKS($1)
80902d19872aSmrg    _LT_LINKER_SHLIBS($1)
80912d19872aSmrg    _LT_SYS_DYNAMIC_LINKER($1)
80922d19872aSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
80932d19872aSmrg
80942d19872aSmrg    _LT_CONFIG($1)
80952d19872aSmrg  fi # test -n "$compiler"
80962d19872aSmrg
80972d19872aSmrg  GCC=$lt_save_GCC
80982d19872aSmrg  CC=$lt_save_CC
80992d19872aSmrg  CFLAGS=$lt_save_CFLAGS
81002d19872aSmrgfi # test yes != "$_lt_disable_FC"
81012d19872aSmrg
81022d19872aSmrgAC_LANG_POP
81032d19872aSmrg])# _LT_LANG_FC_CONFIG
81042d19872aSmrg
81052d19872aSmrg
81062d19872aSmrg# _LT_LANG_GCJ_CONFIG([TAG])
81072d19872aSmrg# --------------------------
81082d19872aSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
81092d19872aSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
81102d19872aSmrg# to write the compiler configuration to 'libtool'.
81112d19872aSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
81122d19872aSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
81132d19872aSmrgAC_LANG_SAVE
81142d19872aSmrg
81152d19872aSmrg# Source file extension for Java test sources.
81162d19872aSmrgac_ext=java
81172d19872aSmrg
81182d19872aSmrg# Object file extension for compiled Java test sources.
81192d19872aSmrgobjext=o
81202d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
81212d19872aSmrg
81222d19872aSmrg# Code to be used in simple compile tests
81232d19872aSmrglt_simple_compile_test_code="class foo {}"
81242d19872aSmrg
81252d19872aSmrg# Code to be used in simple link tests
81262d19872aSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
81272d19872aSmrg
81282d19872aSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
81292d19872aSmrg_LT_TAG_COMPILER
81302d19872aSmrg
81312d19872aSmrg# save warnings/boilerplate of simple test code
81322d19872aSmrg_LT_COMPILER_BOILERPLATE
81332d19872aSmrg_LT_LINKER_BOILERPLATE
81342d19872aSmrg
81352d19872aSmrg# Allow CC to be a program name with arguments.
81362d19872aSmrglt_save_CC=$CC
81372d19872aSmrglt_save_CFLAGS=$CFLAGS
81382d19872aSmrglt_save_GCC=$GCC
81392d19872aSmrgGCC=yes
81402d19872aSmrgCC=${GCJ-"gcj"}
81412d19872aSmrgCFLAGS=$GCJFLAGS
81422d19872aSmrgcompiler=$CC
81432d19872aSmrg_LT_TAGVAR(compiler, $1)=$CC
81442d19872aSmrg_LT_TAGVAR(LD, $1)=$LD
81452d19872aSmrg_LT_CC_BASENAME([$compiler])
81462d19872aSmrg
81472d19872aSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
81482d19872aSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
81492d19872aSmrg
81502d19872aSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
81512d19872aSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
81522d19872aSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
81532d19872aSmrg
81542d19872aSmrg## CAVEAT EMPTOR:
81552d19872aSmrg## There is no encapsulation within the following macros, do not change
81562d19872aSmrg## the running order or otherwise move them around unless you know exactly
81572d19872aSmrg## what you are doing...
81582d19872aSmrgif test -n "$compiler"; then
81592d19872aSmrg  _LT_COMPILER_NO_RTTI($1)
81602d19872aSmrg  _LT_COMPILER_PIC($1)
81612d19872aSmrg  _LT_COMPILER_C_O($1)
81622d19872aSmrg  _LT_COMPILER_FILE_LOCKS($1)
81632d19872aSmrg  _LT_LINKER_SHLIBS($1)
81642d19872aSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
81652d19872aSmrg
81662d19872aSmrg  _LT_CONFIG($1)
81672d19872aSmrgfi
81682d19872aSmrg
81692d19872aSmrgAC_LANG_RESTORE
81702d19872aSmrg
81712d19872aSmrgGCC=$lt_save_GCC
81722d19872aSmrgCC=$lt_save_CC
81732d19872aSmrgCFLAGS=$lt_save_CFLAGS
81742d19872aSmrg])# _LT_LANG_GCJ_CONFIG
81752d19872aSmrg
81762d19872aSmrg
81772d19872aSmrg# _LT_LANG_GO_CONFIG([TAG])
81782d19872aSmrg# --------------------------
81792d19872aSmrg# Ensure that the configuration variables for the GNU Go compiler
81802d19872aSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
81812d19872aSmrg# to write the compiler configuration to 'libtool'.
81822d19872aSmrgm4_defun([_LT_LANG_GO_CONFIG],
81832d19872aSmrg[AC_REQUIRE([LT_PROG_GO])dnl
81842d19872aSmrgAC_LANG_SAVE
81852d19872aSmrg
81862d19872aSmrg# Source file extension for Go test sources.
81872d19872aSmrgac_ext=go
81882d19872aSmrg
81892d19872aSmrg# Object file extension for compiled Go test sources.
81902d19872aSmrgobjext=o
81912d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
81922d19872aSmrg
81932d19872aSmrg# Code to be used in simple compile tests
81942d19872aSmrglt_simple_compile_test_code="package main; func main() { }"
81952d19872aSmrg
81962d19872aSmrg# Code to be used in simple link tests
81972d19872aSmrglt_simple_link_test_code='package main; func main() { }'
81982d19872aSmrg
81992d19872aSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
82002d19872aSmrg_LT_TAG_COMPILER
82012d19872aSmrg
82022d19872aSmrg# save warnings/boilerplate of simple test code
82032d19872aSmrg_LT_COMPILER_BOILERPLATE
82042d19872aSmrg_LT_LINKER_BOILERPLATE
82052d19872aSmrg
82062d19872aSmrg# Allow CC to be a program name with arguments.
82072d19872aSmrglt_save_CC=$CC
82082d19872aSmrglt_save_CFLAGS=$CFLAGS
82092d19872aSmrglt_save_GCC=$GCC
82102d19872aSmrgGCC=yes
82112d19872aSmrgCC=${GOC-"gccgo"}
82122d19872aSmrgCFLAGS=$GOFLAGS
82132d19872aSmrgcompiler=$CC
82142d19872aSmrg_LT_TAGVAR(compiler, $1)=$CC
82152d19872aSmrg_LT_TAGVAR(LD, $1)=$LD
82162d19872aSmrg_LT_CC_BASENAME([$compiler])
82172d19872aSmrg
82182d19872aSmrg# Go did not exist at the time GCC didn't implicitly link libc in.
82192d19872aSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
82202d19872aSmrg
82212d19872aSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
82222d19872aSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
82232d19872aSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
82242d19872aSmrg
82252d19872aSmrg## CAVEAT EMPTOR:
82262d19872aSmrg## There is no encapsulation within the following macros, do not change
82272d19872aSmrg## the running order or otherwise move them around unless you know exactly
82282d19872aSmrg## what you are doing...
82292d19872aSmrgif test -n "$compiler"; then
82302d19872aSmrg  _LT_COMPILER_NO_RTTI($1)
82312d19872aSmrg  _LT_COMPILER_PIC($1)
82322d19872aSmrg  _LT_COMPILER_C_O($1)
82332d19872aSmrg  _LT_COMPILER_FILE_LOCKS($1)
82342d19872aSmrg  _LT_LINKER_SHLIBS($1)
82352d19872aSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
82362d19872aSmrg
82372d19872aSmrg  _LT_CONFIG($1)
82382d19872aSmrgfi
82392d19872aSmrg
82402d19872aSmrgAC_LANG_RESTORE
82412d19872aSmrg
82422d19872aSmrgGCC=$lt_save_GCC
82432d19872aSmrgCC=$lt_save_CC
82442d19872aSmrgCFLAGS=$lt_save_CFLAGS
82452d19872aSmrg])# _LT_LANG_GO_CONFIG
82462d19872aSmrg
82472d19872aSmrg
82482d19872aSmrg# _LT_LANG_RC_CONFIG([TAG])
82492d19872aSmrg# -------------------------
82502d19872aSmrg# Ensure that the configuration variables for the Windows resource compiler
82512d19872aSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
82522d19872aSmrg# to write the compiler configuration to 'libtool'.
82532d19872aSmrgm4_defun([_LT_LANG_RC_CONFIG],
82542d19872aSmrg[AC_REQUIRE([LT_PROG_RC])dnl
82552d19872aSmrgAC_LANG_SAVE
82562d19872aSmrg
82572d19872aSmrg# Source file extension for RC test sources.
82582d19872aSmrgac_ext=rc
82592d19872aSmrg
82602d19872aSmrg# Object file extension for compiled RC test sources.
82612d19872aSmrgobjext=o
82622d19872aSmrg_LT_TAGVAR(objext, $1)=$objext
82632d19872aSmrg
82642d19872aSmrg# Code to be used in simple compile tests
82652d19872aSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
82662d19872aSmrg
82672d19872aSmrg# Code to be used in simple link tests
82682d19872aSmrglt_simple_link_test_code=$lt_simple_compile_test_code
82692d19872aSmrg
82702d19872aSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
82712d19872aSmrg_LT_TAG_COMPILER
82722d19872aSmrg
82732d19872aSmrg# save warnings/boilerplate of simple test code
82742d19872aSmrg_LT_COMPILER_BOILERPLATE
82752d19872aSmrg_LT_LINKER_BOILERPLATE
82762d19872aSmrg
82772d19872aSmrg# Allow CC to be a program name with arguments.
82782d19872aSmrglt_save_CC=$CC
82792d19872aSmrglt_save_CFLAGS=$CFLAGS
82802d19872aSmrglt_save_GCC=$GCC
82812d19872aSmrgGCC=
82822d19872aSmrgCC=${RC-"windres"}
82832d19872aSmrgCFLAGS=
82842d19872aSmrgcompiler=$CC
82852d19872aSmrg_LT_TAGVAR(compiler, $1)=$CC
82862d19872aSmrg_LT_CC_BASENAME([$compiler])
82872d19872aSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
82882d19872aSmrg
82892d19872aSmrgif test -n "$compiler"; then
82902d19872aSmrg  :
82912d19872aSmrg  _LT_CONFIG($1)
82922d19872aSmrgfi
82932d19872aSmrg
82942d19872aSmrgGCC=$lt_save_GCC
82952d19872aSmrgAC_LANG_RESTORE
82962d19872aSmrgCC=$lt_save_CC
82972d19872aSmrgCFLAGS=$lt_save_CFLAGS
82982d19872aSmrg])# _LT_LANG_RC_CONFIG
82992d19872aSmrg
83002d19872aSmrg
83012d19872aSmrg# LT_PROG_GCJ
83022d19872aSmrg# -----------
83032d19872aSmrgAC_DEFUN([LT_PROG_GCJ],
83042d19872aSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
83052d19872aSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
83062d19872aSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
83072d19872aSmrg      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
83082d19872aSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
83092d19872aSmrg])
83102d19872aSmrg
83112d19872aSmrg# Old name:
83122d19872aSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
83132d19872aSmrgdnl aclocal-1.4 backwards compatibility:
83142d19872aSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
83152d19872aSmrg
83162d19872aSmrg
83172d19872aSmrg# LT_PROG_GO
83182d19872aSmrg# ----------
83192d19872aSmrgAC_DEFUN([LT_PROG_GO],
83202d19872aSmrg[AC_CHECK_TOOL(GOC, gccgo,)
83212d19872aSmrg])
83222d19872aSmrg
83232d19872aSmrg
83242d19872aSmrg# LT_PROG_RC
83252d19872aSmrg# ----------
83262d19872aSmrgAC_DEFUN([LT_PROG_RC],
83272d19872aSmrg[AC_CHECK_TOOL(RC, windres,)
83282d19872aSmrg])
83292d19872aSmrg
83302d19872aSmrg# Old name:
83312d19872aSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
83322d19872aSmrgdnl aclocal-1.4 backwards compatibility:
83332d19872aSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
83342d19872aSmrg
83352d19872aSmrg
83362d19872aSmrg# _LT_DECL_EGREP
83372d19872aSmrg# --------------
83382d19872aSmrg# If we don't have a new enough Autoconf to choose the best grep
83392d19872aSmrg# available, choose the one first in the user's PATH.
83402d19872aSmrgm4_defun([_LT_DECL_EGREP],
83412d19872aSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
83422d19872aSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
83432d19872aSmrgtest -z "$GREP" && GREP=grep
83442d19872aSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
83452d19872aSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
83462d19872aSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
83472d19872aSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
83482d19872aSmrgAC_SUBST([GREP])
83492d19872aSmrg])
83502d19872aSmrg
83512d19872aSmrg
83522d19872aSmrg# _LT_DECL_OBJDUMP
83532d19872aSmrg# --------------
83542d19872aSmrg# If we don't have a new enough Autoconf to choose the best objdump
83552d19872aSmrg# available, choose the one first in the user's PATH.
83562d19872aSmrgm4_defun([_LT_DECL_OBJDUMP],
83572d19872aSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
83582d19872aSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
83592d19872aSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
83602d19872aSmrgAC_SUBST([OBJDUMP])
83612d19872aSmrg])
83622d19872aSmrg
83632d19872aSmrg# _LT_DECL_DLLTOOL
83642d19872aSmrg# ----------------
83652d19872aSmrg# Ensure DLLTOOL variable is set.
83662d19872aSmrgm4_defun([_LT_DECL_DLLTOOL],
83672d19872aSmrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
83682d19872aSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
83692d19872aSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
83702d19872aSmrgAC_SUBST([DLLTOOL])
83712d19872aSmrg])
83722d19872aSmrg
83732d19872aSmrg# _LT_DECL_FILECMD
83742d19872aSmrg# ----------------
83752d19872aSmrg# Check for a file(cmd) program that can be used to detect file type and magic
83762d19872aSmrgm4_defun([_LT_DECL_FILECMD],
83772f76b07dSmrg[AC_CHECK_PROG([FILECMD], [file], [file], [:])
83782d19872aSmrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
83792d19872aSmrg])# _LD_DECL_FILECMD
83802d19872aSmrg
83812d19872aSmrg# _LT_DECL_SED
83822d19872aSmrg# ------------
83832d19872aSmrg# Check for a fully-functional sed program, that truncates
83842d19872aSmrg# as few characters as possible.  Prefer GNU sed if found.
83852d19872aSmrgm4_defun([_LT_DECL_SED],
83862d19872aSmrg[AC_PROG_SED
83872d19872aSmrgtest -z "$SED" && SED=sed
83882d19872aSmrgXsed="$SED -e 1s/^X//"
83892d19872aSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
83902d19872aSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
83912d19872aSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
83922d19872aSmrg])# _LT_DECL_SED
83932d19872aSmrgdnl aclocal-1.4 backwards compatibility:
83942d19872aSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
83952d19872aSmrg
83962d19872aSmrg
83972d19872aSmrg# _LT_CHECK_SHELL_FEATURES
83982d19872aSmrg# ------------------------
83992d19872aSmrg# Find out whether the shell is Bourne or XSI compatible,
84002d19872aSmrg# or has some other useful features.
84012d19872aSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
84022d19872aSmrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
84032d19872aSmrg  lt_unset=unset
84042d19872aSmrgelse
84052d19872aSmrg  lt_unset=false
84062d19872aSmrgfi
84072d19872aSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
84082d19872aSmrg
84092d19872aSmrg# test EBCDIC or ASCII
84102d19872aSmrgcase `echo X|tr X '\101'` in
84112d19872aSmrg A) # ASCII based system
84122d19872aSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
84132d19872aSmrg  lt_SP2NL='tr \040 \012'
84142d19872aSmrg  lt_NL2SP='tr \015\012 \040\040'
84152d19872aSmrg  ;;
84162d19872aSmrg *) # EBCDIC based system
84172d19872aSmrg  lt_SP2NL='tr \100 \n'
84182d19872aSmrg  lt_NL2SP='tr \r\n \100\100'
84192d19872aSmrg  ;;
84202d19872aSmrgesac
84212d19872aSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
84222d19872aSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
84232d19872aSmrg])# _LT_CHECK_SHELL_FEATURES
84242d19872aSmrg
84252d19872aSmrg
84262d19872aSmrg# _LT_PATH_CONVERSION_FUNCTIONS
84272d19872aSmrg# -----------------------------
84282d19872aSmrg# Determine what file name conversion functions should be used by
84292d19872aSmrg# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
84302d19872aSmrg# for certain cross-compile configurations and native mingw.
84312d19872aSmrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
84322d19872aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
84332d19872aSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
84342d19872aSmrgAC_MSG_CHECKING([how to convert $build file names to $host format])
84352d19872aSmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd,
84362d19872aSmrg[case $host in
84372d19872aSmrg  *-*-mingw* )
84382d19872aSmrg    case $build in
84392f76b07dSmrg      *-*-mingw* | *-*-windows* ) # actually msys
84402d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
84412d19872aSmrg        ;;
84422d19872aSmrg      *-*-cygwin* )
84432d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
84442d19872aSmrg        ;;
84452d19872aSmrg      * ) # otherwise, assume *nix
84462d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
84472d19872aSmrg        ;;
84482d19872aSmrg    esac
84492d19872aSmrg    ;;
84502d19872aSmrg  *-*-cygwin* )
84512d19872aSmrg    case $build in
84522f76b07dSmrg      *-*-mingw* | *-*-windows* ) # actually msys
84532d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
84542d19872aSmrg        ;;
84552d19872aSmrg      *-*-cygwin* )
84562d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_noop
84572d19872aSmrg        ;;
84582d19872aSmrg      * ) # otherwise, assume *nix
84592d19872aSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
84602d19872aSmrg        ;;
84612d19872aSmrg    esac
84622d19872aSmrg    ;;
84632d19872aSmrg  * ) # unhandled hosts (and "normal" native builds)
84642d19872aSmrg    lt_cv_to_host_file_cmd=func_convert_file_noop
84652d19872aSmrg    ;;
84662d19872aSmrgesac
84672d19872aSmrg])
84682d19872aSmrgto_host_file_cmd=$lt_cv_to_host_file_cmd
84692d19872aSmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
84702d19872aSmrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
84712d19872aSmrg         [0], [convert $build file names to $host format])dnl
84722d19872aSmrg
84732d19872aSmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format])
84742d19872aSmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
84752d19872aSmrg[#assume ordinary cross tools, or native build.
84762d19872aSmrglt_cv_to_tool_file_cmd=func_convert_file_noop
84772d19872aSmrgcase $host in
84782f76b07dSmrg  *-*-mingw* | *-*-windows* )
84792d19872aSmrg    case $build in
84802f76b07dSmrg      *-*-mingw* | *-*-windows* ) # actually msys
84812d19872aSmrg        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
84822d19872aSmrg        ;;
84832d19872aSmrg    esac
84842d19872aSmrg    ;;
84852d19872aSmrgesac
84862d19872aSmrg])
84872d19872aSmrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd
84882d19872aSmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
84892d19872aSmrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
84902d19872aSmrg         [0], [convert $build files to toolchain format])dnl
84912d19872aSmrg])# _LT_PATH_CONVERSION_FUNCTIONS
8492