xref: /freebsd/contrib/ldns/m4/libtool.m4 (revision 5afab0e5e56fe90a378fb57249600e7924e1cab2)
117d15b25SDag-Erling Smørgrav# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
217d15b25SDag-Erling Smørgrav#
3986ba33cSDag-Erling Smørgrav#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
417d15b25SDag-Erling Smørgrav#   Written by Gordon Matzigkeit, 1996
517d15b25SDag-Erling Smørgrav#
617d15b25SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
717d15b25SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
817d15b25SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
917d15b25SDag-Erling Smørgrav
1017d15b25SDag-Erling Smørgravm4_define([_LT_COPYING], [dnl
11986ba33cSDag-Erling Smørgrav# Copyright (C) 2014 Free Software Foundation, Inc.
12986ba33cSDag-Erling Smørgrav# This is free software; see the source for copying conditions.  There is NO
13986ba33cSDag-Erling Smørgrav# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14986ba33cSDag-Erling Smørgrav
15986ba33cSDag-Erling Smørgrav# GNU Libtool is free software; you can redistribute it and/or modify
16986ba33cSDag-Erling Smørgrav# it under the terms of the GNU General Public License as published by
17986ba33cSDag-Erling Smørgrav# the Free Software Foundation; either version 2 of of the License, or
18986ba33cSDag-Erling Smørgrav# (at your option) any later version.
1917d15b25SDag-Erling Smørgrav#
20986ba33cSDag-Erling Smørgrav# As a special exception to the GNU General Public License, if you
21986ba33cSDag-Erling Smørgrav# distribute this file as part of a program or library that is built
22986ba33cSDag-Erling Smørgrav# using GNU Libtool, you may include this file under the  same
23986ba33cSDag-Erling Smørgrav# distribution terms that you use for the rest of that program.
2417d15b25SDag-Erling Smørgrav#
25986ba33cSDag-Erling Smørgrav# GNU Libtool is distributed in the hope that it will be useful, but
26986ba33cSDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of
2717d15b25SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2817d15b25SDag-Erling Smørgrav# GNU General Public License for more details.
2917d15b25SDag-Erling Smørgrav#
3017d15b25SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License
31986ba33cSDag-Erling Smørgrav# along with this program.  If not, see <http://www.gnu.org/licenses/>.
3217d15b25SDag-Erling Smørgrav])
3317d15b25SDag-Erling Smørgrav
34986ba33cSDag-Erling Smørgrav# serial 58 LT_INIT
3517d15b25SDag-Erling Smørgrav
3617d15b25SDag-Erling Smørgrav
3717d15b25SDag-Erling Smørgrav# LT_PREREQ(VERSION)
3817d15b25SDag-Erling Smørgrav# ------------------
3917d15b25SDag-Erling Smørgrav# Complain and exit if this libtool version is less that VERSION.
4017d15b25SDag-Erling Smørgravm4_defun([LT_PREREQ],
4117d15b25SDag-Erling Smørgrav[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
4217d15b25SDag-Erling Smørgrav       [m4_default([$3],
4317d15b25SDag-Erling Smørgrav		   [m4_fatal([Libtool version $1 or higher is required],
4417d15b25SDag-Erling Smørgrav		             63)])],
4517d15b25SDag-Erling Smørgrav       [$2])])
4617d15b25SDag-Erling Smørgrav
4717d15b25SDag-Erling Smørgrav
4817d15b25SDag-Erling Smørgrav# _LT_CHECK_BUILDDIR
4917d15b25SDag-Erling Smørgrav# ------------------
5017d15b25SDag-Erling Smørgrav# Complain if the absolute build directory name contains unusual characters
5117d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_BUILDDIR],
5217d15b25SDag-Erling Smørgrav[case `pwd` in
5317d15b25SDag-Erling Smørgrav  *\ * | *\	*)
5417d15b25SDag-Erling Smørgrav    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
5517d15b25SDag-Erling Smørgravesac
5617d15b25SDag-Erling Smørgrav])
5717d15b25SDag-Erling Smørgrav
5817d15b25SDag-Erling Smørgrav
5917d15b25SDag-Erling Smørgrav# LT_INIT([OPTIONS])
6017d15b25SDag-Erling Smørgrav# ------------------
6117d15b25SDag-Erling SmørgravAC_DEFUN([LT_INIT],
62986ba33cSDag-Erling Smørgrav[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
6317d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
6417d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LT_LANG])dnl
6517d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LT_OUTPUT])dnl
6617d15b25SDag-Erling SmørgravAC_BEFORE([$0], [LTDL_INIT])dnl
6717d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_BUILDDIR])dnl
6817d15b25SDag-Erling Smørgrav
6917d15b25SDag-Erling Smørgravdnl Autoconf doesn't catch unexpanded LT_ macros by default:
7017d15b25SDag-Erling Smørgravm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
7117d15b25SDag-Erling Smørgravm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
7217d15b25SDag-Erling Smørgravdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
7317d15b25SDag-Erling Smørgravdnl unless we require an AC_DEFUNed macro:
7417d15b25SDag-Erling SmørgravAC_REQUIRE([LTOPTIONS_VERSION])dnl
7517d15b25SDag-Erling SmørgravAC_REQUIRE([LTSUGAR_VERSION])dnl
7617d15b25SDag-Erling SmørgravAC_REQUIRE([LTVERSION_VERSION])dnl
7717d15b25SDag-Erling SmørgravAC_REQUIRE([LTOBSOLETE_VERSION])dnl
7817d15b25SDag-Erling Smørgravm4_require([_LT_PROG_LTMAIN])dnl
7917d15b25SDag-Erling Smørgrav
8017d15b25SDag-Erling Smørgrav_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
8117d15b25SDag-Erling Smørgrav
8217d15b25SDag-Erling Smørgravdnl Parse OPTIONS
8317d15b25SDag-Erling Smørgrav_LT_SET_OPTIONS([$0], [$1])
8417d15b25SDag-Erling Smørgrav
8517d15b25SDag-Erling Smørgrav# This can be used to rebuild libtool when needed
86986ba33cSDag-Erling SmørgravLIBTOOL_DEPS=$ltmain
8717d15b25SDag-Erling Smørgrav
8817d15b25SDag-Erling Smørgrav# Always use our own libtool.
8917d15b25SDag-Erling SmørgravLIBTOOL='$(SHELL) $(top_builddir)/libtool'
9017d15b25SDag-Erling SmørgravAC_SUBST(LIBTOOL)dnl
9117d15b25SDag-Erling Smørgrav
9217d15b25SDag-Erling Smørgrav_LT_SETUP
9317d15b25SDag-Erling Smørgrav
9417d15b25SDag-Erling Smørgrav# Only expand once:
9517d15b25SDag-Erling Smørgravm4_define([LT_INIT])
9617d15b25SDag-Erling Smørgrav])# LT_INIT
9717d15b25SDag-Erling Smørgrav
9817d15b25SDag-Erling Smørgrav# Old names:
9917d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
10017d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
10117d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
10217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
10317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
10417d15b25SDag-Erling Smørgrav
10517d15b25SDag-Erling Smørgrav
106986ba33cSDag-Erling Smørgrav# _LT_PREPARE_CC_BASENAME
107986ba33cSDag-Erling Smørgrav# -----------------------
108986ba33cSDag-Erling Smørgravm4_defun([_LT_PREPARE_CC_BASENAME], [
10917d15b25SDag-Erling Smørgrav# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
110986ba33cSDag-Erling Smørgravfunc_cc_basename ()
111986ba33cSDag-Erling Smørgrav{
112986ba33cSDag-Erling Smørgrav    for cc_temp in @S|@*""; do
11317d15b25SDag-Erling Smørgrav      case $cc_temp in
11417d15b25SDag-Erling Smørgrav        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
11517d15b25SDag-Erling Smørgrav        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
11617d15b25SDag-Erling Smørgrav        \-*) ;;
11717d15b25SDag-Erling Smørgrav        *) break;;
11817d15b25SDag-Erling Smørgrav      esac
11917d15b25SDag-Erling Smørgrav    done
120986ba33cSDag-Erling Smørgrav    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
121986ba33cSDag-Erling Smørgrav}
122986ba33cSDag-Erling Smørgrav])# _LT_PREPARE_CC_BASENAME
123986ba33cSDag-Erling Smørgrav
124986ba33cSDag-Erling Smørgrav
125986ba33cSDag-Erling Smørgrav# _LT_CC_BASENAME(CC)
126986ba33cSDag-Erling Smørgrav# -------------------
127986ba33cSDag-Erling Smørgrav# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
128986ba33cSDag-Erling Smørgrav# but that macro is also expanded into generated libtool script, which
129986ba33cSDag-Erling Smørgrav# arranges for $SED and $ECHO to be set by different means.
130986ba33cSDag-Erling Smørgravm4_defun([_LT_CC_BASENAME],
131986ba33cSDag-Erling Smørgrav[m4_require([_LT_PREPARE_CC_BASENAME])dnl
132986ba33cSDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])dnl
133986ba33cSDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
134986ba33cSDag-Erling Smørgravfunc_cc_basename $1
135986ba33cSDag-Erling Smørgravcc_basename=$func_cc_basename_result
13617d15b25SDag-Erling Smørgrav])
13717d15b25SDag-Erling Smørgrav
13817d15b25SDag-Erling Smørgrav
13917d15b25SDag-Erling Smørgrav# _LT_FILEUTILS_DEFAULTS
14017d15b25SDag-Erling Smørgrav# ----------------------
14117d15b25SDag-Erling Smørgrav# It is okay to use these file commands and assume they have been set
142986ba33cSDag-Erling Smørgrav# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
14317d15b25SDag-Erling Smørgravm4_defun([_LT_FILEUTILS_DEFAULTS],
14417d15b25SDag-Erling Smørgrav[: ${CP="cp -f"}
14517d15b25SDag-Erling Smørgrav: ${MV="mv -f"}
14617d15b25SDag-Erling Smørgrav: ${RM="rm -f"}
14717d15b25SDag-Erling Smørgrav])# _LT_FILEUTILS_DEFAULTS
14817d15b25SDag-Erling Smørgrav
14917d15b25SDag-Erling Smørgrav
15017d15b25SDag-Erling Smørgrav# _LT_SETUP
15117d15b25SDag-Erling Smørgrav# ---------
15217d15b25SDag-Erling Smørgravm4_defun([_LT_SETUP],
15317d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
15417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
15517d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
15617d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
15717d15b25SDag-Erling Smørgrav
15817d15b25SDag-Erling Smørgrav_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
15917d15b25SDag-Erling Smørgravdnl
16017d15b25SDag-Erling Smørgrav_LT_DECL([], [host_alias], [0], [The host system])dnl
16117d15b25SDag-Erling Smørgrav_LT_DECL([], [host], [0])dnl
16217d15b25SDag-Erling Smørgrav_LT_DECL([], [host_os], [0])dnl
16317d15b25SDag-Erling Smørgravdnl
16417d15b25SDag-Erling Smørgrav_LT_DECL([], [build_alias], [0], [The build system])dnl
16517d15b25SDag-Erling Smørgrav_LT_DECL([], [build], [0])dnl
16617d15b25SDag-Erling Smørgrav_LT_DECL([], [build_os], [0])dnl
16717d15b25SDag-Erling Smørgravdnl
16817d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl
16917d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl
17017d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
17117d15b25SDag-Erling Smørgravdnl
17217d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_LN_S])dnl
17317d15b25SDag-Erling Smørgravtest -z "$LN_S" && LN_S="ln -s"
17417d15b25SDag-Erling Smørgrav_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
17517d15b25SDag-Erling Smørgravdnl
17617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_CMD_MAX_LEN])dnl
17717d15b25SDag-Erling Smørgrav_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
17817d15b25SDag-Erling Smørgrav_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
17917d15b25SDag-Erling Smørgravdnl
18017d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
18117d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl
18217d15b25SDag-Erling Smørgravm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
18317d15b25SDag-Erling Smørgravm4_require([_LT_CMD_RELOAD])dnl
18417d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_MAGIC_METHOD])dnl
18517d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
18617d15b25SDag-Erling Smørgravm4_require([_LT_CMD_OLD_ARCHIVE])dnl
18717d15b25SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
18817d15b25SDag-Erling Smørgravm4_require([_LT_WITH_SYSROOT])dnl
189986ba33cSDag-Erling Smørgravm4_require([_LT_CMD_TRUNCATE])dnl
19017d15b25SDag-Erling Smørgrav
19117d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([
192986ba33cSDag-Erling Smørgrav# See if we are running on zsh, and set the options that allow our
19317d15b25SDag-Erling Smørgrav# commands through without removal of \ escapes INIT.
19417d15b25SDag-Erling Smørgravif test -n "\${ZSH_VERSION+set}"; then
19517d15b25SDag-Erling Smørgrav   setopt NO_GLOB_SUBST
19617d15b25SDag-Erling Smørgravfi
19717d15b25SDag-Erling Smørgrav])
19817d15b25SDag-Erling Smørgravif test -n "${ZSH_VERSION+set}"; then
19917d15b25SDag-Erling Smørgrav   setopt NO_GLOB_SUBST
20017d15b25SDag-Erling Smørgravfi
20117d15b25SDag-Erling Smørgrav
20217d15b25SDag-Erling Smørgrav_LT_CHECK_OBJDIR
20317d15b25SDag-Erling Smørgrav
20417d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
20517d15b25SDag-Erling Smørgrav
20617d15b25SDag-Erling Smørgravcase $host_os in
20717d15b25SDag-Erling Smørgravaix3*)
20817d15b25SDag-Erling Smørgrav  # AIX sometimes has problems with the GCC collect2 program.  For some
20917d15b25SDag-Erling Smørgrav  # reason, if we set the COLLECT_NAMES environment variable, the problems
21017d15b25SDag-Erling Smørgrav  # vanish in a puff of smoke.
211986ba33cSDag-Erling Smørgrav  if test set != "${COLLECT_NAMES+set}"; then
21217d15b25SDag-Erling Smørgrav    COLLECT_NAMES=
21317d15b25SDag-Erling Smørgrav    export COLLECT_NAMES
21417d15b25SDag-Erling Smørgrav  fi
21517d15b25SDag-Erling Smørgrav  ;;
21617d15b25SDag-Erling Smørgravesac
21717d15b25SDag-Erling Smørgrav
21817d15b25SDag-Erling Smørgrav# Global variables:
21917d15b25SDag-Erling Smørgravofile=libtool
22017d15b25SDag-Erling Smørgravcan_build_shared=yes
22117d15b25SDag-Erling Smørgrav
222986ba33cSDag-Erling Smørgrav# All known linkers require a '.a' archive for static linking (except MSVC,
22317d15b25SDag-Erling Smørgrav# which needs '.lib').
22417d15b25SDag-Erling Smørgravlibext=a
22517d15b25SDag-Erling Smørgrav
226986ba33cSDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld
22717d15b25SDag-Erling Smørgrav
228986ba33cSDag-Erling Smørgravold_CC=$CC
229986ba33cSDag-Erling Smørgravold_CFLAGS=$CFLAGS
23017d15b25SDag-Erling Smørgrav
23117d15b25SDag-Erling Smørgrav# Set sane defaults for various variables
23217d15b25SDag-Erling Smørgravtest -z "$CC" && CC=cc
23317d15b25SDag-Erling Smørgravtest -z "$LTCC" && LTCC=$CC
23417d15b25SDag-Erling Smørgravtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
23517d15b25SDag-Erling Smørgravtest -z "$LD" && LD=ld
23617d15b25SDag-Erling Smørgravtest -z "$ac_objext" && ac_objext=o
23717d15b25SDag-Erling Smørgrav
23817d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
23917d15b25SDag-Erling Smørgrav
24017d15b25SDag-Erling Smørgrav# Only perform the check for file, if the check method requires it
24117d15b25SDag-Erling Smørgravtest -z "$MAGIC_CMD" && MAGIC_CMD=file
24217d15b25SDag-Erling Smørgravcase $deplibs_check_method in
24317d15b25SDag-Erling Smørgravfile_magic*)
24417d15b25SDag-Erling Smørgrav  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
24517d15b25SDag-Erling Smørgrav    _LT_PATH_MAGIC
24617d15b25SDag-Erling Smørgrav  fi
24717d15b25SDag-Erling Smørgrav  ;;
24817d15b25SDag-Erling Smørgravesac
24917d15b25SDag-Erling Smørgrav
25017d15b25SDag-Erling Smørgrav# Use C for the default configuration in the libtool script
25117d15b25SDag-Erling SmørgravLT_SUPPORTED_TAG([CC])
25217d15b25SDag-Erling Smørgrav_LT_LANG_C_CONFIG
25317d15b25SDag-Erling Smørgrav_LT_LANG_DEFAULT_CONFIG
25417d15b25SDag-Erling Smørgrav_LT_CONFIG_COMMANDS
25517d15b25SDag-Erling Smørgrav])# _LT_SETUP
25617d15b25SDag-Erling Smørgrav
25717d15b25SDag-Erling Smørgrav
25817d15b25SDag-Erling Smørgrav# _LT_PREPARE_SED_QUOTE_VARS
25917d15b25SDag-Erling Smørgrav# --------------------------
26017d15b25SDag-Erling Smørgrav# Define a few sed substitution that help us do robust quoting.
26117d15b25SDag-Erling Smørgravm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
26217d15b25SDag-Erling Smørgrav[# Backslashify metacharacters that are still active within
26317d15b25SDag-Erling Smørgrav# double-quoted strings.
26417d15b25SDag-Erling Smørgravsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
26517d15b25SDag-Erling Smørgrav
26617d15b25SDag-Erling Smørgrav# Same as above, but do not quote variable references.
26717d15b25SDag-Erling Smørgravdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
26817d15b25SDag-Erling Smørgrav
26917d15b25SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped shell variable in a
27017d15b25SDag-Erling Smørgrav# double_quote_subst'ed string.
27117d15b25SDag-Erling Smørgravdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
27217d15b25SDag-Erling Smørgrav
27317d15b25SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped single quote.
27417d15b25SDag-Erling Smørgravdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
27517d15b25SDag-Erling Smørgrav
27617d15b25SDag-Erling Smørgrav# Sed substitution to avoid accidental globbing in evaled expressions
27717d15b25SDag-Erling Smørgravno_glob_subst='s/\*/\\\*/g'
27817d15b25SDag-Erling Smørgrav])
27917d15b25SDag-Erling Smørgrav
28017d15b25SDag-Erling Smørgrav# _LT_PROG_LTMAIN
28117d15b25SDag-Erling Smørgrav# ---------------
282986ba33cSDag-Erling Smørgrav# Note that this code is called both from 'configure', and 'config.status'
28317d15b25SDag-Erling Smørgrav# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
284986ba33cSDag-Erling Smørgrav# 'config.status' has no value for ac_aux_dir unless we are using Automake,
28517d15b25SDag-Erling Smørgrav# so we pass a copy along to make sure it has a sensible value anyway.
28617d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_LTMAIN],
28717d15b25SDag-Erling Smørgrav[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
28817d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
289986ba33cSDag-Erling Smørgravltmain=$ac_aux_dir/ltmain.sh
29017d15b25SDag-Erling Smørgrav])# _LT_PROG_LTMAIN
29117d15b25SDag-Erling Smørgrav
29217d15b25SDag-Erling Smørgrav
29317d15b25SDag-Erling Smørgrav## ------------------------------------- ##
29417d15b25SDag-Erling Smørgrav## Accumulate code for creating libtool. ##
29517d15b25SDag-Erling Smørgrav## ------------------------------------- ##
29617d15b25SDag-Erling Smørgrav
29717d15b25SDag-Erling Smørgrav# So that we can recreate a full libtool script including additional
29817d15b25SDag-Erling Smørgrav# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
299986ba33cSDag-Erling Smørgrav# in macros and then make a single call at the end using the 'libtool'
30017d15b25SDag-Erling Smørgrav# label.
30117d15b25SDag-Erling Smørgrav
30217d15b25SDag-Erling Smørgrav
30317d15b25SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
30417d15b25SDag-Erling Smørgrav# ----------------------------------------
30517d15b25SDag-Erling Smørgrav# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
30617d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL_INIT],
30717d15b25SDag-Erling Smørgrav[m4_ifval([$1],
30817d15b25SDag-Erling Smørgrav          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
30917d15b25SDag-Erling Smørgrav                     [$1
31017d15b25SDag-Erling Smørgrav])])])
31117d15b25SDag-Erling Smørgrav
31217d15b25SDag-Erling Smørgrav# Initialize.
31317d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_INIT])
31417d15b25SDag-Erling Smørgrav
31517d15b25SDag-Erling Smørgrav
31617d15b25SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL([COMMANDS])
31717d15b25SDag-Erling Smørgrav# ------------------------------
31817d15b25SDag-Erling Smørgrav# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
31917d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL],
32017d15b25SDag-Erling Smørgrav[m4_ifval([$1],
32117d15b25SDag-Erling Smørgrav          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
32217d15b25SDag-Erling Smørgrav                     [$1
32317d15b25SDag-Erling Smørgrav])])])
32417d15b25SDag-Erling Smørgrav
32517d15b25SDag-Erling Smørgrav# Initialize.
32617d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
32717d15b25SDag-Erling Smørgrav
32817d15b25SDag-Erling Smørgrav
32917d15b25SDag-Erling Smørgrav# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
33017d15b25SDag-Erling Smørgrav# -----------------------------------------------------
33117d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_SAVE_COMMANDS],
33217d15b25SDag-Erling Smørgrav[_LT_CONFIG_LIBTOOL([$1])
33317d15b25SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([$2])
33417d15b25SDag-Erling Smørgrav])
33517d15b25SDag-Erling Smørgrav
33617d15b25SDag-Erling Smørgrav
33717d15b25SDag-Erling Smørgrav# _LT_FORMAT_COMMENT([COMMENT])
33817d15b25SDag-Erling Smørgrav# -----------------------------
33917d15b25SDag-Erling Smørgrav# Add leading comment marks to the start of each line, and a trailing
34017d15b25SDag-Erling Smørgrav# full-stop to the whole comment if one is not present already.
34117d15b25SDag-Erling Smørgravm4_define([_LT_FORMAT_COMMENT],
34217d15b25SDag-Erling Smørgrav[m4_ifval([$1], [
34317d15b25SDag-Erling Smørgravm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
34417d15b25SDag-Erling Smørgrav              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
34517d15b25SDag-Erling Smørgrav)])
34617d15b25SDag-Erling Smørgrav
34717d15b25SDag-Erling Smørgrav
34817d15b25SDag-Erling Smørgrav
34917d15b25SDag-Erling Smørgrav## ------------------------ ##
35017d15b25SDag-Erling Smørgrav## FIXME: Eliminate VARNAME ##
35117d15b25SDag-Erling Smørgrav## ------------------------ ##
35217d15b25SDag-Erling Smørgrav
35317d15b25SDag-Erling Smørgrav
35417d15b25SDag-Erling Smørgrav# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
35517d15b25SDag-Erling Smørgrav# -------------------------------------------------------------------
35617d15b25SDag-Erling Smørgrav# CONFIGNAME is the name given to the value in the libtool script.
35717d15b25SDag-Erling Smørgrav# VARNAME is the (base) name used in the configure script.
35817d15b25SDag-Erling Smørgrav# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
35917d15b25SDag-Erling Smørgrav# VARNAME.  Any other value will be used directly.
36017d15b25SDag-Erling Smørgravm4_define([_LT_DECL],
36117d15b25SDag-Erling Smørgrav[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
36217d15b25SDag-Erling Smørgrav    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
36317d15b25SDag-Erling Smørgrav	[m4_ifval([$1], [$1], [$2])])
36417d15b25SDag-Erling Smørgrav    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
36517d15b25SDag-Erling Smørgrav    m4_ifval([$4],
36617d15b25SDag-Erling Smørgrav	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
36717d15b25SDag-Erling Smørgrav    lt_dict_add_subkey([lt_decl_dict], [$2],
36817d15b25SDag-Erling Smørgrav	[tagged?], [m4_ifval([$5], [yes], [no])])])
36917d15b25SDag-Erling Smørgrav])
37017d15b25SDag-Erling Smørgrav
37117d15b25SDag-Erling Smørgrav
37217d15b25SDag-Erling Smørgrav# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
37317d15b25SDag-Erling Smørgrav# --------------------------------------------------------
37417d15b25SDag-Erling Smørgravm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
37517d15b25SDag-Erling Smørgrav
37617d15b25SDag-Erling Smørgrav
37717d15b25SDag-Erling Smørgrav# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
37817d15b25SDag-Erling Smørgrav# ------------------------------------------------
37917d15b25SDag-Erling Smørgravm4_define([lt_decl_tag_varnames],
38017d15b25SDag-Erling Smørgrav[_lt_decl_filter([tagged?], [yes], $@)])
38117d15b25SDag-Erling Smørgrav
38217d15b25SDag-Erling Smørgrav
38317d15b25SDag-Erling Smørgrav# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
38417d15b25SDag-Erling Smørgrav# ---------------------------------------------------------
38517d15b25SDag-Erling Smørgravm4_define([_lt_decl_filter],
38617d15b25SDag-Erling Smørgrav[m4_case([$#],
38717d15b25SDag-Erling Smørgrav  [0], [m4_fatal([$0: too few arguments: $#])],
38817d15b25SDag-Erling Smørgrav  [1], [m4_fatal([$0: too few arguments: $#: $1])],
38917d15b25SDag-Erling Smørgrav  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
39017d15b25SDag-Erling Smørgrav  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
39117d15b25SDag-Erling Smørgrav  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
39217d15b25SDag-Erling Smørgrav])
39317d15b25SDag-Erling Smørgrav
39417d15b25SDag-Erling Smørgrav
39517d15b25SDag-Erling Smørgrav# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
39617d15b25SDag-Erling Smørgrav# --------------------------------------------------
39717d15b25SDag-Erling Smørgravm4_define([lt_decl_quote_varnames],
39817d15b25SDag-Erling Smørgrav[_lt_decl_filter([value], [1], $@)])
39917d15b25SDag-Erling Smørgrav
40017d15b25SDag-Erling Smørgrav
40117d15b25SDag-Erling Smørgrav# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
40217d15b25SDag-Erling Smørgrav# ---------------------------------------------------
40317d15b25SDag-Erling Smørgravm4_define([lt_decl_dquote_varnames],
40417d15b25SDag-Erling Smørgrav[_lt_decl_filter([value], [2], $@)])
40517d15b25SDag-Erling Smørgrav
40617d15b25SDag-Erling Smørgrav
40717d15b25SDag-Erling Smørgrav# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
40817d15b25SDag-Erling Smørgrav# ---------------------------------------------------
40917d15b25SDag-Erling Smørgravm4_define([lt_decl_varnames_tagged],
41017d15b25SDag-Erling Smørgrav[m4_assert([$# <= 2])dnl
41117d15b25SDag-Erling Smørgrav_$0(m4_quote(m4_default([$1], [[, ]])),
41217d15b25SDag-Erling Smørgrav    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
41317d15b25SDag-Erling Smørgrav    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
41417d15b25SDag-Erling Smørgravm4_define([_lt_decl_varnames_tagged],
41517d15b25SDag-Erling Smørgrav[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
41617d15b25SDag-Erling Smørgrav
41717d15b25SDag-Erling Smørgrav
41817d15b25SDag-Erling Smørgrav# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
41917d15b25SDag-Erling Smørgrav# ------------------------------------------------
42017d15b25SDag-Erling Smørgravm4_define([lt_decl_all_varnames],
42117d15b25SDag-Erling Smørgrav[_$0(m4_quote(m4_default([$1], [[, ]])),
42217d15b25SDag-Erling Smørgrav     m4_if([$2], [],
42317d15b25SDag-Erling Smørgrav	   m4_quote(lt_decl_varnames),
42417d15b25SDag-Erling Smørgrav	m4_quote(m4_shift($@))))[]dnl
42517d15b25SDag-Erling Smørgrav])
42617d15b25SDag-Erling Smørgravm4_define([_lt_decl_all_varnames],
42717d15b25SDag-Erling Smørgrav[lt_join($@, lt_decl_varnames_tagged([$1],
42817d15b25SDag-Erling Smørgrav			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
42917d15b25SDag-Erling Smørgrav])
43017d15b25SDag-Erling Smørgrav
43117d15b25SDag-Erling Smørgrav
43217d15b25SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARE([VARNAME])
43317d15b25SDag-Erling Smørgrav# ------------------------------------
434986ba33cSDag-Erling Smørgrav# Quote a variable value, and forward it to 'config.status' so that its
435986ba33cSDag-Erling Smørgrav# declaration there will have the same value as in 'configure'.  VARNAME
43617d15b25SDag-Erling Smørgrav# must have a single quote delimited value for this to work.
43717d15b25SDag-Erling Smørgravm4_define([_LT_CONFIG_STATUS_DECLARE],
43817d15b25SDag-Erling Smørgrav[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
43917d15b25SDag-Erling Smørgrav
44017d15b25SDag-Erling Smørgrav
44117d15b25SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARATIONS
44217d15b25SDag-Erling Smørgrav# ------------------------------
44317d15b25SDag-Erling Smørgrav# We delimit libtool config variables with single quotes, so when
44417d15b25SDag-Erling Smørgrav# we write them to config.status, we have to be sure to quote all
44517d15b25SDag-Erling Smørgrav# embedded single quotes properly.  In configure, this macro expands
44617d15b25SDag-Erling Smørgrav# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
44717d15b25SDag-Erling Smørgrav#
44817d15b25SDag-Erling Smørgrav#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
44917d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
45017d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
45117d15b25SDag-Erling Smørgrav    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
45217d15b25SDag-Erling Smørgrav
45317d15b25SDag-Erling Smørgrav
45417d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_TAGS
45517d15b25SDag-Erling Smørgrav# ----------------
45617d15b25SDag-Erling Smørgrav# Output comment and list of tags supported by the script
45717d15b25SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_TAGS],
45817d15b25SDag-Erling Smørgrav[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
459986ba33cSDag-Erling Smørgravavailable_tags='_LT_TAGS'dnl
46017d15b25SDag-Erling Smørgrav])
46117d15b25SDag-Erling Smørgrav
46217d15b25SDag-Erling Smørgrav
46317d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
46417d15b25SDag-Erling Smørgrav# -----------------------------------
46517d15b25SDag-Erling Smørgrav# Extract the dictionary values for VARNAME (optionally with TAG) and
46617d15b25SDag-Erling Smørgrav# expand to a commented shell variable setting:
46717d15b25SDag-Erling Smørgrav#
46817d15b25SDag-Erling Smørgrav#    # Some comment about what VAR is for.
46917d15b25SDag-Erling Smørgrav#    visible_name=$lt_internal_name
47017d15b25SDag-Erling Smørgravm4_define([_LT_LIBTOOL_DECLARE],
47117d15b25SDag-Erling Smørgrav[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
47217d15b25SDag-Erling Smørgrav					   [description])))[]dnl
47317d15b25SDag-Erling Smørgravm4_pushdef([_libtool_name],
47417d15b25SDag-Erling Smørgrav    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
47517d15b25SDag-Erling Smørgravm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
47617d15b25SDag-Erling Smørgrav    [0], [_libtool_name=[$]$1],
47717d15b25SDag-Erling Smørgrav    [1], [_libtool_name=$lt_[]$1],
47817d15b25SDag-Erling Smørgrav    [2], [_libtool_name=$lt_[]$1],
47917d15b25SDag-Erling Smørgrav    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
48017d15b25SDag-Erling Smørgravm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
48117d15b25SDag-Erling Smørgrav])
48217d15b25SDag-Erling Smørgrav
48317d15b25SDag-Erling Smørgrav
48417d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_CONFIG_VARS
48517d15b25SDag-Erling Smørgrav# -----------------------
48617d15b25SDag-Erling Smørgrav# Produce commented declarations of non-tagged libtool config variables
487986ba33cSDag-Erling Smørgrav# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
48817d15b25SDag-Erling Smørgrav# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
48917d15b25SDag-Erling Smørgrav# section) are produced by _LT_LIBTOOL_TAG_VARS.
49017d15b25SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_CONFIG_VARS],
49117d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var],
49217d15b25SDag-Erling Smørgrav    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
49317d15b25SDag-Erling Smørgrav    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
49417d15b25SDag-Erling Smørgrav
49517d15b25SDag-Erling Smørgrav
49617d15b25SDag-Erling Smørgrav# _LT_LIBTOOL_TAG_VARS(TAG)
49717d15b25SDag-Erling Smørgrav# -------------------------
49817d15b25SDag-Erling Smørgravm4_define([_LT_LIBTOOL_TAG_VARS],
49917d15b25SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
50017d15b25SDag-Erling Smørgrav    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
50117d15b25SDag-Erling Smørgrav
50217d15b25SDag-Erling Smørgrav
50317d15b25SDag-Erling Smørgrav# _LT_TAGVAR(VARNAME, [TAGNAME])
50417d15b25SDag-Erling Smørgrav# ------------------------------
50517d15b25SDag-Erling Smørgravm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
50617d15b25SDag-Erling Smørgrav
50717d15b25SDag-Erling Smørgrav
50817d15b25SDag-Erling Smørgrav# _LT_CONFIG_COMMANDS
50917d15b25SDag-Erling Smørgrav# -------------------
51017d15b25SDag-Erling Smørgrav# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
51117d15b25SDag-Erling Smørgrav# variables for single and double quote escaping we saved from calls
51217d15b25SDag-Erling Smørgrav# to _LT_DECL, we can put quote escaped variables declarations
513986ba33cSDag-Erling Smørgrav# into 'config.status', and then the shell code to quote escape them in
514986ba33cSDag-Erling Smørgrav# for loops in 'config.status'.  Finally, any additional code accumulated
51517d15b25SDag-Erling Smørgrav# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
51617d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG_COMMANDS],
51717d15b25SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([LT_OUTPUT],
51817d15b25SDag-Erling Smørgrav	dnl If the libtool generation code has been placed in $CONFIG_LT,
51917d15b25SDag-Erling Smørgrav	dnl instead of duplicating it all over again into config.status,
52017d15b25SDag-Erling Smørgrav	dnl then we will have config.status run $CONFIG_LT later, so it
52117d15b25SDag-Erling Smørgrav	dnl needs to know what name is stored there:
52217d15b25SDag-Erling Smørgrav        [AC_CONFIG_COMMANDS([libtool],
52317d15b25SDag-Erling Smørgrav            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
52417d15b25SDag-Erling Smørgrav    dnl If the libtool generation code is destined for config.status,
52517d15b25SDag-Erling Smørgrav    dnl expand the accumulated commands and init code now:
52617d15b25SDag-Erling Smørgrav    [AC_CONFIG_COMMANDS([libtool],
52717d15b25SDag-Erling Smørgrav        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
52817d15b25SDag-Erling Smørgrav])#_LT_CONFIG_COMMANDS
52917d15b25SDag-Erling Smørgrav
53017d15b25SDag-Erling Smørgrav
53117d15b25SDag-Erling Smørgrav# Initialize.
53217d15b25SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
53317d15b25SDag-Erling Smørgrav[
53417d15b25SDag-Erling Smørgrav
53517d15b25SDag-Erling Smørgrav# The HP-UX ksh and POSIX shell print the target directory to stdout
53617d15b25SDag-Erling Smørgrav# if CDPATH is set.
53717d15b25SDag-Erling Smørgrav(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
53817d15b25SDag-Erling Smørgrav
53917d15b25SDag-Erling Smørgravsed_quote_subst='$sed_quote_subst'
54017d15b25SDag-Erling Smørgravdouble_quote_subst='$double_quote_subst'
54117d15b25SDag-Erling Smørgravdelay_variable_subst='$delay_variable_subst'
54217d15b25SDag-Erling Smørgrav_LT_CONFIG_STATUS_DECLARATIONS
54317d15b25SDag-Erling SmørgravLTCC='$LTCC'
54417d15b25SDag-Erling SmørgravLTCFLAGS='$LTCFLAGS'
54517d15b25SDag-Erling Smørgravcompiler='$compiler_DEFAULT'
54617d15b25SDag-Erling Smørgrav
54717d15b25SDag-Erling Smørgrav# A function that is used when there is no print builtin or printf.
54817d15b25SDag-Erling Smørgravfunc_fallback_echo ()
54917d15b25SDag-Erling Smørgrav{
55017d15b25SDag-Erling Smørgrav  eval 'cat <<_LTECHO_EOF
55117d15b25SDag-Erling Smørgrav\$[]1
55217d15b25SDag-Erling Smørgrav_LTECHO_EOF'
55317d15b25SDag-Erling Smørgrav}
55417d15b25SDag-Erling Smørgrav
55517d15b25SDag-Erling Smørgrav# Quote evaled strings.
55617d15b25SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \
55717d15b25SDag-Erling Smørgrav]], lt_decl_quote_varnames); do
55817d15b25SDag-Erling Smørgrav    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
55917d15b25SDag-Erling Smørgrav    *[[\\\\\\\`\\"\\\$]]*)
560986ba33cSDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
56117d15b25SDag-Erling Smørgrav      ;;
56217d15b25SDag-Erling Smørgrav    *)
56317d15b25SDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
56417d15b25SDag-Erling Smørgrav      ;;
56517d15b25SDag-Erling Smørgrav    esac
56617d15b25SDag-Erling Smørgravdone
56717d15b25SDag-Erling Smørgrav
56817d15b25SDag-Erling Smørgrav# Double-quote double-evaled strings.
56917d15b25SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \
57017d15b25SDag-Erling Smørgrav]], lt_decl_dquote_varnames); do
57117d15b25SDag-Erling Smørgrav    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
57217d15b25SDag-Erling Smørgrav    *[[\\\\\\\`\\"\\\$]]*)
573986ba33cSDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
57417d15b25SDag-Erling Smørgrav      ;;
57517d15b25SDag-Erling Smørgrav    *)
57617d15b25SDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
57717d15b25SDag-Erling Smørgrav      ;;
57817d15b25SDag-Erling Smørgrav    esac
57917d15b25SDag-Erling Smørgravdone
58017d15b25SDag-Erling Smørgrav
58117d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_INIT
58217d15b25SDag-Erling Smørgrav])
58317d15b25SDag-Erling Smørgrav
58417d15b25SDag-Erling Smørgrav# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
58517d15b25SDag-Erling Smørgrav# ------------------------------------
58617d15b25SDag-Erling Smørgrav# Generate a child script FILE with all initialization necessary to
58717d15b25SDag-Erling Smørgrav# reuse the environment learned by the parent script, and make the
58817d15b25SDag-Erling Smørgrav# file executable.  If COMMENT is supplied, it is inserted after the
589986ba33cSDag-Erling Smørgrav# '#!' sequence but before initialization text begins.  After this
59017d15b25SDag-Erling Smørgrav# macro, additional text can be appended to FILE to form the body of
59117d15b25SDag-Erling Smørgrav# the child script.  The macro ends with non-zero status if the
59217d15b25SDag-Erling Smørgrav# file could not be fully written (such as if the disk is full).
59317d15b25SDag-Erling Smørgravm4_ifdef([AS_INIT_GENERATED],
59417d15b25SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
59517d15b25SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],
59617d15b25SDag-Erling Smørgrav[m4_require([AS_PREPARE])]dnl
59717d15b25SDag-Erling Smørgrav[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
59817d15b25SDag-Erling Smørgrav[lt_write_fail=0
59917d15b25SDag-Erling Smørgravcat >$1 <<_ASEOF || lt_write_fail=1
60017d15b25SDag-Erling Smørgrav#! $SHELL
60117d15b25SDag-Erling Smørgrav# Generated by $as_me.
60217d15b25SDag-Erling Smørgrav$2
60317d15b25SDag-Erling SmørgravSHELL=\${CONFIG_SHELL-$SHELL}
60417d15b25SDag-Erling Smørgravexport SHELL
60517d15b25SDag-Erling Smørgrav_ASEOF
60617d15b25SDag-Erling Smørgravcat >>$1 <<\_ASEOF || lt_write_fail=1
60717d15b25SDag-Erling SmørgravAS_SHELL_SANITIZE
60817d15b25SDag-Erling Smørgrav_AS_PREPARE
60917d15b25SDag-Erling Smørgravexec AS_MESSAGE_FD>&1
61017d15b25SDag-Erling Smørgrav_ASEOF
611986ba33cSDag-Erling Smørgravtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
61217d15b25SDag-Erling Smørgravm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
61317d15b25SDag-Erling Smørgrav
61417d15b25SDag-Erling Smørgrav# LT_OUTPUT
61517d15b25SDag-Erling Smørgrav# ---------
61617d15b25SDag-Erling Smørgrav# This macro allows early generation of the libtool script (before
61717d15b25SDag-Erling Smørgrav# AC_OUTPUT is called), incase it is used in configure for compilation
61817d15b25SDag-Erling Smørgrav# tests.
61917d15b25SDag-Erling SmørgravAC_DEFUN([LT_OUTPUT],
62017d15b25SDag-Erling Smørgrav[: ${CONFIG_LT=./config.lt}
62117d15b25SDag-Erling SmørgravAC_MSG_NOTICE([creating $CONFIG_LT])
62217d15b25SDag-Erling Smørgrav_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
62317d15b25SDag-Erling Smørgrav[# Run this file to recreate a libtool stub with the current configuration.])
62417d15b25SDag-Erling Smørgrav
62517d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF
62617d15b25SDag-Erling Smørgravlt_cl_silent=false
62717d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log
62817d15b25SDag-Erling Smørgrav{
62917d15b25SDag-Erling Smørgrav  echo
63017d15b25SDag-Erling Smørgrav  AS_BOX([Running $as_me.])
63117d15b25SDag-Erling Smørgrav} >&AS_MESSAGE_LOG_FD
63217d15b25SDag-Erling Smørgrav
63317d15b25SDag-Erling Smørgravlt_cl_help="\
634986ba33cSDag-Erling Smørgrav'$as_me' creates a local libtool stub from the current configuration,
63517d15b25SDag-Erling Smørgravfor use in further configure time tests before the real libtool is
63617d15b25SDag-Erling Smørgravgenerated.
63717d15b25SDag-Erling Smørgrav
63817d15b25SDag-Erling SmørgravUsage: $[0] [[OPTIONS]]
63917d15b25SDag-Erling Smørgrav
64017d15b25SDag-Erling Smørgrav  -h, --help      print this help, then exit
64117d15b25SDag-Erling Smørgrav  -V, --version   print version number, then exit
64217d15b25SDag-Erling Smørgrav  -q, --quiet     do not print progress messages
64317d15b25SDag-Erling Smørgrav  -d, --debug     don't remove temporary files
64417d15b25SDag-Erling Smørgrav
64517d15b25SDag-Erling SmørgravReport bugs to <bug-libtool@gnu.org>."
64617d15b25SDag-Erling Smørgrav
64717d15b25SDag-Erling Smørgravlt_cl_version="\
64817d15b25SDag-Erling Smørgravm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
64917d15b25SDag-Erling Smørgravm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
65017d15b25SDag-Erling Smørgravconfigured by $[0], generated by m4_PACKAGE_STRING.
65117d15b25SDag-Erling Smørgrav
65217d15b25SDag-Erling SmørgravCopyright (C) 2011 Free Software Foundation, Inc.
65317d15b25SDag-Erling SmørgravThis config.lt script is free software; the Free Software Foundation
65417d15b25SDag-Erling Smørgravgives unlimited permision to copy, distribute and modify it."
65517d15b25SDag-Erling Smørgrav
656986ba33cSDag-Erling Smørgravwhile test 0 != $[#]
65717d15b25SDag-Erling Smørgravdo
65817d15b25SDag-Erling Smørgrav  case $[1] in
65917d15b25SDag-Erling Smørgrav    --version | --v* | -V )
66017d15b25SDag-Erling Smørgrav      echo "$lt_cl_version"; exit 0 ;;
66117d15b25SDag-Erling Smørgrav    --help | --h* | -h )
66217d15b25SDag-Erling Smørgrav      echo "$lt_cl_help"; exit 0 ;;
66317d15b25SDag-Erling Smørgrav    --debug | --d* | -d )
66417d15b25SDag-Erling Smørgrav      debug=: ;;
66517d15b25SDag-Erling Smørgrav    --quiet | --q* | --silent | --s* | -q )
66617d15b25SDag-Erling Smørgrav      lt_cl_silent=: ;;
66717d15b25SDag-Erling Smørgrav
66817d15b25SDag-Erling Smørgrav    -*) AC_MSG_ERROR([unrecognized option: $[1]
669986ba33cSDag-Erling SmørgravTry '$[0] --help' for more information.]) ;;
67017d15b25SDag-Erling Smørgrav
67117d15b25SDag-Erling Smørgrav    *) AC_MSG_ERROR([unrecognized argument: $[1]
672986ba33cSDag-Erling SmørgravTry '$[0] --help' for more information.]) ;;
67317d15b25SDag-Erling Smørgrav  esac
67417d15b25SDag-Erling Smørgrav  shift
67517d15b25SDag-Erling Smørgravdone
67617d15b25SDag-Erling Smørgrav
67717d15b25SDag-Erling Smørgravif $lt_cl_silent; then
67817d15b25SDag-Erling Smørgrav  exec AS_MESSAGE_FD>/dev/null
67917d15b25SDag-Erling Smørgravfi
68017d15b25SDag-Erling Smørgrav_LTEOF
68117d15b25SDag-Erling Smørgrav
68217d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<_LTEOF
68317d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
68417d15b25SDag-Erling Smørgrav_LTEOF
68517d15b25SDag-Erling Smørgrav
68617d15b25SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF
68717d15b25SDag-Erling SmørgravAC_MSG_NOTICE([creating $ofile])
68817d15b25SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS
68917d15b25SDag-Erling SmørgravAS_EXIT(0)
69017d15b25SDag-Erling Smørgrav_LTEOF
69117d15b25SDag-Erling Smørgravchmod +x "$CONFIG_LT"
69217d15b25SDag-Erling Smørgrav
69317d15b25SDag-Erling Smørgrav# configure is writing to config.log, but config.lt does its own redirection,
69417d15b25SDag-Erling Smørgrav# appending to config.log, which fails on DOS, as config.log is still kept
69517d15b25SDag-Erling Smørgrav# open by configure.  Here we exec the FD to /dev/null, effectively closing
69617d15b25SDag-Erling Smørgrav# config.log, so it can be properly (re)opened and appended to by config.lt.
69717d15b25SDag-Erling Smørgravlt_cl_success=:
698986ba33cSDag-Erling Smørgravtest yes = "$silent" &&
69917d15b25SDag-Erling Smørgrav  lt_config_lt_args="$lt_config_lt_args --quiet"
70017d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>/dev/null
70117d15b25SDag-Erling Smørgrav$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
70217d15b25SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log
70317d15b25SDag-Erling Smørgrav$lt_cl_success || AS_EXIT(1)
70417d15b25SDag-Erling Smørgrav])# LT_OUTPUT
70517d15b25SDag-Erling Smørgrav
70617d15b25SDag-Erling Smørgrav
70717d15b25SDag-Erling Smørgrav# _LT_CONFIG(TAG)
70817d15b25SDag-Erling Smørgrav# ---------------
70917d15b25SDag-Erling Smørgrav# If TAG is the built-in tag, create an initial libtool script with a
71017d15b25SDag-Erling Smørgrav# default configuration from the untagged config vars.  Otherwise add code
71117d15b25SDag-Erling Smørgrav# to config.status for appending the configuration named by TAG from the
71217d15b25SDag-Erling Smørgrav# matching tagged config vars.
71317d15b25SDag-Erling Smørgravm4_defun([_LT_CONFIG],
71417d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
71517d15b25SDag-Erling Smørgrav_LT_CONFIG_SAVE_COMMANDS([
71617d15b25SDag-Erling Smørgrav  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
71717d15b25SDag-Erling Smørgrav  m4_if(_LT_TAG, [C], [
718986ba33cSDag-Erling Smørgrav    # See if we are running on zsh, and set the options that allow our
71917d15b25SDag-Erling Smørgrav    # commands through without removal of \ escapes.
72017d15b25SDag-Erling Smørgrav    if test -n "${ZSH_VERSION+set}"; then
72117d15b25SDag-Erling Smørgrav      setopt NO_GLOB_SUBST
72217d15b25SDag-Erling Smørgrav    fi
72317d15b25SDag-Erling Smørgrav
724986ba33cSDag-Erling Smørgrav    cfgfile=${ofile}T
72517d15b25SDag-Erling Smørgrav    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
72617d15b25SDag-Erling Smørgrav    $RM "$cfgfile"
72717d15b25SDag-Erling Smørgrav
72817d15b25SDag-Erling Smørgrav    cat <<_LT_EOF >> "$cfgfile"
72917d15b25SDag-Erling Smørgrav#! $SHELL
730986ba33cSDag-Erling Smørgrav# Generated automatically by $as_me ($PACKAGE) $VERSION
73117d15b25SDag-Erling Smørgrav# NOTE: Changes made to this file will be lost: look at ltmain.sh.
732986ba33cSDag-Erling Smørgrav
733986ba33cSDag-Erling Smørgrav# Provide generalized library-building support services.
734986ba33cSDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996
735986ba33cSDag-Erling Smørgrav
73617d15b25SDag-Erling Smørgrav_LT_COPYING
73717d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAGS
73817d15b25SDag-Erling Smørgrav
739986ba33cSDag-Erling Smørgrav# Configured defaults for sys_lib_dlsearch_path munging.
740986ba33cSDag-Erling Smørgrav: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
741986ba33cSDag-Erling Smørgrav
74217d15b25SDag-Erling Smørgrav# ### BEGIN LIBTOOL CONFIG
74317d15b25SDag-Erling Smørgrav_LT_LIBTOOL_CONFIG_VARS
74417d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS
74517d15b25SDag-Erling Smørgrav# ### END LIBTOOL CONFIG
74617d15b25SDag-Erling Smørgrav
74717d15b25SDag-Erling Smørgrav_LT_EOF
74817d15b25SDag-Erling Smørgrav
749986ba33cSDag-Erling Smørgrav    cat <<'_LT_EOF' >> "$cfgfile"
750986ba33cSDag-Erling Smørgrav
751986ba33cSDag-Erling Smørgrav# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
752986ba33cSDag-Erling Smørgrav
753986ba33cSDag-Erling Smørgrav_LT_PREPARE_MUNGE_PATH_LIST
754986ba33cSDag-Erling Smørgrav_LT_PREPARE_CC_BASENAME
755986ba33cSDag-Erling Smørgrav
756986ba33cSDag-Erling Smørgrav# ### END FUNCTIONS SHARED WITH CONFIGURE
757986ba33cSDag-Erling Smørgrav
758986ba33cSDag-Erling Smørgrav_LT_EOF
759986ba33cSDag-Erling Smørgrav
76017d15b25SDag-Erling Smørgrav  case $host_os in
76117d15b25SDag-Erling Smørgrav  aix3*)
76217d15b25SDag-Erling Smørgrav    cat <<\_LT_EOF >> "$cfgfile"
76317d15b25SDag-Erling Smørgrav# AIX sometimes has problems with the GCC collect2 program.  For some
76417d15b25SDag-Erling Smørgrav# reason, if we set the COLLECT_NAMES environment variable, the problems
76517d15b25SDag-Erling Smørgrav# vanish in a puff of smoke.
766986ba33cSDag-Erling Smørgravif test set != "${COLLECT_NAMES+set}"; then
76717d15b25SDag-Erling Smørgrav  COLLECT_NAMES=
76817d15b25SDag-Erling Smørgrav  export COLLECT_NAMES
76917d15b25SDag-Erling Smørgravfi
77017d15b25SDag-Erling Smørgrav_LT_EOF
77117d15b25SDag-Erling Smørgrav    ;;
77217d15b25SDag-Erling Smørgrav  esac
77317d15b25SDag-Erling Smørgrav
77417d15b25SDag-Erling Smørgrav  _LT_PROG_LTMAIN
77517d15b25SDag-Erling Smørgrav
77617d15b25SDag-Erling Smørgrav  # We use sed instead of cat because bash on DJGPP gets confused if
77717d15b25SDag-Erling Smørgrav  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
77817d15b25SDag-Erling Smørgrav  # text mode, it properly converts lines to CR/LF.  This bash problem
77917d15b25SDag-Erling Smørgrav  # is reportedly fixed, but why not run on old versions too?
78017d15b25SDag-Erling Smørgrav  sed '$q' "$ltmain" >> "$cfgfile" \
78117d15b25SDag-Erling Smørgrav     || (rm -f "$cfgfile"; exit 1)
78217d15b25SDag-Erling Smørgrav
78317d15b25SDag-Erling Smørgrav   mv -f "$cfgfile" "$ofile" ||
78417d15b25SDag-Erling Smørgrav    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
78517d15b25SDag-Erling Smørgrav  chmod +x "$ofile"
78617d15b25SDag-Erling Smørgrav],
78717d15b25SDag-Erling Smørgrav[cat <<_LT_EOF >> "$ofile"
78817d15b25SDag-Erling Smørgrav
78917d15b25SDag-Erling Smørgravdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
79017d15b25SDag-Erling Smørgravdnl in a comment (ie after a #).
79117d15b25SDag-Erling Smørgrav# ### BEGIN LIBTOOL TAG CONFIG: $1
79217d15b25SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS(_LT_TAG)
79317d15b25SDag-Erling Smørgrav# ### END LIBTOOL TAG CONFIG: $1
79417d15b25SDag-Erling Smørgrav_LT_EOF
79517d15b25SDag-Erling Smørgrav])dnl /m4_if
79617d15b25SDag-Erling Smørgrav],
79717d15b25SDag-Erling Smørgrav[m4_if([$1], [], [
79817d15b25SDag-Erling Smørgrav    PACKAGE='$PACKAGE'
79917d15b25SDag-Erling Smørgrav    VERSION='$VERSION'
80017d15b25SDag-Erling Smørgrav    RM='$RM'
80117d15b25SDag-Erling Smørgrav    ofile='$ofile'], [])
80217d15b25SDag-Erling Smørgrav])dnl /_LT_CONFIG_SAVE_COMMANDS
80317d15b25SDag-Erling Smørgrav])# _LT_CONFIG
80417d15b25SDag-Erling Smørgrav
80517d15b25SDag-Erling Smørgrav
80617d15b25SDag-Erling Smørgrav# LT_SUPPORTED_TAG(TAG)
80717d15b25SDag-Erling Smørgrav# ---------------------
80817d15b25SDag-Erling Smørgrav# Trace this macro to discover what tags are supported by the libtool
80917d15b25SDag-Erling Smørgrav# --tag option, using:
81017d15b25SDag-Erling Smørgrav#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
81117d15b25SDag-Erling SmørgravAC_DEFUN([LT_SUPPORTED_TAG], [])
81217d15b25SDag-Erling Smørgrav
81317d15b25SDag-Erling Smørgrav
81417d15b25SDag-Erling Smørgrav# C support is built-in for now
81517d15b25SDag-Erling Smørgravm4_define([_LT_LANG_C_enabled], [])
81617d15b25SDag-Erling Smørgravm4_define([_LT_TAGS], [])
81717d15b25SDag-Erling Smørgrav
81817d15b25SDag-Erling Smørgrav
81917d15b25SDag-Erling Smørgrav# LT_LANG(LANG)
82017d15b25SDag-Erling Smørgrav# -------------
82117d15b25SDag-Erling Smørgrav# Enable libtool support for the given language if not already enabled.
82217d15b25SDag-Erling SmørgravAC_DEFUN([LT_LANG],
82317d15b25SDag-Erling Smørgrav[AC_BEFORE([$0], [LT_OUTPUT])dnl
82417d15b25SDag-Erling Smørgravm4_case([$1],
82517d15b25SDag-Erling Smørgrav  [C],			[_LT_LANG(C)],
82617d15b25SDag-Erling Smørgrav  [C++],		[_LT_LANG(CXX)],
82717d15b25SDag-Erling Smørgrav  [Go],			[_LT_LANG(GO)],
82817d15b25SDag-Erling Smørgrav  [Java],		[_LT_LANG(GCJ)],
82917d15b25SDag-Erling Smørgrav  [Fortran 77],		[_LT_LANG(F77)],
83017d15b25SDag-Erling Smørgrav  [Fortran],		[_LT_LANG(FC)],
83117d15b25SDag-Erling Smørgrav  [Windows Resource],	[_LT_LANG(RC)],
83217d15b25SDag-Erling Smørgrav  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
83317d15b25SDag-Erling Smørgrav    [_LT_LANG($1)],
83417d15b25SDag-Erling Smørgrav    [m4_fatal([$0: unsupported language: "$1"])])])dnl
83517d15b25SDag-Erling Smørgrav])# LT_LANG
83617d15b25SDag-Erling Smørgrav
83717d15b25SDag-Erling Smørgrav
83817d15b25SDag-Erling Smørgrav# _LT_LANG(LANGNAME)
83917d15b25SDag-Erling Smørgrav# ------------------
84017d15b25SDag-Erling Smørgravm4_defun([_LT_LANG],
84117d15b25SDag-Erling Smørgrav[m4_ifdef([_LT_LANG_]$1[_enabled], [],
84217d15b25SDag-Erling Smørgrav  [LT_SUPPORTED_TAG([$1])dnl
84317d15b25SDag-Erling Smørgrav  m4_append([_LT_TAGS], [$1 ])dnl
84417d15b25SDag-Erling Smørgrav  m4_define([_LT_LANG_]$1[_enabled], [])dnl
84517d15b25SDag-Erling Smørgrav  _LT_LANG_$1_CONFIG($1)])dnl
84617d15b25SDag-Erling Smørgrav])# _LT_LANG
84717d15b25SDag-Erling Smørgrav
84817d15b25SDag-Erling Smørgrav
84917d15b25SDag-Erling Smørgravm4_ifndef([AC_PROG_GO], [
85017d15b25SDag-Erling Smørgrav############################################################
85117d15b25SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into   #
85217d15b25SDag-Erling Smørgrav#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
85317d15b25SDag-Erling Smørgrav#  a released version of Autoconf we should remove this    #
85417d15b25SDag-Erling Smørgrav#  macro and use it instead.                               #
85517d15b25SDag-Erling Smørgrav############################################################
85617d15b25SDag-Erling Smørgravm4_defun([AC_PROG_GO],
85717d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Go)dnl
85817d15b25SDag-Erling SmørgravAC_ARG_VAR([GOC],     [Go compiler command])dnl
85917d15b25SDag-Erling SmørgravAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
86017d15b25SDag-Erling Smørgrav_AC_ARG_VAR_LDFLAGS()dnl
86117d15b25SDag-Erling SmørgravAC_CHECK_TOOL(GOC, gccgo)
86217d15b25SDag-Erling Smørgravif test -z "$GOC"; then
86317d15b25SDag-Erling Smørgrav  if test -n "$ac_tool_prefix"; then
86417d15b25SDag-Erling Smørgrav    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
86517d15b25SDag-Erling Smørgrav  fi
86617d15b25SDag-Erling Smørgravfi
86717d15b25SDag-Erling Smørgravif test -z "$GOC"; then
86817d15b25SDag-Erling Smørgrav  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
86917d15b25SDag-Erling Smørgravfi
87017d15b25SDag-Erling Smørgrav])#m4_defun
87117d15b25SDag-Erling Smørgrav])#m4_ifndef
87217d15b25SDag-Erling Smørgrav
87317d15b25SDag-Erling Smørgrav
87417d15b25SDag-Erling Smørgrav# _LT_LANG_DEFAULT_CONFIG
87517d15b25SDag-Erling Smørgrav# -----------------------
87617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_DEFAULT_CONFIG],
87717d15b25SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([AC_PROG_CXX],
87817d15b25SDag-Erling Smørgrav  [LT_LANG(CXX)],
87917d15b25SDag-Erling Smørgrav  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
88017d15b25SDag-Erling Smørgrav
88117d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_F77],
88217d15b25SDag-Erling Smørgrav  [LT_LANG(F77)],
88317d15b25SDag-Erling Smørgrav  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
88417d15b25SDag-Erling Smørgrav
88517d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_FC],
88617d15b25SDag-Erling Smørgrav  [LT_LANG(FC)],
88717d15b25SDag-Erling Smørgrav  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
88817d15b25SDag-Erling Smørgrav
88917d15b25SDag-Erling Smørgravdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
89017d15b25SDag-Erling Smørgravdnl pulling things in needlessly.
89117d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GCJ],
89217d15b25SDag-Erling Smørgrav  [LT_LANG(GCJ)],
89317d15b25SDag-Erling Smørgrav  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
89417d15b25SDag-Erling Smørgrav    [LT_LANG(GCJ)],
89517d15b25SDag-Erling Smørgrav    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
89617d15b25SDag-Erling Smørgrav      [LT_LANG(GCJ)],
89717d15b25SDag-Erling Smørgrav      [m4_ifdef([AC_PROG_GCJ],
89817d15b25SDag-Erling Smørgrav	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
89917d15b25SDag-Erling Smørgrav       m4_ifdef([A][M_PROG_GCJ],
90017d15b25SDag-Erling Smørgrav	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
90117d15b25SDag-Erling Smørgrav       m4_ifdef([LT_PROG_GCJ],
90217d15b25SDag-Erling Smørgrav	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
90317d15b25SDag-Erling Smørgrav
90417d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GO],
90517d15b25SDag-Erling Smørgrav  [LT_LANG(GO)],
90617d15b25SDag-Erling Smørgrav  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
90717d15b25SDag-Erling Smørgrav
90817d15b25SDag-Erling SmørgravAC_PROVIDE_IFELSE([LT_PROG_RC],
90917d15b25SDag-Erling Smørgrav  [LT_LANG(RC)],
91017d15b25SDag-Erling Smørgrav  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
91117d15b25SDag-Erling Smørgrav])# _LT_LANG_DEFAULT_CONFIG
91217d15b25SDag-Erling Smørgrav
91317d15b25SDag-Erling Smørgrav# Obsolete macros:
91417d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
91517d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
91617d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
91717d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
91817d15b25SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
91917d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
92017d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
92117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_F77], [])
92217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_FC], [])
92317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
92417d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_RC], [])
92517d15b25SDag-Erling Smørgrav
92617d15b25SDag-Erling Smørgrav
92717d15b25SDag-Erling Smørgrav# _LT_TAG_COMPILER
92817d15b25SDag-Erling Smørgrav# ----------------
92917d15b25SDag-Erling Smørgravm4_defun([_LT_TAG_COMPILER],
93017d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
93117d15b25SDag-Erling Smørgrav
93217d15b25SDag-Erling Smørgrav_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
93317d15b25SDag-Erling Smørgrav_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
93417d15b25SDag-Erling Smørgrav_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
93517d15b25SDag-Erling Smørgrav_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
93617d15b25SDag-Erling Smørgrav
93717d15b25SDag-Erling Smørgrav# If no C compiler was specified, use CC.
93817d15b25SDag-Erling SmørgravLTCC=${LTCC-"$CC"}
93917d15b25SDag-Erling Smørgrav
94017d15b25SDag-Erling Smørgrav# If no C compiler flags were specified, use CFLAGS.
94117d15b25SDag-Erling SmørgravLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
94217d15b25SDag-Erling Smørgrav
94317d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
94417d15b25SDag-Erling Smørgravcompiler=$CC
94517d15b25SDag-Erling Smørgrav])# _LT_TAG_COMPILER
94617d15b25SDag-Erling Smørgrav
94717d15b25SDag-Erling Smørgrav
94817d15b25SDag-Erling Smørgrav# _LT_COMPILER_BOILERPLATE
94917d15b25SDag-Erling Smørgrav# ------------------------
95017d15b25SDag-Erling Smørgrav# Check for compiler boilerplate output or warnings with
95117d15b25SDag-Erling Smørgrav# the simple compiler test code.
95217d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_BOILERPLATE],
95317d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
95417d15b25SDag-Erling Smørgravac_outfile=conftest.$ac_objext
95517d15b25SDag-Erling Smørgravecho "$lt_simple_compile_test_code" >conftest.$ac_ext
95617d15b25SDag-Erling Smørgraveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
95717d15b25SDag-Erling Smørgrav_lt_compiler_boilerplate=`cat conftest.err`
95817d15b25SDag-Erling Smørgrav$RM conftest*
95917d15b25SDag-Erling Smørgrav])# _LT_COMPILER_BOILERPLATE
96017d15b25SDag-Erling Smørgrav
96117d15b25SDag-Erling Smørgrav
96217d15b25SDag-Erling Smørgrav# _LT_LINKER_BOILERPLATE
96317d15b25SDag-Erling Smørgrav# ----------------------
96417d15b25SDag-Erling Smørgrav# Check for linker boilerplate output or warnings with
96517d15b25SDag-Erling Smørgrav# the simple link test code.
96617d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_BOILERPLATE],
96717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
96817d15b25SDag-Erling Smørgravac_outfile=conftest.$ac_objext
96917d15b25SDag-Erling Smørgravecho "$lt_simple_link_test_code" >conftest.$ac_ext
97017d15b25SDag-Erling Smørgraveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
97117d15b25SDag-Erling Smørgrav_lt_linker_boilerplate=`cat conftest.err`
97217d15b25SDag-Erling Smørgrav$RM -r conftest*
97317d15b25SDag-Erling Smørgrav])# _LT_LINKER_BOILERPLATE
97417d15b25SDag-Erling Smørgrav
97517d15b25SDag-Erling Smørgrav# _LT_REQUIRED_DARWIN_CHECKS
97617d15b25SDag-Erling Smørgrav# -------------------------
97717d15b25SDag-Erling Smørgravm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
97817d15b25SDag-Erling Smørgrav  case $host_os in
97917d15b25SDag-Erling Smørgrav    rhapsody* | darwin*)
98017d15b25SDag-Erling Smørgrav    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
98117d15b25SDag-Erling Smørgrav    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
98217d15b25SDag-Erling Smørgrav    AC_CHECK_TOOL([LIPO], [lipo], [:])
98317d15b25SDag-Erling Smørgrav    AC_CHECK_TOOL([OTOOL], [otool], [:])
98417d15b25SDag-Erling Smørgrav    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
98517d15b25SDag-Erling Smørgrav    _LT_DECL([], [DSYMUTIL], [1],
98617d15b25SDag-Erling Smørgrav      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
98717d15b25SDag-Erling Smørgrav    _LT_DECL([], [NMEDIT], [1],
98817d15b25SDag-Erling Smørgrav      [Tool to change global to local symbols on Mac OS X])
98917d15b25SDag-Erling Smørgrav    _LT_DECL([], [LIPO], [1],
99017d15b25SDag-Erling Smørgrav      [Tool to manipulate fat objects and archives on Mac OS X])
99117d15b25SDag-Erling Smørgrav    _LT_DECL([], [OTOOL], [1],
99217d15b25SDag-Erling Smørgrav      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
99317d15b25SDag-Erling Smørgrav    _LT_DECL([], [OTOOL64], [1],
99417d15b25SDag-Erling Smørgrav      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
99517d15b25SDag-Erling Smørgrav
99617d15b25SDag-Erling Smørgrav    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
99717d15b25SDag-Erling Smørgrav      [lt_cv_apple_cc_single_mod=no
998986ba33cSDag-Erling Smørgrav      if test -z "$LT_MULTI_MODULE"; then
99917d15b25SDag-Erling Smørgrav	# By default we will add the -single_module flag. You can override
100017d15b25SDag-Erling Smørgrav	# by either setting the environment variable LT_MULTI_MODULE
100117d15b25SDag-Erling Smørgrav	# non-empty at configure time, or by adding -multi_module to the
100217d15b25SDag-Erling Smørgrav	# link flags.
100317d15b25SDag-Erling Smørgrav	rm -rf libconftest.dylib*
100417d15b25SDag-Erling Smørgrav	echo "int foo(void){return 1;}" > conftest.c
100517d15b25SDag-Erling Smørgrav	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
100617d15b25SDag-Erling Smørgrav-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
100717d15b25SDag-Erling Smørgrav	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
100817d15b25SDag-Erling Smørgrav	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
100917d15b25SDag-Erling Smørgrav        _lt_result=$?
101017d15b25SDag-Erling Smørgrav	# If there is a non-empty error log, and "single_module"
101117d15b25SDag-Erling Smørgrav	# appears in it, assume the flag caused a linker warning
101217d15b25SDag-Erling Smørgrav        if test -s conftest.err && $GREP single_module conftest.err; then
101317d15b25SDag-Erling Smørgrav	  cat conftest.err >&AS_MESSAGE_LOG_FD
101417d15b25SDag-Erling Smørgrav	# Otherwise, if the output was created with a 0 exit code from
101517d15b25SDag-Erling Smørgrav	# the compiler, it worked.
1016986ba33cSDag-Erling Smørgrav	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
101717d15b25SDag-Erling Smørgrav	  lt_cv_apple_cc_single_mod=yes
101817d15b25SDag-Erling Smørgrav	else
101917d15b25SDag-Erling Smørgrav	  cat conftest.err >&AS_MESSAGE_LOG_FD
102017d15b25SDag-Erling Smørgrav	fi
102117d15b25SDag-Erling Smørgrav	rm -rf libconftest.dylib*
102217d15b25SDag-Erling Smørgrav	rm -f conftest.*
102317d15b25SDag-Erling Smørgrav      fi])
102417d15b25SDag-Erling Smørgrav
102517d15b25SDag-Erling Smørgrav    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
102617d15b25SDag-Erling Smørgrav      [lt_cv_ld_exported_symbols_list],
102717d15b25SDag-Erling Smørgrav      [lt_cv_ld_exported_symbols_list=no
102817d15b25SDag-Erling Smørgrav      save_LDFLAGS=$LDFLAGS
102917d15b25SDag-Erling Smørgrav      echo "_main" > conftest.sym
103017d15b25SDag-Erling Smørgrav      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
103117d15b25SDag-Erling Smørgrav      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
103217d15b25SDag-Erling Smørgrav	[lt_cv_ld_exported_symbols_list=yes],
103317d15b25SDag-Erling Smørgrav	[lt_cv_ld_exported_symbols_list=no])
1034986ba33cSDag-Erling Smørgrav	LDFLAGS=$save_LDFLAGS
103517d15b25SDag-Erling Smørgrav    ])
103617d15b25SDag-Erling Smørgrav
103717d15b25SDag-Erling Smørgrav    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
103817d15b25SDag-Erling Smørgrav      [lt_cv_ld_force_load=no
103917d15b25SDag-Erling Smørgrav      cat > conftest.c << _LT_EOF
104017d15b25SDag-Erling Smørgravint forced_loaded() { return 2;}
104117d15b25SDag-Erling Smørgrav_LT_EOF
104217d15b25SDag-Erling Smørgrav      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
104317d15b25SDag-Erling Smørgrav      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1044*5afab0e5SDag-Erling Smørgrav      echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1045*5afab0e5SDag-Erling Smørgrav      $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
104617d15b25SDag-Erling Smørgrav      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
104717d15b25SDag-Erling Smørgrav      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
104817d15b25SDag-Erling Smørgrav      cat > conftest.c << _LT_EOF
104917d15b25SDag-Erling Smørgravint main() { return 0;}
105017d15b25SDag-Erling Smørgrav_LT_EOF
105117d15b25SDag-Erling Smørgrav      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
105217d15b25SDag-Erling Smørgrav      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
105317d15b25SDag-Erling Smørgrav      _lt_result=$?
105417d15b25SDag-Erling Smørgrav      if test -s conftest.err && $GREP force_load conftest.err; then
105517d15b25SDag-Erling Smørgrav	cat conftest.err >&AS_MESSAGE_LOG_FD
1056986ba33cSDag-Erling Smørgrav      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
105717d15b25SDag-Erling Smørgrav	lt_cv_ld_force_load=yes
105817d15b25SDag-Erling Smørgrav      else
105917d15b25SDag-Erling Smørgrav	cat conftest.err >&AS_MESSAGE_LOG_FD
106017d15b25SDag-Erling Smørgrav      fi
106117d15b25SDag-Erling Smørgrav        rm -f conftest.err libconftest.a conftest conftest.c
106217d15b25SDag-Erling Smørgrav        rm -rf conftest.dSYM
106317d15b25SDag-Erling Smørgrav    ])
106417d15b25SDag-Erling Smørgrav    case $host_os in
106517d15b25SDag-Erling Smørgrav    rhapsody* | darwin1.[[012]])
1066986ba33cSDag-Erling Smørgrav      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
106717d15b25SDag-Erling Smørgrav    darwin1.*)
1068986ba33cSDag-Erling Smørgrav      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
106917d15b25SDag-Erling Smørgrav    darwin*) # darwin 5.x on
107017d15b25SDag-Erling Smørgrav      # if running on 10.5 or later, the deployment target defaults
107117d15b25SDag-Erling Smørgrav      # to the OS version, if on x86, and 10.4, the deployment
107217d15b25SDag-Erling Smørgrav      # target defaults to 10.4. Don't you love it?
107317d15b25SDag-Erling Smørgrav      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1074*5afab0e5SDag-Erling Smørgrav	10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
1075986ba33cSDag-Erling Smørgrav	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1076986ba33cSDag-Erling Smørgrav	10.[[012]][[,.]]*)
1077986ba33cSDag-Erling Smørgrav	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1078*5afab0e5SDag-Erling Smørgrav	10.*|11.*)
1079986ba33cSDag-Erling Smørgrav	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
108017d15b25SDag-Erling Smørgrav      esac
108117d15b25SDag-Erling Smørgrav    ;;
108217d15b25SDag-Erling Smørgrav  esac
1083986ba33cSDag-Erling Smørgrav    if test yes = "$lt_cv_apple_cc_single_mod"; then
108417d15b25SDag-Erling Smørgrav      _lt_dar_single_mod='$single_module'
108517d15b25SDag-Erling Smørgrav    fi
1086986ba33cSDag-Erling Smørgrav    if test yes = "$lt_cv_ld_exported_symbols_list"; then
1087986ba33cSDag-Erling Smørgrav      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
108817d15b25SDag-Erling Smørgrav    else
1089986ba33cSDag-Erling Smørgrav      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
109017d15b25SDag-Erling Smørgrav    fi
1091986ba33cSDag-Erling Smørgrav    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
109217d15b25SDag-Erling Smørgrav      _lt_dsymutil='~$DSYMUTIL $lib || :'
109317d15b25SDag-Erling Smørgrav    else
109417d15b25SDag-Erling Smørgrav      _lt_dsymutil=
109517d15b25SDag-Erling Smørgrav    fi
109617d15b25SDag-Erling Smørgrav    ;;
109717d15b25SDag-Erling Smørgrav  esac
109817d15b25SDag-Erling Smørgrav])
109917d15b25SDag-Erling Smørgrav
110017d15b25SDag-Erling Smørgrav
110117d15b25SDag-Erling Smørgrav# _LT_DARWIN_LINKER_FEATURES([TAG])
110217d15b25SDag-Erling Smørgrav# ---------------------------------
110317d15b25SDag-Erling Smørgrav# Checks for linker and compiler features on darwin
110417d15b25SDag-Erling Smørgravm4_defun([_LT_DARWIN_LINKER_FEATURES],
110517d15b25SDag-Erling Smørgrav[
110617d15b25SDag-Erling Smørgrav  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
110717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
110817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct, $1)=no
110917d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_automatic, $1)=yes
111017d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1111986ba33cSDag-Erling Smørgrav  if test yes = "$lt_cv_ld_force_load"; then
1112986ba33cSDag-Erling Smørgrav    _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\"`'
111317d15b25SDag-Erling Smørgrav    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
111417d15b25SDag-Erling Smørgrav                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
111517d15b25SDag-Erling Smørgrav  else
111617d15b25SDag-Erling Smørgrav    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
111717d15b25SDag-Erling Smørgrav  fi
111817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(link_all_deplibs, $1)=yes
1119986ba33cSDag-Erling Smørgrav  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
112017d15b25SDag-Erling Smørgrav  case $cc_basename in
1121986ba33cSDag-Erling Smørgrav     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
112217d15b25SDag-Erling Smørgrav     *) _lt_dar_can_shared=$GCC ;;
112317d15b25SDag-Erling Smørgrav  esac
1124986ba33cSDag-Erling Smørgrav  if test yes = "$_lt_dar_can_shared"; then
112517d15b25SDag-Erling Smørgrav    output_verbose_link_cmd=func_echo_all
1126986ba33cSDag-Erling Smørgrav    _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"
1127986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1128986ba33cSDag-Erling Smørgrav    _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"
1129986ba33cSDag-Erling Smørgrav    _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"
113017d15b25SDag-Erling Smørgrav    m4_if([$1], [CXX],
1131986ba33cSDag-Erling Smørgrav[   if test yes != "$lt_cv_apple_cc_single_mod"; then
1132986ba33cSDag-Erling Smørgrav      _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"
1133986ba33cSDag-Erling Smørgrav      _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"
113417d15b25SDag-Erling Smørgrav    fi
113517d15b25SDag-Erling Smørgrav],[])
113617d15b25SDag-Erling Smørgrav  else
113717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(ld_shlibs, $1)=no
113817d15b25SDag-Erling Smørgrav  fi
113917d15b25SDag-Erling Smørgrav])
114017d15b25SDag-Erling Smørgrav
114117d15b25SDag-Erling Smørgrav# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
114217d15b25SDag-Erling Smørgrav# ----------------------------------
114317d15b25SDag-Erling Smørgrav# Links a minimal program and checks the executable
114417d15b25SDag-Erling Smørgrav# for the system default hardcoded library path. In most cases,
114517d15b25SDag-Erling Smørgrav# this is /usr/lib:/lib, but when the MPI compilers are used
114617d15b25SDag-Erling Smørgrav# the location of the communication and MPI libs are included too.
114717d15b25SDag-Erling Smørgrav# If we don't find anything, use the default library path according
114817d15b25SDag-Erling Smørgrav# to the aix ld manual.
114917d15b25SDag-Erling Smørgrav# Store the results from the different compilers for each TAGNAME.
115017d15b25SDag-Erling Smørgrav# Allow to override them for all tags through lt_cv_aix_libpath.
115117d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_MODULE_PATH_AIX],
115217d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
1153986ba33cSDag-Erling Smørgravif test set = "${lt_cv_aix_libpath+set}"; then
115417d15b25SDag-Erling Smørgrav  aix_libpath=$lt_cv_aix_libpath
115517d15b25SDag-Erling Smørgravelse
115617d15b25SDag-Erling Smørgrav  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
115717d15b25SDag-Erling Smørgrav  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
115817d15b25SDag-Erling Smørgrav  lt_aix_libpath_sed='[
115917d15b25SDag-Erling Smørgrav      /Import File Strings/,/^$/ {
116017d15b25SDag-Erling Smørgrav	  /^0/ {
116117d15b25SDag-Erling Smørgrav	      s/^0  *\([^ ]*\) *$/\1/
116217d15b25SDag-Erling Smørgrav	      p
116317d15b25SDag-Erling Smørgrav	  }
116417d15b25SDag-Erling Smørgrav      }]'
116517d15b25SDag-Erling Smørgrav  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
116617d15b25SDag-Erling Smørgrav  # Check for a 64-bit object if we didn't find anything.
116717d15b25SDag-Erling Smørgrav  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
116817d15b25SDag-Erling Smørgrav    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
116917d15b25SDag-Erling Smørgrav  fi],[])
117017d15b25SDag-Erling Smørgrav  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1171986ba33cSDag-Erling Smørgrav    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
117217d15b25SDag-Erling Smørgrav  fi
117317d15b25SDag-Erling Smørgrav  ])
117417d15b25SDag-Erling Smørgrav  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
117517d15b25SDag-Erling Smørgravfi
117617d15b25SDag-Erling Smørgrav])# _LT_SYS_MODULE_PATH_AIX
117717d15b25SDag-Erling Smørgrav
117817d15b25SDag-Erling Smørgrav
117917d15b25SDag-Erling Smørgrav# _LT_SHELL_INIT(ARG)
118017d15b25SDag-Erling Smørgrav# -------------------
118117d15b25SDag-Erling Smørgravm4_define([_LT_SHELL_INIT],
118217d15b25SDag-Erling Smørgrav[m4_divert_text([M4SH-INIT], [$1
118317d15b25SDag-Erling Smørgrav])])# _LT_SHELL_INIT
118417d15b25SDag-Erling Smørgrav
118517d15b25SDag-Erling Smørgrav
118617d15b25SDag-Erling Smørgrav
118717d15b25SDag-Erling Smørgrav# _LT_PROG_ECHO_BACKSLASH
118817d15b25SDag-Erling Smørgrav# -----------------------
118917d15b25SDag-Erling Smørgrav# Find how we can fake an echo command that does not interpret backslash.
119017d15b25SDag-Erling Smørgrav# In particular, with Autoconf 2.60 or later we add some code to the start
1191986ba33cSDag-Erling Smørgrav# of the generated configure script that will find a shell with a builtin
1192986ba33cSDag-Erling Smørgrav# printf (that we can use as an echo command).
119317d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_ECHO_BACKSLASH],
119417d15b25SDag-Erling Smørgrav[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
119517d15b25SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
119617d15b25SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
119717d15b25SDag-Erling Smørgrav
119817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to print strings])
119917d15b25SDag-Erling Smørgrav# Test print first, because it will be a builtin if present.
120017d15b25SDag-Erling Smørgravif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
120117d15b25SDag-Erling Smørgrav   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
120217d15b25SDag-Erling Smørgrav  ECHO='print -r --'
120317d15b25SDag-Erling Smørgravelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
120417d15b25SDag-Erling Smørgrav  ECHO='printf %s\n'
120517d15b25SDag-Erling Smørgravelse
120617d15b25SDag-Erling Smørgrav  # Use this function as a fallback that always works.
120717d15b25SDag-Erling Smørgrav  func_fallback_echo ()
120817d15b25SDag-Erling Smørgrav  {
120917d15b25SDag-Erling Smørgrav    eval 'cat <<_LTECHO_EOF
121017d15b25SDag-Erling Smørgrav$[]1
121117d15b25SDag-Erling Smørgrav_LTECHO_EOF'
121217d15b25SDag-Erling Smørgrav  }
121317d15b25SDag-Erling Smørgrav  ECHO='func_fallback_echo'
121417d15b25SDag-Erling Smørgravfi
121517d15b25SDag-Erling Smørgrav
121617d15b25SDag-Erling Smørgrav# func_echo_all arg...
121717d15b25SDag-Erling Smørgrav# Invoke $ECHO with all args, space-separated.
121817d15b25SDag-Erling Smørgravfunc_echo_all ()
121917d15b25SDag-Erling Smørgrav{
122017d15b25SDag-Erling Smørgrav    $ECHO "$*"
122117d15b25SDag-Erling Smørgrav}
122217d15b25SDag-Erling Smørgrav
1223986ba33cSDag-Erling Smørgravcase $ECHO in
122417d15b25SDag-Erling Smørgrav  printf*) AC_MSG_RESULT([printf]) ;;
122517d15b25SDag-Erling Smørgrav  print*) AC_MSG_RESULT([print -r]) ;;
122617d15b25SDag-Erling Smørgrav  *) AC_MSG_RESULT([cat]) ;;
122717d15b25SDag-Erling Smørgravesac
122817d15b25SDag-Erling Smørgrav
122917d15b25SDag-Erling Smørgravm4_ifdef([_AS_DETECT_SUGGESTED],
123017d15b25SDag-Erling Smørgrav[_AS_DETECT_SUGGESTED([
123117d15b25SDag-Erling Smørgrav  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
123217d15b25SDag-Erling Smørgrav    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
123317d15b25SDag-Erling Smørgrav    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
123417d15b25SDag-Erling Smørgrav    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
123517d15b25SDag-Erling Smørgrav    PATH=/empty FPATH=/empty; export PATH FPATH
123617d15b25SDag-Erling Smørgrav    test "X`printf %s $ECHO`" = "X$ECHO" \
123717d15b25SDag-Erling Smørgrav      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
123817d15b25SDag-Erling Smørgrav
123917d15b25SDag-Erling Smørgrav_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
124017d15b25SDag-Erling Smørgrav_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
124117d15b25SDag-Erling Smørgrav])# _LT_PROG_ECHO_BACKSLASH
124217d15b25SDag-Erling Smørgrav
124317d15b25SDag-Erling Smørgrav
124417d15b25SDag-Erling Smørgrav# _LT_WITH_SYSROOT
124517d15b25SDag-Erling Smørgrav# ----------------
124617d15b25SDag-Erling SmørgravAC_DEFUN([_LT_WITH_SYSROOT],
124717d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([for sysroot])
124817d15b25SDag-Erling SmørgravAC_ARG_WITH([sysroot],
1249986ba33cSDag-Erling Smørgrav[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1250986ba33cSDag-Erling Smørgrav  [Search for dependent libraries within DIR (or the compiler's sysroot
1251986ba33cSDag-Erling Smørgrav   if not specified).])],
125217d15b25SDag-Erling Smørgrav[], [with_sysroot=no])
125317d15b25SDag-Erling Smørgrav
125417d15b25SDag-Erling Smørgravdnl lt_sysroot will always be passed unquoted.  We quote it here
125517d15b25SDag-Erling Smørgravdnl in case the user passed a directory name.
125617d15b25SDag-Erling Smørgravlt_sysroot=
1257986ba33cSDag-Erling Smørgravcase $with_sysroot in #(
125817d15b25SDag-Erling Smørgrav yes)
1259986ba33cSDag-Erling Smørgrav   if test yes = "$GCC"; then
126017d15b25SDag-Erling Smørgrav     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
126117d15b25SDag-Erling Smørgrav   fi
126217d15b25SDag-Erling Smørgrav   ;; #(
126317d15b25SDag-Erling Smørgrav /*)
126417d15b25SDag-Erling Smørgrav   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
126517d15b25SDag-Erling Smørgrav   ;; #(
126617d15b25SDag-Erling Smørgrav no|'')
126717d15b25SDag-Erling Smørgrav   ;; #(
126817d15b25SDag-Erling Smørgrav *)
1269986ba33cSDag-Erling Smørgrav   AC_MSG_RESULT([$with_sysroot])
127017d15b25SDag-Erling Smørgrav   AC_MSG_ERROR([The sysroot must be an absolute path.])
127117d15b25SDag-Erling Smørgrav   ;;
127217d15b25SDag-Erling Smørgravesac
127317d15b25SDag-Erling Smørgrav
127417d15b25SDag-Erling Smørgrav AC_MSG_RESULT([${lt_sysroot:-no}])
127517d15b25SDag-Erling Smørgrav_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1276986ba33cSDag-Erling Smørgrav[dependent libraries, and where our libraries should be installed.])])
127717d15b25SDag-Erling Smørgrav
127817d15b25SDag-Erling Smørgrav# _LT_ENABLE_LOCK
127917d15b25SDag-Erling Smørgrav# ---------------
128017d15b25SDag-Erling Smørgravm4_defun([_LT_ENABLE_LOCK],
128117d15b25SDag-Erling Smørgrav[AC_ARG_ENABLE([libtool-lock],
128217d15b25SDag-Erling Smørgrav  [AS_HELP_STRING([--disable-libtool-lock],
128317d15b25SDag-Erling Smørgrav    [avoid locking (might break parallel builds)])])
1284986ba33cSDag-Erling Smørgravtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
128517d15b25SDag-Erling Smørgrav
128617d15b25SDag-Erling Smørgrav# Some flags need to be propagated to the compiler or linker for good
128717d15b25SDag-Erling Smørgrav# libtool support.
128817d15b25SDag-Erling Smørgravcase $host in
128917d15b25SDag-Erling Smørgravia64-*-hpux*)
1290986ba33cSDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set mode
1291986ba33cSDag-Erling Smørgrav  # options accordingly.
129217d15b25SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
129317d15b25SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
129417d15b25SDag-Erling Smørgrav    case `/usr/bin/file conftest.$ac_objext` in
129517d15b25SDag-Erling Smørgrav      *ELF-32*)
1296986ba33cSDag-Erling Smørgrav	HPUX_IA64_MODE=32
129717d15b25SDag-Erling Smørgrav	;;
129817d15b25SDag-Erling Smørgrav      *ELF-64*)
1299986ba33cSDag-Erling Smørgrav	HPUX_IA64_MODE=64
130017d15b25SDag-Erling Smørgrav	;;
130117d15b25SDag-Erling Smørgrav    esac
130217d15b25SDag-Erling Smørgrav  fi
130317d15b25SDag-Erling Smørgrav  rm -rf conftest*
130417d15b25SDag-Erling Smørgrav  ;;
130517d15b25SDag-Erling Smørgrav*-*-irix6*)
1306986ba33cSDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1307986ba33cSDag-Erling Smørgrav  # options accordingly.
130817d15b25SDag-Erling Smørgrav  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
130917d15b25SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1310986ba33cSDag-Erling Smørgrav    if test yes = "$lt_cv_prog_gnu_ld"; then
131117d15b25SDag-Erling Smørgrav      case `/usr/bin/file conftest.$ac_objext` in
131217d15b25SDag-Erling Smørgrav	*32-bit*)
131317d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -melf32bsmip"
131417d15b25SDag-Erling Smørgrav	  ;;
131517d15b25SDag-Erling Smørgrav	*N32*)
131617d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -melf32bmipn32"
131717d15b25SDag-Erling Smørgrav	  ;;
131817d15b25SDag-Erling Smørgrav	*64-bit*)
131917d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -melf64bmip"
132017d15b25SDag-Erling Smørgrav	;;
132117d15b25SDag-Erling Smørgrav      esac
132217d15b25SDag-Erling Smørgrav    else
132317d15b25SDag-Erling Smørgrav      case `/usr/bin/file conftest.$ac_objext` in
132417d15b25SDag-Erling Smørgrav	*32-bit*)
132517d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -32"
132617d15b25SDag-Erling Smørgrav	  ;;
132717d15b25SDag-Erling Smørgrav	*N32*)
132817d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -n32"
132917d15b25SDag-Erling Smørgrav	  ;;
133017d15b25SDag-Erling Smørgrav	*64-bit*)
133117d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -64"
133217d15b25SDag-Erling Smørgrav	  ;;
133317d15b25SDag-Erling Smørgrav      esac
133417d15b25SDag-Erling Smørgrav    fi
133517d15b25SDag-Erling Smørgrav  fi
133617d15b25SDag-Erling Smørgrav  rm -rf conftest*
133717d15b25SDag-Erling Smørgrav  ;;
133817d15b25SDag-Erling Smørgrav
1339986ba33cSDag-Erling Smørgravmips64*-*linux*)
1340986ba33cSDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1341986ba33cSDag-Erling Smørgrav  # options accordingly.
1342986ba33cSDag-Erling Smørgrav  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1343986ba33cSDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1344986ba33cSDag-Erling Smørgrav    emul=elf
1345986ba33cSDag-Erling Smørgrav    case `/usr/bin/file conftest.$ac_objext` in
1346986ba33cSDag-Erling Smørgrav      *32-bit*)
1347986ba33cSDag-Erling Smørgrav	emul="${emul}32"
1348986ba33cSDag-Erling Smørgrav	;;
1349986ba33cSDag-Erling Smørgrav      *64-bit*)
1350986ba33cSDag-Erling Smørgrav	emul="${emul}64"
1351986ba33cSDag-Erling Smørgrav	;;
1352986ba33cSDag-Erling Smørgrav    esac
1353986ba33cSDag-Erling Smørgrav    case `/usr/bin/file conftest.$ac_objext` in
1354986ba33cSDag-Erling Smørgrav      *MSB*)
1355986ba33cSDag-Erling Smørgrav	emul="${emul}btsmip"
1356986ba33cSDag-Erling Smørgrav	;;
1357986ba33cSDag-Erling Smørgrav      *LSB*)
1358986ba33cSDag-Erling Smørgrav	emul="${emul}ltsmip"
1359986ba33cSDag-Erling Smørgrav	;;
1360986ba33cSDag-Erling Smørgrav    esac
1361986ba33cSDag-Erling Smørgrav    case `/usr/bin/file conftest.$ac_objext` in
1362986ba33cSDag-Erling Smørgrav      *N32*)
1363986ba33cSDag-Erling Smørgrav	emul="${emul}n32"
1364986ba33cSDag-Erling Smørgrav	;;
1365986ba33cSDag-Erling Smørgrav    esac
1366986ba33cSDag-Erling Smørgrav    LD="${LD-ld} -m $emul"
1367986ba33cSDag-Erling Smørgrav  fi
1368986ba33cSDag-Erling Smørgrav  rm -rf conftest*
1369986ba33cSDag-Erling Smørgrav  ;;
1370986ba33cSDag-Erling Smørgrav
1371986ba33cSDag-Erling Smørgravx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
137217d15b25SDag-Erling Smørgravs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1373986ba33cSDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1374986ba33cSDag-Erling Smørgrav  # options accordingly.  Note that the listed cases only cover the
1375986ba33cSDag-Erling Smørgrav  # situations where additional linker options are needed (such as when
1376986ba33cSDag-Erling Smørgrav  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1377986ba33cSDag-Erling Smørgrav  # vice versa); the common cases where no linker options are needed do
1378986ba33cSDag-Erling Smørgrav  # not appear in the list.
137917d15b25SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
138017d15b25SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
138117d15b25SDag-Erling Smørgrav    case `/usr/bin/file conftest.o` in
138217d15b25SDag-Erling Smørgrav      *32-bit*)
138317d15b25SDag-Erling Smørgrav	case $host in
138417d15b25SDag-Erling Smørgrav	  x86_64-*kfreebsd*-gnu)
138517d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_i386_fbsd"
138617d15b25SDag-Erling Smørgrav	    ;;
138717d15b25SDag-Erling Smørgrav	  x86_64-*linux*)
1388986ba33cSDag-Erling Smørgrav	    case `/usr/bin/file conftest.o` in
1389986ba33cSDag-Erling Smørgrav	      *x86-64*)
1390986ba33cSDag-Erling Smørgrav		LD="${LD-ld} -m elf32_x86_64"
1391986ba33cSDag-Erling Smørgrav		;;
1392986ba33cSDag-Erling Smørgrav	      *)
139317d15b25SDag-Erling Smørgrav		LD="${LD-ld} -m elf_i386"
139417d15b25SDag-Erling Smørgrav		;;
1395986ba33cSDag-Erling Smørgrav	    esac
1396986ba33cSDag-Erling Smørgrav	    ;;
1397986ba33cSDag-Erling Smørgrav	  powerpc64le-*linux*)
1398986ba33cSDag-Erling Smørgrav	    LD="${LD-ld} -m elf32lppclinux"
1399986ba33cSDag-Erling Smørgrav	    ;;
1400986ba33cSDag-Erling Smørgrav	  powerpc64-*linux*)
140117d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf32ppclinux"
140217d15b25SDag-Erling Smørgrav	    ;;
140317d15b25SDag-Erling Smørgrav	  s390x-*linux*)
140417d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_s390"
140517d15b25SDag-Erling Smørgrav	    ;;
140617d15b25SDag-Erling Smørgrav	  sparc64-*linux*)
140717d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf32_sparc"
140817d15b25SDag-Erling Smørgrav	    ;;
140917d15b25SDag-Erling Smørgrav	esac
141017d15b25SDag-Erling Smørgrav	;;
141117d15b25SDag-Erling Smørgrav      *64-bit*)
141217d15b25SDag-Erling Smørgrav	case $host in
141317d15b25SDag-Erling Smørgrav	  x86_64-*kfreebsd*-gnu)
141417d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_x86_64_fbsd"
141517d15b25SDag-Erling Smørgrav	    ;;
141617d15b25SDag-Erling Smørgrav	  x86_64-*linux*)
141717d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_x86_64"
141817d15b25SDag-Erling Smørgrav	    ;;
1419986ba33cSDag-Erling Smørgrav	  powerpcle-*linux*)
1420986ba33cSDag-Erling Smørgrav	    LD="${LD-ld} -m elf64lppc"
1421986ba33cSDag-Erling Smørgrav	    ;;
1422986ba33cSDag-Erling Smørgrav	  powerpc-*linux*)
142317d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64ppc"
142417d15b25SDag-Erling Smørgrav	    ;;
142517d15b25SDag-Erling Smørgrav	  s390*-*linux*|s390*-*tpf*)
142617d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64_s390"
142717d15b25SDag-Erling Smørgrav	    ;;
142817d15b25SDag-Erling Smørgrav	  sparc*-*linux*)
142917d15b25SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64_sparc"
143017d15b25SDag-Erling Smørgrav	    ;;
143117d15b25SDag-Erling Smørgrav	esac
143217d15b25SDag-Erling Smørgrav	;;
143317d15b25SDag-Erling Smørgrav    esac
143417d15b25SDag-Erling Smørgrav  fi
143517d15b25SDag-Erling Smørgrav  rm -rf conftest*
143617d15b25SDag-Erling Smørgrav  ;;
143717d15b25SDag-Erling Smørgrav
143817d15b25SDag-Erling Smørgrav*-*-sco3.2v5*)
143917d15b25SDag-Erling Smørgrav  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1440986ba33cSDag-Erling Smørgrav  SAVE_CFLAGS=$CFLAGS
144117d15b25SDag-Erling Smørgrav  CFLAGS="$CFLAGS -belf"
144217d15b25SDag-Erling Smørgrav  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
144317d15b25SDag-Erling Smørgrav    [AC_LANG_PUSH(C)
144417d15b25SDag-Erling Smørgrav     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
144517d15b25SDag-Erling Smørgrav     AC_LANG_POP])
1446986ba33cSDag-Erling Smørgrav  if test yes != "$lt_cv_cc_needs_belf"; then
144717d15b25SDag-Erling Smørgrav    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1448986ba33cSDag-Erling Smørgrav    CFLAGS=$SAVE_CFLAGS
144917d15b25SDag-Erling Smørgrav  fi
145017d15b25SDag-Erling Smørgrav  ;;
145117d15b25SDag-Erling Smørgrav*-*solaris*)
1452986ba33cSDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1453986ba33cSDag-Erling Smørgrav  # options accordingly.
145417d15b25SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
145517d15b25SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
145617d15b25SDag-Erling Smørgrav    case `/usr/bin/file conftest.o` in
145717d15b25SDag-Erling Smørgrav    *64-bit*)
145817d15b25SDag-Erling Smørgrav      case $lt_cv_prog_gnu_ld in
145917d15b25SDag-Erling Smørgrav      yes*)
146017d15b25SDag-Erling Smørgrav        case $host in
1461986ba33cSDag-Erling Smørgrav        i?86-*-solaris*|x86_64-*-solaris*)
146217d15b25SDag-Erling Smørgrav          LD="${LD-ld} -m elf_x86_64"
146317d15b25SDag-Erling Smørgrav          ;;
146417d15b25SDag-Erling Smørgrav        sparc*-*-solaris*)
146517d15b25SDag-Erling Smørgrav          LD="${LD-ld} -m elf64_sparc"
146617d15b25SDag-Erling Smørgrav          ;;
146717d15b25SDag-Erling Smørgrav        esac
146817d15b25SDag-Erling Smørgrav        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
146917d15b25SDag-Erling Smørgrav        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1470986ba33cSDag-Erling Smørgrav          LD=${LD-ld}_sol2
147117d15b25SDag-Erling Smørgrav        fi
147217d15b25SDag-Erling Smørgrav        ;;
147317d15b25SDag-Erling Smørgrav      *)
147417d15b25SDag-Erling Smørgrav	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
147517d15b25SDag-Erling Smørgrav	  LD="${LD-ld} -64"
147617d15b25SDag-Erling Smørgrav	fi
147717d15b25SDag-Erling Smørgrav	;;
147817d15b25SDag-Erling Smørgrav      esac
147917d15b25SDag-Erling Smørgrav      ;;
148017d15b25SDag-Erling Smørgrav    esac
148117d15b25SDag-Erling Smørgrav  fi
148217d15b25SDag-Erling Smørgrav  rm -rf conftest*
148317d15b25SDag-Erling Smørgrav  ;;
148417d15b25SDag-Erling Smørgravesac
148517d15b25SDag-Erling Smørgrav
1486986ba33cSDag-Erling Smørgravneed_locks=$enable_libtool_lock
148717d15b25SDag-Erling Smørgrav])# _LT_ENABLE_LOCK
148817d15b25SDag-Erling Smørgrav
148917d15b25SDag-Erling Smørgrav
149017d15b25SDag-Erling Smørgrav# _LT_PROG_AR
149117d15b25SDag-Erling Smørgrav# -----------
149217d15b25SDag-Erling Smørgravm4_defun([_LT_PROG_AR],
149317d15b25SDag-Erling Smørgrav[AC_CHECK_TOOLS(AR, [ar], false)
149417d15b25SDag-Erling Smørgrav: ${AR=ar}
1495*5afab0e5SDag-Erling Smørgrav: ${AR_FLAGS=cr}
149617d15b25SDag-Erling Smørgrav_LT_DECL([], [AR], [1], [The archiver])
149717d15b25SDag-Erling Smørgrav_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
149817d15b25SDag-Erling Smørgrav
149917d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
150017d15b25SDag-Erling Smørgrav  [lt_cv_ar_at_file=no
150117d15b25SDag-Erling Smørgrav   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
150217d15b25SDag-Erling Smørgrav     [echo conftest.$ac_objext > conftest.lst
150317d15b25SDag-Erling Smørgrav      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
150417d15b25SDag-Erling Smørgrav      AC_TRY_EVAL([lt_ar_try])
1505986ba33cSDag-Erling Smørgrav      if test 0 -eq "$ac_status"; then
150617d15b25SDag-Erling Smørgrav	# Ensure the archiver fails upon bogus file names.
150717d15b25SDag-Erling Smørgrav	rm -f conftest.$ac_objext libconftest.a
150817d15b25SDag-Erling Smørgrav	AC_TRY_EVAL([lt_ar_try])
1509986ba33cSDag-Erling Smørgrav	if test 0 -ne "$ac_status"; then
151017d15b25SDag-Erling Smørgrav          lt_cv_ar_at_file=@
151117d15b25SDag-Erling Smørgrav        fi
151217d15b25SDag-Erling Smørgrav      fi
151317d15b25SDag-Erling Smørgrav      rm -f conftest.* libconftest.a
151417d15b25SDag-Erling Smørgrav     ])
151517d15b25SDag-Erling Smørgrav  ])
151617d15b25SDag-Erling Smørgrav
1517986ba33cSDag-Erling Smørgravif test no = "$lt_cv_ar_at_file"; then
151817d15b25SDag-Erling Smørgrav  archiver_list_spec=
151917d15b25SDag-Erling Smørgravelse
152017d15b25SDag-Erling Smørgrav  archiver_list_spec=$lt_cv_ar_at_file
152117d15b25SDag-Erling Smørgravfi
152217d15b25SDag-Erling Smørgrav_LT_DECL([], [archiver_list_spec], [1],
152317d15b25SDag-Erling Smørgrav  [How to feed a file listing to the archiver])
152417d15b25SDag-Erling Smørgrav])# _LT_PROG_AR
152517d15b25SDag-Erling Smørgrav
152617d15b25SDag-Erling Smørgrav
152717d15b25SDag-Erling Smørgrav# _LT_CMD_OLD_ARCHIVE
152817d15b25SDag-Erling Smørgrav# -------------------
152917d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_OLD_ARCHIVE],
153017d15b25SDag-Erling Smørgrav[_LT_PROG_AR
153117d15b25SDag-Erling Smørgrav
153217d15b25SDag-Erling SmørgravAC_CHECK_TOOL(STRIP, strip, :)
153317d15b25SDag-Erling Smørgravtest -z "$STRIP" && STRIP=:
153417d15b25SDag-Erling Smørgrav_LT_DECL([], [STRIP], [1], [A symbol stripping program])
153517d15b25SDag-Erling Smørgrav
153617d15b25SDag-Erling SmørgravAC_CHECK_TOOL(RANLIB, ranlib, :)
153717d15b25SDag-Erling Smørgravtest -z "$RANLIB" && RANLIB=:
153817d15b25SDag-Erling Smørgrav_LT_DECL([], [RANLIB], [1],
153917d15b25SDag-Erling Smørgrav    [Commands used to install an old-style archive])
154017d15b25SDag-Erling Smørgrav
154117d15b25SDag-Erling Smørgrav# Determine commands to create old-style static archives.
154217d15b25SDag-Erling Smørgravold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
154317d15b25SDag-Erling Smørgravold_postinstall_cmds='chmod 644 $oldlib'
154417d15b25SDag-Erling Smørgravold_postuninstall_cmds=
154517d15b25SDag-Erling Smørgrav
154617d15b25SDag-Erling Smørgravif test -n "$RANLIB"; then
154717d15b25SDag-Erling Smørgrav  case $host_os in
1548986ba33cSDag-Erling Smørgrav  bitrig* | openbsd*)
154917d15b25SDag-Erling Smørgrav    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
155017d15b25SDag-Erling Smørgrav    ;;
155117d15b25SDag-Erling Smørgrav  *)
155217d15b25SDag-Erling Smørgrav    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
155317d15b25SDag-Erling Smørgrav    ;;
155417d15b25SDag-Erling Smørgrav  esac
155517d15b25SDag-Erling Smørgrav  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
155617d15b25SDag-Erling Smørgravfi
155717d15b25SDag-Erling Smørgrav
155817d15b25SDag-Erling Smørgravcase $host_os in
155917d15b25SDag-Erling Smørgrav  darwin*)
156017d15b25SDag-Erling Smørgrav    lock_old_archive_extraction=yes ;;
156117d15b25SDag-Erling Smørgrav  *)
156217d15b25SDag-Erling Smørgrav    lock_old_archive_extraction=no ;;
156317d15b25SDag-Erling Smørgravesac
156417d15b25SDag-Erling Smørgrav_LT_DECL([], [old_postinstall_cmds], [2])
156517d15b25SDag-Erling Smørgrav_LT_DECL([], [old_postuninstall_cmds], [2])
156617d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_cmds], [2],
156717d15b25SDag-Erling Smørgrav    [Commands used to build an old-style archive])
156817d15b25SDag-Erling Smørgrav_LT_DECL([], [lock_old_archive_extraction], [0],
156917d15b25SDag-Erling Smørgrav    [Whether to use a lock for old archive extraction])
157017d15b25SDag-Erling Smørgrav])# _LT_CMD_OLD_ARCHIVE
157117d15b25SDag-Erling Smørgrav
157217d15b25SDag-Erling Smørgrav
157317d15b25SDag-Erling Smørgrav# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
157417d15b25SDag-Erling Smørgrav#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
157517d15b25SDag-Erling Smørgrav# ----------------------------------------------------------------
157617d15b25SDag-Erling Smørgrav# Check whether the given compiler option works
157717d15b25SDag-Erling SmørgravAC_DEFUN([_LT_COMPILER_OPTION],
157817d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
157917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
158017d15b25SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2],
158117d15b25SDag-Erling Smørgrav  [$2=no
158217d15b25SDag-Erling Smørgrav   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
158317d15b25SDag-Erling Smørgrav   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1584986ba33cSDag-Erling Smørgrav   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
158517d15b25SDag-Erling Smørgrav   # Insert the option either (1) after the last *FLAGS variable, or
158617d15b25SDag-Erling Smørgrav   # (2) before a word containing "conftest.", or (3) at the end.
158717d15b25SDag-Erling Smørgrav   # Note that $ac_compile itself does not contain backslashes and begins
158817d15b25SDag-Erling Smørgrav   # with a dollar sign (not a hyphen), so the echo should work correctly.
158917d15b25SDag-Erling Smørgrav   # The option is referenced via a variable to avoid confusing sed.
159017d15b25SDag-Erling Smørgrav   lt_compile=`echo "$ac_compile" | $SED \
159117d15b25SDag-Erling Smørgrav   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
159217d15b25SDag-Erling Smørgrav   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
159317d15b25SDag-Erling Smørgrav   -e 's:$: $lt_compiler_flag:'`
159417d15b25SDag-Erling Smørgrav   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
159517d15b25SDag-Erling Smørgrav   (eval "$lt_compile" 2>conftest.err)
159617d15b25SDag-Erling Smørgrav   ac_status=$?
159717d15b25SDag-Erling Smørgrav   cat conftest.err >&AS_MESSAGE_LOG_FD
159817d15b25SDag-Erling Smørgrav   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
159917d15b25SDag-Erling Smørgrav   if (exit $ac_status) && test -s "$ac_outfile"; then
160017d15b25SDag-Erling Smørgrav     # The compiler can only warn and ignore the option if not recognized
160117d15b25SDag-Erling Smørgrav     # So say no if there are warnings other than the usual output.
160217d15b25SDag-Erling Smørgrav     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
160317d15b25SDag-Erling Smørgrav     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
160417d15b25SDag-Erling Smørgrav     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
160517d15b25SDag-Erling Smørgrav       $2=yes
160617d15b25SDag-Erling Smørgrav     fi
160717d15b25SDag-Erling Smørgrav   fi
160817d15b25SDag-Erling Smørgrav   $RM conftest*
160917d15b25SDag-Erling Smørgrav])
161017d15b25SDag-Erling Smørgrav
1611986ba33cSDag-Erling Smørgravif test yes = "[$]$2"; then
161217d15b25SDag-Erling Smørgrav    m4_if([$5], , :, [$5])
161317d15b25SDag-Erling Smørgravelse
161417d15b25SDag-Erling Smørgrav    m4_if([$6], , :, [$6])
161517d15b25SDag-Erling Smørgravfi
161617d15b25SDag-Erling Smørgrav])# _LT_COMPILER_OPTION
161717d15b25SDag-Erling Smørgrav
161817d15b25SDag-Erling Smørgrav# Old name:
161917d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
162017d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
162117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
162217d15b25SDag-Erling Smørgrav
162317d15b25SDag-Erling Smørgrav
162417d15b25SDag-Erling Smørgrav# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
162517d15b25SDag-Erling Smørgrav#                  [ACTION-SUCCESS], [ACTION-FAILURE])
162617d15b25SDag-Erling Smørgrav# ----------------------------------------------------
162717d15b25SDag-Erling Smørgrav# Check whether the given linker option works
162817d15b25SDag-Erling SmørgravAC_DEFUN([_LT_LINKER_OPTION],
162917d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
163017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
163117d15b25SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2],
163217d15b25SDag-Erling Smørgrav  [$2=no
1633986ba33cSDag-Erling Smørgrav   save_LDFLAGS=$LDFLAGS
163417d15b25SDag-Erling Smørgrav   LDFLAGS="$LDFLAGS $3"
163517d15b25SDag-Erling Smørgrav   echo "$lt_simple_link_test_code" > conftest.$ac_ext
163617d15b25SDag-Erling Smørgrav   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
163717d15b25SDag-Erling Smørgrav     # The linker can only warn and ignore the option if not recognized
163817d15b25SDag-Erling Smørgrav     # So say no if there are warnings
163917d15b25SDag-Erling Smørgrav     if test -s conftest.err; then
164017d15b25SDag-Erling Smørgrav       # Append any errors to the config.log.
164117d15b25SDag-Erling Smørgrav       cat conftest.err 1>&AS_MESSAGE_LOG_FD
164217d15b25SDag-Erling Smørgrav       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
164317d15b25SDag-Erling Smørgrav       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
164417d15b25SDag-Erling Smørgrav       if diff conftest.exp conftest.er2 >/dev/null; then
164517d15b25SDag-Erling Smørgrav         $2=yes
164617d15b25SDag-Erling Smørgrav       fi
164717d15b25SDag-Erling Smørgrav     else
164817d15b25SDag-Erling Smørgrav       $2=yes
164917d15b25SDag-Erling Smørgrav     fi
165017d15b25SDag-Erling Smørgrav   fi
165117d15b25SDag-Erling Smørgrav   $RM -r conftest*
1652986ba33cSDag-Erling Smørgrav   LDFLAGS=$save_LDFLAGS
165317d15b25SDag-Erling Smørgrav])
165417d15b25SDag-Erling Smørgrav
1655986ba33cSDag-Erling Smørgravif test yes = "[$]$2"; then
165617d15b25SDag-Erling Smørgrav    m4_if([$4], , :, [$4])
165717d15b25SDag-Erling Smørgravelse
165817d15b25SDag-Erling Smørgrav    m4_if([$5], , :, [$5])
165917d15b25SDag-Erling Smørgravfi
166017d15b25SDag-Erling Smørgrav])# _LT_LINKER_OPTION
166117d15b25SDag-Erling Smørgrav
166217d15b25SDag-Erling Smørgrav# Old name:
166317d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
166417d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
166517d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
166617d15b25SDag-Erling Smørgrav
166717d15b25SDag-Erling Smørgrav
166817d15b25SDag-Erling Smørgrav# LT_CMD_MAX_LEN
166917d15b25SDag-Erling Smørgrav#---------------
167017d15b25SDag-Erling SmørgravAC_DEFUN([LT_CMD_MAX_LEN],
167117d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
167217d15b25SDag-Erling Smørgrav# find the maximum length of command line arguments
167317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([the maximum length of command line arguments])
167417d15b25SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
167517d15b25SDag-Erling Smørgrav  i=0
1676986ba33cSDag-Erling Smørgrav  teststring=ABCD
167717d15b25SDag-Erling Smørgrav
167817d15b25SDag-Erling Smørgrav  case $build_os in
167917d15b25SDag-Erling Smørgrav  msdosdjgpp*)
168017d15b25SDag-Erling Smørgrav    # On DJGPP, this test can blow up pretty badly due to problems in libc
168117d15b25SDag-Erling Smørgrav    # (any single argument exceeding 2000 bytes causes a buffer overrun
168217d15b25SDag-Erling Smørgrav    # during glob expansion).  Even if it were fixed, the result of this
168317d15b25SDag-Erling Smørgrav    # check would be larger than it should be.
168417d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
168517d15b25SDag-Erling Smørgrav    ;;
168617d15b25SDag-Erling Smørgrav
168717d15b25SDag-Erling Smørgrav  gnu*)
168817d15b25SDag-Erling Smørgrav    # Under GNU Hurd, this test is not required because there is
168917d15b25SDag-Erling Smørgrav    # no limit to the length of command line arguments.
169017d15b25SDag-Erling Smørgrav    # Libtool will interpret -1 as no limit whatsoever
169117d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=-1;
169217d15b25SDag-Erling Smørgrav    ;;
169317d15b25SDag-Erling Smørgrav
169417d15b25SDag-Erling Smørgrav  cygwin* | mingw* | cegcc*)
169517d15b25SDag-Erling Smørgrav    # On Win9x/ME, this test blows up -- it succeeds, but takes
169617d15b25SDag-Erling Smørgrav    # about 5 minutes as the teststring grows exponentially.
169717d15b25SDag-Erling Smørgrav    # Worse, since 9x/ME are not pre-emptively multitasking,
169817d15b25SDag-Erling Smørgrav    # you end up with a "frozen" computer, even though with patience
169917d15b25SDag-Erling Smørgrav    # the test eventually succeeds (with a max line length of 256k).
170017d15b25SDag-Erling Smørgrav    # Instead, let's just punt: use the minimum linelength reported by
170117d15b25SDag-Erling Smørgrav    # all of the supported platforms: 8192 (on NT/2K/XP).
170217d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
170317d15b25SDag-Erling Smørgrav    ;;
170417d15b25SDag-Erling Smørgrav
170517d15b25SDag-Erling Smørgrav  mint*)
170617d15b25SDag-Erling Smørgrav    # On MiNT this can take a long time and run out of memory.
170717d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
170817d15b25SDag-Erling Smørgrav    ;;
170917d15b25SDag-Erling Smørgrav
171017d15b25SDag-Erling Smørgrav  amigaos*)
171117d15b25SDag-Erling Smørgrav    # On AmigaOS with pdksh, this test takes hours, literally.
171217d15b25SDag-Erling Smørgrav    # So we just punt and use a minimum line length of 8192.
171317d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
171417d15b25SDag-Erling Smørgrav    ;;
171517d15b25SDag-Erling Smørgrav
1716986ba33cSDag-Erling Smørgrav  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
171717d15b25SDag-Erling Smørgrav    # This has been around since 386BSD, at least.  Likely further.
171817d15b25SDag-Erling Smørgrav    if test -x /sbin/sysctl; then
171917d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
172017d15b25SDag-Erling Smørgrav    elif test -x /usr/sbin/sysctl; then
172117d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
172217d15b25SDag-Erling Smørgrav    else
172317d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
172417d15b25SDag-Erling Smørgrav    fi
172517d15b25SDag-Erling Smørgrav    # And add a safety zone
172617d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
172717d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
172817d15b25SDag-Erling Smørgrav    ;;
172917d15b25SDag-Erling Smørgrav
173017d15b25SDag-Erling Smørgrav  interix*)
173117d15b25SDag-Erling Smørgrav    # We know the value 262144 and hardcode it with a safety zone (like BSD)
173217d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=196608
173317d15b25SDag-Erling Smørgrav    ;;
173417d15b25SDag-Erling Smørgrav
173517d15b25SDag-Erling Smørgrav  os2*)
173617d15b25SDag-Erling Smørgrav    # The test takes a long time on OS/2.
173717d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192
173817d15b25SDag-Erling Smørgrav    ;;
173917d15b25SDag-Erling Smørgrav
174017d15b25SDag-Erling Smørgrav  osf*)
174117d15b25SDag-Erling Smørgrav    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
174217d15b25SDag-Erling Smørgrav    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
174317d15b25SDag-Erling Smørgrav    # nice to cause kernel panics so lets avoid the loop below.
174417d15b25SDag-Erling Smørgrav    # First set a reasonable default.
174517d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=16384
174617d15b25SDag-Erling Smørgrav    #
174717d15b25SDag-Erling Smørgrav    if test -x /sbin/sysconfig; then
174817d15b25SDag-Erling Smørgrav      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
174917d15b25SDag-Erling Smørgrav        *1*) lt_cv_sys_max_cmd_len=-1 ;;
175017d15b25SDag-Erling Smørgrav      esac
175117d15b25SDag-Erling Smørgrav    fi
175217d15b25SDag-Erling Smørgrav    ;;
175317d15b25SDag-Erling Smørgrav  sco3.2v5*)
175417d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=102400
175517d15b25SDag-Erling Smørgrav    ;;
175617d15b25SDag-Erling Smørgrav  sysv5* | sco5v6* | sysv4.2uw2*)
175717d15b25SDag-Erling Smørgrav    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
175817d15b25SDag-Erling Smørgrav    if test -n "$kargmax"; then
175917d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
176017d15b25SDag-Erling Smørgrav    else
176117d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=32768
176217d15b25SDag-Erling Smørgrav    fi
176317d15b25SDag-Erling Smørgrav    ;;
176417d15b25SDag-Erling Smørgrav  *)
176517d15b25SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1766986ba33cSDag-Erling Smørgrav    if test -n "$lt_cv_sys_max_cmd_len" && \
1767986ba33cSDag-Erling Smørgrav       test undefined != "$lt_cv_sys_max_cmd_len"; then
176817d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
176917d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
177017d15b25SDag-Erling Smørgrav    else
177117d15b25SDag-Erling Smørgrav      # Make teststring a little bigger before we do anything with it.
177217d15b25SDag-Erling Smørgrav      # a 1K string should be a reasonable start.
177317d15b25SDag-Erling Smørgrav      for i in 1 2 3 4 5 6 7 8; do
177417d15b25SDag-Erling Smørgrav        teststring=$teststring$teststring
177517d15b25SDag-Erling Smørgrav      done
177617d15b25SDag-Erling Smørgrav      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
177717d15b25SDag-Erling Smørgrav      # If test is not a shell built-in, we'll probably end up computing a
177817d15b25SDag-Erling Smørgrav      # maximum length that is only half of the actual maximum length, but
177917d15b25SDag-Erling Smørgrav      # we can't tell.
1780986ba33cSDag-Erling Smørgrav      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
178117d15b25SDag-Erling Smørgrav	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1782986ba33cSDag-Erling Smørgrav	      test 17 != "$i" # 1/2 MB should be enough
178317d15b25SDag-Erling Smørgrav      do
178417d15b25SDag-Erling Smørgrav        i=`expr $i + 1`
178517d15b25SDag-Erling Smørgrav        teststring=$teststring$teststring
178617d15b25SDag-Erling Smørgrav      done
178717d15b25SDag-Erling Smørgrav      # Only check the string length outside the loop.
178817d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
178917d15b25SDag-Erling Smørgrav      teststring=
179017d15b25SDag-Erling Smørgrav      # Add a significant safety factor because C++ compilers can tack on
179117d15b25SDag-Erling Smørgrav      # massive amounts of additional arguments before passing them to the
179217d15b25SDag-Erling Smørgrav      # linker.  It appears as though 1/2 is a usable value.
179317d15b25SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
179417d15b25SDag-Erling Smørgrav    fi
179517d15b25SDag-Erling Smørgrav    ;;
179617d15b25SDag-Erling Smørgrav  esac
179717d15b25SDag-Erling Smørgrav])
1798986ba33cSDag-Erling Smørgravif test -n "$lt_cv_sys_max_cmd_len"; then
179917d15b25SDag-Erling Smørgrav  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
180017d15b25SDag-Erling Smørgravelse
180117d15b25SDag-Erling Smørgrav  AC_MSG_RESULT(none)
180217d15b25SDag-Erling Smørgravfi
180317d15b25SDag-Erling Smørgravmax_cmd_len=$lt_cv_sys_max_cmd_len
180417d15b25SDag-Erling Smørgrav_LT_DECL([], [max_cmd_len], [0],
180517d15b25SDag-Erling Smørgrav    [What is the maximum length of a command?])
180617d15b25SDag-Erling Smørgrav])# LT_CMD_MAX_LEN
180717d15b25SDag-Erling Smørgrav
180817d15b25SDag-Erling Smørgrav# Old name:
180917d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
181017d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
181117d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
181217d15b25SDag-Erling Smørgrav
181317d15b25SDag-Erling Smørgrav
181417d15b25SDag-Erling Smørgrav# _LT_HEADER_DLFCN
181517d15b25SDag-Erling Smørgrav# ----------------
181617d15b25SDag-Erling Smørgravm4_defun([_LT_HEADER_DLFCN],
181717d15b25SDag-Erling Smørgrav[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
181817d15b25SDag-Erling Smørgrav])# _LT_HEADER_DLFCN
181917d15b25SDag-Erling Smørgrav
182017d15b25SDag-Erling Smørgrav
182117d15b25SDag-Erling Smørgrav# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
182217d15b25SDag-Erling Smørgrav#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
182317d15b25SDag-Erling Smørgrav# ----------------------------------------------------------------
182417d15b25SDag-Erling Smørgravm4_defun([_LT_TRY_DLOPEN_SELF],
182517d15b25SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl
1826986ba33cSDag-Erling Smørgravif test yes = "$cross_compiling"; then :
182717d15b25SDag-Erling Smørgrav  [$4]
182817d15b25SDag-Erling Smørgravelse
182917d15b25SDag-Erling Smørgrav  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
183017d15b25SDag-Erling Smørgrav  lt_status=$lt_dlunknown
183117d15b25SDag-Erling Smørgrav  cat > conftest.$ac_ext <<_LT_EOF
183217d15b25SDag-Erling Smørgrav[#line $LINENO "configure"
183317d15b25SDag-Erling Smørgrav#include "confdefs.h"
183417d15b25SDag-Erling Smørgrav
183517d15b25SDag-Erling Smørgrav#if HAVE_DLFCN_H
183617d15b25SDag-Erling Smørgrav#include <dlfcn.h>
183717d15b25SDag-Erling Smørgrav#endif
183817d15b25SDag-Erling Smørgrav
183917d15b25SDag-Erling Smørgrav#include <stdio.h>
184017d15b25SDag-Erling Smørgrav
184117d15b25SDag-Erling Smørgrav#ifdef RTLD_GLOBAL
184217d15b25SDag-Erling Smørgrav#  define LT_DLGLOBAL		RTLD_GLOBAL
184317d15b25SDag-Erling Smørgrav#else
184417d15b25SDag-Erling Smørgrav#  ifdef DL_GLOBAL
184517d15b25SDag-Erling Smørgrav#    define LT_DLGLOBAL		DL_GLOBAL
184617d15b25SDag-Erling Smørgrav#  else
184717d15b25SDag-Erling Smørgrav#    define LT_DLGLOBAL		0
184817d15b25SDag-Erling Smørgrav#  endif
184917d15b25SDag-Erling Smørgrav#endif
185017d15b25SDag-Erling Smørgrav
185117d15b25SDag-Erling Smørgrav/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
185217d15b25SDag-Erling Smørgrav   find out it does not work in some platform. */
185317d15b25SDag-Erling Smørgrav#ifndef LT_DLLAZY_OR_NOW
185417d15b25SDag-Erling Smørgrav#  ifdef RTLD_LAZY
185517d15b25SDag-Erling Smørgrav#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
185617d15b25SDag-Erling Smørgrav#  else
185717d15b25SDag-Erling Smørgrav#    ifdef DL_LAZY
185817d15b25SDag-Erling Smørgrav#      define LT_DLLAZY_OR_NOW		DL_LAZY
185917d15b25SDag-Erling Smørgrav#    else
186017d15b25SDag-Erling Smørgrav#      ifdef RTLD_NOW
186117d15b25SDag-Erling Smørgrav#        define LT_DLLAZY_OR_NOW	RTLD_NOW
186217d15b25SDag-Erling Smørgrav#      else
186317d15b25SDag-Erling Smørgrav#        ifdef DL_NOW
186417d15b25SDag-Erling Smørgrav#          define LT_DLLAZY_OR_NOW	DL_NOW
186517d15b25SDag-Erling Smørgrav#        else
186617d15b25SDag-Erling Smørgrav#          define LT_DLLAZY_OR_NOW	0
186717d15b25SDag-Erling Smørgrav#        endif
186817d15b25SDag-Erling Smørgrav#      endif
186917d15b25SDag-Erling Smørgrav#    endif
187017d15b25SDag-Erling Smørgrav#  endif
187117d15b25SDag-Erling Smørgrav#endif
187217d15b25SDag-Erling Smørgrav
1873986ba33cSDag-Erling Smørgrav/* When -fvisibility=hidden is used, assume the code has been annotated
187417d15b25SDag-Erling Smørgrav   correspondingly for the symbols needed.  */
1875986ba33cSDag-Erling Smørgrav#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
187617d15b25SDag-Erling Smørgravint fnord () __attribute__((visibility("default")));
187717d15b25SDag-Erling Smørgrav#endif
187817d15b25SDag-Erling Smørgrav
187917d15b25SDag-Erling Smørgravint fnord () { return 42; }
188017d15b25SDag-Erling Smørgravint main ()
188117d15b25SDag-Erling Smørgrav{
188217d15b25SDag-Erling Smørgrav  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
188317d15b25SDag-Erling Smørgrav  int status = $lt_dlunknown;
188417d15b25SDag-Erling Smørgrav
188517d15b25SDag-Erling Smørgrav  if (self)
188617d15b25SDag-Erling Smørgrav    {
188717d15b25SDag-Erling Smørgrav      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
188817d15b25SDag-Erling Smørgrav      else
188917d15b25SDag-Erling Smørgrav        {
189017d15b25SDag-Erling Smørgrav	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
189117d15b25SDag-Erling Smørgrav          else puts (dlerror ());
189217d15b25SDag-Erling Smørgrav	}
189317d15b25SDag-Erling Smørgrav      /* dlclose (self); */
189417d15b25SDag-Erling Smørgrav    }
189517d15b25SDag-Erling Smørgrav  else
189617d15b25SDag-Erling Smørgrav    puts (dlerror ());
189717d15b25SDag-Erling Smørgrav
189817d15b25SDag-Erling Smørgrav  return status;
189917d15b25SDag-Erling Smørgrav}]
190017d15b25SDag-Erling Smørgrav_LT_EOF
1901986ba33cSDag-Erling Smørgrav  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
190217d15b25SDag-Erling Smørgrav    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
190317d15b25SDag-Erling Smørgrav    lt_status=$?
190417d15b25SDag-Erling Smørgrav    case x$lt_status in
190517d15b25SDag-Erling Smørgrav      x$lt_dlno_uscore) $1 ;;
190617d15b25SDag-Erling Smørgrav      x$lt_dlneed_uscore) $2 ;;
190717d15b25SDag-Erling Smørgrav      x$lt_dlunknown|x*) $3 ;;
190817d15b25SDag-Erling Smørgrav    esac
190917d15b25SDag-Erling Smørgrav  else :
191017d15b25SDag-Erling Smørgrav    # compilation failed
191117d15b25SDag-Erling Smørgrav    $3
191217d15b25SDag-Erling Smørgrav  fi
191317d15b25SDag-Erling Smørgravfi
191417d15b25SDag-Erling Smørgravrm -fr conftest*
191517d15b25SDag-Erling Smørgrav])# _LT_TRY_DLOPEN_SELF
191617d15b25SDag-Erling Smørgrav
191717d15b25SDag-Erling Smørgrav
191817d15b25SDag-Erling Smørgrav# LT_SYS_DLOPEN_SELF
191917d15b25SDag-Erling Smørgrav# ------------------
192017d15b25SDag-Erling SmørgravAC_DEFUN([LT_SYS_DLOPEN_SELF],
192117d15b25SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl
1922986ba33cSDag-Erling Smørgravif test yes != "$enable_dlopen"; then
192317d15b25SDag-Erling Smørgrav  enable_dlopen=unknown
192417d15b25SDag-Erling Smørgrav  enable_dlopen_self=unknown
192517d15b25SDag-Erling Smørgrav  enable_dlopen_self_static=unknown
192617d15b25SDag-Erling Smørgravelse
192717d15b25SDag-Erling Smørgrav  lt_cv_dlopen=no
192817d15b25SDag-Erling Smørgrav  lt_cv_dlopen_libs=
192917d15b25SDag-Erling Smørgrav
193017d15b25SDag-Erling Smørgrav  case $host_os in
193117d15b25SDag-Erling Smørgrav  beos*)
1932986ba33cSDag-Erling Smørgrav    lt_cv_dlopen=load_add_on
193317d15b25SDag-Erling Smørgrav    lt_cv_dlopen_libs=
193417d15b25SDag-Erling Smørgrav    lt_cv_dlopen_self=yes
193517d15b25SDag-Erling Smørgrav    ;;
193617d15b25SDag-Erling Smørgrav
193717d15b25SDag-Erling Smørgrav  mingw* | pw32* | cegcc*)
1938986ba33cSDag-Erling Smørgrav    lt_cv_dlopen=LoadLibrary
193917d15b25SDag-Erling Smørgrav    lt_cv_dlopen_libs=
194017d15b25SDag-Erling Smørgrav    ;;
194117d15b25SDag-Erling Smørgrav
194217d15b25SDag-Erling Smørgrav  cygwin*)
1943986ba33cSDag-Erling Smørgrav    lt_cv_dlopen=dlopen
194417d15b25SDag-Erling Smørgrav    lt_cv_dlopen_libs=
194517d15b25SDag-Erling Smørgrav    ;;
194617d15b25SDag-Erling Smørgrav
194717d15b25SDag-Erling Smørgrav  darwin*)
194817d15b25SDag-Erling Smørgrav    # if libdl is installed we need to link against it
194917d15b25SDag-Erling Smørgrav    AC_CHECK_LIB([dl], [dlopen],
1950986ba33cSDag-Erling Smørgrav		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1951986ba33cSDag-Erling Smørgrav    lt_cv_dlopen=dyld
195217d15b25SDag-Erling Smørgrav    lt_cv_dlopen_libs=
195317d15b25SDag-Erling Smørgrav    lt_cv_dlopen_self=yes
195417d15b25SDag-Erling Smørgrav    ])
195517d15b25SDag-Erling Smørgrav    ;;
195617d15b25SDag-Erling Smørgrav
1957986ba33cSDag-Erling Smørgrav  tpf*)
1958986ba33cSDag-Erling Smørgrav    # Don't try to run any link tests for TPF.  We know it's impossible
1959986ba33cSDag-Erling Smørgrav    # because TPF is a cross-compiler, and we know how we open DSOs.
1960986ba33cSDag-Erling Smørgrav    lt_cv_dlopen=dlopen
1961986ba33cSDag-Erling Smørgrav    lt_cv_dlopen_libs=
1962986ba33cSDag-Erling Smørgrav    lt_cv_dlopen_self=no
1963986ba33cSDag-Erling Smørgrav    ;;
1964986ba33cSDag-Erling Smørgrav
196517d15b25SDag-Erling Smørgrav  *)
196617d15b25SDag-Erling Smørgrav    AC_CHECK_FUNC([shl_load],
1967986ba33cSDag-Erling Smørgrav	  [lt_cv_dlopen=shl_load],
196817d15b25SDag-Erling Smørgrav      [AC_CHECK_LIB([dld], [shl_load],
1969986ba33cSDag-Erling Smørgrav	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
197017d15b25SDag-Erling Smørgrav	[AC_CHECK_FUNC([dlopen],
1971986ba33cSDag-Erling Smørgrav	      [lt_cv_dlopen=dlopen],
197217d15b25SDag-Erling Smørgrav	  [AC_CHECK_LIB([dl], [dlopen],
1973986ba33cSDag-Erling Smørgrav		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
197417d15b25SDag-Erling Smørgrav	    [AC_CHECK_LIB([svld], [dlopen],
1975986ba33cSDag-Erling Smørgrav		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
197617d15b25SDag-Erling Smørgrav	      [AC_CHECK_LIB([dld], [dld_link],
1977986ba33cSDag-Erling Smørgrav		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
197817d15b25SDag-Erling Smørgrav	      ])
197917d15b25SDag-Erling Smørgrav	    ])
198017d15b25SDag-Erling Smørgrav	  ])
198117d15b25SDag-Erling Smørgrav	])
198217d15b25SDag-Erling Smørgrav      ])
198317d15b25SDag-Erling Smørgrav    ;;
198417d15b25SDag-Erling Smørgrav  esac
198517d15b25SDag-Erling Smørgrav
1986986ba33cSDag-Erling Smørgrav  if test no = "$lt_cv_dlopen"; then
198717d15b25SDag-Erling Smørgrav    enable_dlopen=no
1988986ba33cSDag-Erling Smørgrav  else
1989986ba33cSDag-Erling Smørgrav    enable_dlopen=yes
199017d15b25SDag-Erling Smørgrav  fi
199117d15b25SDag-Erling Smørgrav
199217d15b25SDag-Erling Smørgrav  case $lt_cv_dlopen in
199317d15b25SDag-Erling Smørgrav  dlopen)
1994986ba33cSDag-Erling Smørgrav    save_CPPFLAGS=$CPPFLAGS
1995986ba33cSDag-Erling Smørgrav    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
199617d15b25SDag-Erling Smørgrav
1997986ba33cSDag-Erling Smørgrav    save_LDFLAGS=$LDFLAGS
199817d15b25SDag-Erling Smørgrav    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
199917d15b25SDag-Erling Smørgrav
2000986ba33cSDag-Erling Smørgrav    save_LIBS=$LIBS
200117d15b25SDag-Erling Smørgrav    LIBS="$lt_cv_dlopen_libs $LIBS"
200217d15b25SDag-Erling Smørgrav
200317d15b25SDag-Erling Smørgrav    AC_CACHE_CHECK([whether a program can dlopen itself],
200417d15b25SDag-Erling Smørgrav	  lt_cv_dlopen_self, [dnl
200517d15b25SDag-Erling Smørgrav	  _LT_TRY_DLOPEN_SELF(
200617d15b25SDag-Erling Smørgrav	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
200717d15b25SDag-Erling Smørgrav	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
200817d15b25SDag-Erling Smørgrav    ])
200917d15b25SDag-Erling Smørgrav
2010986ba33cSDag-Erling Smørgrav    if test yes = "$lt_cv_dlopen_self"; then
201117d15b25SDag-Erling Smørgrav      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
201217d15b25SDag-Erling Smørgrav      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
201317d15b25SDag-Erling Smørgrav	  lt_cv_dlopen_self_static, [dnl
201417d15b25SDag-Erling Smørgrav	  _LT_TRY_DLOPEN_SELF(
201517d15b25SDag-Erling Smørgrav	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
201617d15b25SDag-Erling Smørgrav	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
201717d15b25SDag-Erling Smørgrav      ])
201817d15b25SDag-Erling Smørgrav    fi
201917d15b25SDag-Erling Smørgrav
2020986ba33cSDag-Erling Smørgrav    CPPFLAGS=$save_CPPFLAGS
2021986ba33cSDag-Erling Smørgrav    LDFLAGS=$save_LDFLAGS
2022986ba33cSDag-Erling Smørgrav    LIBS=$save_LIBS
202317d15b25SDag-Erling Smørgrav    ;;
202417d15b25SDag-Erling Smørgrav  esac
202517d15b25SDag-Erling Smørgrav
202617d15b25SDag-Erling Smørgrav  case $lt_cv_dlopen_self in
202717d15b25SDag-Erling Smørgrav  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
202817d15b25SDag-Erling Smørgrav  *) enable_dlopen_self=unknown ;;
202917d15b25SDag-Erling Smørgrav  esac
203017d15b25SDag-Erling Smørgrav
203117d15b25SDag-Erling Smørgrav  case $lt_cv_dlopen_self_static in
203217d15b25SDag-Erling Smørgrav  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
203317d15b25SDag-Erling Smørgrav  *) enable_dlopen_self_static=unknown ;;
203417d15b25SDag-Erling Smørgrav  esac
203517d15b25SDag-Erling Smørgravfi
203617d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_support], [enable_dlopen], [0],
203717d15b25SDag-Erling Smørgrav	 [Whether dlopen is supported])
203817d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
203917d15b25SDag-Erling Smørgrav	 [Whether dlopen of programs is supported])
204017d15b25SDag-Erling Smørgrav_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
204117d15b25SDag-Erling Smørgrav	 [Whether dlopen of statically linked programs is supported])
204217d15b25SDag-Erling Smørgrav])# LT_SYS_DLOPEN_SELF
204317d15b25SDag-Erling Smørgrav
204417d15b25SDag-Erling Smørgrav# Old name:
204517d15b25SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
204617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
204717d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
204817d15b25SDag-Erling Smørgrav
204917d15b25SDag-Erling Smørgrav
205017d15b25SDag-Erling Smørgrav# _LT_COMPILER_C_O([TAGNAME])
205117d15b25SDag-Erling Smørgrav# ---------------------------
205217d15b25SDag-Erling Smørgrav# Check to see if options -c and -o are simultaneously supported by compiler.
205317d15b25SDag-Erling Smørgrav# This macro does not hard code the compiler like AC_PROG_CC_C_O.
205417d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_C_O],
205517d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
205617d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
205717d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
205817d15b25SDag-Erling SmørgravAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
205917d15b25SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
206017d15b25SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
206117d15b25SDag-Erling Smørgrav   $RM -r conftest 2>/dev/null
206217d15b25SDag-Erling Smørgrav   mkdir conftest
206317d15b25SDag-Erling Smørgrav   cd conftest
206417d15b25SDag-Erling Smørgrav   mkdir out
206517d15b25SDag-Erling Smørgrav   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
206617d15b25SDag-Erling Smørgrav
206717d15b25SDag-Erling Smørgrav   lt_compiler_flag="-o out/conftest2.$ac_objext"
206817d15b25SDag-Erling Smørgrav   # Insert the option either (1) after the last *FLAGS variable, or
206917d15b25SDag-Erling Smørgrav   # (2) before a word containing "conftest.", or (3) at the end.
207017d15b25SDag-Erling Smørgrav   # Note that $ac_compile itself does not contain backslashes and begins
207117d15b25SDag-Erling Smørgrav   # with a dollar sign (not a hyphen), so the echo should work correctly.
207217d15b25SDag-Erling Smørgrav   lt_compile=`echo "$ac_compile" | $SED \
207317d15b25SDag-Erling Smørgrav   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
207417d15b25SDag-Erling Smørgrav   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
207517d15b25SDag-Erling Smørgrav   -e 's:$: $lt_compiler_flag:'`
207617d15b25SDag-Erling Smørgrav   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
207717d15b25SDag-Erling Smørgrav   (eval "$lt_compile" 2>out/conftest.err)
207817d15b25SDag-Erling Smørgrav   ac_status=$?
207917d15b25SDag-Erling Smørgrav   cat out/conftest.err >&AS_MESSAGE_LOG_FD
208017d15b25SDag-Erling Smørgrav   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
208117d15b25SDag-Erling Smørgrav   if (exit $ac_status) && test -s out/conftest2.$ac_objext
208217d15b25SDag-Erling Smørgrav   then
208317d15b25SDag-Erling Smørgrav     # The compiler can only warn and ignore the option if not recognized
208417d15b25SDag-Erling Smørgrav     # So say no if there are warnings
208517d15b25SDag-Erling Smørgrav     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
208617d15b25SDag-Erling Smørgrav     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
208717d15b25SDag-Erling Smørgrav     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
208817d15b25SDag-Erling Smørgrav       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
208917d15b25SDag-Erling Smørgrav     fi
209017d15b25SDag-Erling Smørgrav   fi
209117d15b25SDag-Erling Smørgrav   chmod u+w . 2>&AS_MESSAGE_LOG_FD
209217d15b25SDag-Erling Smørgrav   $RM conftest*
209317d15b25SDag-Erling Smørgrav   # SGI C++ compiler will create directory out/ii_files/ for
209417d15b25SDag-Erling Smørgrav   # template instantiation
209517d15b25SDag-Erling Smørgrav   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
209617d15b25SDag-Erling Smørgrav   $RM out/* && rmdir out
209717d15b25SDag-Erling Smørgrav   cd ..
209817d15b25SDag-Erling Smørgrav   $RM -r conftest
209917d15b25SDag-Erling Smørgrav   $RM conftest*
210017d15b25SDag-Erling Smørgrav])
210117d15b25SDag-Erling Smørgrav_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
210217d15b25SDag-Erling Smørgrav	[Does compiler simultaneously support -c and -o options?])
210317d15b25SDag-Erling Smørgrav])# _LT_COMPILER_C_O
210417d15b25SDag-Erling Smørgrav
210517d15b25SDag-Erling Smørgrav
210617d15b25SDag-Erling Smørgrav# _LT_COMPILER_FILE_LOCKS([TAGNAME])
210717d15b25SDag-Erling Smørgrav# ----------------------------------
210817d15b25SDag-Erling Smørgrav# Check to see if we can do hard links to lock some files if needed
210917d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_FILE_LOCKS],
211017d15b25SDag-Erling Smørgrav[m4_require([_LT_ENABLE_LOCK])dnl
211117d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
211217d15b25SDag-Erling Smørgrav_LT_COMPILER_C_O([$1])
211317d15b25SDag-Erling Smørgrav
2114986ba33cSDag-Erling Smørgravhard_links=nottested
2115986ba33cSDag-Erling Smørgravif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
211617d15b25SDag-Erling Smørgrav  # do not overwrite the value of need_locks provided by the user
211717d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([if we can lock with hard links])
211817d15b25SDag-Erling Smørgrav  hard_links=yes
211917d15b25SDag-Erling Smørgrav  $RM conftest*
212017d15b25SDag-Erling Smørgrav  ln conftest.a conftest.b 2>/dev/null && hard_links=no
212117d15b25SDag-Erling Smørgrav  touch conftest.a
212217d15b25SDag-Erling Smørgrav  ln conftest.a conftest.b 2>&5 || hard_links=no
212317d15b25SDag-Erling Smørgrav  ln conftest.a conftest.b 2>/dev/null && hard_links=no
212417d15b25SDag-Erling Smørgrav  AC_MSG_RESULT([$hard_links])
2125986ba33cSDag-Erling Smørgrav  if test no = "$hard_links"; then
2126986ba33cSDag-Erling Smørgrav    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
212717d15b25SDag-Erling Smørgrav    need_locks=warn
212817d15b25SDag-Erling Smørgrav  fi
212917d15b25SDag-Erling Smørgravelse
213017d15b25SDag-Erling Smørgrav  need_locks=no
213117d15b25SDag-Erling Smørgravfi
213217d15b25SDag-Erling Smørgrav_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
213317d15b25SDag-Erling Smørgrav])# _LT_COMPILER_FILE_LOCKS
213417d15b25SDag-Erling Smørgrav
213517d15b25SDag-Erling Smørgrav
213617d15b25SDag-Erling Smørgrav# _LT_CHECK_OBJDIR
213717d15b25SDag-Erling Smørgrav# ----------------
213817d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_OBJDIR],
213917d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
214017d15b25SDag-Erling Smørgrav[rm -f .libs 2>/dev/null
214117d15b25SDag-Erling Smørgravmkdir .libs 2>/dev/null
214217d15b25SDag-Erling Smørgravif test -d .libs; then
214317d15b25SDag-Erling Smørgrav  lt_cv_objdir=.libs
214417d15b25SDag-Erling Smørgravelse
214517d15b25SDag-Erling Smørgrav  # MS-DOS does not allow filenames that begin with a dot.
214617d15b25SDag-Erling Smørgrav  lt_cv_objdir=_libs
214717d15b25SDag-Erling Smørgravfi
214817d15b25SDag-Erling Smørgravrmdir .libs 2>/dev/null])
214917d15b25SDag-Erling Smørgravobjdir=$lt_cv_objdir
215017d15b25SDag-Erling Smørgrav_LT_DECL([], [objdir], [0],
215117d15b25SDag-Erling Smørgrav         [The name of the directory that contains temporary libtool files])dnl
215217d15b25SDag-Erling Smørgravm4_pattern_allow([LT_OBJDIR])dnl
2153986ba33cSDag-Erling SmørgravAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2154986ba33cSDag-Erling Smørgrav  [Define to the sub-directory where libtool stores uninstalled libraries.])
215517d15b25SDag-Erling Smørgrav])# _LT_CHECK_OBJDIR
215617d15b25SDag-Erling Smørgrav
215717d15b25SDag-Erling Smørgrav
215817d15b25SDag-Erling Smørgrav# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
215917d15b25SDag-Erling Smørgrav# --------------------------------------
216017d15b25SDag-Erling Smørgrav# Check hardcoding attributes.
216117d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
216217d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([how to hardcode library paths into programs])
216317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_action, $1)=
216417d15b25SDag-Erling Smørgravif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
216517d15b25SDag-Erling Smørgrav   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2166986ba33cSDag-Erling Smørgrav   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
216717d15b25SDag-Erling Smørgrav
216817d15b25SDag-Erling Smørgrav  # We can hardcode non-existent directories.
2169986ba33cSDag-Erling Smørgrav  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
217017d15b25SDag-Erling Smørgrav     # If the only mechanism to avoid hardcoding is shlibpath_var, we
217117d15b25SDag-Erling Smørgrav     # have to relink, otherwise we might link with an installed library
217217d15b25SDag-Erling Smørgrav     # when we should be linking with a yet-to-be-installed one
2173986ba33cSDag-Erling Smørgrav     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2174986ba33cSDag-Erling Smørgrav     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
217517d15b25SDag-Erling Smørgrav    # Linking always hardcodes the temporary library directory.
217617d15b25SDag-Erling Smørgrav    _LT_TAGVAR(hardcode_action, $1)=relink
217717d15b25SDag-Erling Smørgrav  else
217817d15b25SDag-Erling Smørgrav    # We can link without hardcoding, and we can hardcode nonexisting dirs.
217917d15b25SDag-Erling Smørgrav    _LT_TAGVAR(hardcode_action, $1)=immediate
218017d15b25SDag-Erling Smørgrav  fi
218117d15b25SDag-Erling Smørgravelse
218217d15b25SDag-Erling Smørgrav  # We cannot hardcode anything, or else we can only hardcode existing
218317d15b25SDag-Erling Smørgrav  # directories.
218417d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_action, $1)=unsupported
218517d15b25SDag-Erling Smørgravfi
218617d15b25SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
218717d15b25SDag-Erling Smørgrav
2188986ba33cSDag-Erling Smørgravif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2189986ba33cSDag-Erling Smørgrav   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
219017d15b25SDag-Erling Smørgrav  # Fast installation is not supported
219117d15b25SDag-Erling Smørgrav  enable_fast_install=no
2192986ba33cSDag-Erling Smørgravelif test yes = "$shlibpath_overrides_runpath" ||
2193986ba33cSDag-Erling Smørgrav     test no = "$enable_shared"; then
219417d15b25SDag-Erling Smørgrav  # Fast installation is not necessary
219517d15b25SDag-Erling Smørgrav  enable_fast_install=needless
219617d15b25SDag-Erling Smørgravfi
219717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_action], [0],
219817d15b25SDag-Erling Smørgrav    [How to hardcode a shared library path into an executable])
219917d15b25SDag-Erling Smørgrav])# _LT_LINKER_HARDCODE_LIBPATH
220017d15b25SDag-Erling Smørgrav
220117d15b25SDag-Erling Smørgrav
220217d15b25SDag-Erling Smørgrav# _LT_CMD_STRIPLIB
220317d15b25SDag-Erling Smørgrav# ----------------
220417d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_STRIPLIB],
220517d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
220617d15b25SDag-Erling Smørgravstriplib=
220717d15b25SDag-Erling Smørgravold_striplib=
220817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([whether stripping libraries is possible])
220917d15b25SDag-Erling Smørgravif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
221017d15b25SDag-Erling Smørgrav  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
221117d15b25SDag-Erling Smørgrav  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
221217d15b25SDag-Erling Smørgrav  AC_MSG_RESULT([yes])
221317d15b25SDag-Erling Smørgravelse
221417d15b25SDag-Erling Smørgrav# FIXME - insert some real tests, host_os isn't really good enough
221517d15b25SDag-Erling Smørgrav  case $host_os in
221617d15b25SDag-Erling Smørgrav  darwin*)
221717d15b25SDag-Erling Smørgrav    if test -n "$STRIP"; then
221817d15b25SDag-Erling Smørgrav      striplib="$STRIP -x"
221917d15b25SDag-Erling Smørgrav      old_striplib="$STRIP -S"
222017d15b25SDag-Erling Smørgrav      AC_MSG_RESULT([yes])
222117d15b25SDag-Erling Smørgrav    else
222217d15b25SDag-Erling Smørgrav      AC_MSG_RESULT([no])
222317d15b25SDag-Erling Smørgrav    fi
222417d15b25SDag-Erling Smørgrav    ;;
222517d15b25SDag-Erling Smørgrav  *)
222617d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([no])
222717d15b25SDag-Erling Smørgrav    ;;
222817d15b25SDag-Erling Smørgrav  esac
222917d15b25SDag-Erling Smørgravfi
223017d15b25SDag-Erling Smørgrav_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
223117d15b25SDag-Erling Smørgrav_LT_DECL([], [striplib], [1])
223217d15b25SDag-Erling Smørgrav])# _LT_CMD_STRIPLIB
223317d15b25SDag-Erling Smørgrav
223417d15b25SDag-Erling Smørgrav
2235986ba33cSDag-Erling Smørgrav# _LT_PREPARE_MUNGE_PATH_LIST
2236986ba33cSDag-Erling Smørgrav# ---------------------------
2237986ba33cSDag-Erling Smørgrav# Make sure func_munge_path_list() is defined correctly.
2238986ba33cSDag-Erling Smørgravm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2239986ba33cSDag-Erling Smørgrav[[# func_munge_path_list VARIABLE PATH
2240986ba33cSDag-Erling Smørgrav# -----------------------------------
2241986ba33cSDag-Erling Smørgrav# VARIABLE is name of variable containing _space_ separated list of
2242986ba33cSDag-Erling Smørgrav# directories to be munged by the contents of PATH, which is string
2243986ba33cSDag-Erling Smørgrav# having a format:
2244986ba33cSDag-Erling Smørgrav# "DIR[:DIR]:"
2245986ba33cSDag-Erling Smørgrav#       string "DIR[ DIR]" will be prepended to VARIABLE
2246986ba33cSDag-Erling Smørgrav# ":DIR[:DIR]"
2247986ba33cSDag-Erling Smørgrav#       string "DIR[ DIR]" will be appended to VARIABLE
2248986ba33cSDag-Erling Smørgrav# "DIRP[:DIRP]::[DIRA:]DIRA"
2249986ba33cSDag-Erling Smørgrav#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2250986ba33cSDag-Erling Smørgrav#       "DIRA[ DIRA]" will be appended to VARIABLE
2251986ba33cSDag-Erling Smørgrav# "DIR[:DIR]"
2252986ba33cSDag-Erling Smørgrav#       VARIABLE will be replaced by "DIR[ DIR]"
2253986ba33cSDag-Erling Smørgravfunc_munge_path_list ()
2254986ba33cSDag-Erling Smørgrav{
2255986ba33cSDag-Erling Smørgrav    case x@S|@2 in
2256986ba33cSDag-Erling Smørgrav    x)
2257986ba33cSDag-Erling Smørgrav        ;;
2258986ba33cSDag-Erling Smørgrav    *:)
2259986ba33cSDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2260986ba33cSDag-Erling Smørgrav        ;;
2261986ba33cSDag-Erling Smørgrav    x:*)
2262986ba33cSDag-Erling Smørgrav        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2263986ba33cSDag-Erling Smørgrav        ;;
2264986ba33cSDag-Erling Smørgrav    *::*)
2265986ba33cSDag-Erling Smørgrav        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2266986ba33cSDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2267986ba33cSDag-Erling Smørgrav        ;;
2268986ba33cSDag-Erling Smørgrav    *)
2269986ba33cSDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2270986ba33cSDag-Erling Smørgrav        ;;
2271986ba33cSDag-Erling Smørgrav    esac
2272986ba33cSDag-Erling Smørgrav}
2273986ba33cSDag-Erling Smørgrav]])# _LT_PREPARE_PATH_LIST
2274986ba33cSDag-Erling Smørgrav
2275986ba33cSDag-Erling Smørgrav
227617d15b25SDag-Erling Smørgrav# _LT_SYS_DYNAMIC_LINKER([TAG])
227717d15b25SDag-Erling Smørgrav# -----------------------------
227817d15b25SDag-Erling Smørgrav# PORTME Fill in your ld.so characteristics
227917d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_DYNAMIC_LINKER],
228017d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
228117d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
228217d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
228317d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])dnl
228417d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
228517d15b25SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl
2286986ba33cSDag-Erling Smørgravm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
228717d15b25SDag-Erling SmørgravAC_MSG_CHECKING([dynamic linker characteristics])
228817d15b25SDag-Erling Smørgravm4_if([$1],
228917d15b25SDag-Erling Smørgrav	[], [
2290986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then
229117d15b25SDag-Erling Smørgrav  case $host_os in
2292986ba33cSDag-Erling Smørgrav    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2293986ba33cSDag-Erling Smørgrav    *) lt_awk_arg='/^libraries:/' ;;
229417d15b25SDag-Erling Smørgrav  esac
229517d15b25SDag-Erling Smørgrav  case $host_os in
2296986ba33cSDag-Erling Smørgrav    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2297986ba33cSDag-Erling Smørgrav    *) lt_sed_strip_eq='s|=/|/|g' ;;
229817d15b25SDag-Erling Smørgrav  esac
229917d15b25SDag-Erling Smørgrav  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
230017d15b25SDag-Erling Smørgrav  case $lt_search_path_spec in
230117d15b25SDag-Erling Smørgrav  *\;*)
230217d15b25SDag-Erling Smørgrav    # if the path contains ";" then we assume it to be the separator
230317d15b25SDag-Erling Smørgrav    # otherwise default to the standard path separator (i.e. ":") - it is
230417d15b25SDag-Erling Smørgrav    # assumed that no part of a normal pathname contains ";" but that should
230517d15b25SDag-Erling Smørgrav    # okay in the real world where ";" in dirpaths is itself problematic.
230617d15b25SDag-Erling Smørgrav    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
230717d15b25SDag-Erling Smørgrav    ;;
230817d15b25SDag-Erling Smørgrav  *)
230917d15b25SDag-Erling Smørgrav    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
231017d15b25SDag-Erling Smørgrav    ;;
231117d15b25SDag-Erling Smørgrav  esac
231217d15b25SDag-Erling Smørgrav  # Ok, now we have the path, separated by spaces, we can step through it
2313986ba33cSDag-Erling Smørgrav  # and add multilib dir if necessary...
231417d15b25SDag-Erling Smørgrav  lt_tmp_lt_search_path_spec=
2315986ba33cSDag-Erling Smørgrav  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2316986ba33cSDag-Erling Smørgrav  # ...but if some path component already ends with the multilib dir we assume
2317986ba33cSDag-Erling Smørgrav  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2318986ba33cSDag-Erling Smørgrav  case "$lt_multi_os_dir; $lt_search_path_spec " in
2319986ba33cSDag-Erling Smørgrav  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2320986ba33cSDag-Erling Smørgrav    lt_multi_os_dir=
2321986ba33cSDag-Erling Smørgrav    ;;
2322986ba33cSDag-Erling Smørgrav  esac
232317d15b25SDag-Erling Smørgrav  for lt_sys_path in $lt_search_path_spec; do
2324986ba33cSDag-Erling Smørgrav    if test -d "$lt_sys_path$lt_multi_os_dir"; then
2325986ba33cSDag-Erling Smørgrav      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2326986ba33cSDag-Erling Smørgrav    elif test -n "$lt_multi_os_dir"; then
232717d15b25SDag-Erling Smørgrav      test -d "$lt_sys_path" && \
232817d15b25SDag-Erling Smørgrav	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
232917d15b25SDag-Erling Smørgrav    fi
233017d15b25SDag-Erling Smørgrav  done
233117d15b25SDag-Erling Smørgrav  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
233217d15b25SDag-Erling SmørgravBEGIN {RS = " "; FS = "/|\n";} {
233317d15b25SDag-Erling Smørgrav  lt_foo = "";
233417d15b25SDag-Erling Smørgrav  lt_count = 0;
233517d15b25SDag-Erling Smørgrav  for (lt_i = NF; lt_i > 0; lt_i--) {
233617d15b25SDag-Erling Smørgrav    if ($lt_i != "" && $lt_i != ".") {
233717d15b25SDag-Erling Smørgrav      if ($lt_i == "..") {
233817d15b25SDag-Erling Smørgrav        lt_count++;
233917d15b25SDag-Erling Smørgrav      } else {
234017d15b25SDag-Erling Smørgrav        if (lt_count == 0) {
234117d15b25SDag-Erling Smørgrav          lt_foo = "/" $lt_i lt_foo;
234217d15b25SDag-Erling Smørgrav        } else {
234317d15b25SDag-Erling Smørgrav          lt_count--;
234417d15b25SDag-Erling Smørgrav        }
234517d15b25SDag-Erling Smørgrav      }
234617d15b25SDag-Erling Smørgrav    }
234717d15b25SDag-Erling Smørgrav  }
234817d15b25SDag-Erling Smørgrav  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
234917d15b25SDag-Erling Smørgrav  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
235017d15b25SDag-Erling Smørgrav}'`
235117d15b25SDag-Erling Smørgrav  # AWK program above erroneously prepends '/' to C:/dos/paths
235217d15b25SDag-Erling Smørgrav  # for these hosts.
235317d15b25SDag-Erling Smørgrav  case $host_os in
235417d15b25SDag-Erling Smørgrav    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2355986ba33cSDag-Erling Smørgrav      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
235617d15b25SDag-Erling Smørgrav  esac
235717d15b25SDag-Erling Smørgrav  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
235817d15b25SDag-Erling Smørgravelse
235917d15b25SDag-Erling Smørgrav  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
236017d15b25SDag-Erling Smørgravfi])
236117d15b25SDag-Erling Smørgravlibrary_names_spec=
236217d15b25SDag-Erling Smørgravlibname_spec='lib$name'
236317d15b25SDag-Erling Smørgravsoname_spec=
2364986ba33cSDag-Erling Smørgravshrext_cmds=.so
236517d15b25SDag-Erling Smørgravpostinstall_cmds=
236617d15b25SDag-Erling Smørgravpostuninstall_cmds=
236717d15b25SDag-Erling Smørgravfinish_cmds=
236817d15b25SDag-Erling Smørgravfinish_eval=
236917d15b25SDag-Erling Smørgravshlibpath_var=
237017d15b25SDag-Erling Smørgravshlibpath_overrides_runpath=unknown
237117d15b25SDag-Erling Smørgravversion_type=none
237217d15b25SDag-Erling Smørgravdynamic_linker="$host_os ld.so"
237317d15b25SDag-Erling Smørgravsys_lib_dlsearch_path_spec="/lib /usr/lib"
237417d15b25SDag-Erling Smørgravneed_lib_prefix=unknown
237517d15b25SDag-Erling Smørgravhardcode_into_libs=no
237617d15b25SDag-Erling Smørgrav
237717d15b25SDag-Erling Smørgrav# when you set need_version to no, make sure it does not cause -set_version
237817d15b25SDag-Erling Smørgrav# flags to be left without arguments
237917d15b25SDag-Erling Smørgravneed_version=unknown
238017d15b25SDag-Erling Smørgrav
2381986ba33cSDag-Erling SmørgravAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2382986ba33cSDag-Erling Smørgrav[User-defined run-time library search path.])
2383986ba33cSDag-Erling Smørgrav
238417d15b25SDag-Erling Smørgravcase $host_os in
238517d15b25SDag-Erling Smørgravaix3*)
238617d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2387986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
238817d15b25SDag-Erling Smørgrav  shlibpath_var=LIBPATH
238917d15b25SDag-Erling Smørgrav
239017d15b25SDag-Erling Smørgrav  # AIX 3 has no versioning support, so we append a major version to the name.
2391986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
239217d15b25SDag-Erling Smørgrav  ;;
239317d15b25SDag-Erling Smørgrav
239417d15b25SDag-Erling Smørgravaix[[4-9]]*)
239517d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
239617d15b25SDag-Erling Smørgrav  need_lib_prefix=no
239717d15b25SDag-Erling Smørgrav  need_version=no
239817d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
2399986ba33cSDag-Erling Smørgrav  if test ia64 = "$host_cpu"; then
240017d15b25SDag-Erling Smørgrav    # AIX 5 supports IA64
2401986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
240217d15b25SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
240317d15b25SDag-Erling Smørgrav  else
240417d15b25SDag-Erling Smørgrav    # With GCC up to 2.95.x, collect2 would create an import file
240517d15b25SDag-Erling Smørgrav    # for dependence libraries.  The import file would start with
2406986ba33cSDag-Erling Smørgrav    # the line '#! .'.  This would cause the generated library to
2407986ba33cSDag-Erling Smørgrav    # depend on '.', always an invalid library.  This was fixed in
240817d15b25SDag-Erling Smørgrav    # development snapshots of GCC prior to 3.0.
240917d15b25SDag-Erling Smørgrav    case $host_os in
241017d15b25SDag-Erling Smørgrav      aix4 | aix4.[[01]] | aix4.[[01]].*)
241117d15b25SDag-Erling Smørgrav      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
241217d15b25SDag-Erling Smørgrav	   echo ' yes '
2413986ba33cSDag-Erling Smørgrav	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
241417d15b25SDag-Erling Smørgrav	:
241517d15b25SDag-Erling Smørgrav      else
241617d15b25SDag-Erling Smørgrav	can_build_shared=no
241717d15b25SDag-Erling Smørgrav      fi
241817d15b25SDag-Erling Smørgrav      ;;
241917d15b25SDag-Erling Smørgrav    esac
2420986ba33cSDag-Erling Smørgrav    # Using Import Files as archive members, it is possible to support
2421986ba33cSDag-Erling Smørgrav    # filename-based versioning of shared library archives on AIX. While
2422986ba33cSDag-Erling Smørgrav    # this would work for both with and without runtime linking, it will
2423986ba33cSDag-Erling Smørgrav    # prevent static linking of such archives. So we do filename-based
2424986ba33cSDag-Erling Smørgrav    # shared library versioning with .so extension only, which is used
2425986ba33cSDag-Erling Smørgrav    # when both runtime linking and shared linking is enabled.
2426986ba33cSDag-Erling Smørgrav    # Unfortunately, runtime linking may impact performance, so we do
2427986ba33cSDag-Erling Smørgrav    # not want this to be the default eventually. Also, we use the
2428986ba33cSDag-Erling Smørgrav    # versioned .so libs for executables only if there is the -brtl
2429986ba33cSDag-Erling Smørgrav    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2430986ba33cSDag-Erling Smørgrav    # To allow for filename-based versioning support, we need to create
2431986ba33cSDag-Erling Smørgrav    # libNAME.so.V as an archive file, containing:
2432986ba33cSDag-Erling Smørgrav    # *) an Import File, referring to the versioned filename of the
2433986ba33cSDag-Erling Smørgrav    #    archive as well as the shared archive member, telling the
2434986ba33cSDag-Erling Smørgrav    #    bitwidth (32 or 64) of that shared object, and providing the
2435986ba33cSDag-Erling Smørgrav    #    list of exported symbols of that shared object, eventually
2436986ba33cSDag-Erling Smørgrav    #    decorated with the 'weak' keyword
2437986ba33cSDag-Erling Smørgrav    # *) the shared object with the F_LOADONLY flag set, to really avoid
2438986ba33cSDag-Erling Smørgrav    #    it being seen by the linker.
2439986ba33cSDag-Erling Smørgrav    # At run time we better use the real file rather than another symlink,
2440986ba33cSDag-Erling Smørgrav    # but for link time we create the symlink libNAME.so -> libNAME.so.V
2441986ba33cSDag-Erling Smørgrav
2442986ba33cSDag-Erling Smørgrav    case $with_aix_soname,$aix_use_runtimelinking in
244317d15b25SDag-Erling Smørgrav    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
244417d15b25SDag-Erling Smørgrav    # soname into executable. Probably we can add versioning support to
244517d15b25SDag-Erling Smørgrav    # collect2, so additional links can be useful in future.
2446986ba33cSDag-Erling Smørgrav    aix,yes) # traditional libtool
2447986ba33cSDag-Erling Smørgrav      dynamic_linker='AIX unversionable lib.so'
244817d15b25SDag-Erling Smørgrav      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
244917d15b25SDag-Erling Smørgrav      # instead of lib<name>.a to let people know that these are not
245017d15b25SDag-Erling Smørgrav      # typical AIX shared libraries.
2451986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2452986ba33cSDag-Erling Smørgrav      ;;
2453986ba33cSDag-Erling Smørgrav    aix,no) # traditional AIX only
2454986ba33cSDag-Erling Smørgrav      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
245517d15b25SDag-Erling Smørgrav      # We preserve .a as extension for shared libraries through AIX4.2
245617d15b25SDag-Erling Smørgrav      # and later when we are not doing run time linking.
2457986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release.a $libname.a'
2458986ba33cSDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
2459986ba33cSDag-Erling Smørgrav      ;;
2460986ba33cSDag-Erling Smørgrav    svr4,*) # full svr4 only
2461986ba33cSDag-Erling Smørgrav      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2462986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2463986ba33cSDag-Erling Smørgrav      # We do not specify a path in Import Files, so LIBPATH fires.
2464986ba33cSDag-Erling Smørgrav      shlibpath_overrides_runpath=yes
2465986ba33cSDag-Erling Smørgrav      ;;
2466986ba33cSDag-Erling Smørgrav    *,yes) # both, prefer svr4
2467986ba33cSDag-Erling Smørgrav      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2468986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2469986ba33cSDag-Erling Smørgrav      # unpreferred sharedlib libNAME.a needs extra handling
2470986ba33cSDag-Erling Smørgrav      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"'
2471986ba33cSDag-Erling Smørgrav      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"'
2472986ba33cSDag-Erling Smørgrav      # We do not specify a path in Import Files, so LIBPATH fires.
2473986ba33cSDag-Erling Smørgrav      shlibpath_overrides_runpath=yes
2474986ba33cSDag-Erling Smørgrav      ;;
2475986ba33cSDag-Erling Smørgrav    *,no) # both, prefer aix
2476986ba33cSDag-Erling Smørgrav      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2477986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release.a $libname.a'
2478986ba33cSDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
2479986ba33cSDag-Erling Smørgrav      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2480986ba33cSDag-Erling Smørgrav      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)'
2481986ba33cSDag-Erling Smørgrav      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"'
2482986ba33cSDag-Erling Smørgrav      ;;
2483986ba33cSDag-Erling Smørgrav    esac
248417d15b25SDag-Erling Smørgrav    shlibpath_var=LIBPATH
248517d15b25SDag-Erling Smørgrav  fi
248617d15b25SDag-Erling Smørgrav  ;;
248717d15b25SDag-Erling Smørgrav
248817d15b25SDag-Erling Smørgravamigaos*)
248917d15b25SDag-Erling Smørgrav  case $host_cpu in
249017d15b25SDag-Erling Smørgrav  powerpc)
249117d15b25SDag-Erling Smørgrav    # Since July 2007 AmigaOS4 officially supports .so libraries.
249217d15b25SDag-Erling Smørgrav    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2493986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
249417d15b25SDag-Erling Smørgrav    ;;
249517d15b25SDag-Erling Smørgrav  m68k)
249617d15b25SDag-Erling Smørgrav    library_names_spec='$libname.ixlibrary $libname.a'
249717d15b25SDag-Erling Smørgrav    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2498986ba33cSDag-Erling Smørgrav    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'
249917d15b25SDag-Erling Smørgrav    ;;
250017d15b25SDag-Erling Smørgrav  esac
250117d15b25SDag-Erling Smørgrav  ;;
250217d15b25SDag-Erling Smørgrav
250317d15b25SDag-Erling Smørgravbeos*)
2504986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$shared_ext'
250517d15b25SDag-Erling Smørgrav  dynamic_linker="$host_os ld.so"
250617d15b25SDag-Erling Smørgrav  shlibpath_var=LIBRARY_PATH
250717d15b25SDag-Erling Smørgrav  ;;
250817d15b25SDag-Erling Smørgrav
250917d15b25SDag-Erling Smørgravbsdi[[45]]*)
251017d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
251117d15b25SDag-Erling Smørgrav  need_version=no
2512986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2513986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
251417d15b25SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
251517d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
251617d15b25SDag-Erling Smørgrav  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
251717d15b25SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
251817d15b25SDag-Erling Smørgrav  # the default ld.so.conf also contains /usr/contrib/lib and
251917d15b25SDag-Erling Smørgrav  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
252017d15b25SDag-Erling Smørgrav  # libtool to hard-code these into programs
252117d15b25SDag-Erling Smørgrav  ;;
252217d15b25SDag-Erling Smørgrav
252317d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
252417d15b25SDag-Erling Smørgrav  version_type=windows
2525986ba33cSDag-Erling Smørgrav  shrext_cmds=.dll
252617d15b25SDag-Erling Smørgrav  need_version=no
252717d15b25SDag-Erling Smørgrav  need_lib_prefix=no
252817d15b25SDag-Erling Smørgrav
252917d15b25SDag-Erling Smørgrav  case $GCC,$cc_basename in
253017d15b25SDag-Erling Smørgrav  yes,*)
253117d15b25SDag-Erling Smørgrav    # gcc
253217d15b25SDag-Erling Smørgrav    library_names_spec='$libname.dll.a'
253317d15b25SDag-Erling Smørgrav    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2534986ba33cSDag-Erling Smørgrav    postinstall_cmds='base_file=`basename \$file`~
2535986ba33cSDag-Erling Smørgrav      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
253617d15b25SDag-Erling Smørgrav      dldir=$destdir/`dirname \$dlpath`~
253717d15b25SDag-Erling Smørgrav      test -d \$dldir || mkdir -p \$dldir~
253817d15b25SDag-Erling Smørgrav      $install_prog $dir/$dlname \$dldir/$dlname~
253917d15b25SDag-Erling Smørgrav      chmod a+x \$dldir/$dlname~
254017d15b25SDag-Erling Smørgrav      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
254117d15b25SDag-Erling Smørgrav        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
254217d15b25SDag-Erling Smørgrav      fi'
254317d15b25SDag-Erling Smørgrav    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
254417d15b25SDag-Erling Smørgrav      dlpath=$dir/\$dldll~
254517d15b25SDag-Erling Smørgrav       $RM \$dlpath'
254617d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
254717d15b25SDag-Erling Smørgrav
254817d15b25SDag-Erling Smørgrav    case $host_os in
254917d15b25SDag-Erling Smørgrav    cygwin*)
255017d15b25SDag-Erling Smørgrav      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2551986ba33cSDag-Erling Smørgrav      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
255217d15b25SDag-Erling Smørgravm4_if([$1], [],[
255317d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
255417d15b25SDag-Erling Smørgrav      ;;
255517d15b25SDag-Erling Smørgrav    mingw* | cegcc*)
255617d15b25SDag-Erling Smørgrav      # MinGW DLLs use traditional 'lib' prefix
2557986ba33cSDag-Erling Smørgrav      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
255817d15b25SDag-Erling Smørgrav      ;;
255917d15b25SDag-Erling Smørgrav    pw32*)
256017d15b25SDag-Erling Smørgrav      # pw32 DLLs use 'pw' prefix rather than 'lib'
2561986ba33cSDag-Erling Smørgrav      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
256217d15b25SDag-Erling Smørgrav      ;;
256317d15b25SDag-Erling Smørgrav    esac
256417d15b25SDag-Erling Smørgrav    dynamic_linker='Win32 ld.exe'
256517d15b25SDag-Erling Smørgrav    ;;
256617d15b25SDag-Erling Smørgrav
256717d15b25SDag-Erling Smørgrav  *,cl*)
256817d15b25SDag-Erling Smørgrav    # Native MSVC
256917d15b25SDag-Erling Smørgrav    libname_spec='$name'
2570986ba33cSDag-Erling Smørgrav    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2571986ba33cSDag-Erling Smørgrav    library_names_spec='$libname.dll.lib'
257217d15b25SDag-Erling Smørgrav
257317d15b25SDag-Erling Smørgrav    case $build_os in
257417d15b25SDag-Erling Smørgrav    mingw*)
257517d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec=
257617d15b25SDag-Erling Smørgrav      lt_save_ifs=$IFS
257717d15b25SDag-Erling Smørgrav      IFS=';'
257817d15b25SDag-Erling Smørgrav      for lt_path in $LIB
257917d15b25SDag-Erling Smørgrav      do
258017d15b25SDag-Erling Smørgrav        IFS=$lt_save_ifs
258117d15b25SDag-Erling Smørgrav        # Let DOS variable expansion print the short 8.3 style file name.
258217d15b25SDag-Erling Smørgrav        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
258317d15b25SDag-Erling Smørgrav        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
258417d15b25SDag-Erling Smørgrav      done
258517d15b25SDag-Erling Smørgrav      IFS=$lt_save_ifs
258617d15b25SDag-Erling Smørgrav      # Convert to MSYS style.
258717d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
258817d15b25SDag-Erling Smørgrav      ;;
258917d15b25SDag-Erling Smørgrav    cygwin*)
259017d15b25SDag-Erling Smørgrav      # Convert to unix form, then to dos form, then back to unix form
259117d15b25SDag-Erling Smørgrav      # but this time dos style (no spaces!) so that the unix form looks
259217d15b25SDag-Erling Smørgrav      # like /cygdrive/c/PROGRA~1:/cygdr...
259317d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
259417d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
259517d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
259617d15b25SDag-Erling Smørgrav      ;;
259717d15b25SDag-Erling Smørgrav    *)
2598986ba33cSDag-Erling Smørgrav      sys_lib_search_path_spec=$LIB
259917d15b25SDag-Erling Smørgrav      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
260017d15b25SDag-Erling Smørgrav        # It is most probably a Windows format PATH.
260117d15b25SDag-Erling Smørgrav        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
260217d15b25SDag-Erling Smørgrav      else
260317d15b25SDag-Erling Smørgrav        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
260417d15b25SDag-Erling Smørgrav      fi
260517d15b25SDag-Erling Smørgrav      # FIXME: find the short name or the path components, as spaces are
260617d15b25SDag-Erling Smørgrav      # common. (e.g. "Program Files" -> "PROGRA~1")
260717d15b25SDag-Erling Smørgrav      ;;
260817d15b25SDag-Erling Smørgrav    esac
260917d15b25SDag-Erling Smørgrav
261017d15b25SDag-Erling Smørgrav    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2611986ba33cSDag-Erling Smørgrav    postinstall_cmds='base_file=`basename \$file`~
2612986ba33cSDag-Erling Smørgrav      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
261317d15b25SDag-Erling Smørgrav      dldir=$destdir/`dirname \$dlpath`~
261417d15b25SDag-Erling Smørgrav      test -d \$dldir || mkdir -p \$dldir~
261517d15b25SDag-Erling Smørgrav      $install_prog $dir/$dlname \$dldir/$dlname'
261617d15b25SDag-Erling Smørgrav    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
261717d15b25SDag-Erling Smørgrav      dlpath=$dir/\$dldll~
261817d15b25SDag-Erling Smørgrav       $RM \$dlpath'
261917d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
262017d15b25SDag-Erling Smørgrav    dynamic_linker='Win32 link.exe'
262117d15b25SDag-Erling Smørgrav    ;;
262217d15b25SDag-Erling Smørgrav
262317d15b25SDag-Erling Smørgrav  *)
262417d15b25SDag-Erling Smørgrav    # Assume MSVC wrapper
2625986ba33cSDag-Erling Smørgrav    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
262617d15b25SDag-Erling Smørgrav    dynamic_linker='Win32 ld.exe'
262717d15b25SDag-Erling Smørgrav    ;;
262817d15b25SDag-Erling Smørgrav  esac
262917d15b25SDag-Erling Smørgrav  # FIXME: first we should search . and the directory the executable is in
263017d15b25SDag-Erling Smørgrav  shlibpath_var=PATH
263117d15b25SDag-Erling Smørgrav  ;;
263217d15b25SDag-Erling Smørgrav
263317d15b25SDag-Erling Smørgravdarwin* | rhapsody*)
263417d15b25SDag-Erling Smørgrav  dynamic_linker="$host_os dyld"
263517d15b25SDag-Erling Smørgrav  version_type=darwin
263617d15b25SDag-Erling Smørgrav  need_lib_prefix=no
263717d15b25SDag-Erling Smørgrav  need_version=no
2638986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2639986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$major$shared_ext'
264017d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
264117d15b25SDag-Erling Smørgrav  shlibpath_var=DYLD_LIBRARY_PATH
264217d15b25SDag-Erling Smørgrav  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
264317d15b25SDag-Erling Smørgravm4_if([$1], [],[
264417d15b25SDag-Erling Smørgrav  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
264517d15b25SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
264617d15b25SDag-Erling Smørgrav  ;;
264717d15b25SDag-Erling Smørgrav
264817d15b25SDag-Erling Smørgravdgux*)
264917d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
265017d15b25SDag-Erling Smørgrav  need_lib_prefix=no
265117d15b25SDag-Erling Smørgrav  need_version=no
2652986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2653986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
265417d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
265517d15b25SDag-Erling Smørgrav  ;;
265617d15b25SDag-Erling Smørgrav
265717d15b25SDag-Erling Smørgravfreebsd* | dragonfly*)
265817d15b25SDag-Erling Smørgrav  # DragonFly does not have aout.  When/if they implement a new
265917d15b25SDag-Erling Smørgrav  # versioning mechanism, adjust this.
266017d15b25SDag-Erling Smørgrav  if test -x /usr/bin/objformat; then
266117d15b25SDag-Erling Smørgrav    objformat=`/usr/bin/objformat`
266217d15b25SDag-Erling Smørgrav  else
266317d15b25SDag-Erling Smørgrav    case $host_os in
266417d15b25SDag-Erling Smørgrav    freebsd[[23]].*) objformat=aout ;;
266517d15b25SDag-Erling Smørgrav    *) objformat=elf ;;
266617d15b25SDag-Erling Smørgrav    esac
266717d15b25SDag-Erling Smørgrav  fi
266817d15b25SDag-Erling Smørgrav  version_type=freebsd-$objformat
266917d15b25SDag-Erling Smørgrav  case $version_type in
267017d15b25SDag-Erling Smørgrav    freebsd-elf*)
2671986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2672986ba33cSDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
267317d15b25SDag-Erling Smørgrav      need_version=no
267417d15b25SDag-Erling Smørgrav      need_lib_prefix=no
267517d15b25SDag-Erling Smørgrav      ;;
267617d15b25SDag-Erling Smørgrav    freebsd-*)
2677986ba33cSDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
267817d15b25SDag-Erling Smørgrav      need_version=yes
267917d15b25SDag-Erling Smørgrav      ;;
268017d15b25SDag-Erling Smørgrav  esac
268117d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
268217d15b25SDag-Erling Smørgrav  case $host_os in
268317d15b25SDag-Erling Smørgrav  freebsd2.*)
268417d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
268517d15b25SDag-Erling Smørgrav    ;;
268617d15b25SDag-Erling Smørgrav  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
268717d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
268817d15b25SDag-Erling Smørgrav    hardcode_into_libs=yes
268917d15b25SDag-Erling Smørgrav    ;;
269017d15b25SDag-Erling Smørgrav  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
269117d15b25SDag-Erling Smørgrav  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
269217d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=no
269317d15b25SDag-Erling Smørgrav    hardcode_into_libs=yes
269417d15b25SDag-Erling Smørgrav    ;;
269517d15b25SDag-Erling Smørgrav  *) # from 4.6 on, and DragonFly
269617d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
269717d15b25SDag-Erling Smørgrav    hardcode_into_libs=yes
269817d15b25SDag-Erling Smørgrav    ;;
269917d15b25SDag-Erling Smørgrav  esac
270017d15b25SDag-Erling Smørgrav  ;;
270117d15b25SDag-Erling Smørgrav
270217d15b25SDag-Erling Smørgravhaiku*)
270317d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
270417d15b25SDag-Erling Smørgrav  need_lib_prefix=no
270517d15b25SDag-Erling Smørgrav  need_version=no
270617d15b25SDag-Erling Smørgrav  dynamic_linker="$host_os runtime_loader"
2707986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2708986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
270917d15b25SDag-Erling Smørgrav  shlibpath_var=LIBRARY_PATH
2710986ba33cSDag-Erling Smørgrav  shlibpath_overrides_runpath=no
271117d15b25SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
271217d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
271317d15b25SDag-Erling Smørgrav  ;;
271417d15b25SDag-Erling Smørgrav
271517d15b25SDag-Erling Smørgravhpux9* | hpux10* | hpux11*)
271617d15b25SDag-Erling Smørgrav  # Give a soname corresponding to the major version so that dld.sl refuses to
271717d15b25SDag-Erling Smørgrav  # link against other versions.
271817d15b25SDag-Erling Smørgrav  version_type=sunos
271917d15b25SDag-Erling Smørgrav  need_lib_prefix=no
272017d15b25SDag-Erling Smørgrav  need_version=no
272117d15b25SDag-Erling Smørgrav  case $host_cpu in
272217d15b25SDag-Erling Smørgrav  ia64*)
272317d15b25SDag-Erling Smørgrav    shrext_cmds='.so'
272417d15b25SDag-Erling Smørgrav    hardcode_into_libs=yes
272517d15b25SDag-Erling Smørgrav    dynamic_linker="$host_os dld.so"
272617d15b25SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
272717d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2728986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2729986ba33cSDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
2730986ba33cSDag-Erling Smørgrav    if test 32 = "$HPUX_IA64_MODE"; then
273117d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2732986ba33cSDag-Erling Smørgrav      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
273317d15b25SDag-Erling Smørgrav    else
273417d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2735986ba33cSDag-Erling Smørgrav      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
273617d15b25SDag-Erling Smørgrav    fi
273717d15b25SDag-Erling Smørgrav    ;;
273817d15b25SDag-Erling Smørgrav  hppa*64*)
273917d15b25SDag-Erling Smørgrav    shrext_cmds='.sl'
274017d15b25SDag-Erling Smørgrav    hardcode_into_libs=yes
274117d15b25SDag-Erling Smørgrav    dynamic_linker="$host_os dld.sl"
274217d15b25SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
274317d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2744986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2745986ba33cSDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
274617d15b25SDag-Erling Smørgrav    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
274717d15b25SDag-Erling Smørgrav    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
274817d15b25SDag-Erling Smørgrav    ;;
274917d15b25SDag-Erling Smørgrav  *)
275017d15b25SDag-Erling Smørgrav    shrext_cmds='.sl'
275117d15b25SDag-Erling Smørgrav    dynamic_linker="$host_os dld.sl"
275217d15b25SDag-Erling Smørgrav    shlibpath_var=SHLIB_PATH
275317d15b25SDag-Erling Smørgrav    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2754986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2755986ba33cSDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
275617d15b25SDag-Erling Smørgrav    ;;
275717d15b25SDag-Erling Smørgrav  esac
275817d15b25SDag-Erling Smørgrav  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
275917d15b25SDag-Erling Smørgrav  postinstall_cmds='chmod 555 $lib'
276017d15b25SDag-Erling Smørgrav  # or fails outright, so override atomically:
276117d15b25SDag-Erling Smørgrav  install_override_mode=555
276217d15b25SDag-Erling Smørgrav  ;;
276317d15b25SDag-Erling Smørgrav
276417d15b25SDag-Erling Smørgravinterix[[3-9]]*)
276517d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
276617d15b25SDag-Erling Smørgrav  need_lib_prefix=no
276717d15b25SDag-Erling Smørgrav  need_version=no
2768986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2769986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
277017d15b25SDag-Erling Smørgrav  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
277117d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
277217d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
277317d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
277417d15b25SDag-Erling Smørgrav  ;;
277517d15b25SDag-Erling Smørgrav
277617d15b25SDag-Erling Smørgravirix5* | irix6* | nonstopux*)
277717d15b25SDag-Erling Smørgrav  case $host_os in
277817d15b25SDag-Erling Smørgrav    nonstopux*) version_type=nonstopux ;;
277917d15b25SDag-Erling Smørgrav    *)
2780986ba33cSDag-Erling Smørgrav	if test yes = "$lt_cv_prog_gnu_ld"; then
278117d15b25SDag-Erling Smørgrav		version_type=linux # correct to gnu/linux during the next big refactor
278217d15b25SDag-Erling Smørgrav	else
278317d15b25SDag-Erling Smørgrav		version_type=irix
278417d15b25SDag-Erling Smørgrav	fi ;;
278517d15b25SDag-Erling Smørgrav  esac
278617d15b25SDag-Erling Smørgrav  need_lib_prefix=no
278717d15b25SDag-Erling Smørgrav  need_version=no
2788986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2789986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
279017d15b25SDag-Erling Smørgrav  case $host_os in
279117d15b25SDag-Erling Smørgrav  irix5* | nonstopux*)
279217d15b25SDag-Erling Smørgrav    libsuff= shlibsuff=
279317d15b25SDag-Erling Smørgrav    ;;
279417d15b25SDag-Erling Smørgrav  *)
279517d15b25SDag-Erling Smørgrav    case $LD in # libtool.m4 will add one of these switches to LD
279617d15b25SDag-Erling Smørgrav    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
279717d15b25SDag-Erling Smørgrav      libsuff= shlibsuff= libmagic=32-bit;;
279817d15b25SDag-Erling Smørgrav    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
279917d15b25SDag-Erling Smørgrav      libsuff=32 shlibsuff=N32 libmagic=N32;;
280017d15b25SDag-Erling Smørgrav    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
280117d15b25SDag-Erling Smørgrav      libsuff=64 shlibsuff=64 libmagic=64-bit;;
280217d15b25SDag-Erling Smørgrav    *) libsuff= shlibsuff= libmagic=never-match;;
280317d15b25SDag-Erling Smørgrav    esac
280417d15b25SDag-Erling Smørgrav    ;;
280517d15b25SDag-Erling Smørgrav  esac
280617d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
280717d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2808986ba33cSDag-Erling Smørgrav  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2809986ba33cSDag-Erling Smørgrav  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
281017d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
281117d15b25SDag-Erling Smørgrav  ;;
281217d15b25SDag-Erling Smørgrav
281317d15b25SDag-Erling Smørgrav# No shared lib support for Linux oldld, aout, or coff.
281417d15b25SDag-Erling Smørgravlinux*oldld* | linux*aout* | linux*coff*)
281517d15b25SDag-Erling Smørgrav  dynamic_linker=no
281617d15b25SDag-Erling Smørgrav  ;;
281717d15b25SDag-Erling Smørgrav
2818986ba33cSDag-Erling Smørgravlinux*android*)
2819986ba33cSDag-Erling Smørgrav  version_type=none # Android doesn't support versioned libraries.
2820986ba33cSDag-Erling Smørgrav  need_lib_prefix=no
2821986ba33cSDag-Erling Smørgrav  need_version=no
2822986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext'
2823986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext'
2824986ba33cSDag-Erling Smørgrav  finish_cmds=
2825986ba33cSDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2826986ba33cSDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2827986ba33cSDag-Erling Smørgrav
2828986ba33cSDag-Erling Smørgrav  # This implies no fast_install, which is unacceptable.
2829986ba33cSDag-Erling Smørgrav  # Some rework will be needed to allow for fast_install
2830986ba33cSDag-Erling Smørgrav  # before this can be enabled.
2831986ba33cSDag-Erling Smørgrav  hardcode_into_libs=yes
2832986ba33cSDag-Erling Smørgrav
2833986ba33cSDag-Erling Smørgrav  dynamic_linker='Android linker'
2834986ba33cSDag-Erling Smørgrav  # Don't embed -rpath directories since the linker doesn't support them.
2835986ba33cSDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2836986ba33cSDag-Erling Smørgrav  ;;
2837986ba33cSDag-Erling Smørgrav
283817d15b25SDag-Erling Smørgrav# This must be glibc/ELF.
2839986ba33cSDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
284017d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
284117d15b25SDag-Erling Smørgrav  need_lib_prefix=no
284217d15b25SDag-Erling Smørgrav  need_version=no
2843986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2844986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
284517d15b25SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
284617d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
284717d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
284817d15b25SDag-Erling Smørgrav
284917d15b25SDag-Erling Smørgrav  # Some binutils ld are patched to set DT_RUNPATH
285017d15b25SDag-Erling Smørgrav  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
285117d15b25SDag-Erling Smørgrav    [lt_cv_shlibpath_overrides_runpath=no
285217d15b25SDag-Erling Smørgrav    save_LDFLAGS=$LDFLAGS
285317d15b25SDag-Erling Smørgrav    save_libdir=$libdir
285417d15b25SDag-Erling Smørgrav    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
285517d15b25SDag-Erling Smørgrav	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
285617d15b25SDag-Erling Smørgrav    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
285717d15b25SDag-Erling Smørgrav      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
285817d15b25SDag-Erling Smørgrav	 [lt_cv_shlibpath_overrides_runpath=yes])])
285917d15b25SDag-Erling Smørgrav    LDFLAGS=$save_LDFLAGS
286017d15b25SDag-Erling Smørgrav    libdir=$save_libdir
286117d15b25SDag-Erling Smørgrav    ])
286217d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
286317d15b25SDag-Erling Smørgrav
286417d15b25SDag-Erling Smørgrav  # This implies no fast_install, which is unacceptable.
286517d15b25SDag-Erling Smørgrav  # Some rework will be needed to allow for fast_install
286617d15b25SDag-Erling Smørgrav  # before this can be enabled.
286717d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
286817d15b25SDag-Erling Smørgrav
2869986ba33cSDag-Erling Smørgrav  # Ideally, we could use ldconfig to report *all* directores which are
2870986ba33cSDag-Erling Smørgrav  # searched for libraries, however this is still not possible.  Aside from not
2871986ba33cSDag-Erling Smørgrav  # being certain /sbin/ldconfig is available, command
2872986ba33cSDag-Erling Smørgrav  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2873986ba33cSDag-Erling Smørgrav  # even though it is searched at run-time.  Try to do the best guess by
2874986ba33cSDag-Erling Smørgrav  # appending ld.so.conf contents (and includes) to the search path.
287517d15b25SDag-Erling Smørgrav  if test -f /etc/ld.so.conf; then
287617d15b25SDag-Erling Smørgrav    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' ' '`
287717d15b25SDag-Erling Smørgrav    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
287817d15b25SDag-Erling Smørgrav  fi
287917d15b25SDag-Erling Smørgrav
288017d15b25SDag-Erling Smørgrav  # We used to test for /lib/ld.so.1 and disable shared libraries on
288117d15b25SDag-Erling Smørgrav  # powerpc, because MkLinux only supported shared libraries with the
288217d15b25SDag-Erling Smørgrav  # GNU dynamic linker.  Since this was broken with cross compilers,
288317d15b25SDag-Erling Smørgrav  # most powerpc-linux boxes support dynamic linking these days and
288417d15b25SDag-Erling Smørgrav  # people can always --disable-shared, the test was removed, and we
288517d15b25SDag-Erling Smørgrav  # assume the GNU/Linux dynamic linker is in use.
288617d15b25SDag-Erling Smørgrav  dynamic_linker='GNU/Linux ld.so'
288717d15b25SDag-Erling Smørgrav  ;;
288817d15b25SDag-Erling Smørgrav
288917d15b25SDag-Erling Smørgravnetbsdelf*-gnu)
289017d15b25SDag-Erling Smørgrav  version_type=linux
289117d15b25SDag-Erling Smørgrav  need_lib_prefix=no
289217d15b25SDag-Erling Smørgrav  need_version=no
289317d15b25SDag-Erling Smørgrav  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
289417d15b25SDag-Erling Smørgrav  soname_spec='${libname}${release}${shared_ext}$major'
289517d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
289617d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
289717d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
289817d15b25SDag-Erling Smørgrav  dynamic_linker='NetBSD ld.elf_so'
289917d15b25SDag-Erling Smørgrav  ;;
290017d15b25SDag-Erling Smørgrav
290117d15b25SDag-Erling Smørgravnetbsd*)
290217d15b25SDag-Erling Smørgrav  version_type=sunos
290317d15b25SDag-Erling Smørgrav  need_lib_prefix=no
290417d15b25SDag-Erling Smørgrav  need_version=no
290517d15b25SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2906986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
290717d15b25SDag-Erling Smørgrav    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
290817d15b25SDag-Erling Smørgrav    dynamic_linker='NetBSD (a.out) ld.so'
290917d15b25SDag-Erling Smørgrav  else
2910986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2911986ba33cSDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
291217d15b25SDag-Erling Smørgrav    dynamic_linker='NetBSD ld.elf_so'
291317d15b25SDag-Erling Smørgrav  fi
291417d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
291517d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
291617d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
291717d15b25SDag-Erling Smørgrav  ;;
291817d15b25SDag-Erling Smørgrav
291917d15b25SDag-Erling Smørgravnewsos6)
292017d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2921986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
292217d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
292317d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
292417d15b25SDag-Erling Smørgrav  ;;
292517d15b25SDag-Erling Smørgrav
292617d15b25SDag-Erling Smørgrav*nto* | *qnx*)
292717d15b25SDag-Erling Smørgrav  version_type=qnx
292817d15b25SDag-Erling Smørgrav  need_lib_prefix=no
292917d15b25SDag-Erling Smørgrav  need_version=no
2930986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2931986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
293217d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
293317d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
293417d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
293517d15b25SDag-Erling Smørgrav  dynamic_linker='ldqnx.so'
293617d15b25SDag-Erling Smørgrav  ;;
293717d15b25SDag-Erling Smørgrav
2938986ba33cSDag-Erling Smørgravopenbsd* | bitrig*)
293917d15b25SDag-Erling Smørgrav  version_type=sunos
2940986ba33cSDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=/usr/lib
294117d15b25SDag-Erling Smørgrav  need_lib_prefix=no
2942986ba33cSDag-Erling Smørgrav  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2943986ba33cSDag-Erling Smørgrav    need_version=no
2944986ba33cSDag-Erling Smørgrav  else
2945986ba33cSDag-Erling Smørgrav    need_version=yes
2946986ba33cSDag-Erling Smørgrav  fi
2947986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
294817d15b25SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
294917d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
295017d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
295117d15b25SDag-Erling Smørgrav  ;;
295217d15b25SDag-Erling Smørgrav
295317d15b25SDag-Erling Smørgravos2*)
295417d15b25SDag-Erling Smørgrav  libname_spec='$name'
2955986ba33cSDag-Erling Smørgrav  version_type=windows
2956986ba33cSDag-Erling Smørgrav  shrext_cmds=.dll
2957986ba33cSDag-Erling Smørgrav  need_version=no
295817d15b25SDag-Erling Smørgrav  need_lib_prefix=no
2959986ba33cSDag-Erling Smørgrav  # OS/2 can only load a DLL with a base name of 8 characters or less.
2960986ba33cSDag-Erling Smørgrav  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2961986ba33cSDag-Erling Smørgrav    v=$($ECHO $release$versuffix | tr -d .-);
2962986ba33cSDag-Erling Smørgrav    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2963986ba33cSDag-Erling Smørgrav    $ECHO $n$v`$shared_ext'
2964986ba33cSDag-Erling Smørgrav  library_names_spec='${libname}_dll.$libext'
296517d15b25SDag-Erling Smørgrav  dynamic_linker='OS/2 ld.exe'
2966986ba33cSDag-Erling Smørgrav  shlibpath_var=BEGINLIBPATH
2967986ba33cSDag-Erling Smørgrav  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2968986ba33cSDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2969986ba33cSDag-Erling Smørgrav  postinstall_cmds='base_file=`basename \$file`~
2970986ba33cSDag-Erling Smørgrav    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2971986ba33cSDag-Erling Smørgrav    dldir=$destdir/`dirname \$dlpath`~
2972986ba33cSDag-Erling Smørgrav    test -d \$dldir || mkdir -p \$dldir~
2973986ba33cSDag-Erling Smørgrav    $install_prog $dir/$dlname \$dldir/$dlname~
2974986ba33cSDag-Erling Smørgrav    chmod a+x \$dldir/$dlname~
2975986ba33cSDag-Erling Smørgrav    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2976986ba33cSDag-Erling Smørgrav      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2977986ba33cSDag-Erling Smørgrav    fi'
2978986ba33cSDag-Erling Smørgrav  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2979986ba33cSDag-Erling Smørgrav    dlpath=$dir/\$dldll~
2980986ba33cSDag-Erling Smørgrav    $RM \$dlpath'
298117d15b25SDag-Erling Smørgrav  ;;
298217d15b25SDag-Erling Smørgrav
298317d15b25SDag-Erling Smørgravosf3* | osf4* | osf5*)
298417d15b25SDag-Erling Smørgrav  version_type=osf
298517d15b25SDag-Erling Smørgrav  need_lib_prefix=no
298617d15b25SDag-Erling Smørgrav  need_version=no
2987986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2988986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
298917d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
299017d15b25SDag-Erling Smørgrav  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2991986ba33cSDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
299217d15b25SDag-Erling Smørgrav  ;;
299317d15b25SDag-Erling Smørgrav
299417d15b25SDag-Erling Smørgravrdos*)
299517d15b25SDag-Erling Smørgrav  dynamic_linker=no
299617d15b25SDag-Erling Smørgrav  ;;
299717d15b25SDag-Erling Smørgrav
299817d15b25SDag-Erling Smørgravsolaris*)
299917d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
300017d15b25SDag-Erling Smørgrav  need_lib_prefix=no
300117d15b25SDag-Erling Smørgrav  need_version=no
3002986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3003986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
300417d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
300517d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
300617d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
300717d15b25SDag-Erling Smørgrav  # ldd complains unless libraries are executable
300817d15b25SDag-Erling Smørgrav  postinstall_cmds='chmod +x $lib'
300917d15b25SDag-Erling Smørgrav  ;;
301017d15b25SDag-Erling Smørgrav
301117d15b25SDag-Erling Smørgravsunos4*)
301217d15b25SDag-Erling Smørgrav  version_type=sunos
3013986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
301417d15b25SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
301517d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
301617d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
3017986ba33cSDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
301817d15b25SDag-Erling Smørgrav    need_lib_prefix=no
301917d15b25SDag-Erling Smørgrav  fi
302017d15b25SDag-Erling Smørgrav  need_version=yes
302117d15b25SDag-Erling Smørgrav  ;;
302217d15b25SDag-Erling Smørgrav
302317d15b25SDag-Erling Smørgravsysv4 | sysv4.3*)
302417d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
3025986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3026986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
302717d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
302817d15b25SDag-Erling Smørgrav  case $host_vendor in
302917d15b25SDag-Erling Smørgrav    sni)
303017d15b25SDag-Erling Smørgrav      shlibpath_overrides_runpath=no
303117d15b25SDag-Erling Smørgrav      need_lib_prefix=no
303217d15b25SDag-Erling Smørgrav      runpath_var=LD_RUN_PATH
303317d15b25SDag-Erling Smørgrav      ;;
303417d15b25SDag-Erling Smørgrav    siemens)
303517d15b25SDag-Erling Smørgrav      need_lib_prefix=no
303617d15b25SDag-Erling Smørgrav      ;;
303717d15b25SDag-Erling Smørgrav    motorola)
303817d15b25SDag-Erling Smørgrav      need_lib_prefix=no
303917d15b25SDag-Erling Smørgrav      need_version=no
304017d15b25SDag-Erling Smørgrav      shlibpath_overrides_runpath=no
304117d15b25SDag-Erling Smørgrav      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
304217d15b25SDag-Erling Smørgrav      ;;
304317d15b25SDag-Erling Smørgrav  esac
304417d15b25SDag-Erling Smørgrav  ;;
304517d15b25SDag-Erling Smørgrav
304617d15b25SDag-Erling Smørgravsysv4*MP*)
304717d15b25SDag-Erling Smørgrav  if test -d /usr/nec; then
304817d15b25SDag-Erling Smørgrav    version_type=linux # correct to gnu/linux during the next big refactor
3049986ba33cSDag-Erling Smørgrav    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3050986ba33cSDag-Erling Smørgrav    soname_spec='$libname$shared_ext.$major'
305117d15b25SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
305217d15b25SDag-Erling Smørgrav  fi
305317d15b25SDag-Erling Smørgrav  ;;
305417d15b25SDag-Erling Smørgrav
305517d15b25SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3056986ba33cSDag-Erling Smørgrav  version_type=sco
305717d15b25SDag-Erling Smørgrav  need_lib_prefix=no
305817d15b25SDag-Erling Smørgrav  need_version=no
3059986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3060986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
306117d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
306217d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
306317d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
3064986ba33cSDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
306517d15b25SDag-Erling Smørgrav    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
306617d15b25SDag-Erling Smørgrav  else
306717d15b25SDag-Erling Smørgrav    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
306817d15b25SDag-Erling Smørgrav    case $host_os in
306917d15b25SDag-Erling Smørgrav      sco3.2v5*)
307017d15b25SDag-Erling Smørgrav        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
307117d15b25SDag-Erling Smørgrav	;;
307217d15b25SDag-Erling Smørgrav    esac
307317d15b25SDag-Erling Smørgrav  fi
307417d15b25SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/usr/lib'
307517d15b25SDag-Erling Smørgrav  ;;
307617d15b25SDag-Erling Smørgrav
307717d15b25SDag-Erling Smørgravtpf*)
307817d15b25SDag-Erling Smørgrav  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
307917d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
308017d15b25SDag-Erling Smørgrav  need_lib_prefix=no
308117d15b25SDag-Erling Smørgrav  need_version=no
3082986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
308317d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
308417d15b25SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
308517d15b25SDag-Erling Smørgrav  hardcode_into_libs=yes
308617d15b25SDag-Erling Smørgrav  ;;
308717d15b25SDag-Erling Smørgrav
308817d15b25SDag-Erling Smørgravuts4*)
308917d15b25SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
3090986ba33cSDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3091986ba33cSDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
309217d15b25SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
309317d15b25SDag-Erling Smørgrav  ;;
309417d15b25SDag-Erling Smørgrav
309517d15b25SDag-Erling Smørgrav*)
309617d15b25SDag-Erling Smørgrav  dynamic_linker=no
309717d15b25SDag-Erling Smørgrav  ;;
309817d15b25SDag-Erling Smørgravesac
309917d15b25SDag-Erling SmørgravAC_MSG_RESULT([$dynamic_linker])
3100986ba33cSDag-Erling Smørgravtest no = "$dynamic_linker" && can_build_shared=no
310117d15b25SDag-Erling Smørgrav
310217d15b25SDag-Erling Smørgravvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3103986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then
310417d15b25SDag-Erling Smørgrav  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
310517d15b25SDag-Erling Smørgravfi
310617d15b25SDag-Erling Smørgrav
3107986ba33cSDag-Erling Smørgravif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3108986ba33cSDag-Erling Smørgrav  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
310917d15b25SDag-Erling Smørgravfi
3110986ba33cSDag-Erling Smørgrav
3111986ba33cSDag-Erling Smørgravif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3112986ba33cSDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
311317d15b25SDag-Erling Smørgravfi
311417d15b25SDag-Erling Smørgrav
3115986ba33cSDag-Erling Smørgrav# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3116986ba33cSDag-Erling Smørgravconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3117986ba33cSDag-Erling Smørgrav
3118986ba33cSDag-Erling Smørgrav# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3119986ba33cSDag-Erling Smørgravfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3120986ba33cSDag-Erling Smørgrav
3121986ba33cSDag-Erling Smørgrav# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3122986ba33cSDag-Erling Smørgravconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3123986ba33cSDag-Erling Smørgrav
312417d15b25SDag-Erling Smørgrav_LT_DECL([], [variables_saved_for_relink], [1],
312517d15b25SDag-Erling Smørgrav    [Variables whose values should be saved in libtool wrapper scripts and
312617d15b25SDag-Erling Smørgrav    restored at link time])
312717d15b25SDag-Erling Smørgrav_LT_DECL([], [need_lib_prefix], [0],
312817d15b25SDag-Erling Smørgrav    [Do we need the "lib" prefix for modules?])
312917d15b25SDag-Erling Smørgrav_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
313017d15b25SDag-Erling Smørgrav_LT_DECL([], [version_type], [0], [Library versioning type])
313117d15b25SDag-Erling Smørgrav_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
313217d15b25SDag-Erling Smørgrav_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
313317d15b25SDag-Erling Smørgrav_LT_DECL([], [shlibpath_overrides_runpath], [0],
313417d15b25SDag-Erling Smørgrav    [Is shlibpath searched before the hard-coded library search path?])
313517d15b25SDag-Erling Smørgrav_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
313617d15b25SDag-Erling Smørgrav_LT_DECL([], [library_names_spec], [1],
313717d15b25SDag-Erling Smørgrav    [[List of archive names.  First name is the real one, the rest are links.
313817d15b25SDag-Erling Smørgrav    The last name is the one that the linker finds with -lNAME]])
313917d15b25SDag-Erling Smørgrav_LT_DECL([], [soname_spec], [1],
314017d15b25SDag-Erling Smørgrav    [[The coded name of the library, if different from the real name]])
314117d15b25SDag-Erling Smørgrav_LT_DECL([], [install_override_mode], [1],
314217d15b25SDag-Erling Smørgrav    [Permission mode override for installation of shared libraries])
314317d15b25SDag-Erling Smørgrav_LT_DECL([], [postinstall_cmds], [2],
314417d15b25SDag-Erling Smørgrav    [Command to use after installation of a shared archive])
314517d15b25SDag-Erling Smørgrav_LT_DECL([], [postuninstall_cmds], [2],
314617d15b25SDag-Erling Smørgrav    [Command to use after uninstallation of a shared archive])
314717d15b25SDag-Erling Smørgrav_LT_DECL([], [finish_cmds], [2],
314817d15b25SDag-Erling Smørgrav    [Commands used to finish a libtool library installation in a directory])
314917d15b25SDag-Erling Smørgrav_LT_DECL([], [finish_eval], [1],
315017d15b25SDag-Erling Smørgrav    [[As "finish_cmds", except a single script fragment to be evaled but
315117d15b25SDag-Erling Smørgrav    not shown]])
315217d15b25SDag-Erling Smørgrav_LT_DECL([], [hardcode_into_libs], [0],
315317d15b25SDag-Erling Smørgrav    [Whether we should hardcode library paths into libraries])
315417d15b25SDag-Erling Smørgrav_LT_DECL([], [sys_lib_search_path_spec], [2],
315517d15b25SDag-Erling Smørgrav    [Compile-time system search path for libraries])
3156986ba33cSDag-Erling Smørgrav_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3157986ba33cSDag-Erling Smørgrav    [Detected run-time system search path for libraries])
3158986ba33cSDag-Erling Smørgrav_LT_DECL([], [configure_time_lt_sys_library_path], [2],
3159986ba33cSDag-Erling Smørgrav    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
316017d15b25SDag-Erling Smørgrav])# _LT_SYS_DYNAMIC_LINKER
316117d15b25SDag-Erling Smørgrav
316217d15b25SDag-Erling Smørgrav
316317d15b25SDag-Erling Smørgrav# _LT_PATH_TOOL_PREFIX(TOOL)
316417d15b25SDag-Erling Smørgrav# --------------------------
3165986ba33cSDag-Erling Smørgrav# find a file program that can recognize shared library
316617d15b25SDag-Erling SmørgravAC_DEFUN([_LT_PATH_TOOL_PREFIX],
316717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl
316817d15b25SDag-Erling SmørgravAC_MSG_CHECKING([for $1])
316917d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
317017d15b25SDag-Erling Smørgrav[case $MAGIC_CMD in
317117d15b25SDag-Erling Smørgrav[[\\/*] |  ?:[\\/]*])
3172986ba33cSDag-Erling Smørgrav  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
317317d15b25SDag-Erling Smørgrav  ;;
317417d15b25SDag-Erling Smørgrav*)
3175986ba33cSDag-Erling Smørgrav  lt_save_MAGIC_CMD=$MAGIC_CMD
3176986ba33cSDag-Erling Smørgrav  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
317717d15b25SDag-Erling Smørgravdnl $ac_dummy forces splitting on constant user-supplied paths.
317817d15b25SDag-Erling Smørgravdnl POSIX.2 word splitting is done only on the output of word expansions,
317917d15b25SDag-Erling Smørgravdnl not every word.  This closes a longstanding sh security hole.
318017d15b25SDag-Erling Smørgrav  ac_dummy="m4_if([$2], , $PATH, [$2])"
318117d15b25SDag-Erling Smørgrav  for ac_dir in $ac_dummy; do
3182986ba33cSDag-Erling Smørgrav    IFS=$lt_save_ifs
318317d15b25SDag-Erling Smørgrav    test -z "$ac_dir" && ac_dir=.
3184986ba33cSDag-Erling Smørgrav    if test -f "$ac_dir/$1"; then
3185986ba33cSDag-Erling Smørgrav      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
318617d15b25SDag-Erling Smørgrav      if test -n "$file_magic_test_file"; then
318717d15b25SDag-Erling Smørgrav	case $deplibs_check_method in
318817d15b25SDag-Erling Smørgrav	"file_magic "*)
318917d15b25SDag-Erling Smørgrav	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3190986ba33cSDag-Erling Smørgrav	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
319117d15b25SDag-Erling Smørgrav	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
319217d15b25SDag-Erling Smørgrav	    $EGREP "$file_magic_regex" > /dev/null; then
319317d15b25SDag-Erling Smørgrav	    :
319417d15b25SDag-Erling Smørgrav	  else
319517d15b25SDag-Erling Smørgrav	    cat <<_LT_EOF 1>&2
319617d15b25SDag-Erling Smørgrav
319717d15b25SDag-Erling Smørgrav*** Warning: the command libtool uses to detect shared libraries,
319817d15b25SDag-Erling Smørgrav*** $file_magic_cmd, produces output that libtool cannot recognize.
319917d15b25SDag-Erling Smørgrav*** The result is that libtool may fail to recognize shared libraries
320017d15b25SDag-Erling Smørgrav*** as such.  This will affect the creation of libtool libraries that
320117d15b25SDag-Erling Smørgrav*** depend on shared libraries, but programs linked with such libtool
320217d15b25SDag-Erling Smørgrav*** libraries will work regardless of this problem.  Nevertheless, you
320317d15b25SDag-Erling Smørgrav*** may want to report the problem to your system manager and/or to
320417d15b25SDag-Erling Smørgrav*** bug-libtool@gnu.org
320517d15b25SDag-Erling Smørgrav
320617d15b25SDag-Erling Smørgrav_LT_EOF
320717d15b25SDag-Erling Smørgrav	  fi ;;
320817d15b25SDag-Erling Smørgrav	esac
320917d15b25SDag-Erling Smørgrav      fi
321017d15b25SDag-Erling Smørgrav      break
321117d15b25SDag-Erling Smørgrav    fi
321217d15b25SDag-Erling Smørgrav  done
3213986ba33cSDag-Erling Smørgrav  IFS=$lt_save_ifs
3214986ba33cSDag-Erling Smørgrav  MAGIC_CMD=$lt_save_MAGIC_CMD
321517d15b25SDag-Erling Smørgrav  ;;
321617d15b25SDag-Erling Smørgravesac])
3217986ba33cSDag-Erling SmørgravMAGIC_CMD=$lt_cv_path_MAGIC_CMD
321817d15b25SDag-Erling Smørgravif test -n "$MAGIC_CMD"; then
321917d15b25SDag-Erling Smørgrav  AC_MSG_RESULT($MAGIC_CMD)
322017d15b25SDag-Erling Smørgravelse
322117d15b25SDag-Erling Smørgrav  AC_MSG_RESULT(no)
322217d15b25SDag-Erling Smørgravfi
322317d15b25SDag-Erling Smørgrav_LT_DECL([], [MAGIC_CMD], [0],
322417d15b25SDag-Erling Smørgrav	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
322517d15b25SDag-Erling Smørgrav])# _LT_PATH_TOOL_PREFIX
322617d15b25SDag-Erling Smørgrav
322717d15b25SDag-Erling Smørgrav# Old name:
322817d15b25SDag-Erling SmørgravAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
322917d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
323017d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
323117d15b25SDag-Erling Smørgrav
323217d15b25SDag-Erling Smørgrav
323317d15b25SDag-Erling Smørgrav# _LT_PATH_MAGIC
323417d15b25SDag-Erling Smørgrav# --------------
3235986ba33cSDag-Erling Smørgrav# find a file program that can recognize a shared library
323617d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_MAGIC],
323717d15b25SDag-Erling Smørgrav[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
323817d15b25SDag-Erling Smørgravif test -z "$lt_cv_path_MAGIC_CMD"; then
323917d15b25SDag-Erling Smørgrav  if test -n "$ac_tool_prefix"; then
324017d15b25SDag-Erling Smørgrav    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
324117d15b25SDag-Erling Smørgrav  else
324217d15b25SDag-Erling Smørgrav    MAGIC_CMD=:
324317d15b25SDag-Erling Smørgrav  fi
324417d15b25SDag-Erling Smørgravfi
324517d15b25SDag-Erling Smørgrav])# _LT_PATH_MAGIC
324617d15b25SDag-Erling Smørgrav
324717d15b25SDag-Erling Smørgrav
324817d15b25SDag-Erling Smørgrav# LT_PATH_LD
324917d15b25SDag-Erling Smørgrav# ----------
325017d15b25SDag-Erling Smørgrav# find the pathname to the GNU or non-GNU linker
325117d15b25SDag-Erling SmørgravAC_DEFUN([LT_PATH_LD],
325217d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
325317d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_HOST])dnl
325417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
325517d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
325617d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
325717d15b25SDag-Erling Smørgravm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
325817d15b25SDag-Erling Smørgrav
325917d15b25SDag-Erling SmørgravAC_ARG_WITH([gnu-ld],
326017d15b25SDag-Erling Smørgrav    [AS_HELP_STRING([--with-gnu-ld],
326117d15b25SDag-Erling Smørgrav	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
3262986ba33cSDag-Erling Smørgrav    [test no = "$withval" || with_gnu_ld=yes],
326317d15b25SDag-Erling Smørgrav    [with_gnu_ld=no])dnl
326417d15b25SDag-Erling Smørgrav
326517d15b25SDag-Erling Smørgravac_prog=ld
3266986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then
326717d15b25SDag-Erling Smørgrav  # Check if gcc -print-prog-name=ld gives a path.
326817d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([for ld used by $CC])
326917d15b25SDag-Erling Smørgrav  case $host in
327017d15b25SDag-Erling Smørgrav  *-*-mingw*)
3271986ba33cSDag-Erling Smørgrav    # gcc leaves a trailing carriage return, which upsets mingw
327217d15b25SDag-Erling Smørgrav    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
327317d15b25SDag-Erling Smørgrav  *)
327417d15b25SDag-Erling Smørgrav    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
327517d15b25SDag-Erling Smørgrav  esac
327617d15b25SDag-Erling Smørgrav  case $ac_prog in
327717d15b25SDag-Erling Smørgrav    # Accept absolute paths.
327817d15b25SDag-Erling Smørgrav    [[\\/]]* | ?:[[\\/]]*)
327917d15b25SDag-Erling Smørgrav      re_direlt='/[[^/]][[^/]]*/\.\./'
328017d15b25SDag-Erling Smørgrav      # Canonicalize the pathname of ld
328117d15b25SDag-Erling Smørgrav      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
328217d15b25SDag-Erling Smørgrav      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
328317d15b25SDag-Erling Smørgrav	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
328417d15b25SDag-Erling Smørgrav      done
3285986ba33cSDag-Erling Smørgrav      test -z "$LD" && LD=$ac_prog
328617d15b25SDag-Erling Smørgrav      ;;
328717d15b25SDag-Erling Smørgrav  "")
328817d15b25SDag-Erling Smørgrav    # If it fails, then pretend we aren't using GCC.
328917d15b25SDag-Erling Smørgrav    ac_prog=ld
329017d15b25SDag-Erling Smørgrav    ;;
329117d15b25SDag-Erling Smørgrav  *)
329217d15b25SDag-Erling Smørgrav    # If it is relative, then search for the first ld in PATH.
329317d15b25SDag-Erling Smørgrav    with_gnu_ld=unknown
329417d15b25SDag-Erling Smørgrav    ;;
329517d15b25SDag-Erling Smørgrav  esac
3296986ba33cSDag-Erling Smørgravelif test yes = "$with_gnu_ld"; then
329717d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([for GNU ld])
329817d15b25SDag-Erling Smørgravelse
329917d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([for non-GNU ld])
330017d15b25SDag-Erling Smørgravfi
330117d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_LD,
330217d15b25SDag-Erling Smørgrav[if test -z "$LD"; then
3303986ba33cSDag-Erling Smørgrav  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
330417d15b25SDag-Erling Smørgrav  for ac_dir in $PATH; do
3305986ba33cSDag-Erling Smørgrav    IFS=$lt_save_ifs
330617d15b25SDag-Erling Smørgrav    test -z "$ac_dir" && ac_dir=.
330717d15b25SDag-Erling Smørgrav    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3308986ba33cSDag-Erling Smørgrav      lt_cv_path_LD=$ac_dir/$ac_prog
330917d15b25SDag-Erling Smørgrav      # Check to see if the program is GNU ld.  I'd rather use --version,
331017d15b25SDag-Erling Smørgrav      # but apparently some variants of GNU ld only accept -v.
331117d15b25SDag-Erling Smørgrav      # Break only if it was the GNU/non-GNU ld that we prefer.
331217d15b25SDag-Erling Smørgrav      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
331317d15b25SDag-Erling Smørgrav      *GNU* | *'with BFD'*)
3314986ba33cSDag-Erling Smørgrav	test no != "$with_gnu_ld" && break
331517d15b25SDag-Erling Smørgrav	;;
331617d15b25SDag-Erling Smørgrav      *)
3317986ba33cSDag-Erling Smørgrav	test yes != "$with_gnu_ld" && break
331817d15b25SDag-Erling Smørgrav	;;
331917d15b25SDag-Erling Smørgrav      esac
332017d15b25SDag-Erling Smørgrav    fi
332117d15b25SDag-Erling Smørgrav  done
3322986ba33cSDag-Erling Smørgrav  IFS=$lt_save_ifs
332317d15b25SDag-Erling Smørgravelse
3324986ba33cSDag-Erling Smørgrav  lt_cv_path_LD=$LD # Let the user override the test with a path.
332517d15b25SDag-Erling Smørgravfi])
3326986ba33cSDag-Erling SmørgravLD=$lt_cv_path_LD
332717d15b25SDag-Erling Smørgravif test -n "$LD"; then
332817d15b25SDag-Erling Smørgrav  AC_MSG_RESULT($LD)
332917d15b25SDag-Erling Smørgravelse
333017d15b25SDag-Erling Smørgrav  AC_MSG_RESULT(no)
333117d15b25SDag-Erling Smørgravfi
333217d15b25SDag-Erling Smørgravtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
333317d15b25SDag-Erling Smørgrav_LT_PATH_LD_GNU
333417d15b25SDag-Erling SmørgravAC_SUBST([LD])
333517d15b25SDag-Erling Smørgrav
333617d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
333717d15b25SDag-Erling Smørgrav])# LT_PATH_LD
333817d15b25SDag-Erling Smørgrav
333917d15b25SDag-Erling Smørgrav# Old names:
334017d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
334117d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
334217d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
334317d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LD], [])
334417d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LD], [])
334517d15b25SDag-Erling Smørgrav
334617d15b25SDag-Erling Smørgrav
334717d15b25SDag-Erling Smørgrav# _LT_PATH_LD_GNU
334817d15b25SDag-Erling Smørgrav#- --------------
334917d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_LD_GNU],
335017d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
335117d15b25SDag-Erling Smørgrav[# I'd rather use --version here, but apparently some GNU lds only accept -v.
335217d15b25SDag-Erling Smørgravcase `$LD -v 2>&1 </dev/null` in
335317d15b25SDag-Erling Smørgrav*GNU* | *'with BFD'*)
335417d15b25SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=yes
335517d15b25SDag-Erling Smørgrav  ;;
335617d15b25SDag-Erling Smørgrav*)
335717d15b25SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=no
335817d15b25SDag-Erling Smørgrav  ;;
335917d15b25SDag-Erling Smørgravesac])
336017d15b25SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld
336117d15b25SDag-Erling Smørgrav])# _LT_PATH_LD_GNU
336217d15b25SDag-Erling Smørgrav
336317d15b25SDag-Erling Smørgrav
336417d15b25SDag-Erling Smørgrav# _LT_CMD_RELOAD
336517d15b25SDag-Erling Smørgrav# --------------
336617d15b25SDag-Erling Smørgrav# find reload flag for linker
336717d15b25SDag-Erling Smørgrav#   -- PORTME Some linkers may need a different reload flag.
336817d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_RELOAD],
336917d15b25SDag-Erling Smørgrav[AC_CACHE_CHECK([for $LD option to reload object files],
337017d15b25SDag-Erling Smørgrav  lt_cv_ld_reload_flag,
337117d15b25SDag-Erling Smørgrav  [lt_cv_ld_reload_flag='-r'])
337217d15b25SDag-Erling Smørgravreload_flag=$lt_cv_ld_reload_flag
337317d15b25SDag-Erling Smørgravcase $reload_flag in
337417d15b25SDag-Erling Smørgrav"" | " "*) ;;
337517d15b25SDag-Erling Smørgrav*) reload_flag=" $reload_flag" ;;
337617d15b25SDag-Erling Smørgravesac
337717d15b25SDag-Erling Smørgravreload_cmds='$LD$reload_flag -o $output$reload_objs'
337817d15b25SDag-Erling Smørgravcase $host_os in
337917d15b25SDag-Erling Smørgrav  cygwin* | mingw* | pw32* | cegcc*)
3380986ba33cSDag-Erling Smørgrav    if test yes != "$GCC"; then
338117d15b25SDag-Erling Smørgrav      reload_cmds=false
338217d15b25SDag-Erling Smørgrav    fi
338317d15b25SDag-Erling Smørgrav    ;;
338417d15b25SDag-Erling Smørgrav  darwin*)
3385986ba33cSDag-Erling Smørgrav    if test yes = "$GCC"; then
3386986ba33cSDag-Erling Smørgrav      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
338717d15b25SDag-Erling Smørgrav    else
338817d15b25SDag-Erling Smørgrav      reload_cmds='$LD$reload_flag -o $output$reload_objs'
338917d15b25SDag-Erling Smørgrav    fi
339017d15b25SDag-Erling Smørgrav    ;;
339117d15b25SDag-Erling Smørgravesac
339217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
339317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [reload_cmds], [2])dnl
339417d15b25SDag-Erling Smørgrav])# _LT_CMD_RELOAD
339517d15b25SDag-Erling Smørgrav
339617d15b25SDag-Erling Smørgrav
3397986ba33cSDag-Erling Smørgrav# _LT_PATH_DD
3398986ba33cSDag-Erling Smørgrav# -----------
3399986ba33cSDag-Erling Smørgrav# find a working dd
3400986ba33cSDag-Erling Smørgravm4_defun([_LT_PATH_DD],
3401986ba33cSDag-Erling Smørgrav[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3402986ba33cSDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i
3403986ba33cSDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i
3404986ba33cSDag-Erling Smørgrav: ${lt_DD:=$DD}
3405986ba33cSDag-Erling SmørgravAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3406986ba33cSDag-Erling Smørgrav[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3407986ba33cSDag-Erling Smørgrav  cmp -s conftest.i conftest.out \
3408986ba33cSDag-Erling Smørgrav  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3409986ba33cSDag-Erling Smørgravfi])
3410986ba33cSDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out])
3411986ba33cSDag-Erling Smørgrav])# _LT_PATH_DD
3412986ba33cSDag-Erling Smørgrav
3413986ba33cSDag-Erling Smørgrav
3414986ba33cSDag-Erling Smørgrav# _LT_CMD_TRUNCATE
3415986ba33cSDag-Erling Smørgrav# ----------------
3416986ba33cSDag-Erling Smørgrav# find command to truncate a binary pipe
3417986ba33cSDag-Erling Smørgravm4_defun([_LT_CMD_TRUNCATE],
3418986ba33cSDag-Erling Smørgrav[m4_require([_LT_PATH_DD])
3419986ba33cSDag-Erling SmørgravAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3420986ba33cSDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i
3421986ba33cSDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i
3422986ba33cSDag-Erling Smørgravlt_cv_truncate_bin=
3423986ba33cSDag-Erling Smørgravif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3424986ba33cSDag-Erling Smørgrav  cmp -s conftest.i conftest.out \
3425986ba33cSDag-Erling Smørgrav  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3426986ba33cSDag-Erling Smørgravfi
3427986ba33cSDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out
3428986ba33cSDag-Erling Smørgravtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3429986ba33cSDag-Erling Smørgrav_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3430986ba33cSDag-Erling Smørgrav  [Command to truncate a binary pipe])
3431986ba33cSDag-Erling Smørgrav])# _LT_CMD_TRUNCATE
3432986ba33cSDag-Erling Smørgrav
3433986ba33cSDag-Erling Smørgrav
343417d15b25SDag-Erling Smørgrav# _LT_CHECK_MAGIC_METHOD
343517d15b25SDag-Erling Smørgrav# ----------------------
343617d15b25SDag-Erling Smørgrav# how to check for library dependencies
343717d15b25SDag-Erling Smørgrav#  -- PORTME fill in with the dynamic library characteristics
343817d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_MAGIC_METHOD],
343917d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
344017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])
344117d15b25SDag-Erling SmørgravAC_CACHE_CHECK([how to recognize dependent libraries],
344217d15b25SDag-Erling Smørgravlt_cv_deplibs_check_method,
344317d15b25SDag-Erling Smørgrav[lt_cv_file_magic_cmd='$MAGIC_CMD'
344417d15b25SDag-Erling Smørgravlt_cv_file_magic_test_file=
344517d15b25SDag-Erling Smørgravlt_cv_deplibs_check_method='unknown'
344617d15b25SDag-Erling Smørgrav# Need to set the preceding variable on all platforms that support
344717d15b25SDag-Erling Smørgrav# interlibrary dependencies.
344817d15b25SDag-Erling Smørgrav# 'none' -- dependencies not supported.
3449986ba33cSDag-Erling Smørgrav# 'unknown' -- same as none, but documents that we really don't know.
345017d15b25SDag-Erling Smørgrav# 'pass_all' -- all dependencies passed with no checks.
345117d15b25SDag-Erling Smørgrav# 'test_compile' -- check by making test program.
345217d15b25SDag-Erling Smørgrav# 'file_magic [[regex]]' -- check by looking for files in library path
3453986ba33cSDag-Erling Smørgrav# that responds to the $file_magic_cmd with a given extended regex.
3454986ba33cSDag-Erling Smørgrav# If you have 'file' or equivalent on your system and you're not sure
3455986ba33cSDag-Erling Smørgrav# whether 'pass_all' will *always* work, you probably want this one.
345617d15b25SDag-Erling Smørgrav
345717d15b25SDag-Erling Smørgravcase $host_os in
345817d15b25SDag-Erling Smørgravaix[[4-9]]*)
345917d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
346017d15b25SDag-Erling Smørgrav  ;;
346117d15b25SDag-Erling Smørgrav
346217d15b25SDag-Erling Smørgravbeos*)
346317d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
346417d15b25SDag-Erling Smørgrav  ;;
346517d15b25SDag-Erling Smørgrav
346617d15b25SDag-Erling Smørgravbsdi[[45]]*)
346717d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
346817d15b25SDag-Erling Smørgrav  lt_cv_file_magic_cmd='/usr/bin/file -L'
346917d15b25SDag-Erling Smørgrav  lt_cv_file_magic_test_file=/shlib/libc.so
347017d15b25SDag-Erling Smørgrav  ;;
347117d15b25SDag-Erling Smørgrav
347217d15b25SDag-Erling Smørgravcygwin*)
347317d15b25SDag-Erling Smørgrav  # func_win32_libid is a shell function defined in ltmain.sh
347417d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
347517d15b25SDag-Erling Smørgrav  lt_cv_file_magic_cmd='func_win32_libid'
347617d15b25SDag-Erling Smørgrav  ;;
347717d15b25SDag-Erling Smørgrav
347817d15b25SDag-Erling Smørgravmingw* | pw32*)
347917d15b25SDag-Erling Smørgrav  # Base MSYS/MinGW do not provide the 'file' command needed by
348017d15b25SDag-Erling Smørgrav  # func_win32_libid shell function, so use a weaker test based on 'objdump',
348117d15b25SDag-Erling Smørgrav  # unless we find 'file', for example because we are cross-compiling.
3482986ba33cSDag-Erling Smørgrav  if ( file / ) >/dev/null 2>&1; then
348317d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
348417d15b25SDag-Erling Smørgrav    lt_cv_file_magic_cmd='func_win32_libid'
348517d15b25SDag-Erling Smørgrav  else
348617d15b25SDag-Erling Smørgrav    # Keep this pattern in sync with the one in func_win32_libid.
348717d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
348817d15b25SDag-Erling Smørgrav    lt_cv_file_magic_cmd='$OBJDUMP -f'
348917d15b25SDag-Erling Smørgrav  fi
349017d15b25SDag-Erling Smørgrav  ;;
349117d15b25SDag-Erling Smørgrav
349217d15b25SDag-Erling Smørgravcegcc*)
349317d15b25SDag-Erling Smørgrav  # use the weaker test based on 'objdump'. See mingw*.
349417d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
349517d15b25SDag-Erling Smørgrav  lt_cv_file_magic_cmd='$OBJDUMP -f'
349617d15b25SDag-Erling Smørgrav  ;;
349717d15b25SDag-Erling Smørgrav
349817d15b25SDag-Erling Smørgravdarwin* | rhapsody*)
349917d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
350017d15b25SDag-Erling Smørgrav  ;;
350117d15b25SDag-Erling Smørgrav
350217d15b25SDag-Erling Smørgravfreebsd* | dragonfly*)
350317d15b25SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
350417d15b25SDag-Erling Smørgrav    case $host_cpu in
350517d15b25SDag-Erling Smørgrav    i*86 )
350617d15b25SDag-Erling Smørgrav      # Not sure whether the presence of OpenBSD here was a mistake.
350717d15b25SDag-Erling Smørgrav      # Let's accept both of them until this is cleared up.
350817d15b25SDag-Erling Smørgrav      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
350917d15b25SDag-Erling Smørgrav      lt_cv_file_magic_cmd=/usr/bin/file
351017d15b25SDag-Erling Smørgrav      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
351117d15b25SDag-Erling Smørgrav      ;;
351217d15b25SDag-Erling Smørgrav    esac
351317d15b25SDag-Erling Smørgrav  else
351417d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
351517d15b25SDag-Erling Smørgrav  fi
351617d15b25SDag-Erling Smørgrav  ;;
351717d15b25SDag-Erling Smørgrav
351817d15b25SDag-Erling Smørgravhaiku*)
351917d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
352017d15b25SDag-Erling Smørgrav  ;;
352117d15b25SDag-Erling Smørgrav
352217d15b25SDag-Erling Smørgravhpux10.20* | hpux11*)
352317d15b25SDag-Erling Smørgrav  lt_cv_file_magic_cmd=/usr/bin/file
352417d15b25SDag-Erling Smørgrav  case $host_cpu in
352517d15b25SDag-Erling Smørgrav  ia64*)
352617d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
352717d15b25SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
352817d15b25SDag-Erling Smørgrav    ;;
352917d15b25SDag-Erling Smørgrav  hppa*64*)
353017d15b25SDag-Erling Smørgrav    [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]']
353117d15b25SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
353217d15b25SDag-Erling Smørgrav    ;;
353317d15b25SDag-Erling Smørgrav  *)
353417d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
353517d15b25SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/libc.sl
353617d15b25SDag-Erling Smørgrav    ;;
353717d15b25SDag-Erling Smørgrav  esac
353817d15b25SDag-Erling Smørgrav  ;;
353917d15b25SDag-Erling Smørgrav
354017d15b25SDag-Erling Smørgravinterix[[3-9]]*)
354117d15b25SDag-Erling Smørgrav  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
354217d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
354317d15b25SDag-Erling Smørgrav  ;;
354417d15b25SDag-Erling Smørgrav
354517d15b25SDag-Erling Smørgravirix5* | irix6* | nonstopux*)
354617d15b25SDag-Erling Smørgrav  case $LD in
354717d15b25SDag-Erling Smørgrav  *-32|*"-32 ") libmagic=32-bit;;
354817d15b25SDag-Erling Smørgrav  *-n32|*"-n32 ") libmagic=N32;;
354917d15b25SDag-Erling Smørgrav  *-64|*"-64 ") libmagic=64-bit;;
355017d15b25SDag-Erling Smørgrav  *) libmagic=never-match;;
355117d15b25SDag-Erling Smørgrav  esac
355217d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
355317d15b25SDag-Erling Smørgrav  ;;
355417d15b25SDag-Erling Smørgrav
355517d15b25SDag-Erling Smørgrav# This must be glibc/ELF.
3556986ba33cSDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
355717d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
355817d15b25SDag-Erling Smørgrav  ;;
355917d15b25SDag-Erling Smørgrav
356017d15b25SDag-Erling Smørgravnetbsd* | netbsdelf*-gnu)
356117d15b25SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
356217d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
356317d15b25SDag-Erling Smørgrav  else
356417d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
356517d15b25SDag-Erling Smørgrav  fi
356617d15b25SDag-Erling Smørgrav  ;;
356717d15b25SDag-Erling Smørgrav
356817d15b25SDag-Erling Smørgravnewos6*)
356917d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
357017d15b25SDag-Erling Smørgrav  lt_cv_file_magic_cmd=/usr/bin/file
357117d15b25SDag-Erling Smørgrav  lt_cv_file_magic_test_file=/usr/lib/libnls.so
357217d15b25SDag-Erling Smørgrav  ;;
357317d15b25SDag-Erling Smørgrav
357417d15b25SDag-Erling Smørgrav*nto* | *qnx*)
357517d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
357617d15b25SDag-Erling Smørgrav  ;;
357717d15b25SDag-Erling Smørgrav
3578986ba33cSDag-Erling Smørgravopenbsd* | bitrig*)
3579986ba33cSDag-Erling Smørgrav  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
358017d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
358117d15b25SDag-Erling Smørgrav  else
358217d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
358317d15b25SDag-Erling Smørgrav  fi
358417d15b25SDag-Erling Smørgrav  ;;
358517d15b25SDag-Erling Smørgrav
358617d15b25SDag-Erling Smørgravosf3* | osf4* | osf5*)
358717d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
358817d15b25SDag-Erling Smørgrav  ;;
358917d15b25SDag-Erling Smørgrav
359017d15b25SDag-Erling Smørgravrdos*)
359117d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
359217d15b25SDag-Erling Smørgrav  ;;
359317d15b25SDag-Erling Smørgrav
359417d15b25SDag-Erling Smørgravsolaris*)
359517d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
359617d15b25SDag-Erling Smørgrav  ;;
359717d15b25SDag-Erling Smørgrav
359817d15b25SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
359917d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
360017d15b25SDag-Erling Smørgrav  ;;
360117d15b25SDag-Erling Smørgrav
360217d15b25SDag-Erling Smørgravsysv4 | sysv4.3*)
360317d15b25SDag-Erling Smørgrav  case $host_vendor in
360417d15b25SDag-Erling Smørgrav  motorola)
360517d15b25SDag-Erling Smørgrav    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]]'
360617d15b25SDag-Erling Smørgrav    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
360717d15b25SDag-Erling Smørgrav    ;;
360817d15b25SDag-Erling Smørgrav  ncr)
360917d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
361017d15b25SDag-Erling Smørgrav    ;;
361117d15b25SDag-Erling Smørgrav  sequent)
361217d15b25SDag-Erling Smørgrav    lt_cv_file_magic_cmd='/bin/file'
361317d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
361417d15b25SDag-Erling Smørgrav    ;;
361517d15b25SDag-Erling Smørgrav  sni)
361617d15b25SDag-Erling Smørgrav    lt_cv_file_magic_cmd='/bin/file'
361717d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
361817d15b25SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/lib/libc.so
361917d15b25SDag-Erling Smørgrav    ;;
362017d15b25SDag-Erling Smørgrav  siemens)
362117d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
362217d15b25SDag-Erling Smørgrav    ;;
362317d15b25SDag-Erling Smørgrav  pc)
362417d15b25SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
362517d15b25SDag-Erling Smørgrav    ;;
362617d15b25SDag-Erling Smørgrav  esac
362717d15b25SDag-Erling Smørgrav  ;;
362817d15b25SDag-Erling Smørgrav
362917d15b25SDag-Erling Smørgravtpf*)
363017d15b25SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
363117d15b25SDag-Erling Smørgrav  ;;
3632986ba33cSDag-Erling Smørgravos2*)
3633986ba33cSDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3634986ba33cSDag-Erling Smørgrav  ;;
363517d15b25SDag-Erling Smørgravesac
363617d15b25SDag-Erling Smørgrav])
363717d15b25SDag-Erling Smørgrav
363817d15b25SDag-Erling Smørgravfile_magic_glob=
363917d15b25SDag-Erling Smørgravwant_nocaseglob=no
364017d15b25SDag-Erling Smørgravif test "$build" = "$host"; then
364117d15b25SDag-Erling Smørgrav  case $host_os in
364217d15b25SDag-Erling Smørgrav  mingw* | pw32*)
364317d15b25SDag-Erling Smørgrav    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
364417d15b25SDag-Erling Smørgrav      want_nocaseglob=yes
364517d15b25SDag-Erling Smørgrav    else
364617d15b25SDag-Erling Smørgrav      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
364717d15b25SDag-Erling Smørgrav    fi
364817d15b25SDag-Erling Smørgrav    ;;
364917d15b25SDag-Erling Smørgrav  esac
365017d15b25SDag-Erling Smørgravfi
365117d15b25SDag-Erling Smørgrav
365217d15b25SDag-Erling Smørgravfile_magic_cmd=$lt_cv_file_magic_cmd
365317d15b25SDag-Erling Smørgravdeplibs_check_method=$lt_cv_deplibs_check_method
365417d15b25SDag-Erling Smørgravtest -z "$deplibs_check_method" && deplibs_check_method=unknown
365517d15b25SDag-Erling Smørgrav
365617d15b25SDag-Erling Smørgrav_LT_DECL([], [deplibs_check_method], [1],
365717d15b25SDag-Erling Smørgrav    [Method to check whether dependent libraries are shared objects])
365817d15b25SDag-Erling Smørgrav_LT_DECL([], [file_magic_cmd], [1],
365917d15b25SDag-Erling Smørgrav    [Command to use when deplibs_check_method = "file_magic"])
366017d15b25SDag-Erling Smørgrav_LT_DECL([], [file_magic_glob], [1],
366117d15b25SDag-Erling Smørgrav    [How to find potential files when deplibs_check_method = "file_magic"])
366217d15b25SDag-Erling Smørgrav_LT_DECL([], [want_nocaseglob], [1],
366317d15b25SDag-Erling Smørgrav    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
366417d15b25SDag-Erling Smørgrav])# _LT_CHECK_MAGIC_METHOD
366517d15b25SDag-Erling Smørgrav
366617d15b25SDag-Erling Smørgrav
366717d15b25SDag-Erling Smørgrav# LT_PATH_NM
366817d15b25SDag-Erling Smørgrav# ----------
366917d15b25SDag-Erling Smørgrav# find the pathname to a BSD- or MS-compatible name lister
367017d15b25SDag-Erling SmørgravAC_DEFUN([LT_PATH_NM],
367117d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
367217d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
367317d15b25SDag-Erling Smørgrav[if test -n "$NM"; then
367417d15b25SDag-Erling Smørgrav  # Let the user override the test.
3675986ba33cSDag-Erling Smørgrav  lt_cv_path_NM=$NM
367617d15b25SDag-Erling Smørgravelse
3677986ba33cSDag-Erling Smørgrav  lt_nm_to_check=${ac_tool_prefix}nm
367817d15b25SDag-Erling Smørgrav  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
367917d15b25SDag-Erling Smørgrav    lt_nm_to_check="$lt_nm_to_check nm"
368017d15b25SDag-Erling Smørgrav  fi
368117d15b25SDag-Erling Smørgrav  for lt_tmp_nm in $lt_nm_to_check; do
3682986ba33cSDag-Erling Smørgrav    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
368317d15b25SDag-Erling Smørgrav    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3684986ba33cSDag-Erling Smørgrav      IFS=$lt_save_ifs
368517d15b25SDag-Erling Smørgrav      test -z "$ac_dir" && ac_dir=.
3686986ba33cSDag-Erling Smørgrav      tmp_nm=$ac_dir/$lt_tmp_nm
368717d15b25SDag-Erling Smørgrav      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
368817d15b25SDag-Erling Smørgrav	# Check to see if the nm accepts a BSD-compat flag.
3689986ba33cSDag-Erling Smørgrav	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
369017d15b25SDag-Erling Smørgrav	#   nm: unknown option "B" ignored
369117d15b25SDag-Erling Smørgrav	# Tru64's nm complains that /dev/null is an invalid object file
3692986ba33cSDag-Erling Smørgrav	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3693986ba33cSDag-Erling Smørgrav	case $build_os in
3694986ba33cSDag-Erling Smørgrav	mingw*) lt_bad_file=conftest.nm/nofile ;;
3695986ba33cSDag-Erling Smørgrav	*) lt_bad_file=/dev/null ;;
3696986ba33cSDag-Erling Smørgrav	esac
3697986ba33cSDag-Erling Smørgrav	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3698986ba33cSDag-Erling Smørgrav	*$lt_bad_file* | *'Invalid file or object type'*)
369917d15b25SDag-Erling Smørgrav	  lt_cv_path_NM="$tmp_nm -B"
3700986ba33cSDag-Erling Smørgrav	  break 2
370117d15b25SDag-Erling Smørgrav	  ;;
370217d15b25SDag-Erling Smørgrav	*)
370317d15b25SDag-Erling Smørgrav	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
370417d15b25SDag-Erling Smørgrav	  */dev/null*)
370517d15b25SDag-Erling Smørgrav	    lt_cv_path_NM="$tmp_nm -p"
3706986ba33cSDag-Erling Smørgrav	    break 2
370717d15b25SDag-Erling Smørgrav	    ;;
370817d15b25SDag-Erling Smørgrav	  *)
370917d15b25SDag-Erling Smørgrav	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
371017d15b25SDag-Erling Smørgrav	    continue # so that we can try to find one that supports BSD flags
371117d15b25SDag-Erling Smørgrav	    ;;
371217d15b25SDag-Erling Smørgrav	  esac
371317d15b25SDag-Erling Smørgrav	  ;;
371417d15b25SDag-Erling Smørgrav	esac
371517d15b25SDag-Erling Smørgrav      fi
371617d15b25SDag-Erling Smørgrav    done
3717986ba33cSDag-Erling Smørgrav    IFS=$lt_save_ifs
371817d15b25SDag-Erling Smørgrav  done
371917d15b25SDag-Erling Smørgrav  : ${lt_cv_path_NM=no}
372017d15b25SDag-Erling Smørgravfi])
3721986ba33cSDag-Erling Smørgravif test no != "$lt_cv_path_NM"; then
3722986ba33cSDag-Erling Smørgrav  NM=$lt_cv_path_NM
372317d15b25SDag-Erling Smørgravelse
372417d15b25SDag-Erling Smørgrav  # Didn't find any BSD compatible name lister, look for dumpbin.
372517d15b25SDag-Erling Smørgrav  if test -n "$DUMPBIN"; then :
372617d15b25SDag-Erling Smørgrav    # Let the user override the test.
372717d15b25SDag-Erling Smørgrav  else
372817d15b25SDag-Erling Smørgrav    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3729986ba33cSDag-Erling Smørgrav    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
373017d15b25SDag-Erling Smørgrav    *COFF*)
3731986ba33cSDag-Erling Smørgrav      DUMPBIN="$DUMPBIN -symbols -headers"
373217d15b25SDag-Erling Smørgrav      ;;
373317d15b25SDag-Erling Smørgrav    *)
373417d15b25SDag-Erling Smørgrav      DUMPBIN=:
373517d15b25SDag-Erling Smørgrav      ;;
373617d15b25SDag-Erling Smørgrav    esac
373717d15b25SDag-Erling Smørgrav  fi
373817d15b25SDag-Erling Smørgrav  AC_SUBST([DUMPBIN])
3739986ba33cSDag-Erling Smørgrav  if test : != "$DUMPBIN"; then
3740986ba33cSDag-Erling Smørgrav    NM=$DUMPBIN
374117d15b25SDag-Erling Smørgrav  fi
374217d15b25SDag-Erling Smørgravfi
374317d15b25SDag-Erling Smørgravtest -z "$NM" && NM=nm
374417d15b25SDag-Erling SmørgravAC_SUBST([NM])
374517d15b25SDag-Erling Smørgrav_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
374617d15b25SDag-Erling Smørgrav
374717d15b25SDag-Erling SmørgravAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
374817d15b25SDag-Erling Smørgrav  [lt_cv_nm_interface="BSD nm"
374917d15b25SDag-Erling Smørgrav  echo "int some_variable = 0;" > conftest.$ac_ext
375017d15b25SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
375117d15b25SDag-Erling Smørgrav  (eval "$ac_compile" 2>conftest.err)
375217d15b25SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
375317d15b25SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
375417d15b25SDag-Erling Smørgrav  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
375517d15b25SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
375617d15b25SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
375717d15b25SDag-Erling Smørgrav  cat conftest.out >&AS_MESSAGE_LOG_FD
375817d15b25SDag-Erling Smørgrav  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
375917d15b25SDag-Erling Smørgrav    lt_cv_nm_interface="MS dumpbin"
376017d15b25SDag-Erling Smørgrav  fi
376117d15b25SDag-Erling Smørgrav  rm -f conftest*])
376217d15b25SDag-Erling Smørgrav])# LT_PATH_NM
376317d15b25SDag-Erling Smørgrav
376417d15b25SDag-Erling Smørgrav# Old names:
376517d15b25SDag-Erling SmørgravAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
376617d15b25SDag-Erling SmørgravAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
376717d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
376817d15b25SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_NM], [])
376917d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_NM], [])
377017d15b25SDag-Erling Smørgrav
377117d15b25SDag-Erling Smørgrav# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
377217d15b25SDag-Erling Smørgrav# --------------------------------
377317d15b25SDag-Erling Smørgrav# how to determine the name of the shared library
377417d15b25SDag-Erling Smørgrav# associated with a specific link library.
377517d15b25SDag-Erling Smørgrav#  -- PORTME fill in with the dynamic library characteristics
377617d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
377717d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
377817d15b25SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])
377917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_DLLTOOL])
378017d15b25SDag-Erling SmørgravAC_CACHE_CHECK([how to associate runtime and link libraries],
378117d15b25SDag-Erling Smørgravlt_cv_sharedlib_from_linklib_cmd,
378217d15b25SDag-Erling Smørgrav[lt_cv_sharedlib_from_linklib_cmd='unknown'
378317d15b25SDag-Erling Smørgrav
378417d15b25SDag-Erling Smørgravcase $host_os in
378517d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
3786986ba33cSDag-Erling Smørgrav  # two different shell functions defined in ltmain.sh;
3787986ba33cSDag-Erling Smørgrav  # decide which one to use based on capabilities of $DLLTOOL
378817d15b25SDag-Erling Smørgrav  case `$DLLTOOL --help 2>&1` in
378917d15b25SDag-Erling Smørgrav  *--identify-strict*)
379017d15b25SDag-Erling Smørgrav    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
379117d15b25SDag-Erling Smørgrav    ;;
379217d15b25SDag-Erling Smørgrav  *)
379317d15b25SDag-Erling Smørgrav    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
379417d15b25SDag-Erling Smørgrav    ;;
379517d15b25SDag-Erling Smørgrav  esac
379617d15b25SDag-Erling Smørgrav  ;;
379717d15b25SDag-Erling Smørgrav*)
379817d15b25SDag-Erling Smørgrav  # fallback: assume linklib IS sharedlib
3799986ba33cSDag-Erling Smørgrav  lt_cv_sharedlib_from_linklib_cmd=$ECHO
380017d15b25SDag-Erling Smørgrav  ;;
380117d15b25SDag-Erling Smørgravesac
380217d15b25SDag-Erling Smørgrav])
380317d15b25SDag-Erling Smørgravsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
380417d15b25SDag-Erling Smørgravtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
380517d15b25SDag-Erling Smørgrav
380617d15b25SDag-Erling Smørgrav_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
380717d15b25SDag-Erling Smørgrav    [Command to associate shared and link libraries])
380817d15b25SDag-Erling Smørgrav])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
380917d15b25SDag-Erling Smørgrav
381017d15b25SDag-Erling Smørgrav
381117d15b25SDag-Erling Smørgrav# _LT_PATH_MANIFEST_TOOL
381217d15b25SDag-Erling Smørgrav# ----------------------
381317d15b25SDag-Erling Smørgrav# locate the manifest tool
381417d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_MANIFEST_TOOL],
381517d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
381617d15b25SDag-Erling Smørgravtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
381717d15b25SDag-Erling SmørgravAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
381817d15b25SDag-Erling Smørgrav  [lt_cv_path_mainfest_tool=no
381917d15b25SDag-Erling Smørgrav  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
382017d15b25SDag-Erling Smørgrav  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
382117d15b25SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
382217d15b25SDag-Erling Smørgrav  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
382317d15b25SDag-Erling Smørgrav    lt_cv_path_mainfest_tool=yes
382417d15b25SDag-Erling Smørgrav  fi
382517d15b25SDag-Erling Smørgrav  rm -f conftest*])
3826986ba33cSDag-Erling Smørgravif test yes != "$lt_cv_path_mainfest_tool"; then
382717d15b25SDag-Erling Smørgrav  MANIFEST_TOOL=:
382817d15b25SDag-Erling Smørgravfi
382917d15b25SDag-Erling Smørgrav_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
383017d15b25SDag-Erling Smørgrav])# _LT_PATH_MANIFEST_TOOL
383117d15b25SDag-Erling Smørgrav
383217d15b25SDag-Erling Smørgrav
3833986ba33cSDag-Erling Smørgrav# _LT_DLL_DEF_P([FILE])
3834986ba33cSDag-Erling Smørgrav# ---------------------
3835986ba33cSDag-Erling Smørgrav# True iff FILE is a Windows DLL '.def' file.
3836986ba33cSDag-Erling Smørgrav# Keep in sync with func_dll_def_p in the libtool script
3837986ba33cSDag-Erling SmørgravAC_DEFUN([_LT_DLL_DEF_P],
3838986ba33cSDag-Erling Smørgrav[dnl
3839986ba33cSDag-Erling Smørgrav  test DEF = "`$SED -n dnl
3840986ba33cSDag-Erling Smørgrav    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
3841986ba33cSDag-Erling Smørgrav    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
3842986ba33cSDag-Erling Smørgrav    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
3843986ba33cSDag-Erling Smørgrav    -e q dnl                          Only consider the first "real" line
3844986ba33cSDag-Erling Smørgrav    $1`" dnl
3845986ba33cSDag-Erling Smørgrav])# _LT_DLL_DEF_P
3846986ba33cSDag-Erling Smørgrav
3847986ba33cSDag-Erling Smørgrav
384817d15b25SDag-Erling Smørgrav# LT_LIB_M
384917d15b25SDag-Erling Smørgrav# --------
385017d15b25SDag-Erling Smørgrav# check for math library
385117d15b25SDag-Erling SmørgravAC_DEFUN([LT_LIB_M],
385217d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
385317d15b25SDag-Erling SmørgravLIBM=
385417d15b25SDag-Erling Smørgravcase $host in
385517d15b25SDag-Erling Smørgrav*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
385617d15b25SDag-Erling Smørgrav  # These system don't have libm, or don't need it
385717d15b25SDag-Erling Smørgrav  ;;
385817d15b25SDag-Erling Smørgrav*-ncr-sysv4.3*)
3859986ba33cSDag-Erling Smørgrav  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
386017d15b25SDag-Erling Smørgrav  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
386117d15b25SDag-Erling Smørgrav  ;;
386217d15b25SDag-Erling Smørgrav*)
3863986ba33cSDag-Erling Smørgrav  AC_CHECK_LIB(m, cos, LIBM=-lm)
386417d15b25SDag-Erling Smørgrav  ;;
386517d15b25SDag-Erling Smørgravesac
386617d15b25SDag-Erling SmørgravAC_SUBST([LIBM])
386717d15b25SDag-Erling Smørgrav])# LT_LIB_M
386817d15b25SDag-Erling Smørgrav
386917d15b25SDag-Erling Smørgrav# Old name:
387017d15b25SDag-Erling SmørgravAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
387117d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
387217d15b25SDag-Erling Smørgravdnl AC_DEFUN([AC_CHECK_LIBM], [])
387317d15b25SDag-Erling Smørgrav
387417d15b25SDag-Erling Smørgrav
387517d15b25SDag-Erling Smørgrav# _LT_COMPILER_NO_RTTI([TAGNAME])
387617d15b25SDag-Erling Smørgrav# -------------------------------
387717d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_NO_RTTI],
387817d15b25SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl
387917d15b25SDag-Erling Smørgrav
388017d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
388117d15b25SDag-Erling Smørgrav
3882986ba33cSDag-Erling Smørgravif test yes = "$GCC"; then
388317d15b25SDag-Erling Smørgrav  case $cc_basename in
388417d15b25SDag-Erling Smørgrav  nvcc*)
388517d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
388617d15b25SDag-Erling Smørgrav  *)
388717d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
388817d15b25SDag-Erling Smørgrav  esac
388917d15b25SDag-Erling Smørgrav
389017d15b25SDag-Erling Smørgrav  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
389117d15b25SDag-Erling Smørgrav    lt_cv_prog_compiler_rtti_exceptions,
389217d15b25SDag-Erling Smørgrav    [-fno-rtti -fno-exceptions], [],
389317d15b25SDag-Erling Smørgrav    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
389417d15b25SDag-Erling Smørgravfi
389517d15b25SDag-Erling Smørgrav_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
389617d15b25SDag-Erling Smørgrav	[Compiler flag to turn off builtin functions])
389717d15b25SDag-Erling Smørgrav])# _LT_COMPILER_NO_RTTI
389817d15b25SDag-Erling Smørgrav
389917d15b25SDag-Erling Smørgrav
390017d15b25SDag-Erling Smørgrav# _LT_CMD_GLOBAL_SYMBOLS
390117d15b25SDag-Erling Smørgrav# ----------------------
390217d15b25SDag-Erling Smørgravm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
390317d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
390417d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl
390517d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_AWK])dnl
390617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
390717d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl
390817d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
390917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
391017d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
391117d15b25SDag-Erling Smørgrav
391217d15b25SDag-Erling Smørgrav# Check for command to grab the raw symbol name followed by C symbol from nm.
391317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([command to parse $NM output from $compiler object])
391417d15b25SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
391517d15b25SDag-Erling Smørgrav[
391617d15b25SDag-Erling Smørgrav# These are sane defaults that work on at least a few old systems.
391717d15b25SDag-Erling Smørgrav# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
391817d15b25SDag-Erling Smørgrav
391917d15b25SDag-Erling Smørgrav# Character class describing NM global symbol codes.
392017d15b25SDag-Erling Smørgravsymcode='[[BCDEGRST]]'
392117d15b25SDag-Erling Smørgrav
392217d15b25SDag-Erling Smørgrav# Regexp to match symbols that can be accessed directly from C.
392317d15b25SDag-Erling Smørgravsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
392417d15b25SDag-Erling Smørgrav
392517d15b25SDag-Erling Smørgrav# Define system-specific variables.
392617d15b25SDag-Erling Smørgravcase $host_os in
392717d15b25SDag-Erling Smørgravaix*)
392817d15b25SDag-Erling Smørgrav  symcode='[[BCDT]]'
392917d15b25SDag-Erling Smørgrav  ;;
393017d15b25SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
393117d15b25SDag-Erling Smørgrav  symcode='[[ABCDGISTW]]'
393217d15b25SDag-Erling Smørgrav  ;;
393317d15b25SDag-Erling Smørgravhpux*)
3934986ba33cSDag-Erling Smørgrav  if test ia64 = "$host_cpu"; then
393517d15b25SDag-Erling Smørgrav    symcode='[[ABCDEGRST]]'
393617d15b25SDag-Erling Smørgrav  fi
393717d15b25SDag-Erling Smørgrav  ;;
393817d15b25SDag-Erling Smørgravirix* | nonstopux*)
393917d15b25SDag-Erling Smørgrav  symcode='[[BCDEGRST]]'
394017d15b25SDag-Erling Smørgrav  ;;
394117d15b25SDag-Erling Smørgravosf*)
394217d15b25SDag-Erling Smørgrav  symcode='[[BCDEGQRST]]'
394317d15b25SDag-Erling Smørgrav  ;;
394417d15b25SDag-Erling Smørgravsolaris*)
394517d15b25SDag-Erling Smørgrav  symcode='[[BDRT]]'
394617d15b25SDag-Erling Smørgrav  ;;
394717d15b25SDag-Erling Smørgravsco3.2v5*)
394817d15b25SDag-Erling Smørgrav  symcode='[[DT]]'
394917d15b25SDag-Erling Smørgrav  ;;
395017d15b25SDag-Erling Smørgravsysv4.2uw2*)
395117d15b25SDag-Erling Smørgrav  symcode='[[DT]]'
395217d15b25SDag-Erling Smørgrav  ;;
395317d15b25SDag-Erling Smørgravsysv5* | sco5v6* | unixware* | OpenUNIX*)
395417d15b25SDag-Erling Smørgrav  symcode='[[ABDT]]'
395517d15b25SDag-Erling Smørgrav  ;;
395617d15b25SDag-Erling Smørgravsysv4)
395717d15b25SDag-Erling Smørgrav  symcode='[[DFNSTU]]'
395817d15b25SDag-Erling Smørgrav  ;;
395917d15b25SDag-Erling Smørgravesac
396017d15b25SDag-Erling Smørgrav
396117d15b25SDag-Erling Smørgrav# If we're using GNU nm, then use its standard symbol codes.
396217d15b25SDag-Erling Smørgravcase `$NM -V 2>&1` in
396317d15b25SDag-Erling Smørgrav*GNU* | *'with BFD'*)
396417d15b25SDag-Erling Smørgrav  symcode='[[ABCDGIRSTW]]' ;;
396517d15b25SDag-Erling Smørgravesac
396617d15b25SDag-Erling Smørgrav
3967986ba33cSDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then
3968986ba33cSDag-Erling Smørgrav  # Gets list of data symbols to import.
3969986ba33cSDag-Erling Smørgrav  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3970986ba33cSDag-Erling Smørgrav  # Adjust the below global symbol transforms to fixup imported variables.
3971986ba33cSDag-Erling Smørgrav  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3972986ba33cSDag-Erling Smørgrav  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
3973986ba33cSDag-Erling Smørgrav  lt_c_name_lib_hook="\
3974986ba33cSDag-Erling Smørgrav  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
3975986ba33cSDag-Erling Smørgrav  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
3976986ba33cSDag-Erling Smørgravelse
3977986ba33cSDag-Erling Smørgrav  # Disable hooks by default.
3978986ba33cSDag-Erling Smørgrav  lt_cv_sys_global_symbol_to_import=
3979986ba33cSDag-Erling Smørgrav  lt_cdecl_hook=
3980986ba33cSDag-Erling Smørgrav  lt_c_name_hook=
3981986ba33cSDag-Erling Smørgrav  lt_c_name_lib_hook=
3982986ba33cSDag-Erling Smørgravfi
3983986ba33cSDag-Erling Smørgrav
398417d15b25SDag-Erling Smørgrav# Transform an extracted symbol line into a proper C declaration.
398517d15b25SDag-Erling Smørgrav# Some systems (esp. on ia64) link data and code symbols differently,
398617d15b25SDag-Erling Smørgrav# so use this general approach.
3987986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_cdecl="sed -n"\
3988986ba33cSDag-Erling Smørgrav$lt_cdecl_hook\
3989986ba33cSDag-Erling Smørgrav" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3990986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
399117d15b25SDag-Erling Smørgrav
399217d15b25SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name and symbol address
3993986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_c_name_address="sed -n"\
3994986ba33cSDag-Erling Smørgrav$lt_c_name_hook\
3995986ba33cSDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
3996986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
3997986ba33cSDag-Erling Smørgrav
3998986ba33cSDag-Erling Smørgrav# Transform an extracted symbol line into symbol name with lib prefix and
3999986ba33cSDag-Erling Smørgrav# symbol address.
4000986ba33cSDag-Erling Smørgravlt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
4001986ba33cSDag-Erling Smørgrav$lt_c_name_lib_hook\
4002986ba33cSDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
4003986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
4004986ba33cSDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
400517d15b25SDag-Erling Smørgrav
400617d15b25SDag-Erling Smørgrav# Handle CRLF in mingw tool chain
400717d15b25SDag-Erling Smørgravopt_cr=
400817d15b25SDag-Erling Smørgravcase $build_os in
400917d15b25SDag-Erling Smørgravmingw*)
401017d15b25SDag-Erling Smørgrav  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
401117d15b25SDag-Erling Smørgrav  ;;
401217d15b25SDag-Erling Smørgravesac
401317d15b25SDag-Erling Smørgrav
401417d15b25SDag-Erling Smørgrav# Try without a prefix underscore, then with it.
401517d15b25SDag-Erling Smørgravfor ac_symprfx in "" "_"; do
401617d15b25SDag-Erling Smørgrav
401717d15b25SDag-Erling Smørgrav  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
401817d15b25SDag-Erling Smørgrav  symxfrm="\\1 $ac_symprfx\\2 \\2"
401917d15b25SDag-Erling Smørgrav
402017d15b25SDag-Erling Smørgrav  # Write the raw and C identifiers.
402117d15b25SDag-Erling Smørgrav  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4022986ba33cSDag-Erling Smørgrav    # Fake it for dumpbin and say T for any non-static function,
4023986ba33cSDag-Erling Smørgrav    # D for any global variable and I for any imported variable.
402417d15b25SDag-Erling Smørgrav    # Also find C++ and __fastcall symbols from MSVC++,
402517d15b25SDag-Erling Smørgrav    # which start with @ or ?.
402617d15b25SDag-Erling Smørgrav    lt_cv_sys_global_symbol_pipe="$AWK ['"\
402717d15b25SDag-Erling Smørgrav"     {last_section=section; section=\$ 3};"\
402817d15b25SDag-Erling Smørgrav"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
402917d15b25SDag-Erling Smørgrav"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4030986ba33cSDag-Erling Smørgrav"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4031986ba33cSDag-Erling Smørgrav"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4032986ba33cSDag-Erling Smørgrav"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
403317d15b25SDag-Erling Smørgrav"     \$ 0!~/External *\|/{next};"\
403417d15b25SDag-Erling Smørgrav"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
403517d15b25SDag-Erling Smørgrav"     {if(hide[section]) next};"\
4036986ba33cSDag-Erling Smørgrav"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
403717d15b25SDag-Erling Smørgrav"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4038986ba33cSDag-Erling Smørgrav"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4039986ba33cSDag-Erling Smørgrav"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
404017d15b25SDag-Erling Smørgrav"     ' prfx=^$ac_symprfx]"
404117d15b25SDag-Erling Smørgrav  else
404217d15b25SDag-Erling Smørgrav    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
404317d15b25SDag-Erling Smørgrav  fi
404417d15b25SDag-Erling Smørgrav  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
404517d15b25SDag-Erling Smørgrav
404617d15b25SDag-Erling Smørgrav  # Check to see that the pipe works correctly.
404717d15b25SDag-Erling Smørgrav  pipe_works=no
404817d15b25SDag-Erling Smørgrav
404917d15b25SDag-Erling Smørgrav  rm -f conftest*
405017d15b25SDag-Erling Smørgrav  cat > conftest.$ac_ext <<_LT_EOF
405117d15b25SDag-Erling Smørgrav#ifdef __cplusplus
405217d15b25SDag-Erling Smørgravextern "C" {
405317d15b25SDag-Erling Smørgrav#endif
405417d15b25SDag-Erling Smørgravchar nm_test_var;
405517d15b25SDag-Erling Smørgravvoid nm_test_func(void);
405617d15b25SDag-Erling Smørgravvoid nm_test_func(void){}
405717d15b25SDag-Erling Smørgrav#ifdef __cplusplus
405817d15b25SDag-Erling Smørgrav}
405917d15b25SDag-Erling Smørgrav#endif
406017d15b25SDag-Erling Smørgravint main(){nm_test_var='a';nm_test_func();return(0);}
406117d15b25SDag-Erling Smørgrav_LT_EOF
406217d15b25SDag-Erling Smørgrav
406317d15b25SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
406417d15b25SDag-Erling Smørgrav    # Now try to grab the symbols.
406517d15b25SDag-Erling Smørgrav    nlist=conftest.nm
4066*5afab0e5SDag-Erling Smørgrav    $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
4067*5afab0e5SDag-Erling Smørgrav    if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
406817d15b25SDag-Erling Smørgrav      # Try sorting and uniquifying the output.
406917d15b25SDag-Erling Smørgrav      if sort "$nlist" | uniq > "$nlist"T; then
407017d15b25SDag-Erling Smørgrav	mv -f "$nlist"T "$nlist"
407117d15b25SDag-Erling Smørgrav      else
407217d15b25SDag-Erling Smørgrav	rm -f "$nlist"T
407317d15b25SDag-Erling Smørgrav      fi
407417d15b25SDag-Erling Smørgrav
407517d15b25SDag-Erling Smørgrav      # Make sure that we snagged all the symbols we need.
407617d15b25SDag-Erling Smørgrav      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
407717d15b25SDag-Erling Smørgrav	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
407817d15b25SDag-Erling Smørgrav	  cat <<_LT_EOF > conftest.$ac_ext
407917d15b25SDag-Erling Smørgrav/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
4080986ba33cSDag-Erling Smørgrav#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4081986ba33cSDag-Erling Smørgrav/* DATA imports from DLLs on WIN32 can't be const, because runtime
408217d15b25SDag-Erling Smørgrav   relocations are performed -- see ld's documentation on pseudo-relocs.  */
408317d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST
4084986ba33cSDag-Erling Smørgrav#elif defined __osf__
408517d15b25SDag-Erling Smørgrav/* This system does not cope well with relocations in const data.  */
408617d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST
408717d15b25SDag-Erling Smørgrav#else
408817d15b25SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST const
408917d15b25SDag-Erling Smørgrav#endif
409017d15b25SDag-Erling Smørgrav
409117d15b25SDag-Erling Smørgrav#ifdef __cplusplus
409217d15b25SDag-Erling Smørgravextern "C" {
409317d15b25SDag-Erling Smørgrav#endif
409417d15b25SDag-Erling Smørgrav
409517d15b25SDag-Erling Smørgrav_LT_EOF
409617d15b25SDag-Erling Smørgrav	  # Now generate the symbol file.
409717d15b25SDag-Erling Smørgrav	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
409817d15b25SDag-Erling Smørgrav
409917d15b25SDag-Erling Smørgrav	  cat <<_LT_EOF >> conftest.$ac_ext
410017d15b25SDag-Erling Smørgrav
410117d15b25SDag-Erling Smørgrav/* The mapping between symbol names and symbols.  */
410217d15b25SDag-Erling SmørgravLT@&t@_DLSYM_CONST struct {
410317d15b25SDag-Erling Smørgrav  const char *name;
410417d15b25SDag-Erling Smørgrav  void       *address;
410517d15b25SDag-Erling Smørgrav}
410617d15b25SDag-Erling Smørgravlt__PROGRAM__LTX_preloaded_symbols[[]] =
410717d15b25SDag-Erling Smørgrav{
410817d15b25SDag-Erling Smørgrav  { "@PROGRAM@", (void *) 0 },
410917d15b25SDag-Erling Smørgrav_LT_EOF
4110986ba33cSDag-Erling Smørgrav	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
411117d15b25SDag-Erling Smørgrav	  cat <<\_LT_EOF >> conftest.$ac_ext
411217d15b25SDag-Erling Smørgrav  {0, (void *) 0}
411317d15b25SDag-Erling Smørgrav};
411417d15b25SDag-Erling Smørgrav
411517d15b25SDag-Erling Smørgrav/* This works around a problem in FreeBSD linker */
411617d15b25SDag-Erling Smørgrav#ifdef FREEBSD_WORKAROUND
411717d15b25SDag-Erling Smørgravstatic const void *lt_preloaded_setup() {
411817d15b25SDag-Erling Smørgrav  return lt__PROGRAM__LTX_preloaded_symbols;
411917d15b25SDag-Erling Smørgrav}
412017d15b25SDag-Erling Smørgrav#endif
412117d15b25SDag-Erling Smørgrav
412217d15b25SDag-Erling Smørgrav#ifdef __cplusplus
412317d15b25SDag-Erling Smørgrav}
412417d15b25SDag-Erling Smørgrav#endif
412517d15b25SDag-Erling Smørgrav_LT_EOF
412617d15b25SDag-Erling Smørgrav	  # Now try linking the two files.
412717d15b25SDag-Erling Smørgrav	  mv conftest.$ac_objext conftstm.$ac_objext
412817d15b25SDag-Erling Smørgrav	  lt_globsym_save_LIBS=$LIBS
412917d15b25SDag-Erling Smørgrav	  lt_globsym_save_CFLAGS=$CFLAGS
4130986ba33cSDag-Erling Smørgrav	  LIBS=conftstm.$ac_objext
413117d15b25SDag-Erling Smørgrav	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4132986ba33cSDag-Erling Smørgrav	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
413317d15b25SDag-Erling Smørgrav	    pipe_works=yes
413417d15b25SDag-Erling Smørgrav	  fi
413517d15b25SDag-Erling Smørgrav	  LIBS=$lt_globsym_save_LIBS
413617d15b25SDag-Erling Smørgrav	  CFLAGS=$lt_globsym_save_CFLAGS
413717d15b25SDag-Erling Smørgrav	else
413817d15b25SDag-Erling Smørgrav	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
413917d15b25SDag-Erling Smørgrav	fi
414017d15b25SDag-Erling Smørgrav      else
414117d15b25SDag-Erling Smørgrav	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
414217d15b25SDag-Erling Smørgrav      fi
414317d15b25SDag-Erling Smørgrav    else
414417d15b25SDag-Erling Smørgrav      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
414517d15b25SDag-Erling Smørgrav    fi
414617d15b25SDag-Erling Smørgrav  else
414717d15b25SDag-Erling Smørgrav    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
414817d15b25SDag-Erling Smørgrav    cat conftest.$ac_ext >&5
414917d15b25SDag-Erling Smørgrav  fi
415017d15b25SDag-Erling Smørgrav  rm -rf conftest* conftst*
415117d15b25SDag-Erling Smørgrav
415217d15b25SDag-Erling Smørgrav  # Do not use the global_symbol_pipe unless it works.
4153986ba33cSDag-Erling Smørgrav  if test yes = "$pipe_works"; then
415417d15b25SDag-Erling Smørgrav    break
415517d15b25SDag-Erling Smørgrav  else
415617d15b25SDag-Erling Smørgrav    lt_cv_sys_global_symbol_pipe=
415717d15b25SDag-Erling Smørgrav  fi
415817d15b25SDag-Erling Smørgravdone
415917d15b25SDag-Erling Smørgrav])
416017d15b25SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe"; then
416117d15b25SDag-Erling Smørgrav  lt_cv_sys_global_symbol_to_cdecl=
416217d15b25SDag-Erling Smørgravfi
416317d15b25SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
416417d15b25SDag-Erling Smørgrav  AC_MSG_RESULT(failed)
416517d15b25SDag-Erling Smørgravelse
416617d15b25SDag-Erling Smørgrav  AC_MSG_RESULT(ok)
416717d15b25SDag-Erling Smørgravfi
416817d15b25SDag-Erling Smørgrav
416917d15b25SDag-Erling Smørgrav# Response file support.
417017d15b25SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then
417117d15b25SDag-Erling Smørgrav  nm_file_list_spec='@'
417217d15b25SDag-Erling Smørgravelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
417317d15b25SDag-Erling Smørgrav  nm_file_list_spec='@'
417417d15b25SDag-Erling Smørgravfi
417517d15b25SDag-Erling Smørgrav
417617d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
417717d15b25SDag-Erling Smørgrav    [Take the output of nm and produce a listing of raw symbols and C names])
417817d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
417917d15b25SDag-Erling Smørgrav    [Transform the output of nm in a proper C declaration])
4180986ba33cSDag-Erling Smørgrav_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4181986ba33cSDag-Erling Smørgrav    [Transform the output of nm into a list of symbols to manually relocate])
418217d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address],
418317d15b25SDag-Erling Smørgrav    [lt_cv_sys_global_symbol_to_c_name_address], [1],
418417d15b25SDag-Erling Smørgrav    [Transform the output of nm in a C name address pair])
418517d15b25SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
418617d15b25SDag-Erling Smørgrav    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
418717d15b25SDag-Erling Smørgrav    [Transform the output of nm in a C name address pair when lib prefix is needed])
4188986ba33cSDag-Erling Smørgrav_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4189986ba33cSDag-Erling Smørgrav    [The name lister interface])
419017d15b25SDag-Erling Smørgrav_LT_DECL([], [nm_file_list_spec], [1],
419117d15b25SDag-Erling Smørgrav    [Specify filename containing input files for $NM])
419217d15b25SDag-Erling Smørgrav]) # _LT_CMD_GLOBAL_SYMBOLS
419317d15b25SDag-Erling Smørgrav
419417d15b25SDag-Erling Smørgrav
419517d15b25SDag-Erling Smørgrav# _LT_COMPILER_PIC([TAGNAME])
419617d15b25SDag-Erling Smørgrav# ---------------------------
419717d15b25SDag-Erling Smørgravm4_defun([_LT_COMPILER_PIC],
419817d15b25SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl
419917d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_wl, $1)=
420017d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=
420117d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_static, $1)=
420217d15b25SDag-Erling Smørgrav
420317d15b25SDag-Erling Smørgravm4_if([$1], [CXX], [
420417d15b25SDag-Erling Smørgrav  # C++ specific cases for pic, static, wl, etc.
4205986ba33cSDag-Erling Smørgrav  if test yes = "$GXX"; then
420617d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
420717d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
420817d15b25SDag-Erling Smørgrav
420917d15b25SDag-Erling Smørgrav    case $host_os in
421017d15b25SDag-Erling Smørgrav    aix*)
421117d15b25SDag-Erling Smørgrav      # All AIX code is PIC.
4212986ba33cSDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
421317d15b25SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
421417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
421517d15b25SDag-Erling Smørgrav      fi
4216986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
421717d15b25SDag-Erling Smørgrav      ;;
421817d15b25SDag-Erling Smørgrav
421917d15b25SDag-Erling Smørgrav    amigaos*)
422017d15b25SDag-Erling Smørgrav      case $host_cpu in
422117d15b25SDag-Erling Smørgrav      powerpc)
422217d15b25SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
422317d15b25SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
422417d15b25SDag-Erling Smørgrav        ;;
422517d15b25SDag-Erling Smørgrav      m68k)
422617d15b25SDag-Erling Smørgrav            # FIXME: we need at least 68020 code to build shared libraries, but
4227986ba33cSDag-Erling Smørgrav            # adding the '-m68020' flag to GCC prevents building anything better,
4228986ba33cSDag-Erling Smørgrav            # like '-m68040'.
422917d15b25SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
423017d15b25SDag-Erling Smørgrav        ;;
423117d15b25SDag-Erling Smørgrav      esac
423217d15b25SDag-Erling Smørgrav      ;;
423317d15b25SDag-Erling Smørgrav
423417d15b25SDag-Erling Smørgrav    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
423517d15b25SDag-Erling Smørgrav      # PIC is the default for these OSes.
423617d15b25SDag-Erling Smørgrav      ;;
423717d15b25SDag-Erling Smørgrav    mingw* | cygwin* | os2* | pw32* | cegcc*)
423817d15b25SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
423917d15b25SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
424017d15b25SDag-Erling Smørgrav      # Although the cygwin gcc ignores -fPIC, still need this for old-style
424117d15b25SDag-Erling Smørgrav      # (--disable-auto-import) libraries
424217d15b25SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
424317d15b25SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4244986ba33cSDag-Erling Smørgrav      case $host_os in
4245986ba33cSDag-Erling Smørgrav      os2*)
4246986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4247986ba33cSDag-Erling Smørgrav	;;
4248986ba33cSDag-Erling Smørgrav      esac
424917d15b25SDag-Erling Smørgrav      ;;
425017d15b25SDag-Erling Smørgrav    darwin* | rhapsody*)
425117d15b25SDag-Erling Smørgrav      # PIC is the default on this platform
425217d15b25SDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
425317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
425417d15b25SDag-Erling Smørgrav      ;;
425517d15b25SDag-Erling Smørgrav    *djgpp*)
425617d15b25SDag-Erling Smørgrav      # DJGPP does not support shared libraries at all
425717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
425817d15b25SDag-Erling Smørgrav      ;;
425917d15b25SDag-Erling Smørgrav    haiku*)
426017d15b25SDag-Erling Smørgrav      # PIC is the default for Haiku.
426117d15b25SDag-Erling Smørgrav      # The "-static" flag exists, but is broken.
426217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)=
426317d15b25SDag-Erling Smørgrav      ;;
426417d15b25SDag-Erling Smørgrav    interix[[3-9]]*)
426517d15b25SDag-Erling Smørgrav      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
426617d15b25SDag-Erling Smørgrav      # Instead, we relocate shared libraries at runtime.
426717d15b25SDag-Erling Smørgrav      ;;
426817d15b25SDag-Erling Smørgrav    sysv4*MP*)
426917d15b25SDag-Erling Smørgrav      if test -d /usr/nec; then
427017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
427117d15b25SDag-Erling Smørgrav      fi
427217d15b25SDag-Erling Smørgrav      ;;
427317d15b25SDag-Erling Smørgrav    hpux*)
427417d15b25SDag-Erling Smørgrav      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
427517d15b25SDag-Erling Smørgrav      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
427617d15b25SDag-Erling Smørgrav      # sets the default TLS model and affects inlining.
427717d15b25SDag-Erling Smørgrav      case $host_cpu in
427817d15b25SDag-Erling Smørgrav      hppa*64*)
427917d15b25SDag-Erling Smørgrav	;;
428017d15b25SDag-Erling Smørgrav      *)
428117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
428217d15b25SDag-Erling Smørgrav	;;
428317d15b25SDag-Erling Smørgrav      esac
428417d15b25SDag-Erling Smørgrav      ;;
428517d15b25SDag-Erling Smørgrav    *qnx* | *nto*)
428617d15b25SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
428717d15b25SDag-Erling Smørgrav      # it will coredump.
428817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
428917d15b25SDag-Erling Smørgrav      ;;
429017d15b25SDag-Erling Smørgrav    *)
429117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
429217d15b25SDag-Erling Smørgrav      ;;
429317d15b25SDag-Erling Smørgrav    esac
429417d15b25SDag-Erling Smørgrav  else
429517d15b25SDag-Erling Smørgrav    case $host_os in
429617d15b25SDag-Erling Smørgrav      aix[[4-9]]*)
429717d15b25SDag-Erling Smørgrav	# All AIX code is PIC.
4298986ba33cSDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
429917d15b25SDag-Erling Smørgrav	  # AIX 5 now supports IA64 processor
430017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
430117d15b25SDag-Erling Smørgrav	else
430217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
430317d15b25SDag-Erling Smørgrav	fi
430417d15b25SDag-Erling Smørgrav	;;
430517d15b25SDag-Erling Smørgrav      chorus*)
430617d15b25SDag-Erling Smørgrav	case $cc_basename in
430717d15b25SDag-Erling Smørgrav	cxch68*)
430817d15b25SDag-Erling Smørgrav	  # Green Hills C++ Compiler
430917d15b25SDag-Erling Smørgrav	  # _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"
431017d15b25SDag-Erling Smørgrav	  ;;
431117d15b25SDag-Erling Smørgrav	esac
431217d15b25SDag-Erling Smørgrav	;;
431317d15b25SDag-Erling Smørgrav      mingw* | cygwin* | os2* | pw32* | cegcc*)
431417d15b25SDag-Erling Smørgrav	# This hack is so that the source file can tell whether it is being
431517d15b25SDag-Erling Smørgrav	# built for inclusion in a dll (and should export symbols for example).
431617d15b25SDag-Erling Smørgrav	m4_if([$1], [GCJ], [],
431717d15b25SDag-Erling Smørgrav	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
431817d15b25SDag-Erling Smørgrav	;;
431917d15b25SDag-Erling Smørgrav      dgux*)
432017d15b25SDag-Erling Smørgrav	case $cc_basename in
432117d15b25SDag-Erling Smørgrav	  ec++*)
432217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
432317d15b25SDag-Erling Smørgrav	    ;;
432417d15b25SDag-Erling Smørgrav	  ghcx*)
432517d15b25SDag-Erling Smørgrav	    # Green Hills C++ Compiler
432617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
432717d15b25SDag-Erling Smørgrav	    ;;
432817d15b25SDag-Erling Smørgrav	  *)
432917d15b25SDag-Erling Smørgrav	    ;;
433017d15b25SDag-Erling Smørgrav	esac
433117d15b25SDag-Erling Smørgrav	;;
433217d15b25SDag-Erling Smørgrav      freebsd* | dragonfly*)
433317d15b25SDag-Erling Smørgrav	# FreeBSD uses GNU C++
433417d15b25SDag-Erling Smørgrav	;;
433517d15b25SDag-Erling Smørgrav      hpux9* | hpux10* | hpux11*)
433617d15b25SDag-Erling Smørgrav	case $cc_basename in
433717d15b25SDag-Erling Smørgrav	  CC*)
433817d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4339986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4340986ba33cSDag-Erling Smørgrav	    if test ia64 != "$host_cpu"; then
434117d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
434217d15b25SDag-Erling Smørgrav	    fi
434317d15b25SDag-Erling Smørgrav	    ;;
434417d15b25SDag-Erling Smørgrav	  aCC*)
434517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4346986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
434717d15b25SDag-Erling Smørgrav	    case $host_cpu in
434817d15b25SDag-Erling Smørgrav	    hppa*64*|ia64*)
434917d15b25SDag-Erling Smørgrav	      # +Z the default
435017d15b25SDag-Erling Smørgrav	      ;;
435117d15b25SDag-Erling Smørgrav	    *)
435217d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
435317d15b25SDag-Erling Smørgrav	      ;;
435417d15b25SDag-Erling Smørgrav	    esac
435517d15b25SDag-Erling Smørgrav	    ;;
435617d15b25SDag-Erling Smørgrav	  *)
435717d15b25SDag-Erling Smørgrav	    ;;
435817d15b25SDag-Erling Smørgrav	esac
435917d15b25SDag-Erling Smørgrav	;;
436017d15b25SDag-Erling Smørgrav      interix*)
436117d15b25SDag-Erling Smørgrav	# This is c89, which is MS Visual C++ (no shared libs)
436217d15b25SDag-Erling Smørgrav	# Anyone wants to do a port?
436317d15b25SDag-Erling Smørgrav	;;
436417d15b25SDag-Erling Smørgrav      irix5* | irix6* | nonstopux*)
436517d15b25SDag-Erling Smørgrav	case $cc_basename in
436617d15b25SDag-Erling Smørgrav	  CC*)
436717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
436817d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
436917d15b25SDag-Erling Smørgrav	    # CC pic flag -KPIC is the default.
437017d15b25SDag-Erling Smørgrav	    ;;
437117d15b25SDag-Erling Smørgrav	  *)
437217d15b25SDag-Erling Smørgrav	    ;;
437317d15b25SDag-Erling Smørgrav	esac
437417d15b25SDag-Erling Smørgrav	;;
4375986ba33cSDag-Erling Smørgrav      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
437617d15b25SDag-Erling Smørgrav	case $cc_basename in
437717d15b25SDag-Erling Smørgrav	  KCC*)
437817d15b25SDag-Erling Smørgrav	    # KAI C++ Compiler
437917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
438017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
438117d15b25SDag-Erling Smørgrav	    ;;
438217d15b25SDag-Erling Smørgrav	  ecpc* )
4383986ba33cSDag-Erling Smørgrav	    # old Intel C++ for x86_64, which still supported -KPIC.
438417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
438517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
438617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
438717d15b25SDag-Erling Smørgrav	    ;;
438817d15b25SDag-Erling Smørgrav	  icpc* )
438917d15b25SDag-Erling Smørgrav	    # Intel C++, used to be incompatible with GCC.
439017d15b25SDag-Erling Smørgrav	    # ICC 10 doesn't accept -KPIC any more.
439117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
439217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
439317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
439417d15b25SDag-Erling Smørgrav	    ;;
439517d15b25SDag-Erling Smørgrav	  pgCC* | pgcpp*)
439617d15b25SDag-Erling Smørgrav	    # Portland Group C++ compiler
439717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
439817d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
439917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
440017d15b25SDag-Erling Smørgrav	    ;;
440117d15b25SDag-Erling Smørgrav	  cxx*)
440217d15b25SDag-Erling Smørgrav	    # Compaq C++
440317d15b25SDag-Erling Smørgrav	    # Make sure the PIC flag is empty.  It appears that all Alpha
440417d15b25SDag-Erling Smørgrav	    # Linux and Compaq Tru64 Unix objects are PIC.
440517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
440617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
440717d15b25SDag-Erling Smørgrav	    ;;
440817d15b25SDag-Erling Smørgrav	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
440917d15b25SDag-Erling Smørgrav	    # IBM XL 8.0, 9.0 on PPC and BlueGene
441017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
441117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
441217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
441317d15b25SDag-Erling Smørgrav	    ;;
441417d15b25SDag-Erling Smørgrav	  *)
441517d15b25SDag-Erling Smørgrav	    case `$CC -V 2>&1 | sed 5q` in
441617d15b25SDag-Erling Smørgrav	    *Sun\ C*)
441717d15b25SDag-Erling Smørgrav	      # Sun C++ 5.9
441817d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
441917d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
442017d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
442117d15b25SDag-Erling Smørgrav	      ;;
442217d15b25SDag-Erling Smørgrav	    esac
442317d15b25SDag-Erling Smørgrav	    ;;
442417d15b25SDag-Erling Smørgrav	esac
442517d15b25SDag-Erling Smørgrav	;;
442617d15b25SDag-Erling Smørgrav      lynxos*)
442717d15b25SDag-Erling Smørgrav	;;
442817d15b25SDag-Erling Smørgrav      m88k*)
442917d15b25SDag-Erling Smørgrav	;;
443017d15b25SDag-Erling Smørgrav      mvs*)
443117d15b25SDag-Erling Smørgrav	case $cc_basename in
443217d15b25SDag-Erling Smørgrav	  cxx*)
443317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
443417d15b25SDag-Erling Smørgrav	    ;;
443517d15b25SDag-Erling Smørgrav	  *)
443617d15b25SDag-Erling Smørgrav	    ;;
443717d15b25SDag-Erling Smørgrav	esac
443817d15b25SDag-Erling Smørgrav	;;
443917d15b25SDag-Erling Smørgrav      netbsd* | netbsdelf*-gnu)
444017d15b25SDag-Erling Smørgrav	;;
444117d15b25SDag-Erling Smørgrav      *qnx* | *nto*)
444217d15b25SDag-Erling Smørgrav        # QNX uses GNU C++, but need to define -shared option too, otherwise
444317d15b25SDag-Erling Smørgrav        # it will coredump.
444417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
444517d15b25SDag-Erling Smørgrav        ;;
444617d15b25SDag-Erling Smørgrav      osf3* | osf4* | osf5*)
444717d15b25SDag-Erling Smørgrav	case $cc_basename in
444817d15b25SDag-Erling Smørgrav	  KCC*)
444917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
445017d15b25SDag-Erling Smørgrav	    ;;
445117d15b25SDag-Erling Smørgrav	  RCC*)
445217d15b25SDag-Erling Smørgrav	    # Rational C++ 2.4.1
445317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
445417d15b25SDag-Erling Smørgrav	    ;;
445517d15b25SDag-Erling Smørgrav	  cxx*)
445617d15b25SDag-Erling Smørgrav	    # Digital/Compaq C++
445717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
445817d15b25SDag-Erling Smørgrav	    # Make sure the PIC flag is empty.  It appears that all Alpha
445917d15b25SDag-Erling Smørgrav	    # Linux and Compaq Tru64 Unix objects are PIC.
446017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
446117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
446217d15b25SDag-Erling Smørgrav	    ;;
446317d15b25SDag-Erling Smørgrav	  *)
446417d15b25SDag-Erling Smørgrav	    ;;
446517d15b25SDag-Erling Smørgrav	esac
446617d15b25SDag-Erling Smørgrav	;;
446717d15b25SDag-Erling Smørgrav      psos*)
446817d15b25SDag-Erling Smørgrav	;;
446917d15b25SDag-Erling Smørgrav      solaris*)
447017d15b25SDag-Erling Smørgrav	case $cc_basename in
447117d15b25SDag-Erling Smørgrav	  CC* | sunCC*)
447217d15b25SDag-Erling Smørgrav	    # Sun C++ 4.2, 5.x and Centerline C++
447317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
447417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
447517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
447617d15b25SDag-Erling Smørgrav	    ;;
447717d15b25SDag-Erling Smørgrav	  gcx*)
447817d15b25SDag-Erling Smørgrav	    # Green Hills C++ Compiler
447917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
448017d15b25SDag-Erling Smørgrav	    ;;
448117d15b25SDag-Erling Smørgrav	  *)
448217d15b25SDag-Erling Smørgrav	    ;;
448317d15b25SDag-Erling Smørgrav	esac
448417d15b25SDag-Erling Smørgrav	;;
448517d15b25SDag-Erling Smørgrav      sunos4*)
448617d15b25SDag-Erling Smørgrav	case $cc_basename in
448717d15b25SDag-Erling Smørgrav	  CC*)
448817d15b25SDag-Erling Smørgrav	    # Sun C++ 4.x
448917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
449017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
449117d15b25SDag-Erling Smørgrav	    ;;
449217d15b25SDag-Erling Smørgrav	  lcc*)
449317d15b25SDag-Erling Smørgrav	    # Lucid
449417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
449517d15b25SDag-Erling Smørgrav	    ;;
449617d15b25SDag-Erling Smørgrav	  *)
449717d15b25SDag-Erling Smørgrav	    ;;
449817d15b25SDag-Erling Smørgrav	esac
449917d15b25SDag-Erling Smørgrav	;;
450017d15b25SDag-Erling Smørgrav      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
450117d15b25SDag-Erling Smørgrav	case $cc_basename in
450217d15b25SDag-Erling Smørgrav	  CC*)
450317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
450417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
450517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
450617d15b25SDag-Erling Smørgrav	    ;;
450717d15b25SDag-Erling Smørgrav	esac
450817d15b25SDag-Erling Smørgrav	;;
450917d15b25SDag-Erling Smørgrav      tandem*)
451017d15b25SDag-Erling Smørgrav	case $cc_basename in
451117d15b25SDag-Erling Smørgrav	  NCC*)
451217d15b25SDag-Erling Smørgrav	    # NonStop-UX NCC 3.20
451317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
451417d15b25SDag-Erling Smørgrav	    ;;
451517d15b25SDag-Erling Smørgrav	  *)
451617d15b25SDag-Erling Smørgrav	    ;;
451717d15b25SDag-Erling Smørgrav	esac
451817d15b25SDag-Erling Smørgrav	;;
451917d15b25SDag-Erling Smørgrav      vxworks*)
452017d15b25SDag-Erling Smørgrav	;;
452117d15b25SDag-Erling Smørgrav      *)
452217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
452317d15b25SDag-Erling Smørgrav	;;
452417d15b25SDag-Erling Smørgrav    esac
452517d15b25SDag-Erling Smørgrav  fi
452617d15b25SDag-Erling Smørgrav],
452717d15b25SDag-Erling Smørgrav[
4528986ba33cSDag-Erling Smørgrav  if test yes = "$GCC"; then
452917d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
453017d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
453117d15b25SDag-Erling Smørgrav
453217d15b25SDag-Erling Smørgrav    case $host_os in
453317d15b25SDag-Erling Smørgrav      aix*)
453417d15b25SDag-Erling Smørgrav      # All AIX code is PIC.
4535986ba33cSDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
453617d15b25SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
453717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
453817d15b25SDag-Erling Smørgrav      fi
4539986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
454017d15b25SDag-Erling Smørgrav      ;;
454117d15b25SDag-Erling Smørgrav
454217d15b25SDag-Erling Smørgrav    amigaos*)
454317d15b25SDag-Erling Smørgrav      case $host_cpu in
454417d15b25SDag-Erling Smørgrav      powerpc)
454517d15b25SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
454617d15b25SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
454717d15b25SDag-Erling Smørgrav        ;;
454817d15b25SDag-Erling Smørgrav      m68k)
454917d15b25SDag-Erling Smørgrav            # FIXME: we need at least 68020 code to build shared libraries, but
4550986ba33cSDag-Erling Smørgrav            # adding the '-m68020' flag to GCC prevents building anything better,
4551986ba33cSDag-Erling Smørgrav            # like '-m68040'.
455217d15b25SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
455317d15b25SDag-Erling Smørgrav        ;;
455417d15b25SDag-Erling Smørgrav      esac
455517d15b25SDag-Erling Smørgrav      ;;
455617d15b25SDag-Erling Smørgrav
455717d15b25SDag-Erling Smørgrav    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
455817d15b25SDag-Erling Smørgrav      # PIC is the default for these OSes.
455917d15b25SDag-Erling Smørgrav      ;;
456017d15b25SDag-Erling Smørgrav
456117d15b25SDag-Erling Smørgrav    mingw* | cygwin* | pw32* | os2* | cegcc*)
456217d15b25SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
456317d15b25SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
456417d15b25SDag-Erling Smørgrav      # Although the cygwin gcc ignores -fPIC, still need this for old-style
456517d15b25SDag-Erling Smørgrav      # (--disable-auto-import) libraries
456617d15b25SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
456717d15b25SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4568986ba33cSDag-Erling Smørgrav      case $host_os in
4569986ba33cSDag-Erling Smørgrav      os2*)
4570986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4571986ba33cSDag-Erling Smørgrav	;;
4572986ba33cSDag-Erling Smørgrav      esac
457317d15b25SDag-Erling Smørgrav      ;;
457417d15b25SDag-Erling Smørgrav
457517d15b25SDag-Erling Smørgrav    darwin* | rhapsody*)
457617d15b25SDag-Erling Smørgrav      # PIC is the default on this platform
457717d15b25SDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
457817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
457917d15b25SDag-Erling Smørgrav      ;;
458017d15b25SDag-Erling Smørgrav
458117d15b25SDag-Erling Smørgrav    haiku*)
458217d15b25SDag-Erling Smørgrav      # PIC is the default for Haiku.
458317d15b25SDag-Erling Smørgrav      # The "-static" flag exists, but is broken.
458417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)=
458517d15b25SDag-Erling Smørgrav      ;;
458617d15b25SDag-Erling Smørgrav
458717d15b25SDag-Erling Smørgrav    hpux*)
458817d15b25SDag-Erling Smørgrav      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
458917d15b25SDag-Erling Smørgrav      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
459017d15b25SDag-Erling Smørgrav      # sets the default TLS model and affects inlining.
459117d15b25SDag-Erling Smørgrav      case $host_cpu in
459217d15b25SDag-Erling Smørgrav      hppa*64*)
459317d15b25SDag-Erling Smørgrav	# +Z the default
459417d15b25SDag-Erling Smørgrav	;;
459517d15b25SDag-Erling Smørgrav      *)
459617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
459717d15b25SDag-Erling Smørgrav	;;
459817d15b25SDag-Erling Smørgrav      esac
459917d15b25SDag-Erling Smørgrav      ;;
460017d15b25SDag-Erling Smørgrav
460117d15b25SDag-Erling Smørgrav    interix[[3-9]]*)
460217d15b25SDag-Erling Smørgrav      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
460317d15b25SDag-Erling Smørgrav      # Instead, we relocate shared libraries at runtime.
460417d15b25SDag-Erling Smørgrav      ;;
460517d15b25SDag-Erling Smørgrav
460617d15b25SDag-Erling Smørgrav    msdosdjgpp*)
460717d15b25SDag-Erling Smørgrav      # Just because we use GCC doesn't mean we suddenly get shared libraries
460817d15b25SDag-Erling Smørgrav      # on systems that don't support them.
460917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
461017d15b25SDag-Erling Smørgrav      enable_shared=no
461117d15b25SDag-Erling Smørgrav      ;;
461217d15b25SDag-Erling Smørgrav
461317d15b25SDag-Erling Smørgrav    *nto* | *qnx*)
461417d15b25SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
461517d15b25SDag-Erling Smørgrav      # it will coredump.
461617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
461717d15b25SDag-Erling Smørgrav      ;;
461817d15b25SDag-Erling Smørgrav
461917d15b25SDag-Erling Smørgrav    sysv4*MP*)
462017d15b25SDag-Erling Smørgrav      if test -d /usr/nec; then
462117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
462217d15b25SDag-Erling Smørgrav      fi
462317d15b25SDag-Erling Smørgrav      ;;
462417d15b25SDag-Erling Smørgrav
462517d15b25SDag-Erling Smørgrav    *)
462617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
462717d15b25SDag-Erling Smørgrav      ;;
462817d15b25SDag-Erling Smørgrav    esac
462917d15b25SDag-Erling Smørgrav
463017d15b25SDag-Erling Smørgrav    case $cc_basename in
463117d15b25SDag-Erling Smørgrav    nvcc*) # Cuda Compiler Driver 2.2
463217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
463317d15b25SDag-Erling Smørgrav      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
463417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
463517d15b25SDag-Erling Smørgrav      fi
463617d15b25SDag-Erling Smørgrav      ;;
463717d15b25SDag-Erling Smørgrav    esac
463817d15b25SDag-Erling Smørgrav  else
463917d15b25SDag-Erling Smørgrav    # PORTME Check for flag to pass linker flags through the system compiler.
464017d15b25SDag-Erling Smørgrav    case $host_os in
464117d15b25SDag-Erling Smørgrav    aix*)
464217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4643986ba33cSDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
464417d15b25SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
464517d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
464617d15b25SDag-Erling Smørgrav      else
464717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
464817d15b25SDag-Erling Smørgrav      fi
464917d15b25SDag-Erling Smørgrav      ;;
465017d15b25SDag-Erling Smørgrav
4651986ba33cSDag-Erling Smørgrav    darwin* | rhapsody*)
4652986ba33cSDag-Erling Smørgrav      # PIC is the default on this platform
4653986ba33cSDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
4654986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4655986ba33cSDag-Erling Smørgrav      case $cc_basename in
4656986ba33cSDag-Erling Smørgrav      nagfor*)
4657986ba33cSDag-Erling Smørgrav        # NAG Fortran compiler
4658986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4659986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4660986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4661986ba33cSDag-Erling Smørgrav        ;;
4662986ba33cSDag-Erling Smørgrav      esac
4663986ba33cSDag-Erling Smørgrav      ;;
4664986ba33cSDag-Erling Smørgrav
466517d15b25SDag-Erling Smørgrav    mingw* | cygwin* | pw32* | os2* | cegcc*)
466617d15b25SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
466717d15b25SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
466817d15b25SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
466917d15b25SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4670986ba33cSDag-Erling Smørgrav      case $host_os in
4671986ba33cSDag-Erling Smørgrav      os2*)
4672986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4673986ba33cSDag-Erling Smørgrav	;;
4674986ba33cSDag-Erling Smørgrav      esac
467517d15b25SDag-Erling Smørgrav      ;;
467617d15b25SDag-Erling Smørgrav
467717d15b25SDag-Erling Smørgrav    hpux9* | hpux10* | hpux11*)
467817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
467917d15b25SDag-Erling Smørgrav      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
468017d15b25SDag-Erling Smørgrav      # not for PA HP-UX.
468117d15b25SDag-Erling Smørgrav      case $host_cpu in
468217d15b25SDag-Erling Smørgrav      hppa*64*|ia64*)
468317d15b25SDag-Erling Smørgrav	# +Z the default
468417d15b25SDag-Erling Smørgrav	;;
468517d15b25SDag-Erling Smørgrav      *)
468617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
468717d15b25SDag-Erling Smørgrav	;;
468817d15b25SDag-Erling Smørgrav      esac
468917d15b25SDag-Erling Smørgrav      # Is there a better lt_prog_compiler_static that works with the bundled CC?
4690986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
469117d15b25SDag-Erling Smørgrav      ;;
469217d15b25SDag-Erling Smørgrav
469317d15b25SDag-Erling Smørgrav    irix5* | irix6* | nonstopux*)
469417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
469517d15b25SDag-Erling Smørgrav      # PIC (with -KPIC) is the default.
469617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
469717d15b25SDag-Erling Smørgrav      ;;
469817d15b25SDag-Erling Smørgrav
4699986ba33cSDag-Erling Smørgrav    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
470017d15b25SDag-Erling Smørgrav      case $cc_basename in
4701986ba33cSDag-Erling Smørgrav      # old Intel for x86_64, which still supported -KPIC.
470217d15b25SDag-Erling Smørgrav      ecc*)
470317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
470417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
470517d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
470617d15b25SDag-Erling Smørgrav        ;;
4707*5afab0e5SDag-Erling Smørgrav      # flang / f18. f95 an alias for gfortran or flang on Debian
4708*5afab0e5SDag-Erling Smørgrav      flang* | f18* | f95*)
4709*5afab0e5SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4710*5afab0e5SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4711*5afab0e5SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4712*5afab0e5SDag-Erling Smørgrav        ;;
471317d15b25SDag-Erling Smørgrav      # icc used to be incompatible with GCC.
471417d15b25SDag-Erling Smørgrav      # ICC 10 doesn't accept -KPIC any more.
471517d15b25SDag-Erling Smørgrav      icc* | ifort*)
471617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
471717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
471817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
471917d15b25SDag-Erling Smørgrav        ;;
472017d15b25SDag-Erling Smørgrav      # Lahey Fortran 8.1.
472117d15b25SDag-Erling Smørgrav      lf95*)
472217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
472317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
472417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
472517d15b25SDag-Erling Smørgrav	;;
472617d15b25SDag-Erling Smørgrav      nagfor*)
472717d15b25SDag-Erling Smørgrav	# NAG Fortran compiler
472817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
472917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
473017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
473117d15b25SDag-Erling Smørgrav	;;
4732986ba33cSDag-Erling Smørgrav      tcc*)
4733986ba33cSDag-Erling Smørgrav	# Fabrice Bellard et al's Tiny C Compiler
4734986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4735986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4736986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4737986ba33cSDag-Erling Smørgrav	;;
473817d15b25SDag-Erling Smørgrav      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
473917d15b25SDag-Erling Smørgrav        # Portland Group compilers (*not* the Pentium gcc compiler,
474017d15b25SDag-Erling Smørgrav	# which looks to be a dead project)
474117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
474217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
474317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
474417d15b25SDag-Erling Smørgrav        ;;
474517d15b25SDag-Erling Smørgrav      ccc*)
474617d15b25SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
474717d15b25SDag-Erling Smørgrav        # All Alpha code is PIC.
474817d15b25SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
474917d15b25SDag-Erling Smørgrav        ;;
475017d15b25SDag-Erling Smørgrav      xl* | bgxl* | bgf* | mpixl*)
475117d15b25SDag-Erling Smørgrav	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
475217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
475317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
475417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
475517d15b25SDag-Erling Smørgrav	;;
475617d15b25SDag-Erling Smørgrav      *)
475717d15b25SDag-Erling Smørgrav	case `$CC -V 2>&1 | sed 5q` in
475817d15b25SDag-Erling Smørgrav	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
475917d15b25SDag-Erling Smørgrav	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
476017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
476117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
476217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
476317d15b25SDag-Erling Smørgrav	  ;;
476417d15b25SDag-Erling Smørgrav	*Sun\ F* | *Sun*Fortran*)
476517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
476617d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
476717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
476817d15b25SDag-Erling Smørgrav	  ;;
476917d15b25SDag-Erling Smørgrav	*Sun\ C*)
477017d15b25SDag-Erling Smørgrav	  # Sun C 5.9
477117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
477217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
477317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
477417d15b25SDag-Erling Smørgrav	  ;;
477517d15b25SDag-Erling Smørgrav        *Intel*\ [[CF]]*Compiler*)
477617d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
477717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
477817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
477917d15b25SDag-Erling Smørgrav	  ;;
478017d15b25SDag-Erling Smørgrav	*Portland\ Group*)
478117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
478217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
478317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
478417d15b25SDag-Erling Smørgrav	  ;;
478517d15b25SDag-Erling Smørgrav	esac
478617d15b25SDag-Erling Smørgrav	;;
478717d15b25SDag-Erling Smørgrav      esac
478817d15b25SDag-Erling Smørgrav      ;;
478917d15b25SDag-Erling Smørgrav
479017d15b25SDag-Erling Smørgrav    newsos6)
479117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
479217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
479317d15b25SDag-Erling Smørgrav      ;;
479417d15b25SDag-Erling Smørgrav
479517d15b25SDag-Erling Smørgrav    *nto* | *qnx*)
479617d15b25SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
479717d15b25SDag-Erling Smørgrav      # it will coredump.
479817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
479917d15b25SDag-Erling Smørgrav      ;;
480017d15b25SDag-Erling Smørgrav
480117d15b25SDag-Erling Smørgrav    osf3* | osf4* | osf5*)
480217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
480317d15b25SDag-Erling Smørgrav      # All OSF/1 code is PIC.
480417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
480517d15b25SDag-Erling Smørgrav      ;;
480617d15b25SDag-Erling Smørgrav
480717d15b25SDag-Erling Smørgrav    rdos*)
480817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
480917d15b25SDag-Erling Smørgrav      ;;
481017d15b25SDag-Erling Smørgrav
481117d15b25SDag-Erling Smørgrav    solaris*)
481217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
481317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
481417d15b25SDag-Erling Smørgrav      case $cc_basename in
481517d15b25SDag-Erling Smørgrav      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
481617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
481717d15b25SDag-Erling Smørgrav      *)
481817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
481917d15b25SDag-Erling Smørgrav      esac
482017d15b25SDag-Erling Smørgrav      ;;
482117d15b25SDag-Erling Smørgrav
482217d15b25SDag-Erling Smørgrav    sunos4*)
482317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
482417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
482517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
482617d15b25SDag-Erling Smørgrav      ;;
482717d15b25SDag-Erling Smørgrav
482817d15b25SDag-Erling Smørgrav    sysv4 | sysv4.2uw2* | sysv4.3*)
482917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
483017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
483117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
483217d15b25SDag-Erling Smørgrav      ;;
483317d15b25SDag-Erling Smørgrav
483417d15b25SDag-Erling Smørgrav    sysv4*MP*)
483517d15b25SDag-Erling Smørgrav      if test -d /usr/nec; then
483617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
483717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
483817d15b25SDag-Erling Smørgrav      fi
483917d15b25SDag-Erling Smørgrav      ;;
484017d15b25SDag-Erling Smørgrav
484117d15b25SDag-Erling Smørgrav    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
484217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
484317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
484417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
484517d15b25SDag-Erling Smørgrav      ;;
484617d15b25SDag-Erling Smørgrav
484717d15b25SDag-Erling Smørgrav    unicos*)
484817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
484917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
485017d15b25SDag-Erling Smørgrav      ;;
485117d15b25SDag-Erling Smørgrav
485217d15b25SDag-Erling Smørgrav    uts4*)
485317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
485417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
485517d15b25SDag-Erling Smørgrav      ;;
485617d15b25SDag-Erling Smørgrav
485717d15b25SDag-Erling Smørgrav    *)
485817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
485917d15b25SDag-Erling Smørgrav      ;;
486017d15b25SDag-Erling Smørgrav    esac
486117d15b25SDag-Erling Smørgrav  fi
486217d15b25SDag-Erling Smørgrav])
486317d15b25SDag-Erling Smørgravcase $host_os in
4864986ba33cSDag-Erling Smørgrav  # For platforms that do not support PIC, -DPIC is meaningless:
486517d15b25SDag-Erling Smørgrav  *djgpp*)
486617d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
486717d15b25SDag-Erling Smørgrav    ;;
486817d15b25SDag-Erling Smørgrav  *)
486917d15b25SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
487017d15b25SDag-Erling Smørgrav    ;;
487117d15b25SDag-Erling Smørgravesac
487217d15b25SDag-Erling Smørgrav
487317d15b25SDag-Erling SmørgravAC_CACHE_CHECK([for $compiler option to produce PIC],
487417d15b25SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
487517d15b25SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
487617d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
487717d15b25SDag-Erling Smørgrav
487817d15b25SDag-Erling Smørgrav#
487917d15b25SDag-Erling Smørgrav# Check to make sure the PIC flag actually works.
488017d15b25SDag-Erling Smørgrav#
488117d15b25SDag-Erling Smørgravif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
488217d15b25SDag-Erling Smørgrav  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
488317d15b25SDag-Erling Smørgrav    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
488417d15b25SDag-Erling Smørgrav    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
488517d15b25SDag-Erling Smørgrav    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
488617d15b25SDag-Erling Smørgrav     "" | " "*) ;;
488717d15b25SDag-Erling Smørgrav     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
488817d15b25SDag-Erling Smørgrav     esac],
488917d15b25SDag-Erling Smørgrav    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
489017d15b25SDag-Erling Smørgrav     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
489117d15b25SDag-Erling Smørgravfi
489217d15b25SDag-Erling Smørgrav_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
489317d15b25SDag-Erling Smørgrav	[Additional compiler flags for building library objects])
489417d15b25SDag-Erling Smørgrav
489517d15b25SDag-Erling Smørgrav_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
489617d15b25SDag-Erling Smørgrav	[How to pass a linker flag through the compiler])
489717d15b25SDag-Erling Smørgrav#
489817d15b25SDag-Erling Smørgrav# Check to make sure the static flag actually works.
489917d15b25SDag-Erling Smørgrav#
490017d15b25SDag-Erling Smørgravwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
490117d15b25SDag-Erling Smørgrav_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
490217d15b25SDag-Erling Smørgrav  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
490317d15b25SDag-Erling Smørgrav  $lt_tmp_static_flag,
490417d15b25SDag-Erling Smørgrav  [],
490517d15b25SDag-Erling Smørgrav  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
490617d15b25SDag-Erling Smørgrav_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
490717d15b25SDag-Erling Smørgrav	[Compiler flag to prevent dynamic linking])
490817d15b25SDag-Erling Smørgrav])# _LT_COMPILER_PIC
490917d15b25SDag-Erling Smørgrav
491017d15b25SDag-Erling Smørgrav
491117d15b25SDag-Erling Smørgrav# _LT_LINKER_SHLIBS([TAGNAME])
491217d15b25SDag-Erling Smørgrav# ----------------------------
491317d15b25SDag-Erling Smørgrav# See if the linker supports building shared libraries.
491417d15b25SDag-Erling Smørgravm4_defun([_LT_LINKER_SHLIBS],
491517d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PATH_LD])dnl
491617d15b25SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
491717d15b25SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl
491817d15b25SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
491917d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
492017d15b25SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
492117d15b25SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
492217d15b25SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
492317d15b25SDag-Erling SmørgravAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
492417d15b25SDag-Erling Smørgravm4_if([$1], [CXX], [
492517d15b25SDag-Erling Smørgrav  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
492617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
492717d15b25SDag-Erling Smørgrav  case $host_os in
492817d15b25SDag-Erling Smørgrav  aix[[4-9]]*)
492917d15b25SDag-Erling Smørgrav    # If we're using GNU nm, then we don't want the "-C" option.
4930986ba33cSDag-Erling Smørgrav    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4931986ba33cSDag-Erling Smørgrav    # Without the "-l" option, or with the "-B" option, AIX nm treats
4932986ba33cSDag-Erling Smørgrav    # weak defined symbols like other global defined symbols, whereas
4933986ba33cSDag-Erling Smørgrav    # GNU nm marks them as "W".
4934986ba33cSDag-Erling Smørgrav    # While the 'weak' keyword is ignored in the Export File, we need
4935986ba33cSDag-Erling Smørgrav    # it in the Import File for the 'aix-soname' feature, so we have
4936986ba33cSDag-Erling Smørgrav    # to replace the "-B" option with "-P" for AIX nm.
493717d15b25SDag-Erling Smørgrav    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4938986ba33cSDag-Erling Smørgrav      _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'
493917d15b25SDag-Erling Smørgrav    else
4940986ba33cSDag-Erling Smørgrav      _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 == "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'
494117d15b25SDag-Erling Smørgrav    fi
494217d15b25SDag-Erling Smørgrav    ;;
494317d15b25SDag-Erling Smørgrav  pw32*)
4944986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
494517d15b25SDag-Erling Smørgrav    ;;
494617d15b25SDag-Erling Smørgrav  cygwin* | mingw* | cegcc*)
494717d15b25SDag-Erling Smørgrav    case $cc_basename in
494817d15b25SDag-Erling Smørgrav    cl*)
494917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
495017d15b25SDag-Erling Smørgrav      ;;
495117d15b25SDag-Erling Smørgrav    *)
495217d15b25SDag-Erling Smørgrav      _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'
495317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
495417d15b25SDag-Erling Smørgrav      ;;
495517d15b25SDag-Erling Smørgrav    esac
495617d15b25SDag-Erling Smørgrav    ;;
495717d15b25SDag-Erling Smørgrav  linux* | k*bsd*-gnu | gnu*)
495817d15b25SDag-Erling Smørgrav    _LT_TAGVAR(link_all_deplibs, $1)=no
495917d15b25SDag-Erling Smørgrav    ;;
496017d15b25SDag-Erling Smørgrav  *)
496117d15b25SDag-Erling Smørgrav    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
496217d15b25SDag-Erling Smørgrav    ;;
496317d15b25SDag-Erling Smørgrav  esac
496417d15b25SDag-Erling Smørgrav], [
496517d15b25SDag-Erling Smørgrav  runpath_var=
496617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(allow_undefined_flag, $1)=
496717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(always_export_symbols, $1)=no
496817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds, $1)=
496917d15b25SDag-Erling Smørgrav  _LT_TAGVAR(archive_expsym_cmds, $1)=
497017d15b25SDag-Erling Smørgrav  _LT_TAGVAR(compiler_needs_object, $1)=no
497117d15b25SDag-Erling Smørgrav  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
497217d15b25SDag-Erling Smørgrav  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
497317d15b25SDag-Erling Smørgrav  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
497417d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_automatic, $1)=no
497517d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct, $1)=no
497617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
497717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
497817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_separator, $1)=
497917d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_minus_L, $1)=no
498017d15b25SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
498117d15b25SDag-Erling Smørgrav  _LT_TAGVAR(inherit_rpath, $1)=no
498217d15b25SDag-Erling Smørgrav  _LT_TAGVAR(link_all_deplibs, $1)=unknown
498317d15b25SDag-Erling Smørgrav  _LT_TAGVAR(module_cmds, $1)=
498417d15b25SDag-Erling Smørgrav  _LT_TAGVAR(module_expsym_cmds, $1)=
498517d15b25SDag-Erling Smørgrav  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
498617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
498717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(thread_safe_flag_spec, $1)=
498817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(whole_archive_flag_spec, $1)=
498917d15b25SDag-Erling Smørgrav  # include_expsyms should be a list of space-separated symbols to be *always*
499017d15b25SDag-Erling Smørgrav  # included in the symbol list
499117d15b25SDag-Erling Smørgrav  _LT_TAGVAR(include_expsyms, $1)=
499217d15b25SDag-Erling Smørgrav  # exclude_expsyms can be an extended regexp of symbols to exclude
4993986ba33cSDag-Erling Smørgrav  # it will be wrapped by ' (' and ')$', so one must not match beginning or
4994986ba33cSDag-Erling Smørgrav  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4995986ba33cSDag-Erling Smørgrav  # as well as any symbol that contains 'd'.
499617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
499717d15b25SDag-Erling Smørgrav  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
499817d15b25SDag-Erling Smørgrav  # platforms (ab)use it in PIC code, but their linkers get confused if
499917d15b25SDag-Erling Smørgrav  # the symbol is explicitly referenced.  Since portable code cannot
500017d15b25SDag-Erling Smørgrav  # rely on this symbol name, it's probably fine to never include it in
500117d15b25SDag-Erling Smørgrav  # preloaded symbol tables.
500217d15b25SDag-Erling Smørgrav  # Exclude shared library initialization/finalization symbols.
500317d15b25SDag-Erling Smørgravdnl Note also adjust exclude_expsyms for C++ above.
500417d15b25SDag-Erling Smørgrav  extract_expsyms_cmds=
500517d15b25SDag-Erling Smørgrav
500617d15b25SDag-Erling Smørgrav  case $host_os in
500717d15b25SDag-Erling Smørgrav  cygwin* | mingw* | pw32* | cegcc*)
500817d15b25SDag-Erling Smørgrav    # FIXME: the MSVC++ port hasn't been tested in a loooong time
500917d15b25SDag-Erling Smørgrav    # When not using gcc, we currently assume that we are using
501017d15b25SDag-Erling Smørgrav    # Microsoft Visual C++.
5011986ba33cSDag-Erling Smørgrav    if test yes != "$GCC"; then
501217d15b25SDag-Erling Smørgrav      with_gnu_ld=no
501317d15b25SDag-Erling Smørgrav    fi
501417d15b25SDag-Erling Smørgrav    ;;
501517d15b25SDag-Erling Smørgrav  interix*)
501617d15b25SDag-Erling Smørgrav    # we just hope/assume this is gcc and not c89 (= MSVC++)
501717d15b25SDag-Erling Smørgrav    with_gnu_ld=yes
501817d15b25SDag-Erling Smørgrav    ;;
5019986ba33cSDag-Erling Smørgrav  openbsd* | bitrig*)
502017d15b25SDag-Erling Smørgrav    with_gnu_ld=no
502117d15b25SDag-Erling Smørgrav    ;;
502217d15b25SDag-Erling Smørgrav  linux* | k*bsd*-gnu | gnu*)
502317d15b25SDag-Erling Smørgrav    _LT_TAGVAR(link_all_deplibs, $1)=no
502417d15b25SDag-Erling Smørgrav    ;;
502517d15b25SDag-Erling Smørgrav  esac
502617d15b25SDag-Erling Smørgrav
502717d15b25SDag-Erling Smørgrav  _LT_TAGVAR(ld_shlibs, $1)=yes
502817d15b25SDag-Erling Smørgrav
502917d15b25SDag-Erling Smørgrav  # On some targets, GNU ld is compatible enough with the native linker
503017d15b25SDag-Erling Smørgrav  # that we're better off using the native interface for both.
503117d15b25SDag-Erling Smørgrav  lt_use_gnu_ld_interface=no
5032986ba33cSDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
503317d15b25SDag-Erling Smørgrav    case $host_os in
503417d15b25SDag-Erling Smørgrav      aix*)
503517d15b25SDag-Erling Smørgrav	# The AIX port of GNU ld has always aspired to compatibility
503617d15b25SDag-Erling Smørgrav	# with the native linker.  However, as the warning in the GNU ld
503717d15b25SDag-Erling Smørgrav	# block says, versions before 2.19.5* couldn't really create working
503817d15b25SDag-Erling Smørgrav	# shared libraries, regardless of the interface used.
503917d15b25SDag-Erling Smørgrav	case `$LD -v 2>&1` in
504017d15b25SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
504117d15b25SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
504217d15b25SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
504317d15b25SDag-Erling Smørgrav	  *)
504417d15b25SDag-Erling Smørgrav	    lt_use_gnu_ld_interface=yes
504517d15b25SDag-Erling Smørgrav	    ;;
504617d15b25SDag-Erling Smørgrav	esac
504717d15b25SDag-Erling Smørgrav	;;
504817d15b25SDag-Erling Smørgrav      *)
504917d15b25SDag-Erling Smørgrav	lt_use_gnu_ld_interface=yes
505017d15b25SDag-Erling Smørgrav	;;
505117d15b25SDag-Erling Smørgrav    esac
505217d15b25SDag-Erling Smørgrav  fi
505317d15b25SDag-Erling Smørgrav
5054986ba33cSDag-Erling Smørgrav  if test yes = "$lt_use_gnu_ld_interface"; then
505517d15b25SDag-Erling Smørgrav    # If archive_cmds runs LD, not CC, wlarc should be empty
5056986ba33cSDag-Erling Smørgrav    wlarc='$wl'
505717d15b25SDag-Erling Smørgrav
505817d15b25SDag-Erling Smørgrav    # Set some defaults for GNU ld with shared library support. These
505917d15b25SDag-Erling Smørgrav    # are reset later if shared libraries are not supported. Putting them
506017d15b25SDag-Erling Smørgrav    # here allows them to be overridden if necessary.
506117d15b25SDag-Erling Smørgrav    runpath_var=LD_RUN_PATH
5062986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5063986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
506417d15b25SDag-Erling Smørgrav    # ancient GNU ld didn't support --whole-archive et. al.
506517d15b25SDag-Erling Smørgrav    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5066986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
506717d15b25SDag-Erling Smørgrav    else
506817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=
506917d15b25SDag-Erling Smørgrav    fi
507017d15b25SDag-Erling Smørgrav    supports_anon_versioning=no
5071986ba33cSDag-Erling Smørgrav    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
507217d15b25SDag-Erling Smørgrav      *GNU\ gold*) supports_anon_versioning=yes ;;
507317d15b25SDag-Erling Smørgrav      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
507417d15b25SDag-Erling Smørgrav      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
507517d15b25SDag-Erling Smørgrav      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
507617d15b25SDag-Erling Smørgrav      *\ 2.11.*) ;; # other 2.11 versions
507717d15b25SDag-Erling Smørgrav      *) supports_anon_versioning=yes ;;
507817d15b25SDag-Erling Smørgrav    esac
507917d15b25SDag-Erling Smørgrav
508017d15b25SDag-Erling Smørgrav    # See if GNU ld supports shared libraries.
508117d15b25SDag-Erling Smørgrav    case $host_os in
508217d15b25SDag-Erling Smørgrav    aix[[3-9]]*)
508317d15b25SDag-Erling Smørgrav      # On AIX/PPC, the GNU linker is very broken
5084986ba33cSDag-Erling Smørgrav      if test ia64 != "$host_cpu"; then
508517d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
508617d15b25SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
508717d15b25SDag-Erling Smørgrav
508817d15b25SDag-Erling Smørgrav*** Warning: the GNU linker, at least up to release 2.19, is reported
508917d15b25SDag-Erling Smørgrav*** to be unable to reliably create shared libraries on AIX.
509017d15b25SDag-Erling Smørgrav*** Therefore, libtool is disabling shared libraries support.  If you
509117d15b25SDag-Erling Smørgrav*** really care for shared libraries, you may want to install binutils
509217d15b25SDag-Erling Smørgrav*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
509317d15b25SDag-Erling Smørgrav*** You will then need to restart the configuration process.
509417d15b25SDag-Erling Smørgrav
509517d15b25SDag-Erling Smørgrav_LT_EOF
509617d15b25SDag-Erling Smørgrav      fi
509717d15b25SDag-Erling Smørgrav      ;;
509817d15b25SDag-Erling Smørgrav
509917d15b25SDag-Erling Smørgrav    amigaos*)
510017d15b25SDag-Erling Smørgrav      case $host_cpu in
510117d15b25SDag-Erling Smørgrav      powerpc)
510217d15b25SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
5103986ba33cSDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
510417d15b25SDag-Erling Smørgrav            _LT_TAGVAR(archive_expsym_cmds, $1)=''
510517d15b25SDag-Erling Smørgrav        ;;
510617d15b25SDag-Erling Smørgrav      m68k)
510717d15b25SDag-Erling Smørgrav            _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)'
510817d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
510917d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes
511017d15b25SDag-Erling Smørgrav        ;;
511117d15b25SDag-Erling Smørgrav      esac
511217d15b25SDag-Erling Smørgrav      ;;
511317d15b25SDag-Erling Smørgrav
511417d15b25SDag-Erling Smørgrav    beos*)
511517d15b25SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
511617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
511717d15b25SDag-Erling Smørgrav	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
511817d15b25SDag-Erling Smørgrav	# support --undefined.  This deserves some investigation.  FIXME
5119986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
512017d15b25SDag-Erling Smørgrav      else
512117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
512217d15b25SDag-Erling Smørgrav      fi
512317d15b25SDag-Erling Smørgrav      ;;
512417d15b25SDag-Erling Smørgrav
512517d15b25SDag-Erling Smørgrav    cygwin* | mingw* | pw32* | cegcc*)
512617d15b25SDag-Erling Smørgrav      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
512717d15b25SDag-Erling Smørgrav      # as there is no search path for DLLs.
512817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5129986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
513017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
513117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=no
513217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
513317d15b25SDag-Erling Smørgrav      _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'
513417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
513517d15b25SDag-Erling Smørgrav
513617d15b25SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5137986ba33cSDag-Erling Smørgrav        _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'
5138986ba33cSDag-Erling Smørgrav	# If the export-symbols file already is a .def file, use it as
5139986ba33cSDag-Erling Smørgrav	# is; otherwise, prepend EXPORTS...
5140986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
514117d15b25SDag-Erling Smørgrav          cp $export_symbols $output_objdir/$soname.def;
514217d15b25SDag-Erling Smørgrav        else
514317d15b25SDag-Erling Smørgrav          echo EXPORTS > $output_objdir/$soname.def;
514417d15b25SDag-Erling Smørgrav          cat $export_symbols >> $output_objdir/$soname.def;
514517d15b25SDag-Erling Smørgrav        fi~
5146986ba33cSDag-Erling Smørgrav        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
514717d15b25SDag-Erling Smørgrav      else
514817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
514917d15b25SDag-Erling Smørgrav      fi
515017d15b25SDag-Erling Smørgrav      ;;
515117d15b25SDag-Erling Smørgrav
515217d15b25SDag-Erling Smørgrav    haiku*)
5153986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
515417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
515517d15b25SDag-Erling Smørgrav      ;;
515617d15b25SDag-Erling Smørgrav
5157986ba33cSDag-Erling Smørgrav    os2*)
5158986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5159986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5160986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5161986ba33cSDag-Erling Smørgrav      shrext_cmds=.dll
5162986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5163986ba33cSDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5164986ba33cSDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5165986ba33cSDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5166986ba33cSDag-Erling Smørgrav	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5167986ba33cSDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5168986ba33cSDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5169986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5170986ba33cSDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5171986ba33cSDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5172986ba33cSDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5173986ba33cSDag-Erling Smørgrav	prefix_cmds="$SED"~
5174986ba33cSDag-Erling Smørgrav	if test EXPORTS = "`$SED 1q $export_symbols`"; then
5175986ba33cSDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e 1d";
5176986ba33cSDag-Erling Smørgrav	fi~
5177986ba33cSDag-Erling Smørgrav	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5178986ba33cSDag-Erling Smørgrav	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5179986ba33cSDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5180986ba33cSDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5181986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5182986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5183986ba33cSDag-Erling Smørgrav      ;;
5184986ba33cSDag-Erling Smørgrav
518517d15b25SDag-Erling Smørgrav    interix[[3-9]]*)
518617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=no
518717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5188986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5189986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
519017d15b25SDag-Erling Smørgrav      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
519117d15b25SDag-Erling Smørgrav      # Instead, shared libraries are loaded at an image base (0x10000000 by
519217d15b25SDag-Erling Smørgrav      # default) and relocated if they conflict, which is a slow very memory
519317d15b25SDag-Erling Smørgrav      # consuming and fragmenting process.  To avoid this, we pick a random,
519417d15b25SDag-Erling Smørgrav      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
519517d15b25SDag-Erling Smørgrav      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
5196986ba33cSDag-Erling Smørgrav      _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'
5197986ba33cSDag-Erling Smørgrav      _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'
519817d15b25SDag-Erling Smørgrav      ;;
519917d15b25SDag-Erling Smørgrav
520017d15b25SDag-Erling Smørgrav    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
520117d15b25SDag-Erling Smørgrav      tmp_diet=no
5202986ba33cSDag-Erling Smørgrav      if test linux-dietlibc = "$host_os"; then
520317d15b25SDag-Erling Smørgrav	case $cc_basename in
520417d15b25SDag-Erling Smørgrav	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
520517d15b25SDag-Erling Smørgrav	esac
520617d15b25SDag-Erling Smørgrav      fi
520717d15b25SDag-Erling Smørgrav      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5208986ba33cSDag-Erling Smørgrav	 && test no = "$tmp_diet"
520917d15b25SDag-Erling Smørgrav      then
521017d15b25SDag-Erling Smørgrav	tmp_addflag=' $pic_flag'
521117d15b25SDag-Erling Smørgrav	tmp_sharedflag='-shared'
521217d15b25SDag-Erling Smørgrav	case $cc_basename,$host_cpu in
521317d15b25SDag-Erling Smørgrav        pgcc*)				# Portland Group C compiler
5214986ba33cSDag-Erling Smørgrav	  _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'
521517d15b25SDag-Erling Smørgrav	  tmp_addflag=' $pic_flag'
521617d15b25SDag-Erling Smørgrav	  ;;
521717d15b25SDag-Erling Smørgrav	pgf77* | pgf90* | pgf95* | pgfortran*)
521817d15b25SDag-Erling Smørgrav					# Portland Group f77 and f90 compilers
5219986ba33cSDag-Erling Smørgrav	  _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'
522017d15b25SDag-Erling Smørgrav	  tmp_addflag=' $pic_flag -Mnomain' ;;
522117d15b25SDag-Erling Smørgrav	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
522217d15b25SDag-Erling Smørgrav	  tmp_addflag=' -i_dynamic' ;;
522317d15b25SDag-Erling Smørgrav	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
522417d15b25SDag-Erling Smørgrav	  tmp_addflag=' -i_dynamic -nofor_main' ;;
522517d15b25SDag-Erling Smørgrav	ifc* | ifort*)			# Intel Fortran compiler
522617d15b25SDag-Erling Smørgrav	  tmp_addflag=' -nofor_main' ;;
522717d15b25SDag-Erling Smørgrav	lf95*)				# Lahey Fortran 8.1
522817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
522917d15b25SDag-Erling Smørgrav	  tmp_sharedflag='--shared' ;;
5230986ba33cSDag-Erling Smørgrav        nagfor*)                        # NAGFOR 5.3
5231986ba33cSDag-Erling Smørgrav          tmp_sharedflag='-Wl,-shared' ;;
523217d15b25SDag-Erling Smørgrav	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
523317d15b25SDag-Erling Smørgrav	  tmp_sharedflag='-qmkshrobj'
523417d15b25SDag-Erling Smørgrav	  tmp_addflag= ;;
523517d15b25SDag-Erling Smørgrav	nvcc*)	# Cuda Compiler Driver 2.2
5236986ba33cSDag-Erling Smørgrav	  _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'
523717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(compiler_needs_object, $1)=yes
523817d15b25SDag-Erling Smørgrav	  ;;
523917d15b25SDag-Erling Smørgrav	esac
524017d15b25SDag-Erling Smørgrav	case `$CC -V 2>&1 | sed 5q` in
524117d15b25SDag-Erling Smørgrav	*Sun\ C*)			# Sun C 5.9
5242986ba33cSDag-Erling Smørgrav	  _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'
524317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(compiler_needs_object, $1)=yes
524417d15b25SDag-Erling Smørgrav	  tmp_sharedflag='-G' ;;
524517d15b25SDag-Erling Smørgrav	*Sun\ F*)			# Sun Fortran 8.3
524617d15b25SDag-Erling Smørgrav	  tmp_sharedflag='-G' ;;
524717d15b25SDag-Erling Smørgrav	esac
5248986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
524917d15b25SDag-Erling Smørgrav
5250986ba33cSDag-Erling Smørgrav        if test yes = "$supports_anon_versioning"; then
525117d15b25SDag-Erling Smørgrav          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
525217d15b25SDag-Erling Smørgrav            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
525317d15b25SDag-Erling Smørgrav            echo "local: *; };" >> $output_objdir/$libname.ver~
5254986ba33cSDag-Erling Smørgrav            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
525517d15b25SDag-Erling Smørgrav        fi
525617d15b25SDag-Erling Smørgrav
525717d15b25SDag-Erling Smørgrav	case $cc_basename in
5258986ba33cSDag-Erling Smørgrav	tcc*)
5259986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5260986ba33cSDag-Erling Smørgrav	  ;;
526117d15b25SDag-Erling Smørgrav	xlf* | bgf* | bgxlf* | mpixlf*)
526217d15b25SDag-Erling Smørgrav	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
526317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5264986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
526517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5266986ba33cSDag-Erling Smørgrav	  if test yes = "$supports_anon_versioning"; then
526717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
526817d15b25SDag-Erling Smørgrav              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
526917d15b25SDag-Erling Smørgrav              echo "local: *; };" >> $output_objdir/$libname.ver~
527017d15b25SDag-Erling Smørgrav              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
527117d15b25SDag-Erling Smørgrav	  fi
527217d15b25SDag-Erling Smørgrav	  ;;
527317d15b25SDag-Erling Smørgrav	esac
527417d15b25SDag-Erling Smørgrav      else
527517d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
527617d15b25SDag-Erling Smørgrav      fi
527717d15b25SDag-Erling Smørgrav      ;;
527817d15b25SDag-Erling Smørgrav
527917d15b25SDag-Erling Smørgrav    netbsd* | netbsdelf*-gnu)
528017d15b25SDag-Erling Smørgrav      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
528117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
528217d15b25SDag-Erling Smørgrav	wlarc=
528317d15b25SDag-Erling Smørgrav      else
5284986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5285986ba33cSDag-Erling Smørgrav	_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'
528617d15b25SDag-Erling Smørgrav      fi
528717d15b25SDag-Erling Smørgrav      ;;
528817d15b25SDag-Erling Smørgrav
528917d15b25SDag-Erling Smørgrav    solaris*)
529017d15b25SDag-Erling Smørgrav      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
529117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
529217d15b25SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
529317d15b25SDag-Erling Smørgrav
529417d15b25SDag-Erling Smørgrav*** Warning: The releases 2.8.* of the GNU linker cannot reliably
529517d15b25SDag-Erling Smørgrav*** create shared libraries on Solaris systems.  Therefore, libtool
529617d15b25SDag-Erling Smørgrav*** is disabling shared libraries support.  We urge you to upgrade GNU
529717d15b25SDag-Erling Smørgrav*** binutils to release 2.9.1 or newer.  Another option is to modify
529817d15b25SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is
529917d15b25SDag-Erling Smørgrav*** used, and then restart.
530017d15b25SDag-Erling Smørgrav
530117d15b25SDag-Erling Smørgrav_LT_EOF
530217d15b25SDag-Erling Smørgrav      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5303986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5304986ba33cSDag-Erling Smørgrav	_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'
530517d15b25SDag-Erling Smørgrav      else
530617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
530717d15b25SDag-Erling Smørgrav      fi
530817d15b25SDag-Erling Smørgrav      ;;
530917d15b25SDag-Erling Smørgrav
531017d15b25SDag-Erling Smørgrav    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
531117d15b25SDag-Erling Smørgrav      case `$LD -v 2>&1` in
531217d15b25SDag-Erling Smørgrav        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
531317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
531417d15b25SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
531517d15b25SDag-Erling Smørgrav
531617d15b25SDag-Erling Smørgrav*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
531717d15b25SDag-Erling Smørgrav*** reliably create shared libraries on SCO systems.  Therefore, libtool
531817d15b25SDag-Erling Smørgrav*** is disabling shared libraries support.  We urge you to upgrade GNU
531917d15b25SDag-Erling Smørgrav*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
532017d15b25SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is
532117d15b25SDag-Erling Smørgrav*** used, and then restart.
532217d15b25SDag-Erling Smørgrav
532317d15b25SDag-Erling Smørgrav_LT_EOF
532417d15b25SDag-Erling Smørgrav	;;
532517d15b25SDag-Erling Smørgrav	*)
532617d15b25SDag-Erling Smørgrav	  # For security reasons, it is highly recommended that you always
532717d15b25SDag-Erling Smørgrav	  # use absolute paths for naming shared libraries, and exclude the
532817d15b25SDag-Erling Smørgrav	  # DT_RUNPATH tag from executables and libraries.  But doing so
532917d15b25SDag-Erling Smørgrav	  # requires that you compile everything twice, which is a pain.
533017d15b25SDag-Erling Smørgrav	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5331986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5332986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5333986ba33cSDag-Erling Smørgrav	    _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'
533417d15b25SDag-Erling Smørgrav	  else
533517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
533617d15b25SDag-Erling Smørgrav	  fi
533717d15b25SDag-Erling Smørgrav	;;
533817d15b25SDag-Erling Smørgrav      esac
533917d15b25SDag-Erling Smørgrav      ;;
534017d15b25SDag-Erling Smørgrav
534117d15b25SDag-Erling Smørgrav    sunos4*)
534217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
534317d15b25SDag-Erling Smørgrav      wlarc=
534417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
534517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
534617d15b25SDag-Erling Smørgrav      ;;
534717d15b25SDag-Erling Smørgrav
534817d15b25SDag-Erling Smørgrav    *)
534917d15b25SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5350986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5351986ba33cSDag-Erling Smørgrav	_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'
535217d15b25SDag-Erling Smørgrav      else
535317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
535417d15b25SDag-Erling Smørgrav      fi
535517d15b25SDag-Erling Smørgrav      ;;
535617d15b25SDag-Erling Smørgrav    esac
535717d15b25SDag-Erling Smørgrav
5358986ba33cSDag-Erling Smørgrav    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
535917d15b25SDag-Erling Smørgrav      runpath_var=
536017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
536117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
536217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=
536317d15b25SDag-Erling Smørgrav    fi
536417d15b25SDag-Erling Smørgrav  else
536517d15b25SDag-Erling Smørgrav    # PORTME fill in a description of your system's linker (not GNU ld)
536617d15b25SDag-Erling Smørgrav    case $host_os in
536717d15b25SDag-Erling Smørgrav    aix3*)
536817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
536917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=yes
537017d15b25SDag-Erling Smørgrav      _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'
537117d15b25SDag-Erling Smørgrav      # Note: this linker hardcodes the directories in LIBPATH if there
537217d15b25SDag-Erling Smørgrav      # are no directories specified by -L.
537317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5374986ba33cSDag-Erling Smørgrav      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
537517d15b25SDag-Erling Smørgrav	# Neither direct hardcoding nor static linking is supported with a
537617d15b25SDag-Erling Smørgrav	# broken collect2.
537717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=unsupported
537817d15b25SDag-Erling Smørgrav      fi
537917d15b25SDag-Erling Smørgrav      ;;
538017d15b25SDag-Erling Smørgrav
538117d15b25SDag-Erling Smørgrav    aix[[4-9]]*)
5382986ba33cSDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
538317d15b25SDag-Erling Smørgrav	# On IA64, the linker does run time linking by default, so we don't
538417d15b25SDag-Erling Smørgrav	# have to do anything special.
538517d15b25SDag-Erling Smørgrav	aix_use_runtimelinking=no
538617d15b25SDag-Erling Smørgrav	exp_sym_flag='-Bexport'
5387986ba33cSDag-Erling Smørgrav	no_entry_flag=
538817d15b25SDag-Erling Smørgrav      else
538917d15b25SDag-Erling Smørgrav	# If we're using GNU nm, then we don't want the "-C" option.
5390986ba33cSDag-Erling Smørgrav	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
5391986ba33cSDag-Erling Smørgrav	# Without the "-l" option, or with the "-B" option, AIX nm treats
5392986ba33cSDag-Erling Smørgrav	# weak defined symbols like other global defined symbols, whereas
5393986ba33cSDag-Erling Smørgrav	# GNU nm marks them as "W".
5394986ba33cSDag-Erling Smørgrav	# While the 'weak' keyword is ignored in the Export File, we need
5395986ba33cSDag-Erling Smørgrav	# it in the Import File for the 'aix-soname' feature, so we have
5396986ba33cSDag-Erling Smørgrav	# to replace the "-B" option with "-P" for AIX nm.
539717d15b25SDag-Erling Smørgrav	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5398986ba33cSDag-Erling Smørgrav	  _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'
539917d15b25SDag-Erling Smørgrav	else
5400986ba33cSDag-Erling Smørgrav	  _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 == "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'
540117d15b25SDag-Erling Smørgrav	fi
540217d15b25SDag-Erling Smørgrav	aix_use_runtimelinking=no
540317d15b25SDag-Erling Smørgrav
540417d15b25SDag-Erling Smørgrav	# Test if we are trying to use run time linking or normal
540517d15b25SDag-Erling Smørgrav	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
5406986ba33cSDag-Erling Smørgrav	# have runtime linking enabled, and use it for executables.
5407986ba33cSDag-Erling Smørgrav	# For shared libraries, we enable/disable runtime linking
5408986ba33cSDag-Erling Smørgrav	# depending on the kind of the shared library created -
5409986ba33cSDag-Erling Smørgrav	# when "with_aix_soname,aix_use_runtimelinking" is:
5410986ba33cSDag-Erling Smørgrav	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
5411986ba33cSDag-Erling Smørgrav	# "aix,yes"  lib.so          shared, rtl:yes, for executables
5412986ba33cSDag-Erling Smørgrav	#            lib.a           static archive
5413986ba33cSDag-Erling Smørgrav	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
5414986ba33cSDag-Erling Smørgrav	#            lib.a(lib.so.V) shared, rtl:no,  for executables
5415986ba33cSDag-Erling Smørgrav	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5416986ba33cSDag-Erling Smørgrav	#            lib.a(lib.so.V) shared, rtl:no
5417986ba33cSDag-Erling Smørgrav	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
5418986ba33cSDag-Erling Smørgrav	#            lib.a           static archive
541917d15b25SDag-Erling Smørgrav	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
542017d15b25SDag-Erling Smørgrav	  for ld_flag in $LDFLAGS; do
5421986ba33cSDag-Erling Smørgrav	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
542217d15b25SDag-Erling Smørgrav	    aix_use_runtimelinking=yes
542317d15b25SDag-Erling Smørgrav	    break
542417d15b25SDag-Erling Smørgrav	  fi
542517d15b25SDag-Erling Smørgrav	  done
5426986ba33cSDag-Erling Smørgrav	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5427986ba33cSDag-Erling Smørgrav	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
5428986ba33cSDag-Erling Smørgrav	    # so we don't have lib.a shared libs to link our executables.
5429986ba33cSDag-Erling Smørgrav	    # We have to force runtime linking in this case.
5430986ba33cSDag-Erling Smørgrav	    aix_use_runtimelinking=yes
5431986ba33cSDag-Erling Smørgrav	    LDFLAGS="$LDFLAGS -Wl,-brtl"
5432986ba33cSDag-Erling Smørgrav	  fi
543317d15b25SDag-Erling Smørgrav	  ;;
543417d15b25SDag-Erling Smørgrav	esac
543517d15b25SDag-Erling Smørgrav
543617d15b25SDag-Erling Smørgrav	exp_sym_flag='-bexport'
543717d15b25SDag-Erling Smørgrav	no_entry_flag='-bnoentry'
543817d15b25SDag-Erling Smørgrav      fi
543917d15b25SDag-Erling Smørgrav
544017d15b25SDag-Erling Smørgrav      # When large executables or shared objects are built, AIX ld can
544117d15b25SDag-Erling Smørgrav      # have problems creating the table of contents.  If linking a library
544217d15b25SDag-Erling Smørgrav      # or program results in "error TOC overflow" add -mminimal-toc to
544317d15b25SDag-Erling Smørgrav      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
544417d15b25SDag-Erling Smørgrav      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
544517d15b25SDag-Erling Smørgrav
544617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)=''
544717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
544817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
544917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
545017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
5451986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5452986ba33cSDag-Erling Smørgrav      case $with_aix_soname,$aix_use_runtimelinking in
5453986ba33cSDag-Erling Smørgrav      aix,*) ;; # traditional, no import file
5454986ba33cSDag-Erling Smørgrav      svr4,* | *,yes) # use import file
5455986ba33cSDag-Erling Smørgrav	# The Import File defines what to hardcode.
5456986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=no
5457986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5458986ba33cSDag-Erling Smørgrav	;;
5459986ba33cSDag-Erling Smørgrav      esac
546017d15b25SDag-Erling Smørgrav
5461986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
546217d15b25SDag-Erling Smørgrav	case $host_os in aix4.[[012]]|aix4.[[012]].*)
546317d15b25SDag-Erling Smørgrav	# We only want to do this on AIX 4.2 and lower, the check
546417d15b25SDag-Erling Smørgrav	# below for broken collect2 doesn't work under 4.3+
5465986ba33cSDag-Erling Smørgrav	  collect2name=`$CC -print-prog-name=collect2`
546617d15b25SDag-Erling Smørgrav	  if test -f "$collect2name" &&
546717d15b25SDag-Erling Smørgrav	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
546817d15b25SDag-Erling Smørgrav	  then
546917d15b25SDag-Erling Smørgrav	  # We have reworked collect2
547017d15b25SDag-Erling Smørgrav	  :
547117d15b25SDag-Erling Smørgrav	  else
547217d15b25SDag-Erling Smørgrav	  # We have old collect2
547317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
547417d15b25SDag-Erling Smørgrav	  # It fails to find uninstalled libraries when the uninstalled
547517d15b25SDag-Erling Smørgrav	  # path is not listed in the libpath.  Setting hardcode_minus_L
547617d15b25SDag-Erling Smørgrav	  # to unsupported forces relinking
547717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
547817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
547917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
548017d15b25SDag-Erling Smørgrav	  fi
548117d15b25SDag-Erling Smørgrav	  ;;
548217d15b25SDag-Erling Smørgrav	esac
548317d15b25SDag-Erling Smørgrav	shared_flag='-shared'
5484986ba33cSDag-Erling Smørgrav	if test yes = "$aix_use_runtimelinking"; then
5485986ba33cSDag-Erling Smørgrav	  shared_flag="$shared_flag "'$wl-G'
548617d15b25SDag-Erling Smørgrav	fi
5487986ba33cSDag-Erling Smørgrav	# Need to ensure runtime linking is disabled for the traditional
5488986ba33cSDag-Erling Smørgrav	# shared library, or the linker may eventually find shared libraries
5489986ba33cSDag-Erling Smørgrav	# /with/ Import File - we do not want to mix them.
5490986ba33cSDag-Erling Smørgrav	shared_flag_aix='-shared'
5491986ba33cSDag-Erling Smørgrav	shared_flag_svr4='-shared $wl-G'
549217d15b25SDag-Erling Smørgrav      else
549317d15b25SDag-Erling Smørgrav	# not using gcc
5494986ba33cSDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
549517d15b25SDag-Erling Smørgrav	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
549617d15b25SDag-Erling Smørgrav	# chokes on -Wl,-G. The following line is correct:
549717d15b25SDag-Erling Smørgrav	  shared_flag='-G'
549817d15b25SDag-Erling Smørgrav	else
5499986ba33cSDag-Erling Smørgrav	  if test yes = "$aix_use_runtimelinking"; then
5500986ba33cSDag-Erling Smørgrav	    shared_flag='$wl-G'
550117d15b25SDag-Erling Smørgrav	  else
5502986ba33cSDag-Erling Smørgrav	    shared_flag='$wl-bM:SRE'
550317d15b25SDag-Erling Smørgrav	  fi
5504986ba33cSDag-Erling Smørgrav	  shared_flag_aix='$wl-bM:SRE'
5505986ba33cSDag-Erling Smørgrav	  shared_flag_svr4='$wl-G'
550617d15b25SDag-Erling Smørgrav	fi
550717d15b25SDag-Erling Smørgrav      fi
550817d15b25SDag-Erling Smørgrav
5509986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
551017d15b25SDag-Erling Smørgrav      # It seems that -bexpall does not export symbols beginning with
551117d15b25SDag-Erling Smørgrav      # underscore (_), so it is better to generate a list of symbols to export.
551217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=yes
5513986ba33cSDag-Erling Smørgrav      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
551417d15b25SDag-Erling Smørgrav	# Warning - without using the other runtime loading flags (-brtl),
551517d15b25SDag-Erling Smørgrav	# -berok will link without error, but may produce a broken library.
551617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
551717d15b25SDag-Erling Smørgrav        # Determine the default libpath from the value encoded in an
551817d15b25SDag-Erling Smørgrav        # empty executable.
551917d15b25SDag-Erling Smørgrav        _LT_SYS_MODULE_PATH_AIX([$1])
5520986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5521986ba33cSDag-Erling Smørgrav        _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
552217d15b25SDag-Erling Smørgrav      else
5523986ba33cSDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
5524986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
552517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5526986ba33cSDag-Erling Smørgrav	  _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"
552717d15b25SDag-Erling Smørgrav	else
552817d15b25SDag-Erling Smørgrav	 # Determine the default libpath from the value encoded in an
552917d15b25SDag-Erling Smørgrav	 # empty executable.
553017d15b25SDag-Erling Smørgrav	 _LT_SYS_MODULE_PATH_AIX([$1])
5531986ba33cSDag-Erling Smørgrav	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
553217d15b25SDag-Erling Smørgrav	  # Warning - without using the other run time loading flags,
553317d15b25SDag-Erling Smørgrav	  # -berok will link without error, but may produce a broken library.
5534986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5535986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5536986ba33cSDag-Erling Smørgrav	  if test yes = "$with_gnu_ld"; then
553717d15b25SDag-Erling Smørgrav	    # We only use this code for GNU lds that support --whole-archive.
5538986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
553917d15b25SDag-Erling Smørgrav	  else
554017d15b25SDag-Erling Smørgrav	    # Exported symbols can be pulled into shared objects from archives
554117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
554217d15b25SDag-Erling Smørgrav	  fi
554317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5544986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5545986ba33cSDag-Erling Smørgrav	  # -brtl affects multiple linker settings, -berok does not and is overridden later
5546986ba33cSDag-Erling Smørgrav	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5547986ba33cSDag-Erling Smørgrav	  if test svr4 != "$with_aix_soname"; then
554817d15b25SDag-Erling Smørgrav	    # This is similar to how AIX traditionally builds its shared libraries.
5549986ba33cSDag-Erling Smørgrav	    _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'
5550986ba33cSDag-Erling Smørgrav	  fi
5551986ba33cSDag-Erling Smørgrav	  if test aix != "$with_aix_soname"; then
5552986ba33cSDag-Erling Smørgrav	    _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'
5553986ba33cSDag-Erling Smørgrav	  else
5554986ba33cSDag-Erling Smørgrav	    # used by -dlpreopen to get the symbols
5555986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
5556986ba33cSDag-Erling Smørgrav	  fi
5557986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
555817d15b25SDag-Erling Smørgrav	fi
555917d15b25SDag-Erling Smørgrav      fi
556017d15b25SDag-Erling Smørgrav      ;;
556117d15b25SDag-Erling Smørgrav
556217d15b25SDag-Erling Smørgrav    amigaos*)
556317d15b25SDag-Erling Smørgrav      case $host_cpu in
556417d15b25SDag-Erling Smørgrav      powerpc)
556517d15b25SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
5566986ba33cSDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
556717d15b25SDag-Erling Smørgrav            _LT_TAGVAR(archive_expsym_cmds, $1)=''
556817d15b25SDag-Erling Smørgrav        ;;
556917d15b25SDag-Erling Smørgrav      m68k)
557017d15b25SDag-Erling Smørgrav            _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)'
557117d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
557217d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes
557317d15b25SDag-Erling Smørgrav        ;;
557417d15b25SDag-Erling Smørgrav      esac
557517d15b25SDag-Erling Smørgrav      ;;
557617d15b25SDag-Erling Smørgrav
557717d15b25SDag-Erling Smørgrav    bsdi[[45]]*)
557817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
557917d15b25SDag-Erling Smørgrav      ;;
558017d15b25SDag-Erling Smørgrav
558117d15b25SDag-Erling Smørgrav    cygwin* | mingw* | pw32* | cegcc*)
558217d15b25SDag-Erling Smørgrav      # When not using gcc, we currently assume that we are using
558317d15b25SDag-Erling Smørgrav      # Microsoft Visual C++.
558417d15b25SDag-Erling Smørgrav      # hardcode_libdir_flag_spec is actually meaningless, as there is
558517d15b25SDag-Erling Smørgrav      # no search path for DLLs.
558617d15b25SDag-Erling Smørgrav      case $cc_basename in
558717d15b25SDag-Erling Smørgrav      cl*)
558817d15b25SDag-Erling Smørgrav	# Native MSVC
558917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
559017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
559117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(always_export_symbols, $1)=yes
559217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(file_list_spec, $1)='@'
559317d15b25SDag-Erling Smørgrav	# Tell ltmain to make .lib files, not .a files.
559417d15b25SDag-Erling Smørgrav	libext=lib
559517d15b25SDag-Erling Smørgrav	# Tell ltmain to make .dll files, not .so files.
5596986ba33cSDag-Erling Smørgrav	shrext_cmds=.dll
559717d15b25SDag-Erling Smørgrav	# FIXME: Setting linknames here is a bad hack.
5598986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5599986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5600986ba33cSDag-Erling Smørgrav            cp "$export_symbols" "$output_objdir/$soname.def";
5601986ba33cSDag-Erling Smørgrav            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
560217d15b25SDag-Erling Smørgrav          else
5603986ba33cSDag-Erling Smørgrav            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
560417d15b25SDag-Erling Smørgrav          fi~
560517d15b25SDag-Erling Smørgrav          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
560617d15b25SDag-Erling Smørgrav          linknames='
560717d15b25SDag-Erling Smørgrav	# The linker will not automatically build a static lib if we build a DLL.
560817d15b25SDag-Erling Smørgrav	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
560917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
561017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
561117d15b25SDag-Erling Smørgrav	_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'
561217d15b25SDag-Erling Smørgrav	# Don't use ranlib
561317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
561417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
561517d15b25SDag-Erling Smørgrav          lt_tool_outputfile="@TOOL_OUTPUT@"~
561617d15b25SDag-Erling Smørgrav          case $lt_outputfile in
561717d15b25SDag-Erling Smørgrav            *.exe|*.EXE) ;;
561817d15b25SDag-Erling Smørgrav            *)
5619986ba33cSDag-Erling Smørgrav              lt_outputfile=$lt_outputfile.exe
5620986ba33cSDag-Erling Smørgrav              lt_tool_outputfile=$lt_tool_outputfile.exe
562117d15b25SDag-Erling Smørgrav              ;;
562217d15b25SDag-Erling Smørgrav          esac~
5623986ba33cSDag-Erling Smørgrav          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
562417d15b25SDag-Erling Smørgrav            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
562517d15b25SDag-Erling Smørgrav            $RM "$lt_outputfile.manifest";
562617d15b25SDag-Erling Smørgrav          fi'
562717d15b25SDag-Erling Smørgrav	;;
562817d15b25SDag-Erling Smørgrav      *)
562917d15b25SDag-Erling Smørgrav	# Assume MSVC wrapper
563017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
563117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
563217d15b25SDag-Erling Smørgrav	# Tell ltmain to make .lib files, not .a files.
563317d15b25SDag-Erling Smørgrav	libext=lib
563417d15b25SDag-Erling Smørgrav	# Tell ltmain to make .dll files, not .so files.
5635986ba33cSDag-Erling Smørgrav	shrext_cmds=.dll
563617d15b25SDag-Erling Smørgrav	# FIXME: Setting linknames here is a bad hack.
563717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
563817d15b25SDag-Erling Smørgrav	# The linker will automatically build a .lib file if we build a DLL.
563917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
564017d15b25SDag-Erling Smørgrav	# FIXME: Should let the user specify the lib program.
564117d15b25SDag-Erling Smørgrav	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
564217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
564317d15b25SDag-Erling Smørgrav	;;
564417d15b25SDag-Erling Smørgrav      esac
564517d15b25SDag-Erling Smørgrav      ;;
564617d15b25SDag-Erling Smørgrav
564717d15b25SDag-Erling Smørgrav    darwin* | rhapsody*)
564817d15b25SDag-Erling Smørgrav      _LT_DARWIN_LINKER_FEATURES($1)
564917d15b25SDag-Erling Smørgrav      ;;
565017d15b25SDag-Erling Smørgrav
565117d15b25SDag-Erling Smørgrav    dgux*)
565217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
565317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
565417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
565517d15b25SDag-Erling Smørgrav      ;;
565617d15b25SDag-Erling Smørgrav
565717d15b25SDag-Erling Smørgrav    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
565817d15b25SDag-Erling Smørgrav    # support.  Future versions do this automatically, but an explicit c++rt0.o
565917d15b25SDag-Erling Smørgrav    # does not break anything, and helps significantly (at the cost of a little
566017d15b25SDag-Erling Smørgrav    # extra space).
566117d15b25SDag-Erling Smørgrav    freebsd2.2*)
566217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
566317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
566417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
566517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
566617d15b25SDag-Erling Smørgrav      ;;
566717d15b25SDag-Erling Smørgrav
566817d15b25SDag-Erling Smørgrav    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
566917d15b25SDag-Erling Smørgrav    freebsd2.*)
567017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
567117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
567217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
567317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
567417d15b25SDag-Erling Smørgrav      ;;
567517d15b25SDag-Erling Smørgrav
567617d15b25SDag-Erling Smørgrav    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
567717d15b25SDag-Erling Smørgrav    freebsd* | dragonfly*)
567817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
567917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
568017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
568117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
568217d15b25SDag-Erling Smørgrav      ;;
568317d15b25SDag-Erling Smørgrav
568417d15b25SDag-Erling Smørgrav    hpux9*)
5685986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
5686986ba33cSDag-Erling Smørgrav	_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'
568717d15b25SDag-Erling Smørgrav      else
5688986ba33cSDag-Erling Smørgrav	_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'
568917d15b25SDag-Erling Smørgrav      fi
5690986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
569117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
569217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
569317d15b25SDag-Erling Smørgrav
569417d15b25SDag-Erling Smørgrav      # hardcode_minus_L: Not really in the search PATH,
569517d15b25SDag-Erling Smørgrav      # but as the default location of the library.
569617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5697986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
569817d15b25SDag-Erling Smørgrav      ;;
569917d15b25SDag-Erling Smørgrav
570017d15b25SDag-Erling Smørgrav    hpux10*)
5701986ba33cSDag-Erling Smørgrav      if test yes,no = "$GCC,$with_gnu_ld"; then
5702986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
570317d15b25SDag-Erling Smørgrav      else
570417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
570517d15b25SDag-Erling Smørgrav      fi
5706986ba33cSDag-Erling Smørgrav      if test no = "$with_gnu_ld"; then
5707986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
570817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
570917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=yes
571017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5711986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
571217d15b25SDag-Erling Smørgrav	# hardcode_minus_L: Not really in the search PATH,
571317d15b25SDag-Erling Smørgrav	# but as the default location of the library.
571417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_minus_L, $1)=yes
571517d15b25SDag-Erling Smørgrav      fi
571617d15b25SDag-Erling Smørgrav      ;;
571717d15b25SDag-Erling Smørgrav
571817d15b25SDag-Erling Smørgrav    hpux11*)
5719986ba33cSDag-Erling Smørgrav      if test yes,no = "$GCC,$with_gnu_ld"; then
572017d15b25SDag-Erling Smørgrav	case $host_cpu in
572117d15b25SDag-Erling Smørgrav	hppa*64*)
5722986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
572317d15b25SDag-Erling Smørgrav	  ;;
572417d15b25SDag-Erling Smørgrav	ia64*)
5725986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
572617d15b25SDag-Erling Smørgrav	  ;;
572717d15b25SDag-Erling Smørgrav	*)
5728986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
572917d15b25SDag-Erling Smørgrav	  ;;
573017d15b25SDag-Erling Smørgrav	esac
573117d15b25SDag-Erling Smørgrav      else
573217d15b25SDag-Erling Smørgrav	case $host_cpu in
573317d15b25SDag-Erling Smørgrav	hppa*64*)
5734986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
573517d15b25SDag-Erling Smørgrav	  ;;
573617d15b25SDag-Erling Smørgrav	ia64*)
5737986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
573817d15b25SDag-Erling Smørgrav	  ;;
573917d15b25SDag-Erling Smørgrav	*)
574017d15b25SDag-Erling Smørgrav	m4_if($1, [], [
574117d15b25SDag-Erling Smørgrav	  # Older versions of the 11.00 compiler do not understand -b yet
574217d15b25SDag-Erling Smørgrav	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
574317d15b25SDag-Erling Smørgrav	  _LT_LINKER_OPTION([if $CC understands -b],
574417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5745986ba33cSDag-Erling Smørgrav	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
574617d15b25SDag-Erling Smørgrav	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5747986ba33cSDag-Erling Smørgrav	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
574817d15b25SDag-Erling Smørgrav	  ;;
574917d15b25SDag-Erling Smørgrav	esac
575017d15b25SDag-Erling Smørgrav      fi
5751986ba33cSDag-Erling Smørgrav      if test no = "$with_gnu_ld"; then
5752986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
575317d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
575417d15b25SDag-Erling Smørgrav
575517d15b25SDag-Erling Smørgrav	case $host_cpu in
575617d15b25SDag-Erling Smørgrav	hppa*64*|ia64*)
575717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no
575817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
575917d15b25SDag-Erling Smørgrav	  ;;
576017d15b25SDag-Erling Smørgrav	*)
576117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
576217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5763986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
576417d15b25SDag-Erling Smørgrav
576517d15b25SDag-Erling Smørgrav	  # hardcode_minus_L: Not really in the search PATH,
576617d15b25SDag-Erling Smørgrav	  # but as the default location of the library.
576717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
576817d15b25SDag-Erling Smørgrav	  ;;
576917d15b25SDag-Erling Smørgrav	esac
577017d15b25SDag-Erling Smørgrav      fi
577117d15b25SDag-Erling Smørgrav      ;;
577217d15b25SDag-Erling Smørgrav
577317d15b25SDag-Erling Smørgrav    irix5* | irix6* | nonstopux*)
5774986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
5775986ba33cSDag-Erling Smørgrav	_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'
577617d15b25SDag-Erling Smørgrav	# Try to use the -exported_symbol ld option, if it does not
577717d15b25SDag-Erling Smørgrav	# work, assume that -exports_file does not work either and
577817d15b25SDag-Erling Smørgrav	# implicitly export all symbols.
577917d15b25SDag-Erling Smørgrav	# This should be the same for all languages, so no per-tag cache variable.
578017d15b25SDag-Erling Smørgrav	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
578117d15b25SDag-Erling Smørgrav	  [lt_cv_irix_exported_symbol],
5782986ba33cSDag-Erling Smørgrav	  [save_LDFLAGS=$LDFLAGS
5783986ba33cSDag-Erling Smørgrav	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
578417d15b25SDag-Erling Smørgrav	   AC_LINK_IFELSE(
578517d15b25SDag-Erling Smørgrav	     [AC_LANG_SOURCE(
578617d15b25SDag-Erling Smørgrav	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
578717d15b25SDag-Erling Smørgrav			      [C++], [[int foo (void) { return 0; }]],
578817d15b25SDag-Erling Smørgrav			      [Fortran 77], [[
578917d15b25SDag-Erling Smørgrav      subroutine foo
579017d15b25SDag-Erling Smørgrav      end]],
579117d15b25SDag-Erling Smørgrav			      [Fortran], [[
579217d15b25SDag-Erling Smørgrav      subroutine foo
579317d15b25SDag-Erling Smørgrav      end]])])],
579417d15b25SDag-Erling Smørgrav	      [lt_cv_irix_exported_symbol=yes],
579517d15b25SDag-Erling Smørgrav	      [lt_cv_irix_exported_symbol=no])
5796986ba33cSDag-Erling Smørgrav           LDFLAGS=$save_LDFLAGS])
5797986ba33cSDag-Erling Smørgrav	if test yes = "$lt_cv_irix_exported_symbol"; then
5798986ba33cSDag-Erling Smørgrav          _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'
579917d15b25SDag-Erling Smørgrav	fi
5800986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(link_all_deplibs, $1)=no
580117d15b25SDag-Erling Smørgrav      else
5802986ba33cSDag-Erling Smørgrav	_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'
5803986ba33cSDag-Erling Smørgrav	_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'
580417d15b25SDag-Erling Smørgrav      fi
580517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5806986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
580717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
580817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(inherit_rpath, $1)=yes
580917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
581017d15b25SDag-Erling Smørgrav      ;;
581117d15b25SDag-Erling Smørgrav
5812986ba33cSDag-Erling Smørgrav    linux*)
5813986ba33cSDag-Erling Smørgrav      case $cc_basename in
5814986ba33cSDag-Erling Smørgrav      tcc*)
5815986ba33cSDag-Erling Smørgrav	# Fabrice Bellard et al's Tiny C Compiler
5816986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=yes
5817986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5818986ba33cSDag-Erling Smørgrav	;;
5819986ba33cSDag-Erling Smørgrav      esac
5820986ba33cSDag-Erling Smørgrav      ;;
5821986ba33cSDag-Erling Smørgrav
582217d15b25SDag-Erling Smørgrav    netbsd* | netbsdelf*-gnu)
582317d15b25SDag-Erling Smørgrav      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
582417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
582517d15b25SDag-Erling Smørgrav      else
582617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
582717d15b25SDag-Erling Smørgrav      fi
582817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
582917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
583017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
583117d15b25SDag-Erling Smørgrav      ;;
583217d15b25SDag-Erling Smørgrav
583317d15b25SDag-Erling Smørgrav    newsos6)
583417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
583517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5836986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
583717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
583817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
583917d15b25SDag-Erling Smørgrav      ;;
584017d15b25SDag-Erling Smørgrav
584117d15b25SDag-Erling Smørgrav    *nto* | *qnx*)
584217d15b25SDag-Erling Smørgrav      ;;
584317d15b25SDag-Erling Smørgrav
5844986ba33cSDag-Erling Smørgrav    openbsd* | bitrig*)
584517d15b25SDag-Erling Smørgrav      if test -f /usr/libexec/ld.so; then
584617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=yes
584717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
584817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5849986ba33cSDag-Erling Smørgrav	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
585017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5851986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5852986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5853986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
585417d15b25SDag-Erling Smørgrav	else
585517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5856986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
585717d15b25SDag-Erling Smørgrav	fi
585817d15b25SDag-Erling Smørgrav      else
585917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
586017d15b25SDag-Erling Smørgrav      fi
586117d15b25SDag-Erling Smørgrav      ;;
586217d15b25SDag-Erling Smørgrav
586317d15b25SDag-Erling Smørgrav    os2*)
586417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
586517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
586617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5867986ba33cSDag-Erling Smørgrav      shrext_cmds=.dll
5868986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5869986ba33cSDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5870986ba33cSDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5871986ba33cSDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5872986ba33cSDag-Erling Smørgrav	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5873986ba33cSDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5874986ba33cSDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5875986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5876986ba33cSDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5877986ba33cSDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5878986ba33cSDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5879986ba33cSDag-Erling Smørgrav	prefix_cmds="$SED"~
5880986ba33cSDag-Erling Smørgrav	if test EXPORTS = "`$SED 1q $export_symbols`"; then
5881986ba33cSDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e 1d";
5882986ba33cSDag-Erling Smørgrav	fi~
5883986ba33cSDag-Erling Smørgrav	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5884986ba33cSDag-Erling Smørgrav	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5885986ba33cSDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5886986ba33cSDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5887986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5888986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
588917d15b25SDag-Erling Smørgrav      ;;
589017d15b25SDag-Erling Smørgrav
589117d15b25SDag-Erling Smørgrav    osf3*)
5892986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
5893986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5894986ba33cSDag-Erling Smørgrav	_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'
589517d15b25SDag-Erling Smørgrav      else
589617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5897986ba33cSDag-Erling Smørgrav	_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'
589817d15b25SDag-Erling Smørgrav      fi
589917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5900986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
590117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
590217d15b25SDag-Erling Smørgrav      ;;
590317d15b25SDag-Erling Smørgrav
590417d15b25SDag-Erling Smørgrav    osf4* | osf5*)	# as osf3* with the addition of -msym flag
5905986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
5906986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5907986ba33cSDag-Erling Smørgrav	_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'
5908986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
590917d15b25SDag-Erling Smørgrav      else
591017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5911986ba33cSDag-Erling Smørgrav	_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'
591217d15b25SDag-Erling Smørgrav	_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~
5913986ba33cSDag-Erling Smørgrav          $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'
591417d15b25SDag-Erling Smørgrav
591517d15b25SDag-Erling Smørgrav	# Both c and cxx compiler support -rpath directly
591617d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
591717d15b25SDag-Erling Smørgrav      fi
591817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
591917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
592017d15b25SDag-Erling Smørgrav      ;;
592117d15b25SDag-Erling Smørgrav
592217d15b25SDag-Erling Smørgrav    solaris*)
592317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5924986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
5925986ba33cSDag-Erling Smørgrav	wlarc='$wl'
5926986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
592717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5928986ba33cSDag-Erling Smørgrav          $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'
592917d15b25SDag-Erling Smørgrav      else
593017d15b25SDag-Erling Smørgrav	case `$CC -V 2>&1` in
593117d15b25SDag-Erling Smørgrav	*"Compilers 5.0"*)
593217d15b25SDag-Erling Smørgrav	  wlarc=''
5933986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
593417d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5935986ba33cSDag-Erling Smørgrav            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
593617d15b25SDag-Erling Smørgrav	  ;;
593717d15b25SDag-Erling Smørgrav	*)
5938986ba33cSDag-Erling Smørgrav	  wlarc='$wl'
5939986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
594017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5941986ba33cSDag-Erling Smørgrav            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
594217d15b25SDag-Erling Smørgrav	  ;;
594317d15b25SDag-Erling Smørgrav	esac
594417d15b25SDag-Erling Smørgrav      fi
594517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
594617d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
594717d15b25SDag-Erling Smørgrav      case $host_os in
594817d15b25SDag-Erling Smørgrav      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
594917d15b25SDag-Erling Smørgrav      *)
595017d15b25SDag-Erling Smørgrav	# The compiler driver will combine and reorder linker options,
5951986ba33cSDag-Erling Smørgrav	# but understands '-z linker_flag'.  GCC discards it without '$wl',
595217d15b25SDag-Erling Smørgrav	# but is careful enough not to reorder.
595317d15b25SDag-Erling Smørgrav	# Supported since Solaris 2.6 (maybe 2.5.1?)
5954986ba33cSDag-Erling Smørgrav	if test yes = "$GCC"; then
5955986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
595617d15b25SDag-Erling Smørgrav	else
595717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
595817d15b25SDag-Erling Smørgrav	fi
595917d15b25SDag-Erling Smørgrav	;;
596017d15b25SDag-Erling Smørgrav      esac
596117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
596217d15b25SDag-Erling Smørgrav      ;;
596317d15b25SDag-Erling Smørgrav
596417d15b25SDag-Erling Smørgrav    sunos4*)
5965986ba33cSDag-Erling Smørgrav      if test sequent = "$host_vendor"; then
596617d15b25SDag-Erling Smørgrav	# Use $CC to link under sequent, because it throws in some extra .o
596717d15b25SDag-Erling Smørgrav	# files that make .init and .fini sections work.
5968986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
596917d15b25SDag-Erling Smørgrav      else
597017d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
597117d15b25SDag-Erling Smørgrav      fi
597217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
597317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
597417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
597517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
597617d15b25SDag-Erling Smørgrav      ;;
597717d15b25SDag-Erling Smørgrav
597817d15b25SDag-Erling Smørgrav    sysv4)
597917d15b25SDag-Erling Smørgrav      case $host_vendor in
598017d15b25SDag-Erling Smørgrav	sni)
598117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
598217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
598317d15b25SDag-Erling Smørgrav	;;
598417d15b25SDag-Erling Smørgrav	siemens)
598517d15b25SDag-Erling Smørgrav	  ## LD is ld it makes a PLAMLIB
598617d15b25SDag-Erling Smørgrav	  ## CC just makes a GrossModule.
598717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
598817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
598917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no
599017d15b25SDag-Erling Smørgrav        ;;
599117d15b25SDag-Erling Smørgrav	motorola)
599217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
599317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
599417d15b25SDag-Erling Smørgrav	;;
599517d15b25SDag-Erling Smørgrav      esac
599617d15b25SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
599717d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
599817d15b25SDag-Erling Smørgrav      ;;
599917d15b25SDag-Erling Smørgrav
600017d15b25SDag-Erling Smørgrav    sysv4.3*)
600117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
600217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
600317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
600417d15b25SDag-Erling Smørgrav      ;;
600517d15b25SDag-Erling Smørgrav
600617d15b25SDag-Erling Smørgrav    sysv4*MP*)
600717d15b25SDag-Erling Smørgrav      if test -d /usr/nec; then
600817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
600917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
601017d15b25SDag-Erling Smørgrav	runpath_var=LD_RUN_PATH
601117d15b25SDag-Erling Smørgrav	hardcode_runpath_var=yes
601217d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=yes
601317d15b25SDag-Erling Smørgrav      fi
601417d15b25SDag-Erling Smørgrav      ;;
601517d15b25SDag-Erling Smørgrav
601617d15b25SDag-Erling Smørgrav    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6017986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
601817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
601917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
602017d15b25SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
602117d15b25SDag-Erling Smørgrav
6022986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
6023986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6024986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602517d15b25SDag-Erling Smørgrav      else
6026986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6027986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
602817d15b25SDag-Erling Smørgrav      fi
602917d15b25SDag-Erling Smørgrav      ;;
603017d15b25SDag-Erling Smørgrav
603117d15b25SDag-Erling Smørgrav    sysv5* | sco3.2v5* | sco5v6*)
6032986ba33cSDag-Erling Smørgrav      # Note: We CANNOT use -z defs as we might desire, because we do not
603317d15b25SDag-Erling Smørgrav      # link with -lc, and that would cause any symbols used from libc to
603417d15b25SDag-Erling Smørgrav      # always be unresolved, which means just about no library would
603517d15b25SDag-Erling Smørgrav      # ever link correctly.  If we're not using GNU ld we use -z text
603617d15b25SDag-Erling Smørgrav      # though, which does catch some bad symbols but isn't as heavy-handed
603717d15b25SDag-Erling Smørgrav      # as -z defs.
6038986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6039986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
604017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
604117d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6042986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
604317d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
604417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
6045986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
604617d15b25SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
604717d15b25SDag-Erling Smørgrav
6048986ba33cSDag-Erling Smørgrav      if test yes = "$GCC"; then
6049986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6050986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
605117d15b25SDag-Erling Smørgrav      else
6052986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6053986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
605417d15b25SDag-Erling Smørgrav      fi
605517d15b25SDag-Erling Smørgrav      ;;
605617d15b25SDag-Erling Smørgrav
605717d15b25SDag-Erling Smørgrav    uts4*)
605817d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
605917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
606017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
606117d15b25SDag-Erling Smørgrav      ;;
606217d15b25SDag-Erling Smørgrav
606317d15b25SDag-Erling Smørgrav    *)
606417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(ld_shlibs, $1)=no
606517d15b25SDag-Erling Smørgrav      ;;
606617d15b25SDag-Erling Smørgrav    esac
606717d15b25SDag-Erling Smørgrav
6068986ba33cSDag-Erling Smørgrav    if test sni = "$host_vendor"; then
606917d15b25SDag-Erling Smørgrav      case $host in
607017d15b25SDag-Erling Smørgrav      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6071986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
607217d15b25SDag-Erling Smørgrav	;;
607317d15b25SDag-Erling Smørgrav      esac
607417d15b25SDag-Erling Smørgrav    fi
607517d15b25SDag-Erling Smørgrav  fi
607617d15b25SDag-Erling Smørgrav])
607717d15b25SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6078986ba33cSDag-Erling Smørgravtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
607917d15b25SDag-Erling Smørgrav
608017d15b25SDag-Erling Smørgrav_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
608117d15b25SDag-Erling Smørgrav
608217d15b25SDag-Erling Smørgrav_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
608317d15b25SDag-Erling Smørgrav_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
608417d15b25SDag-Erling Smørgrav_LT_DECL([], [extract_expsyms_cmds], [2],
608517d15b25SDag-Erling Smørgrav    [The commands to extract the exported symbol list from a shared archive])
608617d15b25SDag-Erling Smørgrav
608717d15b25SDag-Erling Smørgrav#
608817d15b25SDag-Erling Smørgrav# Do we need to explicitly link libc?
608917d15b25SDag-Erling Smørgrav#
609017d15b25SDag-Erling Smørgravcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
609117d15b25SDag-Erling Smørgravx|xyes)
609217d15b25SDag-Erling Smørgrav  # Assume -lc should be added
609317d15b25SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
609417d15b25SDag-Erling Smørgrav
6095986ba33cSDag-Erling Smørgrav  if test yes,yes = "$GCC,$enable_shared"; then
609617d15b25SDag-Erling Smørgrav    case $_LT_TAGVAR(archive_cmds, $1) in
609717d15b25SDag-Erling Smørgrav    *'~'*)
609817d15b25SDag-Erling Smørgrav      # FIXME: we may have to deal with multi-command sequences.
609917d15b25SDag-Erling Smørgrav      ;;
610017d15b25SDag-Erling Smørgrav    '$CC '*)
610117d15b25SDag-Erling Smørgrav      # Test whether the compiler implicitly links with -lc since on some
610217d15b25SDag-Erling Smørgrav      # systems, -lgcc has to come before -lc. If gcc already passes -lc
610317d15b25SDag-Erling Smørgrav      # to ld, don't add -lc before -lgcc.
610417d15b25SDag-Erling Smørgrav      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
610517d15b25SDag-Erling Smørgrav	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
610617d15b25SDag-Erling Smørgrav	[$RM conftest*
610717d15b25SDag-Erling Smørgrav	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
610817d15b25SDag-Erling Smørgrav
610917d15b25SDag-Erling Smørgrav	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
611017d15b25SDag-Erling Smørgrav	  soname=conftest
611117d15b25SDag-Erling Smørgrav	  lib=conftest
611217d15b25SDag-Erling Smørgrav	  libobjs=conftest.$ac_objext
611317d15b25SDag-Erling Smørgrav	  deplibs=
611417d15b25SDag-Erling Smørgrav	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
611517d15b25SDag-Erling Smørgrav	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
611617d15b25SDag-Erling Smørgrav	  compiler_flags=-v
611717d15b25SDag-Erling Smørgrav	  linker_flags=-v
611817d15b25SDag-Erling Smørgrav	  verstring=
611917d15b25SDag-Erling Smørgrav	  output_objdir=.
612017d15b25SDag-Erling Smørgrav	  libname=conftest
612117d15b25SDag-Erling Smørgrav	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
612217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=
612317d15b25SDag-Erling Smørgrav	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
612417d15b25SDag-Erling Smørgrav	  then
612517d15b25SDag-Erling Smørgrav	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
612617d15b25SDag-Erling Smørgrav	  else
612717d15b25SDag-Erling Smørgrav	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
612817d15b25SDag-Erling Smørgrav	  fi
612917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
613017d15b25SDag-Erling Smørgrav	else
613117d15b25SDag-Erling Smørgrav	  cat conftest.err 1>&5
613217d15b25SDag-Erling Smørgrav	fi
613317d15b25SDag-Erling Smørgrav	$RM conftest*
613417d15b25SDag-Erling Smørgrav	])
613517d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
613617d15b25SDag-Erling Smørgrav      ;;
613717d15b25SDag-Erling Smørgrav    esac
613817d15b25SDag-Erling Smørgrav  fi
613917d15b25SDag-Erling Smørgrav  ;;
614017d15b25SDag-Erling Smørgravesac
614117d15b25SDag-Erling Smørgrav
614217d15b25SDag-Erling Smørgrav_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
614317d15b25SDag-Erling Smørgrav    [Whether or not to add -lc for building shared libraries])
614417d15b25SDag-Erling Smørgrav_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
614517d15b25SDag-Erling Smørgrav    [enable_shared_with_static_runtimes], [0],
614617d15b25SDag-Erling Smørgrav    [Whether or not to disallow shared libs when runtime libs are static])
614717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
614817d15b25SDag-Erling Smørgrav    [Compiler flag to allow reflexive dlopens])
614917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [whole_archive_flag_spec], [1],
615017d15b25SDag-Erling Smørgrav    [Compiler flag to generate shared objects directly from archives])
615117d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_needs_object], [1],
615217d15b25SDag-Erling Smørgrav    [Whether the compiler copes with passing no objects directly])
615317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
615417d15b25SDag-Erling Smørgrav    [Create an old-style archive from a shared archive])
615517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
615617d15b25SDag-Erling Smørgrav    [Create a temporary old-style archive to link instead of a shared archive])
615717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
615817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [archive_expsym_cmds], [2])
615917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [module_cmds], [2],
616017d15b25SDag-Erling Smørgrav    [Commands used to build a loadable module if different from building
616117d15b25SDag-Erling Smørgrav    a shared archive.])
616217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [module_expsym_cmds], [2])
616317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [with_gnu_ld], [1],
616417d15b25SDag-Erling Smørgrav    [Whether we are building with GNU ld or not])
616517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [allow_undefined_flag], [1],
616617d15b25SDag-Erling Smørgrav    [Flag that allows shared libraries with undefined symbols to be built])
616717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [no_undefined_flag], [1],
616817d15b25SDag-Erling Smørgrav    [Flag that enforces no undefined symbols])
616917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
617017d15b25SDag-Erling Smørgrav    [Flag to hardcode $libdir into a binary during linking.
617117d15b25SDag-Erling Smørgrav    This must work even if $libdir does not exist])
617217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_separator], [1],
617317d15b25SDag-Erling Smørgrav    [Whether we need a single "-rpath" flag with a separated argument])
617417d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct], [0],
6175986ba33cSDag-Erling Smørgrav    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
617617d15b25SDag-Erling Smørgrav    DIR into the resulting binary])
617717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct_absolute], [0],
6178986ba33cSDag-Erling Smørgrav    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
617917d15b25SDag-Erling Smørgrav    DIR into the resulting binary and the resulting library dependency is
6180986ba33cSDag-Erling Smørgrav    "absolute", i.e impossible to change by setting $shlibpath_var if the
618117d15b25SDag-Erling Smørgrav    library is relocated])
618217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_minus_L], [0],
618317d15b25SDag-Erling Smørgrav    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
618417d15b25SDag-Erling Smørgrav    into the resulting binary])
618517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
618617d15b25SDag-Erling Smørgrav    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
618717d15b25SDag-Erling Smørgrav    into the resulting binary])
618817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_automatic], [0],
618917d15b25SDag-Erling Smørgrav    [Set to "yes" if building a shared library automatically hardcodes DIR
619017d15b25SDag-Erling Smørgrav    into the library and all subsequent libraries and executables linked
619117d15b25SDag-Erling Smørgrav    against it])
619217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [inherit_rpath], [0],
619317d15b25SDag-Erling Smørgrav    [Set to yes if linker adds runtime paths of dependent libraries
619417d15b25SDag-Erling Smørgrav    to runtime path list])
619517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [link_all_deplibs], [0],
619617d15b25SDag-Erling Smørgrav    [Whether libtool must link a program against all its dependency libraries])
619717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [always_export_symbols], [0],
619817d15b25SDag-Erling Smørgrav    [Set to "yes" if exported symbols are required])
619917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [export_symbols_cmds], [2],
620017d15b25SDag-Erling Smørgrav    [The commands to list exported symbols])
620117d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [exclude_expsyms], [1],
620217d15b25SDag-Erling Smørgrav    [Symbols that should not be listed in the preloaded symbols])
620317d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [include_expsyms], [1],
620417d15b25SDag-Erling Smørgrav    [Symbols that must always be exported])
620517d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [prelink_cmds], [2],
620617d15b25SDag-Erling Smørgrav    [Commands necessary for linking programs (against libraries) with templates])
620717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postlink_cmds], [2],
620817d15b25SDag-Erling Smørgrav    [Commands necessary for finishing linking programs])
620917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [file_list_spec], [1],
621017d15b25SDag-Erling Smørgrav    [Specify filename containing input files])
621117d15b25SDag-Erling Smørgravdnl FIXME: Not yet implemented
621217d15b25SDag-Erling Smørgravdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
621317d15b25SDag-Erling Smørgravdnl    [Compiler flag to generate thread safe objects])
621417d15b25SDag-Erling Smørgrav])# _LT_LINKER_SHLIBS
621517d15b25SDag-Erling Smørgrav
621617d15b25SDag-Erling Smørgrav
621717d15b25SDag-Erling Smørgrav# _LT_LANG_C_CONFIG([TAG])
621817d15b25SDag-Erling Smørgrav# ------------------------
621917d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a C compiler are suitably
622017d15b25SDag-Erling Smørgrav# defined.  These variables are subsequently used by _LT_CONFIG to write
6221986ba33cSDag-Erling Smørgrav# the compiler configuration to 'libtool'.
622217d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_C_CONFIG],
622317d15b25SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl
6224986ba33cSDag-Erling Smørgravlt_save_CC=$CC
622517d15b25SDag-Erling SmørgravAC_LANG_PUSH(C)
622617d15b25SDag-Erling Smørgrav
622717d15b25SDag-Erling Smørgrav# Source file extension for C test sources.
622817d15b25SDag-Erling Smørgravac_ext=c
622917d15b25SDag-Erling Smørgrav
623017d15b25SDag-Erling Smørgrav# Object file extension for compiled C test sources.
623117d15b25SDag-Erling Smørgravobjext=o
623217d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
623317d15b25SDag-Erling Smørgrav
623417d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests
623517d15b25SDag-Erling Smørgravlt_simple_compile_test_code="int some_variable = 0;"
623617d15b25SDag-Erling Smørgrav
623717d15b25SDag-Erling Smørgrav# Code to be used in simple link tests
623817d15b25SDag-Erling Smørgravlt_simple_link_test_code='int main(){return(0);}'
623917d15b25SDag-Erling Smørgrav
624017d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER
624117d15b25SDag-Erling Smørgrav# Save the default compiler, since it gets overwritten when the other
624217d15b25SDag-Erling Smørgrav# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
624317d15b25SDag-Erling Smørgravcompiler_DEFAULT=$CC
624417d15b25SDag-Erling Smørgrav
624517d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
624617d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
624717d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
624817d15b25SDag-Erling Smørgrav
624917d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR:
625017d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change
625117d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly
625217d15b25SDag-Erling Smørgrav## what you are doing...
625317d15b25SDag-Erling Smørgravif test -n "$compiler"; then
625417d15b25SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
625517d15b25SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
625617d15b25SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
625717d15b25SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
625817d15b25SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
625917d15b25SDag-Erling Smørgrav  _LT_SYS_DYNAMIC_LINKER($1)
626017d15b25SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
626117d15b25SDag-Erling Smørgrav  LT_SYS_DLOPEN_SELF
626217d15b25SDag-Erling Smørgrav  _LT_CMD_STRIPLIB
626317d15b25SDag-Erling Smørgrav
6264986ba33cSDag-Erling Smørgrav  # Report what library types will actually be built
626517d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([if libtool supports shared libraries])
626617d15b25SDag-Erling Smørgrav  AC_MSG_RESULT([$can_build_shared])
626717d15b25SDag-Erling Smørgrav
626817d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([whether to build shared libraries])
6269986ba33cSDag-Erling Smørgrav  test no = "$can_build_shared" && enable_shared=no
627017d15b25SDag-Erling Smørgrav
627117d15b25SDag-Erling Smørgrav  # On AIX, shared libraries and static libraries use the same namespace, and
627217d15b25SDag-Erling Smørgrav  # are all built from PIC.
627317d15b25SDag-Erling Smørgrav  case $host_os in
627417d15b25SDag-Erling Smørgrav  aix3*)
6275986ba33cSDag-Erling Smørgrav    test yes = "$enable_shared" && enable_static=no
627617d15b25SDag-Erling Smørgrav    if test -n "$RANLIB"; then
627717d15b25SDag-Erling Smørgrav      archive_cmds="$archive_cmds~\$RANLIB \$lib"
627817d15b25SDag-Erling Smørgrav      postinstall_cmds='$RANLIB $lib'
627917d15b25SDag-Erling Smørgrav    fi
628017d15b25SDag-Erling Smørgrav    ;;
628117d15b25SDag-Erling Smørgrav
628217d15b25SDag-Erling Smørgrav  aix[[4-9]]*)
6283986ba33cSDag-Erling Smørgrav    if test ia64 != "$host_cpu"; then
6284986ba33cSDag-Erling Smørgrav      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6285986ba33cSDag-Erling Smørgrav      yes,aix,yes) ;;			# shared object as lib.so file only
6286986ba33cSDag-Erling Smørgrav      yes,svr4,*) ;;			# shared object as lib.so archive member only
6287986ba33cSDag-Erling Smørgrav      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
6288986ba33cSDag-Erling Smørgrav      esac
628917d15b25SDag-Erling Smørgrav    fi
629017d15b25SDag-Erling Smørgrav    ;;
629117d15b25SDag-Erling Smørgrav  esac
629217d15b25SDag-Erling Smørgrav  AC_MSG_RESULT([$enable_shared])
629317d15b25SDag-Erling Smørgrav
629417d15b25SDag-Erling Smørgrav  AC_MSG_CHECKING([whether to build static libraries])
629517d15b25SDag-Erling Smørgrav  # Make sure either enable_shared or enable_static is yes.
6296986ba33cSDag-Erling Smørgrav  test yes = "$enable_shared" || enable_static=yes
629717d15b25SDag-Erling Smørgrav  AC_MSG_RESULT([$enable_static])
629817d15b25SDag-Erling Smørgrav
629917d15b25SDag-Erling Smørgrav  _LT_CONFIG($1)
630017d15b25SDag-Erling Smørgravfi
630117d15b25SDag-Erling SmørgravAC_LANG_POP
6302986ba33cSDag-Erling SmørgravCC=$lt_save_CC
630317d15b25SDag-Erling Smørgrav])# _LT_LANG_C_CONFIG
630417d15b25SDag-Erling Smørgrav
630517d15b25SDag-Erling Smørgrav
630617d15b25SDag-Erling Smørgrav# _LT_LANG_CXX_CONFIG([TAG])
630717d15b25SDag-Erling Smørgrav# --------------------------
630817d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a C++ compiler are suitably
630917d15b25SDag-Erling Smørgrav# defined.  These variables are subsequently used by _LT_CONFIG to write
6310986ba33cSDag-Erling Smørgrav# the compiler configuration to 'libtool'.
631117d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_CXX_CONFIG],
631217d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
631317d15b25SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
631417d15b25SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl
6315986ba33cSDag-Erling Smørgravif test -n "$CXX" && ( test no != "$CXX" &&
6316986ba33cSDag-Erling Smørgrav    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6317986ba33cSDag-Erling Smørgrav    (test g++ != "$CXX"))); then
631817d15b25SDag-Erling Smørgrav  AC_PROG_CXXCPP
631917d15b25SDag-Erling Smørgravelse
632017d15b25SDag-Erling Smørgrav  _lt_caught_CXX_error=yes
632117d15b25SDag-Erling Smørgravfi
632217d15b25SDag-Erling Smørgrav
632317d15b25SDag-Erling SmørgravAC_LANG_PUSH(C++)
632417d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
632517d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
632617d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
632717d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
632817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler_needs_object, $1)=no
632917d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
633017d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
633117d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
633217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
633317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
633417d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
633517d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
633617d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
633717d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
633817d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
633917d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
634017d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
634117d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
634217d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
634317d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
634417d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
634517d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
634617d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
634717d15b25SDag-Erling Smørgrav
634817d15b25SDag-Erling Smørgrav# Source file extension for C++ test sources.
634917d15b25SDag-Erling Smørgravac_ext=cpp
635017d15b25SDag-Erling Smørgrav
635117d15b25SDag-Erling Smørgrav# Object file extension for compiled C++ test sources.
635217d15b25SDag-Erling Smørgravobjext=o
635317d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
635417d15b25SDag-Erling Smørgrav
635517d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
635617d15b25SDag-Erling Smørgrav# the CXX compiler isn't working.  Some variables (like enable_shared)
635717d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
635817d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
6359986ba33cSDag-Erling Smørgravif test yes != "$_lt_caught_CXX_error"; then
636017d15b25SDag-Erling Smørgrav  # Code to be used in simple compile tests
636117d15b25SDag-Erling Smørgrav  lt_simple_compile_test_code="int some_variable = 0;"
636217d15b25SDag-Erling Smørgrav
636317d15b25SDag-Erling Smørgrav  # Code to be used in simple link tests
636417d15b25SDag-Erling Smørgrav  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
636517d15b25SDag-Erling Smørgrav
636617d15b25SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
636717d15b25SDag-Erling Smørgrav  _LT_TAG_COMPILER
636817d15b25SDag-Erling Smørgrav
636917d15b25SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
637017d15b25SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
637117d15b25SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
637217d15b25SDag-Erling Smørgrav
637317d15b25SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
637417d15b25SDag-Erling Smørgrav  lt_save_CC=$CC
637517d15b25SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
637617d15b25SDag-Erling Smørgrav  lt_save_LD=$LD
637717d15b25SDag-Erling Smørgrav  lt_save_GCC=$GCC
637817d15b25SDag-Erling Smørgrav  GCC=$GXX
637917d15b25SDag-Erling Smørgrav  lt_save_with_gnu_ld=$with_gnu_ld
638017d15b25SDag-Erling Smørgrav  lt_save_path_LD=$lt_cv_path_LD
638117d15b25SDag-Erling Smørgrav  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
638217d15b25SDag-Erling Smørgrav    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
638317d15b25SDag-Erling Smørgrav  else
638417d15b25SDag-Erling Smørgrav    $as_unset lt_cv_prog_gnu_ld
638517d15b25SDag-Erling Smørgrav  fi
638617d15b25SDag-Erling Smørgrav  if test -n "${lt_cv_path_LDCXX+set}"; then
638717d15b25SDag-Erling Smørgrav    lt_cv_path_LD=$lt_cv_path_LDCXX
638817d15b25SDag-Erling Smørgrav  else
638917d15b25SDag-Erling Smørgrav    $as_unset lt_cv_path_LD
639017d15b25SDag-Erling Smørgrav  fi
639117d15b25SDag-Erling Smørgrav  test -z "${LDCXX+set}" || LD=$LDCXX
639217d15b25SDag-Erling Smørgrav  CC=${CXX-"c++"}
639317d15b25SDag-Erling Smørgrav  CFLAGS=$CXXFLAGS
639417d15b25SDag-Erling Smørgrav  compiler=$CC
639517d15b25SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
639617d15b25SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
639717d15b25SDag-Erling Smørgrav
639817d15b25SDag-Erling Smørgrav  if test -n "$compiler"; then
639917d15b25SDag-Erling Smørgrav    # We don't want -fno-exception when compiling C++ code, so set the
640017d15b25SDag-Erling Smørgrav    # no_builtin_flag separately
6401986ba33cSDag-Erling Smørgrav    if test yes = "$GXX"; then
640217d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
640317d15b25SDag-Erling Smørgrav    else
640417d15b25SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
640517d15b25SDag-Erling Smørgrav    fi
640617d15b25SDag-Erling Smørgrav
6407986ba33cSDag-Erling Smørgrav    if test yes = "$GXX"; then
640817d15b25SDag-Erling Smørgrav      # Set up default GNU C++ configuration
640917d15b25SDag-Erling Smørgrav
641017d15b25SDag-Erling Smørgrav      LT_PATH_LD
641117d15b25SDag-Erling Smørgrav
641217d15b25SDag-Erling Smørgrav      # Check if GNU C++ uses GNU ld as the underlying linker, since the
641317d15b25SDag-Erling Smørgrav      # archiving commands below assume that GNU ld is being used.
6414986ba33cSDag-Erling Smørgrav      if test yes = "$with_gnu_ld"; then
6415986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6416986ba33cSDag-Erling Smørgrav        _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'
641717d15b25SDag-Erling Smørgrav
6418986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6419986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
642017d15b25SDag-Erling Smørgrav
642117d15b25SDag-Erling Smørgrav        # If archive_cmds runs LD, not CC, wlarc should be empty
642217d15b25SDag-Erling Smørgrav        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
642317d15b25SDag-Erling Smørgrav        #     investigate it a little bit more. (MM)
6424986ba33cSDag-Erling Smørgrav        wlarc='$wl'
642517d15b25SDag-Erling Smørgrav
642617d15b25SDag-Erling Smørgrav        # ancient GNU ld didn't support --whole-archive et. al.
642717d15b25SDag-Erling Smørgrav        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
642817d15b25SDag-Erling Smørgrav	  $GREP 'no-whole-archive' > /dev/null; then
6429986ba33cSDag-Erling Smørgrav          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
643017d15b25SDag-Erling Smørgrav        else
643117d15b25SDag-Erling Smørgrav          _LT_TAGVAR(whole_archive_flag_spec, $1)=
643217d15b25SDag-Erling Smørgrav        fi
643317d15b25SDag-Erling Smørgrav      else
643417d15b25SDag-Erling Smørgrav        with_gnu_ld=no
643517d15b25SDag-Erling Smørgrav        wlarc=
643617d15b25SDag-Erling Smørgrav
643717d15b25SDag-Erling Smørgrav        # A generic and very simple default shared library creation
643817d15b25SDag-Erling Smørgrav        # command for GNU C++ for the case where it uses the native
643917d15b25SDag-Erling Smørgrav        # linker, instead of GNU ld.  If possible, this setting should
644017d15b25SDag-Erling Smørgrav        # overridden to take advantage of the native linker features on
644117d15b25SDag-Erling Smørgrav        # the platform it is being used on.
644217d15b25SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
644317d15b25SDag-Erling Smørgrav      fi
644417d15b25SDag-Erling Smørgrav
644517d15b25SDag-Erling Smørgrav      # Commands to make compiler produce verbose output that lists
644617d15b25SDag-Erling Smørgrav      # what "hidden" libraries, object files and flags are used when
644717d15b25SDag-Erling Smørgrav      # linking a shared library.
644817d15b25SDag-Erling Smørgrav      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
644917d15b25SDag-Erling Smørgrav
645017d15b25SDag-Erling Smørgrav    else
645117d15b25SDag-Erling Smørgrav      GXX=no
645217d15b25SDag-Erling Smørgrav      with_gnu_ld=no
645317d15b25SDag-Erling Smørgrav      wlarc=
645417d15b25SDag-Erling Smørgrav    fi
645517d15b25SDag-Erling Smørgrav
645617d15b25SDag-Erling Smørgrav    # PORTME: fill in a description of your system's C++ link characteristics
645717d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
645817d15b25SDag-Erling Smørgrav    _LT_TAGVAR(ld_shlibs, $1)=yes
645917d15b25SDag-Erling Smørgrav    case $host_os in
646017d15b25SDag-Erling Smørgrav      aix3*)
646117d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
646217d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
646317d15b25SDag-Erling Smørgrav        ;;
646417d15b25SDag-Erling Smørgrav      aix[[4-9]]*)
6465986ba33cSDag-Erling Smørgrav        if test ia64 = "$host_cpu"; then
646617d15b25SDag-Erling Smørgrav          # On IA64, the linker does run time linking by default, so we don't
646717d15b25SDag-Erling Smørgrav          # have to do anything special.
646817d15b25SDag-Erling Smørgrav          aix_use_runtimelinking=no
646917d15b25SDag-Erling Smørgrav          exp_sym_flag='-Bexport'
6470986ba33cSDag-Erling Smørgrav          no_entry_flag=
647117d15b25SDag-Erling Smørgrav        else
647217d15b25SDag-Erling Smørgrav          aix_use_runtimelinking=no
647317d15b25SDag-Erling Smørgrav
647417d15b25SDag-Erling Smørgrav          # Test if we are trying to use run time linking or normal
647517d15b25SDag-Erling Smørgrav          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6476986ba33cSDag-Erling Smørgrav          # have runtime linking enabled, and use it for executables.
6477986ba33cSDag-Erling Smørgrav          # For shared libraries, we enable/disable runtime linking
6478986ba33cSDag-Erling Smørgrav          # depending on the kind of the shared library created -
6479986ba33cSDag-Erling Smørgrav          # when "with_aix_soname,aix_use_runtimelinking" is:
6480986ba33cSDag-Erling Smørgrav          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
6481986ba33cSDag-Erling Smørgrav          # "aix,yes"  lib.so          shared, rtl:yes, for executables
6482986ba33cSDag-Erling Smørgrav          #            lib.a           static archive
6483986ba33cSDag-Erling Smørgrav          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
6484986ba33cSDag-Erling Smørgrav          #            lib.a(lib.so.V) shared, rtl:no,  for executables
6485986ba33cSDag-Erling Smørgrav          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6486986ba33cSDag-Erling Smørgrav          #            lib.a(lib.so.V) shared, rtl:no
6487986ba33cSDag-Erling Smørgrav          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
6488986ba33cSDag-Erling Smørgrav          #            lib.a           static archive
648917d15b25SDag-Erling Smørgrav          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
649017d15b25SDag-Erling Smørgrav	    for ld_flag in $LDFLAGS; do
649117d15b25SDag-Erling Smørgrav	      case $ld_flag in
649217d15b25SDag-Erling Smørgrav	      *-brtl*)
649317d15b25SDag-Erling Smørgrav	        aix_use_runtimelinking=yes
649417d15b25SDag-Erling Smørgrav	        break
649517d15b25SDag-Erling Smørgrav	        ;;
649617d15b25SDag-Erling Smørgrav	      esac
649717d15b25SDag-Erling Smørgrav	    done
6498986ba33cSDag-Erling Smørgrav	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6499986ba33cSDag-Erling Smørgrav	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
6500986ba33cSDag-Erling Smørgrav	      # so we don't have lib.a shared libs to link our executables.
6501986ba33cSDag-Erling Smørgrav	      # We have to force runtime linking in this case.
6502986ba33cSDag-Erling Smørgrav	      aix_use_runtimelinking=yes
6503986ba33cSDag-Erling Smørgrav	      LDFLAGS="$LDFLAGS -Wl,-brtl"
6504986ba33cSDag-Erling Smørgrav	    fi
650517d15b25SDag-Erling Smørgrav	    ;;
650617d15b25SDag-Erling Smørgrav          esac
650717d15b25SDag-Erling Smørgrav
650817d15b25SDag-Erling Smørgrav          exp_sym_flag='-bexport'
650917d15b25SDag-Erling Smørgrav          no_entry_flag='-bnoentry'
651017d15b25SDag-Erling Smørgrav        fi
651117d15b25SDag-Erling Smørgrav
651217d15b25SDag-Erling Smørgrav        # When large executables or shared objects are built, AIX ld can
651317d15b25SDag-Erling Smørgrav        # have problems creating the table of contents.  If linking a library
651417d15b25SDag-Erling Smørgrav        # or program results in "error TOC overflow" add -mminimal-toc to
651517d15b25SDag-Erling Smørgrav        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
651617d15b25SDag-Erling Smørgrav        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
651717d15b25SDag-Erling Smørgrav
651817d15b25SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)=''
651917d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct, $1)=yes
652017d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
652117d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
652217d15b25SDag-Erling Smørgrav        _LT_TAGVAR(link_all_deplibs, $1)=yes
6523986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6524986ba33cSDag-Erling Smørgrav        case $with_aix_soname,$aix_use_runtimelinking in
6525986ba33cSDag-Erling Smørgrav        aix,*) ;;	# no import file
6526986ba33cSDag-Erling Smørgrav        svr4,* | *,yes) # use import file
6527986ba33cSDag-Erling Smørgrav          # The Import File defines what to hardcode.
6528986ba33cSDag-Erling Smørgrav          _LT_TAGVAR(hardcode_direct, $1)=no
6529986ba33cSDag-Erling Smørgrav          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6530986ba33cSDag-Erling Smørgrav          ;;
6531986ba33cSDag-Erling Smørgrav        esac
653217d15b25SDag-Erling Smørgrav
6533986ba33cSDag-Erling Smørgrav        if test yes = "$GXX"; then
653417d15b25SDag-Erling Smørgrav          case $host_os in aix4.[[012]]|aix4.[[012]].*)
653517d15b25SDag-Erling Smørgrav          # We only want to do this on AIX 4.2 and lower, the check
653617d15b25SDag-Erling Smørgrav          # below for broken collect2 doesn't work under 4.3+
6537986ba33cSDag-Erling Smørgrav	  collect2name=`$CC -print-prog-name=collect2`
653817d15b25SDag-Erling Smørgrav	  if test -f "$collect2name" &&
653917d15b25SDag-Erling Smørgrav	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
654017d15b25SDag-Erling Smørgrav	  then
654117d15b25SDag-Erling Smørgrav	    # We have reworked collect2
654217d15b25SDag-Erling Smørgrav	    :
654317d15b25SDag-Erling Smørgrav	  else
654417d15b25SDag-Erling Smørgrav	    # We have old collect2
654517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
654617d15b25SDag-Erling Smørgrav	    # It fails to find uninstalled libraries when the uninstalled
654717d15b25SDag-Erling Smørgrav	    # path is not listed in the libpath.  Setting hardcode_minus_L
654817d15b25SDag-Erling Smørgrav	    # to unsupported forces relinking
654917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
655017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
655117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
655217d15b25SDag-Erling Smørgrav	  fi
655317d15b25SDag-Erling Smørgrav          esac
655417d15b25SDag-Erling Smørgrav          shared_flag='-shared'
6555986ba33cSDag-Erling Smørgrav	  if test yes = "$aix_use_runtimelinking"; then
6556986ba33cSDag-Erling Smørgrav	    shared_flag=$shared_flag' $wl-G'
655717d15b25SDag-Erling Smørgrav	  fi
6558986ba33cSDag-Erling Smørgrav	  # Need to ensure runtime linking is disabled for the traditional
6559986ba33cSDag-Erling Smørgrav	  # shared library, or the linker may eventually find shared libraries
6560986ba33cSDag-Erling Smørgrav	  # /with/ Import File - we do not want to mix them.
6561986ba33cSDag-Erling Smørgrav	  shared_flag_aix='-shared'
6562986ba33cSDag-Erling Smørgrav	  shared_flag_svr4='-shared $wl-G'
656317d15b25SDag-Erling Smørgrav        else
656417d15b25SDag-Erling Smørgrav          # not using gcc
6565986ba33cSDag-Erling Smørgrav          if test ia64 = "$host_cpu"; then
656617d15b25SDag-Erling Smørgrav	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
656717d15b25SDag-Erling Smørgrav	  # chokes on -Wl,-G. The following line is correct:
656817d15b25SDag-Erling Smørgrav	  shared_flag='-G'
656917d15b25SDag-Erling Smørgrav          else
6570986ba33cSDag-Erling Smørgrav	    if test yes = "$aix_use_runtimelinking"; then
6571986ba33cSDag-Erling Smørgrav	      shared_flag='$wl-G'
657217d15b25SDag-Erling Smørgrav	    else
6573986ba33cSDag-Erling Smørgrav	      shared_flag='$wl-bM:SRE'
657417d15b25SDag-Erling Smørgrav	    fi
6575986ba33cSDag-Erling Smørgrav	    shared_flag_aix='$wl-bM:SRE'
6576986ba33cSDag-Erling Smørgrav	    shared_flag_svr4='$wl-G'
657717d15b25SDag-Erling Smørgrav          fi
657817d15b25SDag-Erling Smørgrav        fi
657917d15b25SDag-Erling Smørgrav
6580986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
658117d15b25SDag-Erling Smørgrav        # It seems that -bexpall does not export symbols beginning with
658217d15b25SDag-Erling Smørgrav        # underscore (_), so it is better to generate a list of symbols to
658317d15b25SDag-Erling Smørgrav	# export.
658417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(always_export_symbols, $1)=yes
6585986ba33cSDag-Erling Smørgrav	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
658617d15b25SDag-Erling Smørgrav          # Warning - without using the other runtime loading flags (-brtl),
658717d15b25SDag-Erling Smørgrav          # -berok will link without error, but may produce a broken library.
6588986ba33cSDag-Erling Smørgrav          # The "-G" linker flag allows undefined symbols.
6589986ba33cSDag-Erling Smørgrav          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
659017d15b25SDag-Erling Smørgrav          # Determine the default libpath from the value encoded in an empty
659117d15b25SDag-Erling Smørgrav          # executable.
659217d15b25SDag-Erling Smørgrav          _LT_SYS_MODULE_PATH_AIX([$1])
6593986ba33cSDag-Erling Smørgrav          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
659417d15b25SDag-Erling Smørgrav
6595986ba33cSDag-Erling Smørgrav          _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
659617d15b25SDag-Erling Smørgrav        else
6597986ba33cSDag-Erling Smørgrav          if test ia64 = "$host_cpu"; then
6598986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
659917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6600986ba33cSDag-Erling Smørgrav	    _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"
660117d15b25SDag-Erling Smørgrav          else
660217d15b25SDag-Erling Smørgrav	    # Determine the default libpath from the value encoded in an
660317d15b25SDag-Erling Smørgrav	    # empty executable.
660417d15b25SDag-Erling Smørgrav	    _LT_SYS_MODULE_PATH_AIX([$1])
6605986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
660617d15b25SDag-Erling Smørgrav	    # Warning - without using the other run time loading flags,
660717d15b25SDag-Erling Smørgrav	    # -berok will link without error, but may produce a broken library.
6608986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6609986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6610986ba33cSDag-Erling Smørgrav	    if test yes = "$with_gnu_ld"; then
661117d15b25SDag-Erling Smørgrav	      # We only use this code for GNU lds that support --whole-archive.
6612986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
661317d15b25SDag-Erling Smørgrav	    else
661417d15b25SDag-Erling Smørgrav	      # Exported symbols can be pulled into shared objects from archives
661517d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
661617d15b25SDag-Erling Smørgrav	    fi
661717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6618986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6619986ba33cSDag-Erling Smørgrav	    # -brtl affects multiple linker settings, -berok does not and is overridden later
6620986ba33cSDag-Erling Smørgrav	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6621986ba33cSDag-Erling Smørgrav	    if test svr4 != "$with_aix_soname"; then
662217d15b25SDag-Erling Smørgrav	      # This is similar to how AIX traditionally builds its shared
6623986ba33cSDag-Erling Smørgrav	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6624986ba33cSDag-Erling Smørgrav	      _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'
6625986ba33cSDag-Erling Smørgrav	    fi
6626986ba33cSDag-Erling Smørgrav	    if test aix != "$with_aix_soname"; then
6627986ba33cSDag-Erling Smørgrav	      _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'
6628986ba33cSDag-Erling Smørgrav	    else
6629986ba33cSDag-Erling Smørgrav	      # used by -dlpreopen to get the symbols
6630986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
6631986ba33cSDag-Erling Smørgrav	    fi
6632986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
663317d15b25SDag-Erling Smørgrav          fi
663417d15b25SDag-Erling Smørgrav        fi
663517d15b25SDag-Erling Smørgrav        ;;
663617d15b25SDag-Erling Smørgrav
663717d15b25SDag-Erling Smørgrav      beos*)
663817d15b25SDag-Erling Smørgrav	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
663917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
664017d15b25SDag-Erling Smørgrav	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
664117d15b25SDag-Erling Smørgrav	  # support --undefined.  This deserves some investigation.  FIXME
6642986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
664317d15b25SDag-Erling Smørgrav	else
664417d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
664517d15b25SDag-Erling Smørgrav	fi
664617d15b25SDag-Erling Smørgrav	;;
664717d15b25SDag-Erling Smørgrav
664817d15b25SDag-Erling Smørgrav      chorus*)
664917d15b25SDag-Erling Smørgrav        case $cc_basename in
665017d15b25SDag-Erling Smørgrav          *)
665117d15b25SDag-Erling Smørgrav	  # FIXME: insert proper C++ library support
665217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
665317d15b25SDag-Erling Smørgrav	  ;;
665417d15b25SDag-Erling Smørgrav        esac
665517d15b25SDag-Erling Smørgrav        ;;
665617d15b25SDag-Erling Smørgrav
665717d15b25SDag-Erling Smørgrav      cygwin* | mingw* | pw32* | cegcc*)
665817d15b25SDag-Erling Smørgrav	case $GXX,$cc_basename in
665917d15b25SDag-Erling Smørgrav	,cl* | no,cl*)
666017d15b25SDag-Erling Smørgrav	  # Native MSVC
666117d15b25SDag-Erling Smørgrav	  # hardcode_libdir_flag_spec is actually meaningless, as there is
666217d15b25SDag-Erling Smørgrav	  # no search path for DLLs.
666317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
666417d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
666517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(always_export_symbols, $1)=yes
666617d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(file_list_spec, $1)='@'
666717d15b25SDag-Erling Smørgrav	  # Tell ltmain to make .lib files, not .a files.
666817d15b25SDag-Erling Smørgrav	  libext=lib
666917d15b25SDag-Erling Smørgrav	  # Tell ltmain to make .dll files, not .so files.
6670986ba33cSDag-Erling Smørgrav	  shrext_cmds=.dll
667117d15b25SDag-Erling Smørgrav	  # FIXME: Setting linknames here is a bad hack.
6672986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6673986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6674986ba33cSDag-Erling Smørgrav              cp "$export_symbols" "$output_objdir/$soname.def";
6675986ba33cSDag-Erling Smørgrav              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
667617d15b25SDag-Erling Smørgrav            else
6677986ba33cSDag-Erling Smørgrav              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
667817d15b25SDag-Erling Smørgrav            fi~
667917d15b25SDag-Erling Smørgrav            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
668017d15b25SDag-Erling Smørgrav            linknames='
668117d15b25SDag-Erling Smørgrav	  # The linker will not automatically build a static lib if we build a DLL.
668217d15b25SDag-Erling Smørgrav	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
668317d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
668417d15b25SDag-Erling Smørgrav	  # Don't use ranlib
668517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
668617d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
668717d15b25SDag-Erling Smørgrav            lt_tool_outputfile="@TOOL_OUTPUT@"~
668817d15b25SDag-Erling Smørgrav            case $lt_outputfile in
668917d15b25SDag-Erling Smørgrav              *.exe|*.EXE) ;;
669017d15b25SDag-Erling Smørgrav              *)
6691986ba33cSDag-Erling Smørgrav                lt_outputfile=$lt_outputfile.exe
6692986ba33cSDag-Erling Smørgrav                lt_tool_outputfile=$lt_tool_outputfile.exe
669317d15b25SDag-Erling Smørgrav                ;;
669417d15b25SDag-Erling Smørgrav            esac~
669517d15b25SDag-Erling Smørgrav            func_to_tool_file "$lt_outputfile"~
6696986ba33cSDag-Erling Smørgrav            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
669717d15b25SDag-Erling Smørgrav              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
669817d15b25SDag-Erling Smørgrav              $RM "$lt_outputfile.manifest";
669917d15b25SDag-Erling Smørgrav            fi'
670017d15b25SDag-Erling Smørgrav	  ;;
670117d15b25SDag-Erling Smørgrav	*)
670217d15b25SDag-Erling Smørgrav	  # g++
670317d15b25SDag-Erling Smørgrav	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
670417d15b25SDag-Erling Smørgrav	  # as there is no search path for DLLs.
670517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6706986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
670717d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
670817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(always_export_symbols, $1)=no
670917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
671017d15b25SDag-Erling Smørgrav
671117d15b25SDag-Erling Smørgrav	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6712986ba33cSDag-Erling Smørgrav	    _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'
6713986ba33cSDag-Erling Smørgrav	    # If the export-symbols file already is a .def file, use it as
6714986ba33cSDag-Erling Smørgrav	    # is; otherwise, prepend EXPORTS...
6715986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
671617d15b25SDag-Erling Smørgrav              cp $export_symbols $output_objdir/$soname.def;
671717d15b25SDag-Erling Smørgrav            else
671817d15b25SDag-Erling Smørgrav              echo EXPORTS > $output_objdir/$soname.def;
671917d15b25SDag-Erling Smørgrav              cat $export_symbols >> $output_objdir/$soname.def;
672017d15b25SDag-Erling Smørgrav            fi~
6721986ba33cSDag-Erling Smørgrav            $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'
672217d15b25SDag-Erling Smørgrav	  else
672317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
672417d15b25SDag-Erling Smørgrav	  fi
672517d15b25SDag-Erling Smørgrav	  ;;
672617d15b25SDag-Erling Smørgrav	esac
672717d15b25SDag-Erling Smørgrav	;;
672817d15b25SDag-Erling Smørgrav      darwin* | rhapsody*)
672917d15b25SDag-Erling Smørgrav        _LT_DARWIN_LINKER_FEATURES($1)
673017d15b25SDag-Erling Smørgrav	;;
673117d15b25SDag-Erling Smørgrav
6732986ba33cSDag-Erling Smørgrav      os2*)
6733986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6734986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_minus_L, $1)=yes
6735986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6736986ba33cSDag-Erling Smørgrav	shrext_cmds=.dll
6737986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6738986ba33cSDag-Erling Smørgrav	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6739986ba33cSDag-Erling Smørgrav	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6740986ba33cSDag-Erling Smørgrav	  $ECHO EXPORTS >> $output_objdir/$libname.def~
6741986ba33cSDag-Erling Smørgrav	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6742986ba33cSDag-Erling Smørgrav	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6743986ba33cSDag-Erling Smørgrav	  emximp -o $lib $output_objdir/$libname.def'
6744986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6745986ba33cSDag-Erling Smørgrav	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6746986ba33cSDag-Erling Smørgrav	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6747986ba33cSDag-Erling Smørgrav	  $ECHO EXPORTS >> $output_objdir/$libname.def~
6748986ba33cSDag-Erling Smørgrav	  prefix_cmds="$SED"~
6749986ba33cSDag-Erling Smørgrav	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
6750986ba33cSDag-Erling Smørgrav	    prefix_cmds="$prefix_cmds -e 1d";
6751986ba33cSDag-Erling Smørgrav	  fi~
6752986ba33cSDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6753986ba33cSDag-Erling Smørgrav	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6754986ba33cSDag-Erling Smørgrav	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6755986ba33cSDag-Erling Smørgrav	  emximp -o $lib $output_objdir/$libname.def'
6756986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6757986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6758986ba33cSDag-Erling Smørgrav	;;
6759986ba33cSDag-Erling Smørgrav
676017d15b25SDag-Erling Smørgrav      dgux*)
676117d15b25SDag-Erling Smørgrav        case $cc_basename in
676217d15b25SDag-Erling Smørgrav          ec++*)
676317d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
676417d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
676517d15b25SDag-Erling Smørgrav	    ;;
676617d15b25SDag-Erling Smørgrav          ghcx*)
676717d15b25SDag-Erling Smørgrav	    # Green Hills C++ Compiler
676817d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
676917d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
677017d15b25SDag-Erling Smørgrav	    ;;
677117d15b25SDag-Erling Smørgrav          *)
677217d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
677317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
677417d15b25SDag-Erling Smørgrav	    ;;
677517d15b25SDag-Erling Smørgrav        esac
677617d15b25SDag-Erling Smørgrav        ;;
677717d15b25SDag-Erling Smørgrav
677817d15b25SDag-Erling Smørgrav      freebsd2.*)
677917d15b25SDag-Erling Smørgrav        # C++ shared libraries reported to be fairly broken before
678017d15b25SDag-Erling Smørgrav	# switch to ELF
678117d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
678217d15b25SDag-Erling Smørgrav        ;;
678317d15b25SDag-Erling Smørgrav
678417d15b25SDag-Erling Smørgrav      freebsd-elf*)
678517d15b25SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
678617d15b25SDag-Erling Smørgrav        ;;
678717d15b25SDag-Erling Smørgrav
678817d15b25SDag-Erling Smørgrav      freebsd* | dragonfly*)
678917d15b25SDag-Erling Smørgrav        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
679017d15b25SDag-Erling Smørgrav        # conventions
679117d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=yes
679217d15b25SDag-Erling Smørgrav        ;;
679317d15b25SDag-Erling Smørgrav
679417d15b25SDag-Erling Smørgrav      haiku*)
6795986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
679617d15b25SDag-Erling Smørgrav        _LT_TAGVAR(link_all_deplibs, $1)=yes
679717d15b25SDag-Erling Smørgrav        ;;
679817d15b25SDag-Erling Smørgrav
679917d15b25SDag-Erling Smørgrav      hpux9*)
6800986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
680117d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6802986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
680317d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct, $1)=yes
680417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
680517d15b25SDag-Erling Smørgrav				             # but as the default
680617d15b25SDag-Erling Smørgrav				             # location of the library.
680717d15b25SDag-Erling Smørgrav
680817d15b25SDag-Erling Smørgrav        case $cc_basename in
680917d15b25SDag-Erling Smørgrav          CC*)
681017d15b25SDag-Erling Smørgrav            # FIXME: insert proper C++ library support
681117d15b25SDag-Erling Smørgrav            _LT_TAGVAR(ld_shlibs, $1)=no
681217d15b25SDag-Erling Smørgrav            ;;
681317d15b25SDag-Erling Smørgrav          aCC*)
6814986ba33cSDag-Erling Smørgrav            _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'
681517d15b25SDag-Erling Smørgrav            # Commands to make compiler produce verbose output that lists
681617d15b25SDag-Erling Smørgrav            # what "hidden" libraries, object files and flags are used when
681717d15b25SDag-Erling Smørgrav            # linking a shared library.
681817d15b25SDag-Erling Smørgrav            #
681917d15b25SDag-Erling Smørgrav            # There doesn't appear to be a way to prevent this compiler from
682017d15b25SDag-Erling Smørgrav            # explicitly linking system object files so we need to strip them
682117d15b25SDag-Erling Smørgrav            # from the output so that they don't get included in the library
682217d15b25SDag-Erling Smørgrav            # dependencies.
6823986ba33cSDag-Erling Smørgrav            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"'
682417d15b25SDag-Erling Smørgrav            ;;
682517d15b25SDag-Erling Smørgrav          *)
6826986ba33cSDag-Erling Smørgrav            if test yes = "$GXX"; then
6827986ba33cSDag-Erling Smørgrav              _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'
682817d15b25SDag-Erling Smørgrav            else
682917d15b25SDag-Erling Smørgrav              # FIXME: insert proper C++ library support
683017d15b25SDag-Erling Smørgrav              _LT_TAGVAR(ld_shlibs, $1)=no
683117d15b25SDag-Erling Smørgrav            fi
683217d15b25SDag-Erling Smørgrav            ;;
683317d15b25SDag-Erling Smørgrav        esac
683417d15b25SDag-Erling Smørgrav        ;;
683517d15b25SDag-Erling Smørgrav
683617d15b25SDag-Erling Smørgrav      hpux10*|hpux11*)
6837986ba33cSDag-Erling Smørgrav        if test no = "$with_gnu_ld"; then
6838986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
683917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
684017d15b25SDag-Erling Smørgrav
684117d15b25SDag-Erling Smørgrav          case $host_cpu in
684217d15b25SDag-Erling Smørgrav            hppa*64*|ia64*)
684317d15b25SDag-Erling Smørgrav              ;;
684417d15b25SDag-Erling Smørgrav            *)
6845986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
684617d15b25SDag-Erling Smørgrav              ;;
684717d15b25SDag-Erling Smørgrav          esac
684817d15b25SDag-Erling Smørgrav        fi
684917d15b25SDag-Erling Smørgrav        case $host_cpu in
685017d15b25SDag-Erling Smørgrav          hppa*64*|ia64*)
685117d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct, $1)=no
685217d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
685317d15b25SDag-Erling Smørgrav            ;;
685417d15b25SDag-Erling Smørgrav          *)
685517d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct, $1)=yes
685617d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
685717d15b25SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
685817d15b25SDag-Erling Smørgrav					         # but as the default
685917d15b25SDag-Erling Smørgrav					         # location of the library.
686017d15b25SDag-Erling Smørgrav            ;;
686117d15b25SDag-Erling Smørgrav        esac
686217d15b25SDag-Erling Smørgrav
686317d15b25SDag-Erling Smørgrav        case $cc_basename in
686417d15b25SDag-Erling Smørgrav          CC*)
686517d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
686617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
686717d15b25SDag-Erling Smørgrav	    ;;
686817d15b25SDag-Erling Smørgrav          aCC*)
686917d15b25SDag-Erling Smørgrav	    case $host_cpu in
687017d15b25SDag-Erling Smørgrav	      hppa*64*)
6871986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
687217d15b25SDag-Erling Smørgrav	        ;;
687317d15b25SDag-Erling Smørgrav	      ia64*)
6874986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
687517d15b25SDag-Erling Smørgrav	        ;;
687617d15b25SDag-Erling Smørgrav	      *)
6877986ba33cSDag-Erling Smørgrav	        _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'
687817d15b25SDag-Erling Smørgrav	        ;;
687917d15b25SDag-Erling Smørgrav	    esac
688017d15b25SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
688117d15b25SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
688217d15b25SDag-Erling Smørgrav	    # linking a shared library.
688317d15b25SDag-Erling Smørgrav	    #
688417d15b25SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
688517d15b25SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
688617d15b25SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
688717d15b25SDag-Erling Smørgrav	    # dependencies.
6888986ba33cSDag-Erling Smørgrav	    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"'
688917d15b25SDag-Erling Smørgrav	    ;;
689017d15b25SDag-Erling Smørgrav          *)
6891986ba33cSDag-Erling Smørgrav	    if test yes = "$GXX"; then
6892986ba33cSDag-Erling Smørgrav	      if test no = "$with_gnu_ld"; then
689317d15b25SDag-Erling Smørgrav	        case $host_cpu in
689417d15b25SDag-Erling Smørgrav	          hppa*64*)
6895986ba33cSDag-Erling Smørgrav	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
689617d15b25SDag-Erling Smørgrav	            ;;
689717d15b25SDag-Erling Smørgrav	          ia64*)
6898986ba33cSDag-Erling Smørgrav	            _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'
689917d15b25SDag-Erling Smørgrav	            ;;
690017d15b25SDag-Erling Smørgrav	          *)
6901986ba33cSDag-Erling Smørgrav	            _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'
690217d15b25SDag-Erling Smørgrav	            ;;
690317d15b25SDag-Erling Smørgrav	        esac
690417d15b25SDag-Erling Smørgrav	      fi
690517d15b25SDag-Erling Smørgrav	    else
690617d15b25SDag-Erling Smørgrav	      # FIXME: insert proper C++ library support
690717d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(ld_shlibs, $1)=no
690817d15b25SDag-Erling Smørgrav	    fi
690917d15b25SDag-Erling Smørgrav	    ;;
691017d15b25SDag-Erling Smørgrav        esac
691117d15b25SDag-Erling Smørgrav        ;;
691217d15b25SDag-Erling Smørgrav
691317d15b25SDag-Erling Smørgrav      interix[[3-9]]*)
691417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=no
691517d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6916986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6917986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
691817d15b25SDag-Erling Smørgrav	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
691917d15b25SDag-Erling Smørgrav	# Instead, shared libraries are loaded at an image base (0x10000000 by
692017d15b25SDag-Erling Smørgrav	# default) and relocated if they conflict, which is a slow very memory
692117d15b25SDag-Erling Smørgrav	# consuming and fragmenting process.  To avoid this, we pick a random,
692217d15b25SDag-Erling Smørgrav	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
692317d15b25SDag-Erling Smørgrav	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6924986ba33cSDag-Erling Smørgrav	_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'
6925986ba33cSDag-Erling Smørgrav	_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'
692617d15b25SDag-Erling Smørgrav	;;
692717d15b25SDag-Erling Smørgrav      irix5* | irix6*)
692817d15b25SDag-Erling Smørgrav        case $cc_basename in
692917d15b25SDag-Erling Smørgrav          CC*)
693017d15b25SDag-Erling Smørgrav	    # SGI C++
6931986ba33cSDag-Erling Smørgrav	    _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'
693217d15b25SDag-Erling Smørgrav
693317d15b25SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
693417d15b25SDag-Erling Smørgrav	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
693517d15b25SDag-Erling Smørgrav	    # necessary to make sure instantiated templates are included
693617d15b25SDag-Erling Smørgrav	    # in the archive.
693717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
693817d15b25SDag-Erling Smørgrav	    ;;
693917d15b25SDag-Erling Smørgrav          *)
6940986ba33cSDag-Erling Smørgrav	    if test yes = "$GXX"; then
6941986ba33cSDag-Erling Smørgrav	      if test no = "$with_gnu_ld"; then
6942986ba33cSDag-Erling Smørgrav	        _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'
694317d15b25SDag-Erling Smørgrav	      else
6944986ba33cSDag-Erling Smørgrav	        _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'
694517d15b25SDag-Erling Smørgrav	      fi
694617d15b25SDag-Erling Smørgrav	    fi
694717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(link_all_deplibs, $1)=yes
694817d15b25SDag-Erling Smørgrav	    ;;
694917d15b25SDag-Erling Smørgrav        esac
6950986ba33cSDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
695117d15b25SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
695217d15b25SDag-Erling Smørgrav        _LT_TAGVAR(inherit_rpath, $1)=yes
695317d15b25SDag-Erling Smørgrav        ;;
695417d15b25SDag-Erling Smørgrav
6955986ba33cSDag-Erling Smørgrav      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
695617d15b25SDag-Erling Smørgrav        case $cc_basename in
695717d15b25SDag-Erling Smørgrav          KCC*)
695817d15b25SDag-Erling Smørgrav	    # Kuck and Associates, Inc. (KAI) C++ Compiler
695917d15b25SDag-Erling Smørgrav
696017d15b25SDag-Erling Smørgrav	    # KCC will only create a shared library if the output file
696117d15b25SDag-Erling Smørgrav	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
696217d15b25SDag-Erling Smørgrav	    # to its proper name (with version) after linking.
6963986ba33cSDag-Erling Smørgrav	    _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'
6964986ba33cSDag-Erling Smørgrav	    _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'
696517d15b25SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
696617d15b25SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
696717d15b25SDag-Erling Smørgrav	    # linking a shared library.
696817d15b25SDag-Erling Smørgrav	    #
696917d15b25SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
697017d15b25SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
697117d15b25SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
697217d15b25SDag-Erling Smørgrav	    # dependencies.
6973986ba33cSDag-Erling Smørgrav	    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"'
697417d15b25SDag-Erling Smørgrav
6975986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6976986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
697717d15b25SDag-Erling Smørgrav
697817d15b25SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
697917d15b25SDag-Erling Smørgrav	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
698017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
698117d15b25SDag-Erling Smørgrav	    ;;
698217d15b25SDag-Erling Smørgrav	  icpc* | ecpc* )
698317d15b25SDag-Erling Smørgrav	    # Intel C++
698417d15b25SDag-Erling Smørgrav	    with_gnu_ld=yes
698517d15b25SDag-Erling Smørgrav	    # version 8.0 and above of icpc choke on multiply defined symbols
698617d15b25SDag-Erling Smørgrav	    # if we add $predep_objects and $postdep_objects, however 7.1 and
698717d15b25SDag-Erling Smørgrav	    # earlier do not add the objects themselves.
698817d15b25SDag-Erling Smørgrav	    case `$CC -V 2>&1` in
698917d15b25SDag-Erling Smørgrav	      *"Version 7."*)
6990986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6991986ba33cSDag-Erling Smørgrav		_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'
699217d15b25SDag-Erling Smørgrav		;;
699317d15b25SDag-Erling Smørgrav	      *)  # Version 8.0 or newer
699417d15b25SDag-Erling Smørgrav	        tmp_idyn=
699517d15b25SDag-Erling Smørgrav	        case $host_cpu in
699617d15b25SDag-Erling Smørgrav		  ia64*) tmp_idyn=' -i_dynamic';;
699717d15b25SDag-Erling Smørgrav		esac
6998986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6999986ba33cSDag-Erling Smørgrav		_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'
700017d15b25SDag-Erling Smørgrav		;;
700117d15b25SDag-Erling Smørgrav	    esac
700217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7003986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7004986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7005986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
700617d15b25SDag-Erling Smørgrav	    ;;
700717d15b25SDag-Erling Smørgrav          pgCC* | pgcpp*)
700817d15b25SDag-Erling Smørgrav            # Portland Group C++ compiler
700917d15b25SDag-Erling Smørgrav	    case `$CC -V` in
701017d15b25SDag-Erling Smørgrav	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
701117d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
701217d15b25SDag-Erling Smørgrav               rm -rf $tpldir~
701317d15b25SDag-Erling Smørgrav               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
701417d15b25SDag-Erling Smørgrav               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
701517d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
701617d15b25SDag-Erling Smørgrav                rm -rf $tpldir~
701717d15b25SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
701817d15b25SDag-Erling Smørgrav                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
701917d15b25SDag-Erling Smørgrav                $RANLIB $oldlib'
702017d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
702117d15b25SDag-Erling Smørgrav                rm -rf $tpldir~
702217d15b25SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7023986ba33cSDag-Erling Smørgrav                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
702417d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
702517d15b25SDag-Erling Smørgrav                rm -rf $tpldir~
702617d15b25SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7027986ba33cSDag-Erling Smørgrav                $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'
702817d15b25SDag-Erling Smørgrav	      ;;
702917d15b25SDag-Erling Smørgrav	    *) # Version 6 and above use weak symbols
7030986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7031986ba33cSDag-Erling Smørgrav	      _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'
703217d15b25SDag-Erling Smørgrav	      ;;
703317d15b25SDag-Erling Smørgrav	    esac
703417d15b25SDag-Erling Smørgrav
7035986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7036986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7037986ba33cSDag-Erling Smørgrav	    _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'
703817d15b25SDag-Erling Smørgrav            ;;
703917d15b25SDag-Erling Smørgrav	  cxx*)
704017d15b25SDag-Erling Smørgrav	    # Compaq C++
7041986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7042986ba33cSDag-Erling Smørgrav	    _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'
704317d15b25SDag-Erling Smørgrav
704417d15b25SDag-Erling Smørgrav	    runpath_var=LD_RUN_PATH
704517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
704617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
704717d15b25SDag-Erling Smørgrav
704817d15b25SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
704917d15b25SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
705017d15b25SDag-Erling Smørgrav	    # linking a shared library.
705117d15b25SDag-Erling Smørgrav	    #
705217d15b25SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
705317d15b25SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
705417d15b25SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
705517d15b25SDag-Erling Smørgrav	    # dependencies.
7056986ba33cSDag-Erling Smørgrav	    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'
705717d15b25SDag-Erling Smørgrav	    ;;
705817d15b25SDag-Erling Smørgrav	  xl* | mpixl* | bgxl*)
705917d15b25SDag-Erling Smørgrav	    # IBM XL 8.0 on PPC, with GNU ld
7060986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7061986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7062986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7063986ba33cSDag-Erling Smørgrav	    if test yes = "$supports_anon_versioning"; then
706417d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
706517d15b25SDag-Erling Smørgrav                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
706617d15b25SDag-Erling Smørgrav                echo "local: *; };" >> $output_objdir/$libname.ver~
7067986ba33cSDag-Erling Smørgrav                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
706817d15b25SDag-Erling Smørgrav	    fi
706917d15b25SDag-Erling Smørgrav	    ;;
707017d15b25SDag-Erling Smørgrav	  *)
707117d15b25SDag-Erling Smørgrav	    case `$CC -V 2>&1 | sed 5q` in
707217d15b25SDag-Erling Smørgrav	    *Sun\ C*)
707317d15b25SDag-Erling Smørgrav	      # Sun C++ 5.9
707417d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7075986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7076986ba33cSDag-Erling Smørgrav	      _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'
707717d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7078986ba33cSDag-Erling Smørgrav	      _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'
707917d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(compiler_needs_object, $1)=yes
708017d15b25SDag-Erling Smørgrav
708117d15b25SDag-Erling Smørgrav	      # Not sure whether something based on
708217d15b25SDag-Erling Smørgrav	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
708317d15b25SDag-Erling Smørgrav	      # would be better.
708417d15b25SDag-Erling Smørgrav	      output_verbose_link_cmd='func_echo_all'
708517d15b25SDag-Erling Smørgrav
708617d15b25SDag-Erling Smørgrav	      # Archives containing C++ object files must be created using
708717d15b25SDag-Erling Smørgrav	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
708817d15b25SDag-Erling Smørgrav	      # necessary to make sure instantiated templates are included
708917d15b25SDag-Erling Smørgrav	      # in the archive.
709017d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
709117d15b25SDag-Erling Smørgrav	      ;;
709217d15b25SDag-Erling Smørgrav	    esac
709317d15b25SDag-Erling Smørgrav	    ;;
709417d15b25SDag-Erling Smørgrav	esac
709517d15b25SDag-Erling Smørgrav	;;
709617d15b25SDag-Erling Smørgrav
709717d15b25SDag-Erling Smørgrav      lynxos*)
709817d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
709917d15b25SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
710017d15b25SDag-Erling Smørgrav	;;
710117d15b25SDag-Erling Smørgrav
710217d15b25SDag-Erling Smørgrav      m88k*)
710317d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
710417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
710517d15b25SDag-Erling Smørgrav	;;
710617d15b25SDag-Erling Smørgrav
710717d15b25SDag-Erling Smørgrav      mvs*)
710817d15b25SDag-Erling Smørgrav        case $cc_basename in
710917d15b25SDag-Erling Smørgrav          cxx*)
711017d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
711117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
711217d15b25SDag-Erling Smørgrav	    ;;
711317d15b25SDag-Erling Smørgrav	  *)
711417d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
711517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
711617d15b25SDag-Erling Smørgrav	    ;;
711717d15b25SDag-Erling Smørgrav	esac
711817d15b25SDag-Erling Smørgrav	;;
711917d15b25SDag-Erling Smørgrav
712017d15b25SDag-Erling Smørgrav      netbsd*)
712117d15b25SDag-Erling Smørgrav        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
712217d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
712317d15b25SDag-Erling Smørgrav	  wlarc=
712417d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
712517d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
712617d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
712717d15b25SDag-Erling Smørgrav	fi
712817d15b25SDag-Erling Smørgrav	# Workaround some broken pre-1.5 toolchains
712917d15b25SDag-Erling Smørgrav	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
713017d15b25SDag-Erling Smørgrav	;;
713117d15b25SDag-Erling Smørgrav
713217d15b25SDag-Erling Smørgrav      *nto* | *qnx*)
713317d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=yes
713417d15b25SDag-Erling Smørgrav	;;
713517d15b25SDag-Erling Smørgrav
7136986ba33cSDag-Erling Smørgrav      openbsd* | bitrig*)
713717d15b25SDag-Erling Smørgrav	if test -f /usr/libexec/ld.so; then
713817d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
713917d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
714017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
714117d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7142986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7143986ba33cSDag-Erling Smørgrav	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7144986ba33cSDag-Erling Smørgrav	    _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'
7145986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7146986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
714717d15b25SDag-Erling Smørgrav	  fi
714817d15b25SDag-Erling Smørgrav	  output_verbose_link_cmd=func_echo_all
714917d15b25SDag-Erling Smørgrav	else
715017d15b25SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
715117d15b25SDag-Erling Smørgrav	fi
715217d15b25SDag-Erling Smørgrav	;;
715317d15b25SDag-Erling Smørgrav
715417d15b25SDag-Erling Smørgrav      osf3* | osf4* | osf5*)
715517d15b25SDag-Erling Smørgrav        case $cc_basename in
715617d15b25SDag-Erling Smørgrav          KCC*)
715717d15b25SDag-Erling Smørgrav	    # Kuck and Associates, Inc. (KAI) C++ Compiler
715817d15b25SDag-Erling Smørgrav
715917d15b25SDag-Erling Smørgrav	    # KCC will only create a shared library if the output file
716017d15b25SDag-Erling Smørgrav	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
716117d15b25SDag-Erling Smørgrav	    # to its proper name (with version) after linking.
7162986ba33cSDag-Erling Smørgrav	    _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'
716317d15b25SDag-Erling Smørgrav
7164986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
716517d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
716617d15b25SDag-Erling Smørgrav
716717d15b25SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
716817d15b25SDag-Erling Smørgrav	    # the KAI C++ compiler.
716917d15b25SDag-Erling Smørgrav	    case $host in
717017d15b25SDag-Erling Smørgrav	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
717117d15b25SDag-Erling Smørgrav	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
717217d15b25SDag-Erling Smørgrav	    esac
717317d15b25SDag-Erling Smørgrav	    ;;
717417d15b25SDag-Erling Smørgrav          RCC*)
717517d15b25SDag-Erling Smørgrav	    # Rational C++ 2.4.1
717617d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
717717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
717817d15b25SDag-Erling Smørgrav	    ;;
717917d15b25SDag-Erling Smørgrav          cxx*)
718017d15b25SDag-Erling Smørgrav	    case $host in
718117d15b25SDag-Erling Smørgrav	      osf3*)
7182986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7183986ba33cSDag-Erling Smørgrav	        _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'
7184986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
718517d15b25SDag-Erling Smørgrav		;;
718617d15b25SDag-Erling Smørgrav	      *)
718717d15b25SDag-Erling Smørgrav	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7188986ba33cSDag-Erling Smørgrav	        _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'
718917d15b25SDag-Erling Smørgrav	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
719017d15b25SDag-Erling Smørgrav                  echo "-hidden">> $lib.exp~
7191986ba33cSDag-Erling Smørgrav                  $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~
719217d15b25SDag-Erling Smørgrav                  $RM $lib.exp'
719317d15b25SDag-Erling Smørgrav	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
719417d15b25SDag-Erling Smørgrav		;;
719517d15b25SDag-Erling Smørgrav	    esac
719617d15b25SDag-Erling Smørgrav
719717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
719817d15b25SDag-Erling Smørgrav
719917d15b25SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
720017d15b25SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
720117d15b25SDag-Erling Smørgrav	    # linking a shared library.
720217d15b25SDag-Erling Smørgrav	    #
720317d15b25SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
720417d15b25SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
720517d15b25SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
720617d15b25SDag-Erling Smørgrav	    # dependencies.
7207986ba33cSDag-Erling Smørgrav	    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"'
720817d15b25SDag-Erling Smørgrav	    ;;
720917d15b25SDag-Erling Smørgrav	  *)
7210986ba33cSDag-Erling Smørgrav	    if test yes,no = "$GXX,$with_gnu_ld"; then
7211986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
721217d15b25SDag-Erling Smørgrav	      case $host in
721317d15b25SDag-Erling Smørgrav	        osf3*)
7214986ba33cSDag-Erling Smørgrav	          _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'
721517d15b25SDag-Erling Smørgrav		  ;;
721617d15b25SDag-Erling Smørgrav	        *)
7217986ba33cSDag-Erling Smørgrav	          _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'
721817d15b25SDag-Erling Smørgrav		  ;;
721917d15b25SDag-Erling Smørgrav	      esac
722017d15b25SDag-Erling Smørgrav
7221986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
722217d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
722317d15b25SDag-Erling Smørgrav
722417d15b25SDag-Erling Smørgrav	      # Commands to make compiler produce verbose output that lists
722517d15b25SDag-Erling Smørgrav	      # what "hidden" libraries, object files and flags are used when
722617d15b25SDag-Erling Smørgrav	      # linking a shared library.
722717d15b25SDag-Erling Smørgrav	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
722817d15b25SDag-Erling Smørgrav
722917d15b25SDag-Erling Smørgrav	    else
723017d15b25SDag-Erling Smørgrav	      # FIXME: insert proper C++ library support
723117d15b25SDag-Erling Smørgrav	      _LT_TAGVAR(ld_shlibs, $1)=no
723217d15b25SDag-Erling Smørgrav	    fi
723317d15b25SDag-Erling Smørgrav	    ;;
723417d15b25SDag-Erling Smørgrav        esac
723517d15b25SDag-Erling Smørgrav        ;;
723617d15b25SDag-Erling Smørgrav
723717d15b25SDag-Erling Smørgrav      psos*)
723817d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
723917d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
724017d15b25SDag-Erling Smørgrav        ;;
724117d15b25SDag-Erling Smørgrav
724217d15b25SDag-Erling Smørgrav      sunos4*)
724317d15b25SDag-Erling Smørgrav        case $cc_basename in
724417d15b25SDag-Erling Smørgrav          CC*)
724517d15b25SDag-Erling Smørgrav	    # Sun C++ 4.x
724617d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
724717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
724817d15b25SDag-Erling Smørgrav	    ;;
724917d15b25SDag-Erling Smørgrav          lcc*)
725017d15b25SDag-Erling Smørgrav	    # Lucid
725117d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
725217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
725317d15b25SDag-Erling Smørgrav	    ;;
725417d15b25SDag-Erling Smørgrav          *)
725517d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
725617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
725717d15b25SDag-Erling Smørgrav	    ;;
725817d15b25SDag-Erling Smørgrav        esac
725917d15b25SDag-Erling Smørgrav        ;;
726017d15b25SDag-Erling Smørgrav
726117d15b25SDag-Erling Smørgrav      solaris*)
726217d15b25SDag-Erling Smørgrav        case $cc_basename in
726317d15b25SDag-Erling Smørgrav          CC* | sunCC*)
726417d15b25SDag-Erling Smørgrav	    # Sun C++ 4.2, 5.x and Centerline C++
726517d15b25SDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
726617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7267986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
726817d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7269986ba33cSDag-Erling Smørgrav              $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'
727017d15b25SDag-Erling Smørgrav
727117d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
727217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
727317d15b25SDag-Erling Smørgrav	    case $host_os in
727417d15b25SDag-Erling Smørgrav	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
727517d15b25SDag-Erling Smørgrav	      *)
727617d15b25SDag-Erling Smørgrav		# The compiler driver will combine and reorder linker options,
7277986ba33cSDag-Erling Smørgrav		# but understands '-z linker_flag'.
727817d15b25SDag-Erling Smørgrav	        # Supported since Solaris 2.6 (maybe 2.5.1?)
727917d15b25SDag-Erling Smørgrav		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
728017d15b25SDag-Erling Smørgrav	        ;;
728117d15b25SDag-Erling Smørgrav	    esac
728217d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(link_all_deplibs, $1)=yes
728317d15b25SDag-Erling Smørgrav
728417d15b25SDag-Erling Smørgrav	    output_verbose_link_cmd='func_echo_all'
728517d15b25SDag-Erling Smørgrav
728617d15b25SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
728717d15b25SDag-Erling Smørgrav	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
728817d15b25SDag-Erling Smørgrav	    # necessary to make sure instantiated templates are included
728917d15b25SDag-Erling Smørgrav	    # in the archive.
729017d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
729117d15b25SDag-Erling Smørgrav	    ;;
729217d15b25SDag-Erling Smørgrav          gcx*)
729317d15b25SDag-Erling Smørgrav	    # Green Hills C++ Compiler
7294986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
729517d15b25SDag-Erling Smørgrav
729617d15b25SDag-Erling Smørgrav	    # The C++ compiler must be used to create the archive.
729717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
729817d15b25SDag-Erling Smørgrav	    ;;
729917d15b25SDag-Erling Smørgrav          *)
730017d15b25SDag-Erling Smørgrav	    # GNU C++ compiler with Solaris linker
7301986ba33cSDag-Erling Smørgrav	    if test yes,no = "$GXX,$with_gnu_ld"; then
7302986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
730317d15b25SDag-Erling Smørgrav	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7304986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
730517d15b25SDag-Erling Smørgrav	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7306986ba33cSDag-Erling Smørgrav                  $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'
730717d15b25SDag-Erling Smørgrav
730817d15b25SDag-Erling Smørgrav	        # Commands to make compiler produce verbose output that lists
730917d15b25SDag-Erling Smørgrav	        # what "hidden" libraries, object files and flags are used when
731017d15b25SDag-Erling Smørgrav	        # linking a shared library.
731117d15b25SDag-Erling Smørgrav	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
731217d15b25SDag-Erling Smørgrav	      else
7313986ba33cSDag-Erling Smørgrav	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
731417d15b25SDag-Erling Smørgrav	        # platform.
7315986ba33cSDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
731617d15b25SDag-Erling Smørgrav	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7317986ba33cSDag-Erling Smørgrav                  $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'
731817d15b25SDag-Erling Smørgrav
731917d15b25SDag-Erling Smørgrav	        # Commands to make compiler produce verbose output that lists
732017d15b25SDag-Erling Smørgrav	        # what "hidden" libraries, object files and flags are used when
732117d15b25SDag-Erling Smørgrav	        # linking a shared library.
732217d15b25SDag-Erling Smørgrav	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"'
732317d15b25SDag-Erling Smørgrav	      fi
732417d15b25SDag-Erling Smørgrav
7325986ba33cSDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
732617d15b25SDag-Erling Smørgrav	      case $host_os in
732717d15b25SDag-Erling Smørgrav		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
732817d15b25SDag-Erling Smørgrav		*)
7329986ba33cSDag-Erling Smørgrav		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
733017d15b25SDag-Erling Smørgrav		  ;;
733117d15b25SDag-Erling Smørgrav	      esac
733217d15b25SDag-Erling Smørgrav	    fi
733317d15b25SDag-Erling Smørgrav	    ;;
733417d15b25SDag-Erling Smørgrav        esac
733517d15b25SDag-Erling Smørgrav        ;;
733617d15b25SDag-Erling Smørgrav
733717d15b25SDag-Erling Smørgrav    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7338986ba33cSDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
733917d15b25SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
734017d15b25SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
734117d15b25SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
734217d15b25SDag-Erling Smørgrav
734317d15b25SDag-Erling Smørgrav      case $cc_basename in
734417d15b25SDag-Erling Smørgrav        CC*)
7345986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7346986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
734717d15b25SDag-Erling Smørgrav	  ;;
734817d15b25SDag-Erling Smørgrav	*)
7349986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7350986ba33cSDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
735117d15b25SDag-Erling Smørgrav	  ;;
735217d15b25SDag-Erling Smørgrav      esac
735317d15b25SDag-Erling Smørgrav      ;;
735417d15b25SDag-Erling Smørgrav
735517d15b25SDag-Erling Smørgrav      sysv5* | sco3.2v5* | sco5v6*)
7356986ba33cSDag-Erling Smørgrav	# Note: We CANNOT use -z defs as we might desire, because we do not
735717d15b25SDag-Erling Smørgrav	# link with -lc, and that would cause any symbols used from libc to
735817d15b25SDag-Erling Smørgrav	# always be unresolved, which means just about no library would
735917d15b25SDag-Erling Smørgrav	# ever link correctly.  If we're not using GNU ld we use -z text
736017d15b25SDag-Erling Smørgrav	# though, which does catch some bad symbols but isn't as heavy-handed
736117d15b25SDag-Erling Smørgrav	# as -z defs.
7362986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7363986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
736417d15b25SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
736517d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7366986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
736717d15b25SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
736817d15b25SDag-Erling Smørgrav	_LT_TAGVAR(link_all_deplibs, $1)=yes
7369986ba33cSDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
737017d15b25SDag-Erling Smørgrav	runpath_var='LD_RUN_PATH'
737117d15b25SDag-Erling Smørgrav
737217d15b25SDag-Erling Smørgrav	case $cc_basename in
737317d15b25SDag-Erling Smørgrav          CC*)
7374986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7375986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
737617d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
737717d15b25SDag-Erling Smørgrav              '"$_LT_TAGVAR(old_archive_cmds, $1)"
737817d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
737917d15b25SDag-Erling Smørgrav              '"$_LT_TAGVAR(reload_cmds, $1)"
738017d15b25SDag-Erling Smørgrav	    ;;
738117d15b25SDag-Erling Smørgrav	  *)
7382986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7383986ba33cSDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
738417d15b25SDag-Erling Smørgrav	    ;;
738517d15b25SDag-Erling Smørgrav	esac
738617d15b25SDag-Erling Smørgrav      ;;
738717d15b25SDag-Erling Smørgrav
738817d15b25SDag-Erling Smørgrav      tandem*)
738917d15b25SDag-Erling Smørgrav        case $cc_basename in
739017d15b25SDag-Erling Smørgrav          NCC*)
739117d15b25SDag-Erling Smørgrav	    # NonStop-UX NCC 3.20
739217d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
739317d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
739417d15b25SDag-Erling Smørgrav	    ;;
739517d15b25SDag-Erling Smørgrav          *)
739617d15b25SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
739717d15b25SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
739817d15b25SDag-Erling Smørgrav	    ;;
739917d15b25SDag-Erling Smørgrav        esac
740017d15b25SDag-Erling Smørgrav        ;;
740117d15b25SDag-Erling Smørgrav
740217d15b25SDag-Erling Smørgrav      vxworks*)
740317d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
740417d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
740517d15b25SDag-Erling Smørgrav        ;;
740617d15b25SDag-Erling Smørgrav
740717d15b25SDag-Erling Smørgrav      *)
740817d15b25SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
740917d15b25SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
741017d15b25SDag-Erling Smørgrav        ;;
741117d15b25SDag-Erling Smørgrav    esac
741217d15b25SDag-Erling Smørgrav
741317d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7414986ba33cSDag-Erling Smørgrav    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
741517d15b25SDag-Erling Smørgrav
7416986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$GXX
7417986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
741817d15b25SDag-Erling Smørgrav
741917d15b25SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
742017d15b25SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
742117d15b25SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
742217d15b25SDag-Erling Smørgrav    ## what you are doing...
742317d15b25SDag-Erling Smørgrav    _LT_SYS_HIDDEN_LIBDEPS($1)
742417d15b25SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
742517d15b25SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
742617d15b25SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
742717d15b25SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
742817d15b25SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
742917d15b25SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
743017d15b25SDag-Erling Smørgrav
743117d15b25SDag-Erling Smørgrav    _LT_CONFIG($1)
743217d15b25SDag-Erling Smørgrav  fi # test -n "$compiler"
743317d15b25SDag-Erling Smørgrav
743417d15b25SDag-Erling Smørgrav  CC=$lt_save_CC
743517d15b25SDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
743617d15b25SDag-Erling Smørgrav  LDCXX=$LD
743717d15b25SDag-Erling Smørgrav  LD=$lt_save_LD
743817d15b25SDag-Erling Smørgrav  GCC=$lt_save_GCC
743917d15b25SDag-Erling Smørgrav  with_gnu_ld=$lt_save_with_gnu_ld
744017d15b25SDag-Erling Smørgrav  lt_cv_path_LDCXX=$lt_cv_path_LD
744117d15b25SDag-Erling Smørgrav  lt_cv_path_LD=$lt_save_path_LD
744217d15b25SDag-Erling Smørgrav  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
744317d15b25SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7444986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_caught_CXX_error"
744517d15b25SDag-Erling Smørgrav
744617d15b25SDag-Erling SmørgravAC_LANG_POP
744717d15b25SDag-Erling Smørgrav])# _LT_LANG_CXX_CONFIG
744817d15b25SDag-Erling Smørgrav
744917d15b25SDag-Erling Smørgrav
745017d15b25SDag-Erling Smørgrav# _LT_FUNC_STRIPNAME_CNF
745117d15b25SDag-Erling Smørgrav# ----------------------
745217d15b25SDag-Erling Smørgrav# func_stripname_cnf prefix suffix name
745317d15b25SDag-Erling Smørgrav# strip PREFIX and SUFFIX off of NAME.
745417d15b25SDag-Erling Smørgrav# PREFIX and SUFFIX must not contain globbing or regex special
745517d15b25SDag-Erling Smørgrav# characters, hashes, percent signs, but SUFFIX may contain a leading
745617d15b25SDag-Erling Smørgrav# dot (in which case that matches only a dot).
745717d15b25SDag-Erling Smørgrav#
745817d15b25SDag-Erling Smørgrav# This function is identical to the (non-XSI) version of func_stripname,
745917d15b25SDag-Erling Smørgrav# except this one can be used by m4 code that may be executed by configure,
746017d15b25SDag-Erling Smørgrav# rather than the libtool script.
746117d15b25SDag-Erling Smørgravm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
746217d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])
746317d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
746417d15b25SDag-Erling Smørgravfunc_stripname_cnf ()
746517d15b25SDag-Erling Smørgrav{
7466986ba33cSDag-Erling Smørgrav  case @S|@2 in
7467986ba33cSDag-Erling Smørgrav  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7468986ba33cSDag-Erling Smørgrav  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
746917d15b25SDag-Erling Smørgrav  esac
747017d15b25SDag-Erling Smørgrav} # func_stripname_cnf
747117d15b25SDag-Erling Smørgrav])# _LT_FUNC_STRIPNAME_CNF
747217d15b25SDag-Erling Smørgrav
7473986ba33cSDag-Erling Smørgrav
747417d15b25SDag-Erling Smørgrav# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
747517d15b25SDag-Erling Smørgrav# ---------------------------------
747617d15b25SDag-Erling Smørgrav# Figure out "hidden" library dependencies from verbose
747717d15b25SDag-Erling Smørgrav# compiler output when linking a shared library.
747817d15b25SDag-Erling Smørgrav# Parse the compiler output and extract the necessary
747917d15b25SDag-Erling Smørgrav# objects, libraries and library flags.
748017d15b25SDag-Erling Smørgravm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
748117d15b25SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
748217d15b25SDag-Erling SmørgravAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
748317d15b25SDag-Erling Smørgrav# Dependencies to place before and after the object being linked:
748417d15b25SDag-Erling Smørgrav_LT_TAGVAR(predep_objects, $1)=
748517d15b25SDag-Erling Smørgrav_LT_TAGVAR(postdep_objects, $1)=
748617d15b25SDag-Erling Smørgrav_LT_TAGVAR(predeps, $1)=
748717d15b25SDag-Erling Smørgrav_LT_TAGVAR(postdeps, $1)=
748817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler_lib_search_path, $1)=
748917d15b25SDag-Erling Smørgrav
749017d15b25SDag-Erling Smørgravdnl we can't use the lt_simple_compile_test_code here,
749117d15b25SDag-Erling Smørgravdnl because it contains code intended for an executable,
749217d15b25SDag-Erling Smørgravdnl not a library.  It's possible we should let each
749317d15b25SDag-Erling Smørgravdnl tag define a new lt_????_link_test_code variable,
749417d15b25SDag-Erling Smørgravdnl but it's only used here...
749517d15b25SDag-Erling Smørgravm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
749617d15b25SDag-Erling Smørgravint a;
749717d15b25SDag-Erling Smørgravvoid foo (void) { a = 0; }
749817d15b25SDag-Erling Smørgrav_LT_EOF
749917d15b25SDag-Erling Smørgrav], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
750017d15b25SDag-Erling Smørgravclass Foo
750117d15b25SDag-Erling Smørgrav{
750217d15b25SDag-Erling Smørgravpublic:
750317d15b25SDag-Erling Smørgrav  Foo (void) { a = 0; }
750417d15b25SDag-Erling Smørgravprivate:
750517d15b25SDag-Erling Smørgrav  int a;
750617d15b25SDag-Erling Smørgrav};
750717d15b25SDag-Erling Smørgrav_LT_EOF
750817d15b25SDag-Erling Smørgrav], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
750917d15b25SDag-Erling Smørgrav      subroutine foo
751017d15b25SDag-Erling Smørgrav      implicit none
751117d15b25SDag-Erling Smørgrav      integer*4 a
751217d15b25SDag-Erling Smørgrav      a=0
751317d15b25SDag-Erling Smørgrav      return
751417d15b25SDag-Erling Smørgrav      end
751517d15b25SDag-Erling Smørgrav_LT_EOF
751617d15b25SDag-Erling Smørgrav], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
751717d15b25SDag-Erling Smørgrav      subroutine foo
751817d15b25SDag-Erling Smørgrav      implicit none
751917d15b25SDag-Erling Smørgrav      integer a
752017d15b25SDag-Erling Smørgrav      a=0
752117d15b25SDag-Erling Smørgrav      return
752217d15b25SDag-Erling Smørgrav      end
752317d15b25SDag-Erling Smørgrav_LT_EOF
752417d15b25SDag-Erling Smørgrav], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
752517d15b25SDag-Erling Smørgravpublic class foo {
752617d15b25SDag-Erling Smørgrav  private int a;
752717d15b25SDag-Erling Smørgrav  public void bar (void) {
752817d15b25SDag-Erling Smørgrav    a = 0;
752917d15b25SDag-Erling Smørgrav  }
753017d15b25SDag-Erling Smørgrav};
753117d15b25SDag-Erling Smørgrav_LT_EOF
753217d15b25SDag-Erling Smørgrav], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
753317d15b25SDag-Erling Smørgravpackage foo
753417d15b25SDag-Erling Smørgravfunc foo() {
753517d15b25SDag-Erling Smørgrav}
753617d15b25SDag-Erling Smørgrav_LT_EOF
753717d15b25SDag-Erling Smørgrav])
753817d15b25SDag-Erling Smørgrav
753917d15b25SDag-Erling Smørgrav_lt_libdeps_save_CFLAGS=$CFLAGS
754017d15b25SDag-Erling Smørgravcase "$CC $CFLAGS " in #(
754117d15b25SDag-Erling Smørgrav*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
754217d15b25SDag-Erling Smørgrav*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
754317d15b25SDag-Erling Smørgrav*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
754417d15b25SDag-Erling Smørgravesac
754517d15b25SDag-Erling Smørgrav
754617d15b25SDag-Erling Smørgravdnl Parse the compiler output and extract the necessary
754717d15b25SDag-Erling Smørgravdnl objects, libraries and library flags.
754817d15b25SDag-Erling Smørgravif AC_TRY_EVAL(ac_compile); then
754917d15b25SDag-Erling Smørgrav  # Parse the compiler output and extract the necessary
755017d15b25SDag-Erling Smørgrav  # objects, libraries and library flags.
755117d15b25SDag-Erling Smørgrav
755217d15b25SDag-Erling Smørgrav  # Sentinel used to keep track of whether or not we are before
755317d15b25SDag-Erling Smørgrav  # the conftest object file.
755417d15b25SDag-Erling Smørgrav  pre_test_object_deps_done=no
755517d15b25SDag-Erling Smørgrav
755617d15b25SDag-Erling Smørgrav  for p in `eval "$output_verbose_link_cmd"`; do
7557986ba33cSDag-Erling Smørgrav    case $prev$p in
755817d15b25SDag-Erling Smørgrav
755917d15b25SDag-Erling Smørgrav    -L* | -R* | -l*)
756017d15b25SDag-Erling Smørgrav       # Some compilers place space between "-{L,R}" and the path.
756117d15b25SDag-Erling Smørgrav       # Remove the space.
7562986ba33cSDag-Erling Smørgrav       if test x-L = "$p" ||
7563986ba33cSDag-Erling Smørgrav          test x-R = "$p"; then
756417d15b25SDag-Erling Smørgrav	 prev=$p
756517d15b25SDag-Erling Smørgrav	 continue
756617d15b25SDag-Erling Smørgrav       fi
756717d15b25SDag-Erling Smørgrav
756817d15b25SDag-Erling Smørgrav       # Expand the sysroot to ease extracting the directories later.
756917d15b25SDag-Erling Smørgrav       if test -z "$prev"; then
757017d15b25SDag-Erling Smørgrav         case $p in
757117d15b25SDag-Erling Smørgrav         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
757217d15b25SDag-Erling Smørgrav         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
757317d15b25SDag-Erling Smørgrav         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
757417d15b25SDag-Erling Smørgrav         esac
757517d15b25SDag-Erling Smørgrav       fi
757617d15b25SDag-Erling Smørgrav       case $p in
757717d15b25SDag-Erling Smørgrav       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
757817d15b25SDag-Erling Smørgrav       esac
7579986ba33cSDag-Erling Smørgrav       if test no = "$pre_test_object_deps_done"; then
7580986ba33cSDag-Erling Smørgrav	 case $prev in
758117d15b25SDag-Erling Smørgrav	 -L | -R)
758217d15b25SDag-Erling Smørgrav	   # Internal compiler library paths should come after those
758317d15b25SDag-Erling Smørgrav	   # provided the user.  The postdeps already come after the
758417d15b25SDag-Erling Smørgrav	   # user supplied libs so there is no need to process them.
758517d15b25SDag-Erling Smørgrav	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7586986ba33cSDag-Erling Smørgrav	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
758717d15b25SDag-Erling Smørgrav	   else
7588986ba33cSDag-Erling Smørgrav	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
758917d15b25SDag-Erling Smørgrav	   fi
759017d15b25SDag-Erling Smørgrav	   ;;
759117d15b25SDag-Erling Smørgrav	 # The "-l" case would never come before the object being
759217d15b25SDag-Erling Smørgrav	 # linked, so don't bother handling this case.
759317d15b25SDag-Erling Smørgrav	 esac
759417d15b25SDag-Erling Smørgrav       else
759517d15b25SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7596986ba33cSDag-Erling Smørgrav	   _LT_TAGVAR(postdeps, $1)=$prev$p
759717d15b25SDag-Erling Smørgrav	 else
7598986ba33cSDag-Erling Smørgrav	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
759917d15b25SDag-Erling Smørgrav	 fi
760017d15b25SDag-Erling Smørgrav       fi
760117d15b25SDag-Erling Smørgrav       prev=
760217d15b25SDag-Erling Smørgrav       ;;
760317d15b25SDag-Erling Smørgrav
760417d15b25SDag-Erling Smørgrav    *.lto.$objext) ;; # Ignore GCC LTO objects
760517d15b25SDag-Erling Smørgrav    *.$objext)
760617d15b25SDag-Erling Smørgrav       # This assumes that the test object file only shows up
760717d15b25SDag-Erling Smørgrav       # once in the compiler output.
760817d15b25SDag-Erling Smørgrav       if test "$p" = "conftest.$objext"; then
760917d15b25SDag-Erling Smørgrav	 pre_test_object_deps_done=yes
761017d15b25SDag-Erling Smørgrav	 continue
761117d15b25SDag-Erling Smørgrav       fi
761217d15b25SDag-Erling Smørgrav
7613986ba33cSDag-Erling Smørgrav       if test no = "$pre_test_object_deps_done"; then
761417d15b25SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7615986ba33cSDag-Erling Smørgrav	   _LT_TAGVAR(predep_objects, $1)=$p
761617d15b25SDag-Erling Smørgrav	 else
761717d15b25SDag-Erling Smørgrav	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
761817d15b25SDag-Erling Smørgrav	 fi
761917d15b25SDag-Erling Smørgrav       else
762017d15b25SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7621986ba33cSDag-Erling Smørgrav	   _LT_TAGVAR(postdep_objects, $1)=$p
762217d15b25SDag-Erling Smørgrav	 else
762317d15b25SDag-Erling Smørgrav	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
762417d15b25SDag-Erling Smørgrav	 fi
762517d15b25SDag-Erling Smørgrav       fi
762617d15b25SDag-Erling Smørgrav       ;;
762717d15b25SDag-Erling Smørgrav
762817d15b25SDag-Erling Smørgrav    *) ;; # Ignore the rest.
762917d15b25SDag-Erling Smørgrav
763017d15b25SDag-Erling Smørgrav    esac
763117d15b25SDag-Erling Smørgrav  done
763217d15b25SDag-Erling Smørgrav
763317d15b25SDag-Erling Smørgrav  # Clean up.
763417d15b25SDag-Erling Smørgrav  rm -f a.out a.exe
763517d15b25SDag-Erling Smørgravelse
763617d15b25SDag-Erling Smørgrav  echo "libtool.m4: error: problem compiling $1 test program"
763717d15b25SDag-Erling Smørgravfi
763817d15b25SDag-Erling Smørgrav
763917d15b25SDag-Erling Smørgrav$RM -f confest.$objext
764017d15b25SDag-Erling SmørgravCFLAGS=$_lt_libdeps_save_CFLAGS
764117d15b25SDag-Erling Smørgrav
764217d15b25SDag-Erling Smørgrav# PORTME: override above test on systems where it is broken
764317d15b25SDag-Erling Smørgravm4_if([$1], [CXX],
764417d15b25SDag-Erling Smørgrav[case $host_os in
764517d15b25SDag-Erling Smørgravinterix[[3-9]]*)
764617d15b25SDag-Erling Smørgrav  # Interix 3.5 installs completely hosed .la files for C++, so rather than
764717d15b25SDag-Erling Smørgrav  # hack all around it, let's just trust "g++" to DTRT.
764817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(predep_objects,$1)=
764917d15b25SDag-Erling Smørgrav  _LT_TAGVAR(postdep_objects,$1)=
765017d15b25SDag-Erling Smørgrav  _LT_TAGVAR(postdeps,$1)=
765117d15b25SDag-Erling Smørgrav  ;;
765217d15b25SDag-Erling Smørgravesac
765317d15b25SDag-Erling Smørgrav])
765417d15b25SDag-Erling Smørgrav
765517d15b25SDag-Erling Smørgravcase " $_LT_TAGVAR(postdeps, $1) " in
765617d15b25SDag-Erling Smørgrav*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
765717d15b25SDag-Erling Smørgravesac
765817d15b25SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)=
765917d15b25SDag-Erling Smørgravif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7660986ba33cSDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
766117d15b25SDag-Erling Smørgravfi
766217d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
766317d15b25SDag-Erling Smørgrav    [The directories searched by this compiler when creating a shared library])
766417d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [predep_objects], [1],
766517d15b25SDag-Erling Smørgrav    [Dependencies to place before and after the objects being linked to
766617d15b25SDag-Erling Smørgrav    create a shared library])
766717d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postdep_objects], [1])
766817d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [predeps], [1])
766917d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [postdeps], [1])
767017d15b25SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_path], [1],
767117d15b25SDag-Erling Smørgrav    [The library search path used internally by the compiler when linking
767217d15b25SDag-Erling Smørgrav    a shared library])
767317d15b25SDag-Erling Smørgrav])# _LT_SYS_HIDDEN_LIBDEPS
767417d15b25SDag-Erling Smørgrav
767517d15b25SDag-Erling Smørgrav
767617d15b25SDag-Erling Smørgrav# _LT_LANG_F77_CONFIG([TAG])
767717d15b25SDag-Erling Smørgrav# --------------------------
767817d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran 77 compiler are
767917d15b25SDag-Erling Smørgrav# suitably defined.  These variables are subsequently used by _LT_CONFIG
7680986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
768117d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_F77_CONFIG],
768217d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran 77)
7683986ba33cSDag-Erling Smørgravif test -z "$F77" || test no = "$F77"; then
768417d15b25SDag-Erling Smørgrav  _lt_disable_F77=yes
768517d15b25SDag-Erling Smørgravfi
768617d15b25SDag-Erling Smørgrav
768717d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
768817d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
768917d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
769017d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
769117d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
769217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
769317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
769417d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
769517d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
769617d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
769717d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
769817d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
769917d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
770017d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
770117d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
770217d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
770317d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
770417d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
770517d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
770617d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
770717d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
770817d15b25SDag-Erling Smørgrav
770917d15b25SDag-Erling Smørgrav# Source file extension for f77 test sources.
771017d15b25SDag-Erling Smørgravac_ext=f
771117d15b25SDag-Erling Smørgrav
771217d15b25SDag-Erling Smørgrav# Object file extension for compiled f77 test sources.
771317d15b25SDag-Erling Smørgravobjext=o
771417d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
771517d15b25SDag-Erling Smørgrav
771617d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
771717d15b25SDag-Erling Smørgrav# the F77 compiler isn't working.  Some variables (like enable_shared)
771817d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
771917d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
7720986ba33cSDag-Erling Smørgravif test yes != "$_lt_disable_F77"; then
772117d15b25SDag-Erling Smørgrav  # Code to be used in simple compile tests
772217d15b25SDag-Erling Smørgrav  lt_simple_compile_test_code="\
772317d15b25SDag-Erling Smørgrav      subroutine t
772417d15b25SDag-Erling Smørgrav      return
772517d15b25SDag-Erling Smørgrav      end
772617d15b25SDag-Erling Smørgrav"
772717d15b25SDag-Erling Smørgrav
772817d15b25SDag-Erling Smørgrav  # Code to be used in simple link tests
772917d15b25SDag-Erling Smørgrav  lt_simple_link_test_code="\
773017d15b25SDag-Erling Smørgrav      program t
773117d15b25SDag-Erling Smørgrav      end
773217d15b25SDag-Erling Smørgrav"
773317d15b25SDag-Erling Smørgrav
773417d15b25SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
773517d15b25SDag-Erling Smørgrav  _LT_TAG_COMPILER
773617d15b25SDag-Erling Smørgrav
773717d15b25SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
773817d15b25SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
773917d15b25SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
774017d15b25SDag-Erling Smørgrav
774117d15b25SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
7742986ba33cSDag-Erling Smørgrav  lt_save_CC=$CC
774317d15b25SDag-Erling Smørgrav  lt_save_GCC=$GCC
774417d15b25SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
774517d15b25SDag-Erling Smørgrav  CC=${F77-"f77"}
774617d15b25SDag-Erling Smørgrav  CFLAGS=$FFLAGS
774717d15b25SDag-Erling Smørgrav  compiler=$CC
774817d15b25SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
774917d15b25SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
775017d15b25SDag-Erling Smørgrav  GCC=$G77
775117d15b25SDag-Erling Smørgrav  if test -n "$compiler"; then
775217d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([if libtool supports shared libraries])
775317d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$can_build_shared])
775417d15b25SDag-Erling Smørgrav
775517d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build shared libraries])
7756986ba33cSDag-Erling Smørgrav    test no = "$can_build_shared" && enable_shared=no
775717d15b25SDag-Erling Smørgrav
775817d15b25SDag-Erling Smørgrav    # On AIX, shared libraries and static libraries use the same namespace, and
775917d15b25SDag-Erling Smørgrav    # are all built from PIC.
776017d15b25SDag-Erling Smørgrav    case $host_os in
776117d15b25SDag-Erling Smørgrav      aix3*)
7762986ba33cSDag-Erling Smørgrav        test yes = "$enable_shared" && enable_static=no
776317d15b25SDag-Erling Smørgrav        if test -n "$RANLIB"; then
776417d15b25SDag-Erling Smørgrav          archive_cmds="$archive_cmds~\$RANLIB \$lib"
776517d15b25SDag-Erling Smørgrav          postinstall_cmds='$RANLIB $lib'
776617d15b25SDag-Erling Smørgrav        fi
776717d15b25SDag-Erling Smørgrav        ;;
776817d15b25SDag-Erling Smørgrav      aix[[4-9]]*)
7769986ba33cSDag-Erling Smørgrav	if test ia64 != "$host_cpu"; then
7770986ba33cSDag-Erling Smørgrav	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7771986ba33cSDag-Erling Smørgrav	  yes,aix,yes) ;;		# shared object as lib.so file only
7772986ba33cSDag-Erling Smørgrav	  yes,svr4,*) ;;		# shared object as lib.so archive member only
7773986ba33cSDag-Erling Smørgrav	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
7774986ba33cSDag-Erling Smørgrav	  esac
777517d15b25SDag-Erling Smørgrav	fi
777617d15b25SDag-Erling Smørgrav        ;;
777717d15b25SDag-Erling Smørgrav    esac
777817d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_shared])
777917d15b25SDag-Erling Smørgrav
778017d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build static libraries])
778117d15b25SDag-Erling Smørgrav    # Make sure either enable_shared or enable_static is yes.
7782986ba33cSDag-Erling Smørgrav    test yes = "$enable_shared" || enable_static=yes
778317d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_static])
778417d15b25SDag-Erling Smørgrav
7785986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$G77
7786986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
778717d15b25SDag-Erling Smørgrav
778817d15b25SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
778917d15b25SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
779017d15b25SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
779117d15b25SDag-Erling Smørgrav    ## what you are doing...
779217d15b25SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
779317d15b25SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
779417d15b25SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
779517d15b25SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
779617d15b25SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
779717d15b25SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
779817d15b25SDag-Erling Smørgrav
779917d15b25SDag-Erling Smørgrav    _LT_CONFIG($1)
780017d15b25SDag-Erling Smørgrav  fi # test -n "$compiler"
780117d15b25SDag-Erling Smørgrav
780217d15b25SDag-Erling Smørgrav  GCC=$lt_save_GCC
7803986ba33cSDag-Erling Smørgrav  CC=$lt_save_CC
7804986ba33cSDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
7805986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_disable_F77"
780617d15b25SDag-Erling Smørgrav
780717d15b25SDag-Erling SmørgravAC_LANG_POP
780817d15b25SDag-Erling Smørgrav])# _LT_LANG_F77_CONFIG
780917d15b25SDag-Erling Smørgrav
781017d15b25SDag-Erling Smørgrav
781117d15b25SDag-Erling Smørgrav# _LT_LANG_FC_CONFIG([TAG])
781217d15b25SDag-Erling Smørgrav# -------------------------
781317d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran compiler are
781417d15b25SDag-Erling Smørgrav# suitably defined.  These variables are subsequently used by _LT_CONFIG
7815986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
781617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_FC_CONFIG],
781717d15b25SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran)
781817d15b25SDag-Erling Smørgrav
7819986ba33cSDag-Erling Smørgravif test -z "$FC" || test no = "$FC"; then
782017d15b25SDag-Erling Smørgrav  _lt_disable_FC=yes
782117d15b25SDag-Erling Smørgravfi
782217d15b25SDag-Erling Smørgrav
782317d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
782417d15b25SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
782517d15b25SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
782617d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
782717d15b25SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
782817d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
782917d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
783017d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
783117d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
783217d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
783317d15b25SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
783417d15b25SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
783517d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
783617d15b25SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
783717d15b25SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
783817d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
783917d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
784017d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
784117d15b25SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
784217d15b25SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
784317d15b25SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
784417d15b25SDag-Erling Smørgrav
784517d15b25SDag-Erling Smørgrav# Source file extension for fc test sources.
784617d15b25SDag-Erling Smørgravac_ext=${ac_fc_srcext-f}
784717d15b25SDag-Erling Smørgrav
784817d15b25SDag-Erling Smørgrav# Object file extension for compiled fc test sources.
784917d15b25SDag-Erling Smørgravobjext=o
785017d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
785117d15b25SDag-Erling Smørgrav
785217d15b25SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
785317d15b25SDag-Erling Smørgrav# the FC compiler isn't working.  Some variables (like enable_shared)
785417d15b25SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
785517d15b25SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
7856986ba33cSDag-Erling Smørgravif test yes != "$_lt_disable_FC"; then
785717d15b25SDag-Erling Smørgrav  # Code to be used in simple compile tests
785817d15b25SDag-Erling Smørgrav  lt_simple_compile_test_code="\
785917d15b25SDag-Erling Smørgrav      subroutine t
786017d15b25SDag-Erling Smørgrav      return
786117d15b25SDag-Erling Smørgrav      end
786217d15b25SDag-Erling Smørgrav"
786317d15b25SDag-Erling Smørgrav
786417d15b25SDag-Erling Smørgrav  # Code to be used in simple link tests
786517d15b25SDag-Erling Smørgrav  lt_simple_link_test_code="\
786617d15b25SDag-Erling Smørgrav      program t
786717d15b25SDag-Erling Smørgrav      end
786817d15b25SDag-Erling Smørgrav"
786917d15b25SDag-Erling Smørgrav
787017d15b25SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
787117d15b25SDag-Erling Smørgrav  _LT_TAG_COMPILER
787217d15b25SDag-Erling Smørgrav
787317d15b25SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
787417d15b25SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
787517d15b25SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
787617d15b25SDag-Erling Smørgrav
787717d15b25SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
7878986ba33cSDag-Erling Smørgrav  lt_save_CC=$CC
787917d15b25SDag-Erling Smørgrav  lt_save_GCC=$GCC
788017d15b25SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
788117d15b25SDag-Erling Smørgrav  CC=${FC-"f95"}
788217d15b25SDag-Erling Smørgrav  CFLAGS=$FCFLAGS
788317d15b25SDag-Erling Smørgrav  compiler=$CC
788417d15b25SDag-Erling Smørgrav  GCC=$ac_cv_fc_compiler_gnu
788517d15b25SDag-Erling Smørgrav
788617d15b25SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
788717d15b25SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
788817d15b25SDag-Erling Smørgrav
788917d15b25SDag-Erling Smørgrav  if test -n "$compiler"; then
789017d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([if libtool supports shared libraries])
789117d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$can_build_shared])
789217d15b25SDag-Erling Smørgrav
789317d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build shared libraries])
7894986ba33cSDag-Erling Smørgrav    test no = "$can_build_shared" && enable_shared=no
789517d15b25SDag-Erling Smørgrav
789617d15b25SDag-Erling Smørgrav    # On AIX, shared libraries and static libraries use the same namespace, and
789717d15b25SDag-Erling Smørgrav    # are all built from PIC.
789817d15b25SDag-Erling Smørgrav    case $host_os in
789917d15b25SDag-Erling Smørgrav      aix3*)
7900986ba33cSDag-Erling Smørgrav        test yes = "$enable_shared" && enable_static=no
790117d15b25SDag-Erling Smørgrav        if test -n "$RANLIB"; then
790217d15b25SDag-Erling Smørgrav          archive_cmds="$archive_cmds~\$RANLIB \$lib"
790317d15b25SDag-Erling Smørgrav          postinstall_cmds='$RANLIB $lib'
790417d15b25SDag-Erling Smørgrav        fi
790517d15b25SDag-Erling Smørgrav        ;;
790617d15b25SDag-Erling Smørgrav      aix[[4-9]]*)
7907986ba33cSDag-Erling Smørgrav	if test ia64 != "$host_cpu"; then
7908986ba33cSDag-Erling Smørgrav	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7909986ba33cSDag-Erling Smørgrav	  yes,aix,yes) ;;		# shared object as lib.so file only
7910986ba33cSDag-Erling Smørgrav	  yes,svr4,*) ;;		# shared object as lib.so archive member only
7911986ba33cSDag-Erling Smørgrav	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
7912986ba33cSDag-Erling Smørgrav	  esac
791317d15b25SDag-Erling Smørgrav	fi
791417d15b25SDag-Erling Smørgrav        ;;
791517d15b25SDag-Erling Smørgrav    esac
791617d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_shared])
791717d15b25SDag-Erling Smørgrav
791817d15b25SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build static libraries])
791917d15b25SDag-Erling Smørgrav    # Make sure either enable_shared or enable_static is yes.
7920986ba33cSDag-Erling Smørgrav    test yes = "$enable_shared" || enable_static=yes
792117d15b25SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_static])
792217d15b25SDag-Erling Smørgrav
7923986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7924986ba33cSDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
792517d15b25SDag-Erling Smørgrav
792617d15b25SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
792717d15b25SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
792817d15b25SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
792917d15b25SDag-Erling Smørgrav    ## what you are doing...
793017d15b25SDag-Erling Smørgrav    _LT_SYS_HIDDEN_LIBDEPS($1)
793117d15b25SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
793217d15b25SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
793317d15b25SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
793417d15b25SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
793517d15b25SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
793617d15b25SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
793717d15b25SDag-Erling Smørgrav
793817d15b25SDag-Erling Smørgrav    _LT_CONFIG($1)
793917d15b25SDag-Erling Smørgrav  fi # test -n "$compiler"
794017d15b25SDag-Erling Smørgrav
794117d15b25SDag-Erling Smørgrav  GCC=$lt_save_GCC
794217d15b25SDag-Erling Smørgrav  CC=$lt_save_CC
794317d15b25SDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
7944986ba33cSDag-Erling Smørgravfi # test yes != "$_lt_disable_FC"
794517d15b25SDag-Erling Smørgrav
794617d15b25SDag-Erling SmørgravAC_LANG_POP
794717d15b25SDag-Erling Smørgrav])# _LT_LANG_FC_CONFIG
794817d15b25SDag-Erling Smørgrav
794917d15b25SDag-Erling Smørgrav
795017d15b25SDag-Erling Smørgrav# _LT_LANG_GCJ_CONFIG([TAG])
795117d15b25SDag-Erling Smørgrav# --------------------------
795217d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Java Compiler compiler
795317d15b25SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7954986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
795517d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_GCJ_CONFIG],
795617d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GCJ])dnl
795717d15b25SDag-Erling SmørgravAC_LANG_SAVE
795817d15b25SDag-Erling Smørgrav
795917d15b25SDag-Erling Smørgrav# Source file extension for Java test sources.
796017d15b25SDag-Erling Smørgravac_ext=java
796117d15b25SDag-Erling Smørgrav
796217d15b25SDag-Erling Smørgrav# Object file extension for compiled Java test sources.
796317d15b25SDag-Erling Smørgravobjext=o
796417d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
796517d15b25SDag-Erling Smørgrav
796617d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests
796717d15b25SDag-Erling Smørgravlt_simple_compile_test_code="class foo {}"
796817d15b25SDag-Erling Smørgrav
796917d15b25SDag-Erling Smørgrav# Code to be used in simple link tests
797017d15b25SDag-Erling Smørgravlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
797117d15b25SDag-Erling Smørgrav
797217d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
797317d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER
797417d15b25SDag-Erling Smørgrav
797517d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
797617d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
797717d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
797817d15b25SDag-Erling Smørgrav
797917d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
798017d15b25SDag-Erling Smørgravlt_save_CC=$CC
798117d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
798217d15b25SDag-Erling Smørgravlt_save_GCC=$GCC
798317d15b25SDag-Erling SmørgravGCC=yes
798417d15b25SDag-Erling SmørgravCC=${GCJ-"gcj"}
798517d15b25SDag-Erling SmørgravCFLAGS=$GCJFLAGS
798617d15b25SDag-Erling Smørgravcompiler=$CC
798717d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
7988986ba33cSDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD
798917d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
799017d15b25SDag-Erling Smørgrav
799117d15b25SDag-Erling Smørgrav# GCJ did not exist at the time GCC didn't implicitly link libc in.
799217d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
799317d15b25SDag-Erling Smørgrav
799417d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
799517d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
799617d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
799717d15b25SDag-Erling Smørgrav
799817d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR:
799917d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change
800017d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly
800117d15b25SDag-Erling Smørgrav## what you are doing...
800217d15b25SDag-Erling Smørgravif test -n "$compiler"; then
800317d15b25SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
800417d15b25SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
800517d15b25SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
800617d15b25SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
800717d15b25SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
800817d15b25SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
800917d15b25SDag-Erling Smørgrav
801017d15b25SDag-Erling Smørgrav  _LT_CONFIG($1)
801117d15b25SDag-Erling Smørgravfi
801217d15b25SDag-Erling Smørgrav
801317d15b25SDag-Erling SmørgravAC_LANG_RESTORE
801417d15b25SDag-Erling Smørgrav
801517d15b25SDag-Erling SmørgravGCC=$lt_save_GCC
801617d15b25SDag-Erling SmørgravCC=$lt_save_CC
801717d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
801817d15b25SDag-Erling Smørgrav])# _LT_LANG_GCJ_CONFIG
801917d15b25SDag-Erling Smørgrav
802017d15b25SDag-Erling Smørgrav
802117d15b25SDag-Erling Smørgrav# _LT_LANG_GO_CONFIG([TAG])
802217d15b25SDag-Erling Smørgrav# --------------------------
802317d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Go compiler
802417d15b25SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
8025986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
802617d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_GO_CONFIG],
802717d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GO])dnl
802817d15b25SDag-Erling SmørgravAC_LANG_SAVE
802917d15b25SDag-Erling Smørgrav
803017d15b25SDag-Erling Smørgrav# Source file extension for Go test sources.
803117d15b25SDag-Erling Smørgravac_ext=go
803217d15b25SDag-Erling Smørgrav
803317d15b25SDag-Erling Smørgrav# Object file extension for compiled Go test sources.
803417d15b25SDag-Erling Smørgravobjext=o
803517d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
803617d15b25SDag-Erling Smørgrav
803717d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests
803817d15b25SDag-Erling Smørgravlt_simple_compile_test_code="package main; func main() { }"
803917d15b25SDag-Erling Smørgrav
804017d15b25SDag-Erling Smørgrav# Code to be used in simple link tests
804117d15b25SDag-Erling Smørgravlt_simple_link_test_code='package main; func main() { }'
804217d15b25SDag-Erling Smørgrav
804317d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
804417d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER
804517d15b25SDag-Erling Smørgrav
804617d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
804717d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
804817d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
804917d15b25SDag-Erling Smørgrav
805017d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
805117d15b25SDag-Erling Smørgravlt_save_CC=$CC
805217d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
805317d15b25SDag-Erling Smørgravlt_save_GCC=$GCC
805417d15b25SDag-Erling SmørgravGCC=yes
805517d15b25SDag-Erling SmørgravCC=${GOC-"gccgo"}
805617d15b25SDag-Erling SmørgravCFLAGS=$GOFLAGS
805717d15b25SDag-Erling Smørgravcompiler=$CC
805817d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
8059986ba33cSDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD
806017d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
806117d15b25SDag-Erling Smørgrav
806217d15b25SDag-Erling Smørgrav# Go did not exist at the time GCC didn't implicitly link libc in.
806317d15b25SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
806417d15b25SDag-Erling Smørgrav
806517d15b25SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
806617d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
806717d15b25SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
806817d15b25SDag-Erling Smørgrav
806917d15b25SDag-Erling Smørgrav## CAVEAT EMPTOR:
807017d15b25SDag-Erling Smørgrav## There is no encapsulation within the following macros, do not change
807117d15b25SDag-Erling Smørgrav## the running order or otherwise move them around unless you know exactly
807217d15b25SDag-Erling Smørgrav## what you are doing...
807317d15b25SDag-Erling Smørgravif test -n "$compiler"; then
807417d15b25SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
807517d15b25SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
807617d15b25SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
807717d15b25SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
807817d15b25SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
807917d15b25SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
808017d15b25SDag-Erling Smørgrav
808117d15b25SDag-Erling Smørgrav  _LT_CONFIG($1)
808217d15b25SDag-Erling Smørgravfi
808317d15b25SDag-Erling Smørgrav
808417d15b25SDag-Erling SmørgravAC_LANG_RESTORE
808517d15b25SDag-Erling Smørgrav
808617d15b25SDag-Erling SmørgravGCC=$lt_save_GCC
808717d15b25SDag-Erling SmørgravCC=$lt_save_CC
808817d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
808917d15b25SDag-Erling Smørgrav])# _LT_LANG_GO_CONFIG
809017d15b25SDag-Erling Smørgrav
809117d15b25SDag-Erling Smørgrav
809217d15b25SDag-Erling Smørgrav# _LT_LANG_RC_CONFIG([TAG])
809317d15b25SDag-Erling Smørgrav# -------------------------
809417d15b25SDag-Erling Smørgrav# Ensure that the configuration variables for the Windows resource compiler
809517d15b25SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
8096986ba33cSDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
809717d15b25SDag-Erling Smørgravm4_defun([_LT_LANG_RC_CONFIG],
809817d15b25SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_RC])dnl
809917d15b25SDag-Erling SmørgravAC_LANG_SAVE
810017d15b25SDag-Erling Smørgrav
810117d15b25SDag-Erling Smørgrav# Source file extension for RC test sources.
810217d15b25SDag-Erling Smørgravac_ext=rc
810317d15b25SDag-Erling Smørgrav
810417d15b25SDag-Erling Smørgrav# Object file extension for compiled RC test sources.
810517d15b25SDag-Erling Smørgravobjext=o
810617d15b25SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
810717d15b25SDag-Erling Smørgrav
810817d15b25SDag-Erling Smørgrav# Code to be used in simple compile tests
810917d15b25SDag-Erling Smørgravlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
811017d15b25SDag-Erling Smørgrav
811117d15b25SDag-Erling Smørgrav# Code to be used in simple link tests
8112986ba33cSDag-Erling Smørgravlt_simple_link_test_code=$lt_simple_compile_test_code
811317d15b25SDag-Erling Smørgrav
811417d15b25SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
811517d15b25SDag-Erling Smørgrav_LT_TAG_COMPILER
811617d15b25SDag-Erling Smørgrav
811717d15b25SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
811817d15b25SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
811917d15b25SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
812017d15b25SDag-Erling Smørgrav
812117d15b25SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
8122986ba33cSDag-Erling Smørgravlt_save_CC=$CC
812317d15b25SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
812417d15b25SDag-Erling Smørgravlt_save_GCC=$GCC
812517d15b25SDag-Erling SmørgravGCC=
812617d15b25SDag-Erling SmørgravCC=${RC-"windres"}
812717d15b25SDag-Erling SmørgravCFLAGS=
812817d15b25SDag-Erling Smørgravcompiler=$CC
812917d15b25SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
813017d15b25SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
813117d15b25SDag-Erling Smørgrav_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
813217d15b25SDag-Erling Smørgrav
813317d15b25SDag-Erling Smørgravif test -n "$compiler"; then
813417d15b25SDag-Erling Smørgrav  :
813517d15b25SDag-Erling Smørgrav  _LT_CONFIG($1)
813617d15b25SDag-Erling Smørgravfi
813717d15b25SDag-Erling Smørgrav
813817d15b25SDag-Erling SmørgravGCC=$lt_save_GCC
813917d15b25SDag-Erling SmørgravAC_LANG_RESTORE
814017d15b25SDag-Erling SmørgravCC=$lt_save_CC
814117d15b25SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
814217d15b25SDag-Erling Smørgrav])# _LT_LANG_RC_CONFIG
814317d15b25SDag-Erling Smørgrav
814417d15b25SDag-Erling Smørgrav
814517d15b25SDag-Erling Smørgrav# LT_PROG_GCJ
814617d15b25SDag-Erling Smørgrav# -----------
814717d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_GCJ],
814817d15b25SDag-Erling Smørgrav[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
814917d15b25SDag-Erling Smørgrav  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
815017d15b25SDag-Erling Smørgrav    [AC_CHECK_TOOL(GCJ, gcj,)
8151986ba33cSDag-Erling Smørgrav      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
815217d15b25SDag-Erling Smørgrav      AC_SUBST(GCJFLAGS)])])[]dnl
815317d15b25SDag-Erling Smørgrav])
815417d15b25SDag-Erling Smørgrav
815517d15b25SDag-Erling Smørgrav# Old name:
815617d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
815717d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
815817d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
815917d15b25SDag-Erling Smørgrav
816017d15b25SDag-Erling Smørgrav
816117d15b25SDag-Erling Smørgrav# LT_PROG_GO
816217d15b25SDag-Erling Smørgrav# ----------
816317d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_GO],
816417d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(GOC, gccgo,)
816517d15b25SDag-Erling Smørgrav])
816617d15b25SDag-Erling Smørgrav
816717d15b25SDag-Erling Smørgrav
816817d15b25SDag-Erling Smørgrav# LT_PROG_RC
816917d15b25SDag-Erling Smørgrav# ----------
817017d15b25SDag-Erling SmørgravAC_DEFUN([LT_PROG_RC],
817117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(RC, windres,)
817217d15b25SDag-Erling Smørgrav])
817317d15b25SDag-Erling Smørgrav
817417d15b25SDag-Erling Smørgrav# Old name:
817517d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
817617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
817717d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_RC], [])
817817d15b25SDag-Erling Smørgrav
817917d15b25SDag-Erling Smørgrav
818017d15b25SDag-Erling Smørgrav# _LT_DECL_EGREP
818117d15b25SDag-Erling Smørgrav# --------------
818217d15b25SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best grep
818317d15b25SDag-Erling Smørgrav# available, choose the one first in the user's PATH.
818417d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_EGREP],
818517d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_EGREP])dnl
818617d15b25SDag-Erling SmørgravAC_REQUIRE([AC_PROG_FGREP])dnl
818717d15b25SDag-Erling Smørgravtest -z "$GREP" && GREP=grep
818817d15b25SDag-Erling Smørgrav_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
818917d15b25SDag-Erling Smørgrav_LT_DECL([], [EGREP], [1], [An ERE matcher])
819017d15b25SDag-Erling Smørgrav_LT_DECL([], [FGREP], [1], [A literal string matcher])
819117d15b25SDag-Erling Smørgravdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
819217d15b25SDag-Erling SmørgravAC_SUBST([GREP])
819317d15b25SDag-Erling Smørgrav])
819417d15b25SDag-Erling Smørgrav
819517d15b25SDag-Erling Smørgrav
819617d15b25SDag-Erling Smørgrav# _LT_DECL_OBJDUMP
819717d15b25SDag-Erling Smørgrav# --------------
819817d15b25SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best objdump
819917d15b25SDag-Erling Smørgrav# available, choose the one first in the user's PATH.
820017d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_OBJDUMP],
820117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(OBJDUMP, objdump, false)
820217d15b25SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump
820317d15b25SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
820417d15b25SDag-Erling SmørgravAC_SUBST([OBJDUMP])
820517d15b25SDag-Erling Smørgrav])
820617d15b25SDag-Erling Smørgrav
820717d15b25SDag-Erling Smørgrav# _LT_DECL_DLLTOOL
820817d15b25SDag-Erling Smørgrav# ----------------
820917d15b25SDag-Erling Smørgrav# Ensure DLLTOOL variable is set.
821017d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_DLLTOOL],
821117d15b25SDag-Erling Smørgrav[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
821217d15b25SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool
821317d15b25SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
821417d15b25SDag-Erling SmørgravAC_SUBST([DLLTOOL])
821517d15b25SDag-Erling Smørgrav])
821617d15b25SDag-Erling Smørgrav
821717d15b25SDag-Erling Smørgrav# _LT_DECL_SED
821817d15b25SDag-Erling Smørgrav# ------------
821917d15b25SDag-Erling Smørgrav# Check for a fully-functional sed program, that truncates
822017d15b25SDag-Erling Smørgrav# as few characters as possible.  Prefer GNU sed if found.
822117d15b25SDag-Erling Smørgravm4_defun([_LT_DECL_SED],
822217d15b25SDag-Erling Smørgrav[AC_PROG_SED
822317d15b25SDag-Erling Smørgravtest -z "$SED" && SED=sed
822417d15b25SDag-Erling SmørgravXsed="$SED -e 1s/^X//"
822517d15b25SDag-Erling Smørgrav_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
822617d15b25SDag-Erling Smørgrav_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
822717d15b25SDag-Erling Smørgrav    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
822817d15b25SDag-Erling Smørgrav])# _LT_DECL_SED
822917d15b25SDag-Erling Smørgrav
823017d15b25SDag-Erling Smørgravm4_ifndef([AC_PROG_SED], [
823117d15b25SDag-Erling Smørgrav############################################################
823217d15b25SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into   #
823317d15b25SDag-Erling Smørgrav#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
823417d15b25SDag-Erling Smørgrav#  a released version of Autoconf we should remove this    #
823517d15b25SDag-Erling Smørgrav#  macro and use it instead.                               #
823617d15b25SDag-Erling Smørgrav############################################################
823717d15b25SDag-Erling Smørgrav
823817d15b25SDag-Erling Smørgravm4_defun([AC_PROG_SED],
823917d15b25SDag-Erling Smørgrav[AC_MSG_CHECKING([for a sed that does not truncate output])
824017d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_SED,
824117d15b25SDag-Erling Smørgrav[# Loop through the user's path and test for sed and gsed.
824217d15b25SDag-Erling Smørgrav# Then use that list of sed's as ones to test for truncation.
824317d15b25SDag-Erling Smørgravas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
824417d15b25SDag-Erling Smørgravfor as_dir in $PATH
824517d15b25SDag-Erling Smørgravdo
824617d15b25SDag-Erling Smørgrav  IFS=$as_save_IFS
824717d15b25SDag-Erling Smørgrav  test -z "$as_dir" && as_dir=.
824817d15b25SDag-Erling Smørgrav  for lt_ac_prog in sed gsed; do
824917d15b25SDag-Erling Smørgrav    for ac_exec_ext in '' $ac_executable_extensions; do
825017d15b25SDag-Erling Smørgrav      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
825117d15b25SDag-Erling Smørgrav        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
825217d15b25SDag-Erling Smørgrav      fi
825317d15b25SDag-Erling Smørgrav    done
825417d15b25SDag-Erling Smørgrav  done
825517d15b25SDag-Erling Smørgravdone
825617d15b25SDag-Erling SmørgravIFS=$as_save_IFS
825717d15b25SDag-Erling Smørgravlt_ac_max=0
825817d15b25SDag-Erling Smørgravlt_ac_count=0
825917d15b25SDag-Erling Smørgrav# Add /usr/xpg4/bin/sed as it is typically found on Solaris
826017d15b25SDag-Erling Smørgrav# along with /bin/sed that truncates output.
826117d15b25SDag-Erling Smørgravfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8262986ba33cSDag-Erling Smørgrav  test ! -f "$lt_ac_sed" && continue
826317d15b25SDag-Erling Smørgrav  cat /dev/null > conftest.in
826417d15b25SDag-Erling Smørgrav  lt_ac_count=0
826517d15b25SDag-Erling Smørgrav  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
826617d15b25SDag-Erling Smørgrav  # Check for GNU sed and select it if it is found.
826717d15b25SDag-Erling Smørgrav  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
826817d15b25SDag-Erling Smørgrav    lt_cv_path_SED=$lt_ac_sed
826917d15b25SDag-Erling Smørgrav    break
827017d15b25SDag-Erling Smørgrav  fi
827117d15b25SDag-Erling Smørgrav  while true; do
827217d15b25SDag-Erling Smørgrav    cat conftest.in conftest.in >conftest.tmp
827317d15b25SDag-Erling Smørgrav    mv conftest.tmp conftest.in
827417d15b25SDag-Erling Smørgrav    cp conftest.in conftest.nl
827517d15b25SDag-Erling Smørgrav    echo >>conftest.nl
827617d15b25SDag-Erling Smørgrav    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
827717d15b25SDag-Erling Smørgrav    cmp -s conftest.out conftest.nl || break
827817d15b25SDag-Erling Smørgrav    # 10000 chars as input seems more than enough
8279986ba33cSDag-Erling Smørgrav    test 10 -lt "$lt_ac_count" && break
828017d15b25SDag-Erling Smørgrav    lt_ac_count=`expr $lt_ac_count + 1`
8281986ba33cSDag-Erling Smørgrav    if test "$lt_ac_count" -gt "$lt_ac_max"; then
828217d15b25SDag-Erling Smørgrav      lt_ac_max=$lt_ac_count
828317d15b25SDag-Erling Smørgrav      lt_cv_path_SED=$lt_ac_sed
828417d15b25SDag-Erling Smørgrav    fi
828517d15b25SDag-Erling Smørgrav  done
828617d15b25SDag-Erling Smørgravdone
828717d15b25SDag-Erling Smørgrav])
828817d15b25SDag-Erling SmørgravSED=$lt_cv_path_SED
828917d15b25SDag-Erling SmørgravAC_SUBST([SED])
829017d15b25SDag-Erling SmørgravAC_MSG_RESULT([$SED])
829117d15b25SDag-Erling Smørgrav])#AC_PROG_SED
829217d15b25SDag-Erling Smørgrav])#m4_ifndef
829317d15b25SDag-Erling Smørgrav
829417d15b25SDag-Erling Smørgrav# Old name:
829517d15b25SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
829617d15b25SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
829717d15b25SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_SED], [])
829817d15b25SDag-Erling Smørgrav
829917d15b25SDag-Erling Smørgrav
830017d15b25SDag-Erling Smørgrav# _LT_CHECK_SHELL_FEATURES
830117d15b25SDag-Erling Smørgrav# ------------------------
830217d15b25SDag-Erling Smørgrav# Find out whether the shell is Bourne or XSI compatible,
830317d15b25SDag-Erling Smørgrav# or has some other useful features.
830417d15b25SDag-Erling Smørgravm4_defun([_LT_CHECK_SHELL_FEATURES],
8305986ba33cSDag-Erling Smørgrav[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
830617d15b25SDag-Erling Smørgrav  lt_unset=unset
830717d15b25SDag-Erling Smørgravelse
830817d15b25SDag-Erling Smørgrav  lt_unset=false
830917d15b25SDag-Erling Smørgravfi
831017d15b25SDag-Erling Smørgrav_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
831117d15b25SDag-Erling Smørgrav
831217d15b25SDag-Erling Smørgrav# test EBCDIC or ASCII
831317d15b25SDag-Erling Smørgravcase `echo X|tr X '\101'` in
831417d15b25SDag-Erling Smørgrav A) # ASCII based system
831517d15b25SDag-Erling Smørgrav    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
831617d15b25SDag-Erling Smørgrav  lt_SP2NL='tr \040 \012'
831717d15b25SDag-Erling Smørgrav  lt_NL2SP='tr \015\012 \040\040'
831817d15b25SDag-Erling Smørgrav  ;;
831917d15b25SDag-Erling Smørgrav *) # EBCDIC based system
832017d15b25SDag-Erling Smørgrav  lt_SP2NL='tr \100 \n'
832117d15b25SDag-Erling Smørgrav  lt_NL2SP='tr \r\n \100\100'
832217d15b25SDag-Erling Smørgrav  ;;
832317d15b25SDag-Erling Smørgravesac
832417d15b25SDag-Erling Smørgrav_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
832517d15b25SDag-Erling Smørgrav_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
832617d15b25SDag-Erling Smørgrav])# _LT_CHECK_SHELL_FEATURES
832717d15b25SDag-Erling Smørgrav
832817d15b25SDag-Erling Smørgrav
832917d15b25SDag-Erling Smørgrav# _LT_PATH_CONVERSION_FUNCTIONS
833017d15b25SDag-Erling Smørgrav# -----------------------------
8331986ba33cSDag-Erling Smørgrav# Determine what file name conversion functions should be used by
833217d15b25SDag-Erling Smørgrav# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
833317d15b25SDag-Erling Smørgrav# for certain cross-compile configurations and native mingw.
833417d15b25SDag-Erling Smørgravm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
833517d15b25SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
833617d15b25SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
833717d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to $host format])
833817d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_host_file_cmd,
833917d15b25SDag-Erling Smørgrav[case $host in
834017d15b25SDag-Erling Smørgrav  *-*-mingw* )
834117d15b25SDag-Erling Smørgrav    case $build in
834217d15b25SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
834317d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
834417d15b25SDag-Erling Smørgrav        ;;
834517d15b25SDag-Erling Smørgrav      *-*-cygwin* )
834617d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
834717d15b25SDag-Erling Smørgrav        ;;
834817d15b25SDag-Erling Smørgrav      * ) # otherwise, assume *nix
834917d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
835017d15b25SDag-Erling Smørgrav        ;;
835117d15b25SDag-Erling Smørgrav    esac
835217d15b25SDag-Erling Smørgrav    ;;
835317d15b25SDag-Erling Smørgrav  *-*-cygwin* )
835417d15b25SDag-Erling Smørgrav    case $build in
835517d15b25SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
835617d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
835717d15b25SDag-Erling Smørgrav        ;;
835817d15b25SDag-Erling Smørgrav      *-*-cygwin* )
835917d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_noop
836017d15b25SDag-Erling Smørgrav        ;;
836117d15b25SDag-Erling Smørgrav      * ) # otherwise, assume *nix
836217d15b25SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
836317d15b25SDag-Erling Smørgrav        ;;
836417d15b25SDag-Erling Smørgrav    esac
836517d15b25SDag-Erling Smørgrav    ;;
836617d15b25SDag-Erling Smørgrav  * ) # unhandled hosts (and "normal" native builds)
836717d15b25SDag-Erling Smørgrav    lt_cv_to_host_file_cmd=func_convert_file_noop
836817d15b25SDag-Erling Smørgrav    ;;
836917d15b25SDag-Erling Smørgravesac
837017d15b25SDag-Erling Smørgrav])
837117d15b25SDag-Erling Smørgravto_host_file_cmd=$lt_cv_to_host_file_cmd
837217d15b25SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
837317d15b25SDag-Erling Smørgrav_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
837417d15b25SDag-Erling Smørgrav         [0], [convert $build file names to $host format])dnl
837517d15b25SDag-Erling Smørgrav
837617d15b25SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to toolchain format])
837717d15b25SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
837817d15b25SDag-Erling Smørgrav[#assume ordinary cross tools, or native build.
837917d15b25SDag-Erling Smørgravlt_cv_to_tool_file_cmd=func_convert_file_noop
838017d15b25SDag-Erling Smørgravcase $host in
838117d15b25SDag-Erling Smørgrav  *-*-mingw* )
838217d15b25SDag-Erling Smørgrav    case $build in
838317d15b25SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
838417d15b25SDag-Erling Smørgrav        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
838517d15b25SDag-Erling Smørgrav        ;;
838617d15b25SDag-Erling Smørgrav    esac
838717d15b25SDag-Erling Smørgrav    ;;
838817d15b25SDag-Erling Smørgravesac
838917d15b25SDag-Erling Smørgrav])
839017d15b25SDag-Erling Smørgravto_tool_file_cmd=$lt_cv_to_tool_file_cmd
839117d15b25SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
839217d15b25SDag-Erling Smørgrav_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
839317d15b25SDag-Erling Smørgrav         [0], [convert $build files to toolchain format])dnl
839417d15b25SDag-Erling Smørgrav])# _LT_PATH_CONVERSION_FUNCTIONS
8395