xref: /freebsd/contrib/unbound/aclocal.m4 (revision 46d2f61818f594174cafe31ee338c6e083fa1876)
1*46d2f618SCy Schubert# generated automatically by aclocal 1.16.2 -*- Autoconf -*-
2b7579f77SDag-Erling Smørgrav
3*46d2f618SCy Schubert# Copyright (C) 1996-2020 Free Software Foundation, Inc.
48ed2b524SDag-Erling Smørgrav
5b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation
6b7579f77SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it,
7b7579f77SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved.
8b7579f77SDag-Erling Smørgrav
9b7579f77SDag-Erling Smørgrav# This program is distributed in the hope that it will be useful,
10b7579f77SDag-Erling Smørgrav# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11b7579f77SDag-Erling Smørgrav# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12b7579f77SDag-Erling Smørgrav# PARTICULAR PURPOSE.
13b7579f77SDag-Erling Smørgrav
14ff825849SDag-Erling Smørgravm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15b7579f77SDag-Erling Smørgrav# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
16b7579f77SDag-Erling Smørgrav#
17*46d2f618SCy Schubert#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
18b7579f77SDag-Erling Smørgrav#   Written by Gordon Matzigkeit, 1996
19b7579f77SDag-Erling Smørgrav#
20b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
21b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
22b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
23b7579f77SDag-Erling Smørgrav
24b7579f77SDag-Erling Smørgravm4_define([_LT_COPYING], [dnl
25f61ef7f6SDag-Erling Smørgrav# Copyright (C) 2014 Free Software Foundation, Inc.
26f61ef7f6SDag-Erling Smørgrav# This is free software; see the source for copying conditions.  There is NO
27f61ef7f6SDag-Erling Smørgrav# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
28f61ef7f6SDag-Erling Smørgrav
29f61ef7f6SDag-Erling Smørgrav# GNU Libtool is free software; you can redistribute it and/or modify
30f61ef7f6SDag-Erling Smørgrav# it under the terms of the GNU General Public License as published by
31f61ef7f6SDag-Erling Smørgrav# the Free Software Foundation; either version 2 of of the License, or
32f61ef7f6SDag-Erling Smørgrav# (at your option) any later version.
33b7579f77SDag-Erling Smørgrav#
34f61ef7f6SDag-Erling Smørgrav# As a special exception to the GNU General Public License, if you
35f61ef7f6SDag-Erling Smørgrav# distribute this file as part of a program or library that is built
36f61ef7f6SDag-Erling Smørgrav# using GNU Libtool, you may include this file under the  same
37f61ef7f6SDag-Erling Smørgrav# distribution terms that you use for the rest of that program.
38b7579f77SDag-Erling Smørgrav#
39f61ef7f6SDag-Erling Smørgrav# GNU Libtool is distributed in the hope that it will be useful, but
40f61ef7f6SDag-Erling Smørgrav# WITHOUT ANY WARRANTY; without even the implied warranty of
41b7579f77SDag-Erling Smørgrav# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
42b7579f77SDag-Erling Smørgrav# GNU General Public License for more details.
43b7579f77SDag-Erling Smørgrav#
44b7579f77SDag-Erling Smørgrav# You should have received a copy of the GNU General Public License
45f61ef7f6SDag-Erling Smørgrav# along with this program.  If not, see <http://www.gnu.org/licenses/>.
46b7579f77SDag-Erling Smørgrav])
47b7579f77SDag-Erling Smørgrav
48*46d2f618SCy Schubert# serial 58 LT_INIT
49b7579f77SDag-Erling Smørgrav
50b7579f77SDag-Erling Smørgrav
51b7579f77SDag-Erling Smørgrav# LT_PREREQ(VERSION)
52b7579f77SDag-Erling Smørgrav# ------------------
53b7579f77SDag-Erling Smørgrav# Complain and exit if this libtool version is less that VERSION.
54b7579f77SDag-Erling Smørgravm4_defun([LT_PREREQ],
55b7579f77SDag-Erling Smørgrav[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
56b7579f77SDag-Erling Smørgrav       [m4_default([$3],
57b7579f77SDag-Erling Smørgrav		   [m4_fatal([Libtool version $1 or higher is required],
58b7579f77SDag-Erling Smørgrav		             63)])],
59b7579f77SDag-Erling Smørgrav       [$2])])
60b7579f77SDag-Erling Smørgrav
61b7579f77SDag-Erling Smørgrav
62b7579f77SDag-Erling Smørgrav# _LT_CHECK_BUILDDIR
63b7579f77SDag-Erling Smørgrav# ------------------
64b7579f77SDag-Erling Smørgrav# Complain if the absolute build directory name contains unusual characters
65b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_BUILDDIR],
66b7579f77SDag-Erling Smørgrav[case `pwd` in
67b7579f77SDag-Erling Smørgrav  *\ * | *\	*)
68b7579f77SDag-Erling Smørgrav    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
69b7579f77SDag-Erling Smørgravesac
70b7579f77SDag-Erling Smørgrav])
71b7579f77SDag-Erling Smørgrav
72b7579f77SDag-Erling Smørgrav
73b7579f77SDag-Erling Smørgrav# LT_INIT([OPTIONS])
74b7579f77SDag-Erling Smørgrav# ------------------
75b7579f77SDag-Erling SmørgravAC_DEFUN([LT_INIT],
76f61ef7f6SDag-Erling Smørgrav[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
77b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
78b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LT_LANG])dnl
79b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LT_OUTPUT])dnl
80b7579f77SDag-Erling SmørgravAC_BEFORE([$0], [LTDL_INIT])dnl
81b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_BUILDDIR])dnl
82b7579f77SDag-Erling Smørgrav
83b7579f77SDag-Erling Smørgravdnl Autoconf doesn't catch unexpanded LT_ macros by default:
84b7579f77SDag-Erling Smørgravm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
85b7579f77SDag-Erling Smørgravm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
86b7579f77SDag-Erling Smørgravdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
87b7579f77SDag-Erling Smørgravdnl unless we require an AC_DEFUNed macro:
88b7579f77SDag-Erling SmørgravAC_REQUIRE([LTOPTIONS_VERSION])dnl
89b7579f77SDag-Erling SmørgravAC_REQUIRE([LTSUGAR_VERSION])dnl
90b7579f77SDag-Erling SmørgravAC_REQUIRE([LTVERSION_VERSION])dnl
91b7579f77SDag-Erling SmørgravAC_REQUIRE([LTOBSOLETE_VERSION])dnl
92b7579f77SDag-Erling Smørgravm4_require([_LT_PROG_LTMAIN])dnl
93b7579f77SDag-Erling Smørgrav
94b7579f77SDag-Erling Smørgrav_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
95b7579f77SDag-Erling Smørgrav
96b7579f77SDag-Erling Smørgravdnl Parse OPTIONS
97b7579f77SDag-Erling Smørgrav_LT_SET_OPTIONS([$0], [$1])
98b7579f77SDag-Erling Smørgrav
99b7579f77SDag-Erling Smørgrav# This can be used to rebuild libtool when needed
100f61ef7f6SDag-Erling SmørgravLIBTOOL_DEPS=$ltmain
101b7579f77SDag-Erling Smørgrav
102b7579f77SDag-Erling Smørgrav# Always use our own libtool.
103b7579f77SDag-Erling SmørgravLIBTOOL='$(SHELL) $(top_builddir)/libtool'
104b7579f77SDag-Erling SmørgravAC_SUBST(LIBTOOL)dnl
105b7579f77SDag-Erling Smørgrav
106b7579f77SDag-Erling Smørgrav_LT_SETUP
107b7579f77SDag-Erling Smørgrav
108b7579f77SDag-Erling Smørgrav# Only expand once:
109b7579f77SDag-Erling Smørgravm4_define([LT_INIT])
110b7579f77SDag-Erling Smørgrav])# LT_INIT
111b7579f77SDag-Erling Smørgrav
112b7579f77SDag-Erling Smørgrav# Old names:
113b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
114b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
115b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
116b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
117b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
118b7579f77SDag-Erling Smørgrav
119b7579f77SDag-Erling Smørgrav
120f61ef7f6SDag-Erling Smørgrav# _LT_PREPARE_CC_BASENAME
121f61ef7f6SDag-Erling Smørgrav# -----------------------
122f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PREPARE_CC_BASENAME], [
123b7579f77SDag-Erling Smørgrav# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
124f61ef7f6SDag-Erling Smørgravfunc_cc_basename ()
125f61ef7f6SDag-Erling Smørgrav{
126f61ef7f6SDag-Erling Smørgrav    for cc_temp in @S|@*""; do
127b7579f77SDag-Erling Smørgrav      case $cc_temp in
128b7579f77SDag-Erling Smørgrav        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
129b7579f77SDag-Erling Smørgrav        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
130b7579f77SDag-Erling Smørgrav        \-*) ;;
131b7579f77SDag-Erling Smørgrav        *) break;;
132b7579f77SDag-Erling Smørgrav      esac
133b7579f77SDag-Erling Smørgrav    done
134f61ef7f6SDag-Erling Smørgrav    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
135f61ef7f6SDag-Erling Smørgrav}
136f61ef7f6SDag-Erling Smørgrav])# _LT_PREPARE_CC_BASENAME
137f61ef7f6SDag-Erling Smørgrav
138f61ef7f6SDag-Erling Smørgrav
139f61ef7f6SDag-Erling Smørgrav# _LT_CC_BASENAME(CC)
140f61ef7f6SDag-Erling Smørgrav# -------------------
141f61ef7f6SDag-Erling Smørgrav# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
142f61ef7f6SDag-Erling Smørgrav# but that macro is also expanded into generated libtool script, which
143f61ef7f6SDag-Erling Smørgrav# arranges for $SED and $ECHO to be set by different means.
144f61ef7f6SDag-Erling Smørgravm4_defun([_LT_CC_BASENAME],
145f61ef7f6SDag-Erling Smørgrav[m4_require([_LT_PREPARE_CC_BASENAME])dnl
146f61ef7f6SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])dnl
147f61ef7f6SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
148f61ef7f6SDag-Erling Smørgravfunc_cc_basename $1
149f61ef7f6SDag-Erling Smørgravcc_basename=$func_cc_basename_result
150b7579f77SDag-Erling Smørgrav])
151b7579f77SDag-Erling Smørgrav
152b7579f77SDag-Erling Smørgrav
153b7579f77SDag-Erling Smørgrav# _LT_FILEUTILS_DEFAULTS
154b7579f77SDag-Erling Smørgrav# ----------------------
155b7579f77SDag-Erling Smørgrav# It is okay to use these file commands and assume they have been set
156f61ef7f6SDag-Erling Smørgrav# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
157b7579f77SDag-Erling Smørgravm4_defun([_LT_FILEUTILS_DEFAULTS],
158b7579f77SDag-Erling Smørgrav[: ${CP="cp -f"}
159b7579f77SDag-Erling Smørgrav: ${MV="mv -f"}
160b7579f77SDag-Erling Smørgrav: ${RM="rm -f"}
161b7579f77SDag-Erling Smørgrav])# _LT_FILEUTILS_DEFAULTS
162b7579f77SDag-Erling Smørgrav
163b7579f77SDag-Erling Smørgrav
164b7579f77SDag-Erling Smørgrav# _LT_SETUP
165b7579f77SDag-Erling Smørgrav# ---------
166b7579f77SDag-Erling Smørgravm4_defun([_LT_SETUP],
167b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
168b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
169b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
170b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
171b7579f77SDag-Erling Smørgrav
1728ed2b524SDag-Erling Smørgrav_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
1738ed2b524SDag-Erling Smørgravdnl
174b7579f77SDag-Erling Smørgrav_LT_DECL([], [host_alias], [0], [The host system])dnl
175b7579f77SDag-Erling Smørgrav_LT_DECL([], [host], [0])dnl
176b7579f77SDag-Erling Smørgrav_LT_DECL([], [host_os], [0])dnl
177b7579f77SDag-Erling Smørgravdnl
178b7579f77SDag-Erling Smørgrav_LT_DECL([], [build_alias], [0], [The build system])dnl
179b7579f77SDag-Erling Smørgrav_LT_DECL([], [build], [0])dnl
180b7579f77SDag-Erling Smørgrav_LT_DECL([], [build_os], [0])dnl
181b7579f77SDag-Erling Smørgravdnl
182b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl
183b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl
184b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
185b7579f77SDag-Erling Smørgravdnl
186b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_LN_S])dnl
187b7579f77SDag-Erling Smørgravtest -z "$LN_S" && LN_S="ln -s"
188b7579f77SDag-Erling Smørgrav_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
189b7579f77SDag-Erling Smørgravdnl
190b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_CMD_MAX_LEN])dnl
191b7579f77SDag-Erling Smørgrav_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
192b7579f77SDag-Erling Smørgrav_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
193b7579f77SDag-Erling Smørgravdnl
194b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
195b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl
196b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
197b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_RELOAD])dnl
198b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_MAGIC_METHOD])dnl
199b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
200b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_OLD_ARCHIVE])dnl
201b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
202b7579f77SDag-Erling Smørgravm4_require([_LT_WITH_SYSROOT])dnl
203f61ef7f6SDag-Erling Smørgravm4_require([_LT_CMD_TRUNCATE])dnl
204b7579f77SDag-Erling Smørgrav
205b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([
206f61ef7f6SDag-Erling Smørgrav# See if we are running on zsh, and set the options that allow our
207b7579f77SDag-Erling Smørgrav# commands through without removal of \ escapes INIT.
208b7579f77SDag-Erling Smørgravif test -n "\${ZSH_VERSION+set}"; then
209b7579f77SDag-Erling Smørgrav   setopt NO_GLOB_SUBST
210b7579f77SDag-Erling Smørgravfi
211b7579f77SDag-Erling Smørgrav])
212b7579f77SDag-Erling Smørgravif test -n "${ZSH_VERSION+set}"; then
213b7579f77SDag-Erling Smørgrav   setopt NO_GLOB_SUBST
214b7579f77SDag-Erling Smørgravfi
215b7579f77SDag-Erling Smørgrav
216b7579f77SDag-Erling Smørgrav_LT_CHECK_OBJDIR
217b7579f77SDag-Erling Smørgrav
218b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
219b7579f77SDag-Erling Smørgrav
220b7579f77SDag-Erling Smørgravcase $host_os in
221b7579f77SDag-Erling Smørgravaix3*)
222b7579f77SDag-Erling Smørgrav  # AIX sometimes has problems with the GCC collect2 program.  For some
223b7579f77SDag-Erling Smørgrav  # reason, if we set the COLLECT_NAMES environment variable, the problems
224b7579f77SDag-Erling Smørgrav  # vanish in a puff of smoke.
225f61ef7f6SDag-Erling Smørgrav  if test set != "${COLLECT_NAMES+set}"; then
226b7579f77SDag-Erling Smørgrav    COLLECT_NAMES=
227b7579f77SDag-Erling Smørgrav    export COLLECT_NAMES
228b7579f77SDag-Erling Smørgrav  fi
229b7579f77SDag-Erling Smørgrav  ;;
230b7579f77SDag-Erling Smørgravesac
231b7579f77SDag-Erling Smørgrav
232b7579f77SDag-Erling Smørgrav# Global variables:
233b7579f77SDag-Erling Smørgravofile=libtool
234b7579f77SDag-Erling Smørgravcan_build_shared=yes
235b7579f77SDag-Erling Smørgrav
236*46d2f618SCy Schubert# All known linkers require a '.a' archive for static linking (except MSVC,
237*46d2f618SCy Schubert# which needs '.lib').
238b7579f77SDag-Erling Smørgravlibext=a
239b7579f77SDag-Erling Smørgrav
240f61ef7f6SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld
241b7579f77SDag-Erling Smørgrav
242f61ef7f6SDag-Erling Smørgravold_CC=$CC
243f61ef7f6SDag-Erling Smørgravold_CFLAGS=$CFLAGS
244b7579f77SDag-Erling Smørgrav
245b7579f77SDag-Erling Smørgrav# Set sane defaults for various variables
246b7579f77SDag-Erling Smørgravtest -z "$CC" && CC=cc
247b7579f77SDag-Erling Smørgravtest -z "$LTCC" && LTCC=$CC
248b7579f77SDag-Erling Smørgravtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
249b7579f77SDag-Erling Smørgravtest -z "$LD" && LD=ld
250b7579f77SDag-Erling Smørgravtest -z "$ac_objext" && ac_objext=o
251b7579f77SDag-Erling Smørgrav
252b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
253b7579f77SDag-Erling Smørgrav
254b7579f77SDag-Erling Smørgrav# Only perform the check for file, if the check method requires it
255b7579f77SDag-Erling Smørgravtest -z "$MAGIC_CMD" && MAGIC_CMD=file
256b7579f77SDag-Erling Smørgravcase $deplibs_check_method in
257b7579f77SDag-Erling Smørgravfile_magic*)
258b7579f77SDag-Erling Smørgrav  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
259b7579f77SDag-Erling Smørgrav    _LT_PATH_MAGIC
260b7579f77SDag-Erling Smørgrav  fi
261b7579f77SDag-Erling Smørgrav  ;;
262b7579f77SDag-Erling Smørgravesac
263b7579f77SDag-Erling Smørgrav
264b7579f77SDag-Erling Smørgrav# Use C for the default configuration in the libtool script
265b7579f77SDag-Erling SmørgravLT_SUPPORTED_TAG([CC])
266b7579f77SDag-Erling Smørgrav_LT_LANG_C_CONFIG
267b7579f77SDag-Erling Smørgrav_LT_LANG_DEFAULT_CONFIG
268b7579f77SDag-Erling Smørgrav_LT_CONFIG_COMMANDS
269b7579f77SDag-Erling Smørgrav])# _LT_SETUP
270b7579f77SDag-Erling Smørgrav
271b7579f77SDag-Erling Smørgrav
272b7579f77SDag-Erling Smørgrav# _LT_PREPARE_SED_QUOTE_VARS
273b7579f77SDag-Erling Smørgrav# --------------------------
274b7579f77SDag-Erling Smørgrav# Define a few sed substitution that help us do robust quoting.
275b7579f77SDag-Erling Smørgravm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
276b7579f77SDag-Erling Smørgrav[# Backslashify metacharacters that are still active within
277b7579f77SDag-Erling Smørgrav# double-quoted strings.
278b7579f77SDag-Erling Smørgravsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
279b7579f77SDag-Erling Smørgrav
280b7579f77SDag-Erling Smørgrav# Same as above, but do not quote variable references.
281b7579f77SDag-Erling Smørgravdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
282b7579f77SDag-Erling Smørgrav
283b7579f77SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped shell variable in a
284b7579f77SDag-Erling Smørgrav# double_quote_subst'ed string.
285b7579f77SDag-Erling Smørgravdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
286b7579f77SDag-Erling Smørgrav
287b7579f77SDag-Erling Smørgrav# Sed substitution to delay expansion of an escaped single quote.
288b7579f77SDag-Erling Smørgravdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
289b7579f77SDag-Erling Smørgrav
290b7579f77SDag-Erling Smørgrav# Sed substitution to avoid accidental globbing in evaled expressions
291b7579f77SDag-Erling Smørgravno_glob_subst='s/\*/\\\*/g'
292b7579f77SDag-Erling Smørgrav])
293b7579f77SDag-Erling Smørgrav
294b7579f77SDag-Erling Smørgrav# _LT_PROG_LTMAIN
295b7579f77SDag-Erling Smørgrav# ---------------
296f61ef7f6SDag-Erling Smørgrav# Note that this code is called both from 'configure', and 'config.status'
297b7579f77SDag-Erling Smørgrav# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
298f61ef7f6SDag-Erling Smørgrav# 'config.status' has no value for ac_aux_dir unless we are using Automake,
299b7579f77SDag-Erling Smørgrav# so we pass a copy along to make sure it has a sensible value anyway.
300b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_LTMAIN],
301b7579f77SDag-Erling Smørgrav[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
302b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
303f61ef7f6SDag-Erling Smørgravltmain=$ac_aux_dir/ltmain.sh
304b7579f77SDag-Erling Smørgrav])# _LT_PROG_LTMAIN
305b7579f77SDag-Erling Smørgrav
306b7579f77SDag-Erling Smørgrav
307b7579f77SDag-Erling Smørgrav
308b7579f77SDag-Erling Smørgrav# So that we can recreate a full libtool script including additional
309b7579f77SDag-Erling Smørgrav# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
310f61ef7f6SDag-Erling Smørgrav# in macros and then make a single call at the end using the 'libtool'
311b7579f77SDag-Erling Smørgrav# label.
312b7579f77SDag-Erling Smørgrav
313b7579f77SDag-Erling Smørgrav
314b7579f77SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
315b7579f77SDag-Erling Smørgrav# ----------------------------------------
316b7579f77SDag-Erling Smørgrav# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
317b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL_INIT],
318b7579f77SDag-Erling Smørgrav[m4_ifval([$1],
319b7579f77SDag-Erling Smørgrav          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
320b7579f77SDag-Erling Smørgrav                     [$1
321b7579f77SDag-Erling Smørgrav])])])
322b7579f77SDag-Erling Smørgrav
323b7579f77SDag-Erling Smørgrav# Initialize.
324b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_INIT])
325b7579f77SDag-Erling Smørgrav
326b7579f77SDag-Erling Smørgrav
327b7579f77SDag-Erling Smørgrav# _LT_CONFIG_LIBTOOL([COMMANDS])
328b7579f77SDag-Erling Smørgrav# ------------------------------
329b7579f77SDag-Erling Smørgrav# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
330b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_LIBTOOL],
331b7579f77SDag-Erling Smørgrav[m4_ifval([$1],
332b7579f77SDag-Erling Smørgrav          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
333b7579f77SDag-Erling Smørgrav                     [$1
334b7579f77SDag-Erling Smørgrav])])])
335b7579f77SDag-Erling Smørgrav
336b7579f77SDag-Erling Smørgrav# Initialize.
337b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
338b7579f77SDag-Erling Smørgrav
339b7579f77SDag-Erling Smørgrav
340b7579f77SDag-Erling Smørgrav# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
341b7579f77SDag-Erling Smørgrav# -----------------------------------------------------
342b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_SAVE_COMMANDS],
343b7579f77SDag-Erling Smørgrav[_LT_CONFIG_LIBTOOL([$1])
344b7579f77SDag-Erling Smørgrav_LT_CONFIG_LIBTOOL_INIT([$2])
345b7579f77SDag-Erling Smørgrav])
346b7579f77SDag-Erling Smørgrav
347b7579f77SDag-Erling Smørgrav
348b7579f77SDag-Erling Smørgrav# _LT_FORMAT_COMMENT([COMMENT])
349b7579f77SDag-Erling Smørgrav# -----------------------------
350b7579f77SDag-Erling Smørgrav# Add leading comment marks to the start of each line, and a trailing
351b7579f77SDag-Erling Smørgrav# full-stop to the whole comment if one is not present already.
352b7579f77SDag-Erling Smørgravm4_define([_LT_FORMAT_COMMENT],
353b7579f77SDag-Erling Smørgrav[m4_ifval([$1], [
354b7579f77SDag-Erling Smørgravm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
355b7579f77SDag-Erling Smørgrav              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
356b7579f77SDag-Erling Smørgrav)])
357b7579f77SDag-Erling Smørgrav
358b7579f77SDag-Erling Smørgrav
359b7579f77SDag-Erling Smørgrav
360b7579f77SDag-Erling Smørgrav
361b7579f77SDag-Erling Smørgrav
362b7579f77SDag-Erling Smørgrav# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
363b7579f77SDag-Erling Smørgrav# -------------------------------------------------------------------
364b7579f77SDag-Erling Smørgrav# CONFIGNAME is the name given to the value in the libtool script.
365b7579f77SDag-Erling Smørgrav# VARNAME is the (base) name used in the configure script.
366b7579f77SDag-Erling Smørgrav# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
367b7579f77SDag-Erling Smørgrav# VARNAME.  Any other value will be used directly.
368b7579f77SDag-Erling Smørgravm4_define([_LT_DECL],
369b7579f77SDag-Erling Smørgrav[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
370b7579f77SDag-Erling Smørgrav    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
371b7579f77SDag-Erling Smørgrav	[m4_ifval([$1], [$1], [$2])])
372b7579f77SDag-Erling Smørgrav    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
373b7579f77SDag-Erling Smørgrav    m4_ifval([$4],
374b7579f77SDag-Erling Smørgrav	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
375b7579f77SDag-Erling Smørgrav    lt_dict_add_subkey([lt_decl_dict], [$2],
376b7579f77SDag-Erling Smørgrav	[tagged?], [m4_ifval([$5], [yes], [no])])])
377b7579f77SDag-Erling Smørgrav])
378b7579f77SDag-Erling Smørgrav
379b7579f77SDag-Erling Smørgrav
380b7579f77SDag-Erling Smørgrav# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
381b7579f77SDag-Erling Smørgrav# --------------------------------------------------------
382b7579f77SDag-Erling Smørgravm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
383b7579f77SDag-Erling Smørgrav
384b7579f77SDag-Erling Smørgrav
385b7579f77SDag-Erling Smørgrav# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
386b7579f77SDag-Erling Smørgrav# ------------------------------------------------
387b7579f77SDag-Erling Smørgravm4_define([lt_decl_tag_varnames],
388b7579f77SDag-Erling Smørgrav[_lt_decl_filter([tagged?], [yes], $@)])
389b7579f77SDag-Erling Smørgrav
390b7579f77SDag-Erling Smørgrav
391b7579f77SDag-Erling Smørgrav# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
392b7579f77SDag-Erling Smørgrav# ---------------------------------------------------------
393b7579f77SDag-Erling Smørgravm4_define([_lt_decl_filter],
394b7579f77SDag-Erling Smørgrav[m4_case([$#],
395b7579f77SDag-Erling Smørgrav  [0], [m4_fatal([$0: too few arguments: $#])],
396b7579f77SDag-Erling Smørgrav  [1], [m4_fatal([$0: too few arguments: $#: $1])],
397b7579f77SDag-Erling Smørgrav  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
398b7579f77SDag-Erling Smørgrav  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
399b7579f77SDag-Erling Smørgrav  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
400b7579f77SDag-Erling Smørgrav])
401b7579f77SDag-Erling Smørgrav
402b7579f77SDag-Erling Smørgrav
403b7579f77SDag-Erling Smørgrav# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
404b7579f77SDag-Erling Smørgrav# --------------------------------------------------
405b7579f77SDag-Erling Smørgravm4_define([lt_decl_quote_varnames],
406b7579f77SDag-Erling Smørgrav[_lt_decl_filter([value], [1], $@)])
407b7579f77SDag-Erling Smørgrav
408b7579f77SDag-Erling Smørgrav
409b7579f77SDag-Erling Smørgrav# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
410b7579f77SDag-Erling Smørgrav# ---------------------------------------------------
411b7579f77SDag-Erling Smørgravm4_define([lt_decl_dquote_varnames],
412b7579f77SDag-Erling Smørgrav[_lt_decl_filter([value], [2], $@)])
413b7579f77SDag-Erling Smørgrav
414b7579f77SDag-Erling Smørgrav
415b7579f77SDag-Erling Smørgrav# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
416b7579f77SDag-Erling Smørgrav# ---------------------------------------------------
417b7579f77SDag-Erling Smørgravm4_define([lt_decl_varnames_tagged],
418b7579f77SDag-Erling Smørgrav[m4_assert([$# <= 2])dnl
419b7579f77SDag-Erling Smørgrav_$0(m4_quote(m4_default([$1], [[, ]])),
420b7579f77SDag-Erling Smørgrav    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
421b7579f77SDag-Erling Smørgrav    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
422b7579f77SDag-Erling Smørgravm4_define([_lt_decl_varnames_tagged],
423b7579f77SDag-Erling Smørgrav[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
424b7579f77SDag-Erling Smørgrav
425b7579f77SDag-Erling Smørgrav
426b7579f77SDag-Erling Smørgrav# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
427b7579f77SDag-Erling Smørgrav# ------------------------------------------------
428b7579f77SDag-Erling Smørgravm4_define([lt_decl_all_varnames],
429b7579f77SDag-Erling Smørgrav[_$0(m4_quote(m4_default([$1], [[, ]])),
430b7579f77SDag-Erling Smørgrav     m4_if([$2], [],
431b7579f77SDag-Erling Smørgrav	   m4_quote(lt_decl_varnames),
432b7579f77SDag-Erling Smørgrav	m4_quote(m4_shift($@))))[]dnl
433b7579f77SDag-Erling Smørgrav])
434b7579f77SDag-Erling Smørgravm4_define([_lt_decl_all_varnames],
435b7579f77SDag-Erling Smørgrav[lt_join($@, lt_decl_varnames_tagged([$1],
436b7579f77SDag-Erling Smørgrav			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
437b7579f77SDag-Erling Smørgrav])
438b7579f77SDag-Erling Smørgrav
439b7579f77SDag-Erling Smørgrav
440b7579f77SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARE([VARNAME])
441b7579f77SDag-Erling Smørgrav# ------------------------------------
442f61ef7f6SDag-Erling Smørgrav# Quote a variable value, and forward it to 'config.status' so that its
443f61ef7f6SDag-Erling Smørgrav# declaration there will have the same value as in 'configure'.  VARNAME
444b7579f77SDag-Erling Smørgrav# must have a single quote delimited value for this to work.
445b7579f77SDag-Erling Smørgravm4_define([_LT_CONFIG_STATUS_DECLARE],
446b7579f77SDag-Erling Smørgrav[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
447b7579f77SDag-Erling Smørgrav
448b7579f77SDag-Erling Smørgrav
449b7579f77SDag-Erling Smørgrav# _LT_CONFIG_STATUS_DECLARATIONS
450b7579f77SDag-Erling Smørgrav# ------------------------------
451b7579f77SDag-Erling Smørgrav# We delimit libtool config variables with single quotes, so when
452b7579f77SDag-Erling Smørgrav# we write them to config.status, we have to be sure to quote all
453b7579f77SDag-Erling Smørgrav# embedded single quotes properly.  In configure, this macro expands
454b7579f77SDag-Erling Smørgrav# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
455b7579f77SDag-Erling Smørgrav#
456b7579f77SDag-Erling Smørgrav#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
457b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
458b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
459b7579f77SDag-Erling Smørgrav    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
460b7579f77SDag-Erling Smørgrav
461b7579f77SDag-Erling Smørgrav
462b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_TAGS
463b7579f77SDag-Erling Smørgrav# ----------------
464b7579f77SDag-Erling Smørgrav# Output comment and list of tags supported by the script
465b7579f77SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_TAGS],
466b7579f77SDag-Erling Smørgrav[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
467f61ef7f6SDag-Erling Smørgravavailable_tags='_LT_TAGS'dnl
468b7579f77SDag-Erling Smørgrav])
469b7579f77SDag-Erling Smørgrav
470b7579f77SDag-Erling Smørgrav
471b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
472b7579f77SDag-Erling Smørgrav# -----------------------------------
473b7579f77SDag-Erling Smørgrav# Extract the dictionary values for VARNAME (optionally with TAG) and
474b7579f77SDag-Erling Smørgrav# expand to a commented shell variable setting:
475b7579f77SDag-Erling Smørgrav#
476b7579f77SDag-Erling Smørgrav#    # Some comment about what VAR is for.
477b7579f77SDag-Erling Smørgrav#    visible_name=$lt_internal_name
478b7579f77SDag-Erling Smørgravm4_define([_LT_LIBTOOL_DECLARE],
479b7579f77SDag-Erling Smørgrav[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
480b7579f77SDag-Erling Smørgrav					   [description])))[]dnl
481b7579f77SDag-Erling Smørgravm4_pushdef([_libtool_name],
482b7579f77SDag-Erling Smørgrav    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
483b7579f77SDag-Erling Smørgravm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
484b7579f77SDag-Erling Smørgrav    [0], [_libtool_name=[$]$1],
485b7579f77SDag-Erling Smørgrav    [1], [_libtool_name=$lt_[]$1],
486b7579f77SDag-Erling Smørgrav    [2], [_libtool_name=$lt_[]$1],
487b7579f77SDag-Erling Smørgrav    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
488b7579f77SDag-Erling Smørgravm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
489b7579f77SDag-Erling Smørgrav])
490b7579f77SDag-Erling Smørgrav
491b7579f77SDag-Erling Smørgrav
492b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_CONFIG_VARS
493b7579f77SDag-Erling Smørgrav# -----------------------
494b7579f77SDag-Erling Smørgrav# Produce commented declarations of non-tagged libtool config variables
495f61ef7f6SDag-Erling Smørgrav# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
496b7579f77SDag-Erling Smørgrav# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
497b7579f77SDag-Erling Smørgrav# section) are produced by _LT_LIBTOOL_TAG_VARS.
498b7579f77SDag-Erling Smørgravm4_defun([_LT_LIBTOOL_CONFIG_VARS],
499b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var],
500b7579f77SDag-Erling Smørgrav    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
501b7579f77SDag-Erling Smørgrav    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
502b7579f77SDag-Erling Smørgrav
503b7579f77SDag-Erling Smørgrav
504b7579f77SDag-Erling Smørgrav# _LT_LIBTOOL_TAG_VARS(TAG)
505b7579f77SDag-Erling Smørgrav# -------------------------
506b7579f77SDag-Erling Smørgravm4_define([_LT_LIBTOOL_TAG_VARS],
507b7579f77SDag-Erling Smørgrav[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
508b7579f77SDag-Erling Smørgrav    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
509b7579f77SDag-Erling Smørgrav
510b7579f77SDag-Erling Smørgrav
511b7579f77SDag-Erling Smørgrav# _LT_TAGVAR(VARNAME, [TAGNAME])
512b7579f77SDag-Erling Smørgrav# ------------------------------
513b7579f77SDag-Erling Smørgravm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
514b7579f77SDag-Erling Smørgrav
515b7579f77SDag-Erling Smørgrav
516b7579f77SDag-Erling Smørgrav# _LT_CONFIG_COMMANDS
517b7579f77SDag-Erling Smørgrav# -------------------
518b7579f77SDag-Erling Smørgrav# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
519b7579f77SDag-Erling Smørgrav# variables for single and double quote escaping we saved from calls
520b7579f77SDag-Erling Smørgrav# to _LT_DECL, we can put quote escaped variables declarations
521f61ef7f6SDag-Erling Smørgrav# into 'config.status', and then the shell code to quote escape them in
522f61ef7f6SDag-Erling Smørgrav# for loops in 'config.status'.  Finally, any additional code accumulated
523b7579f77SDag-Erling Smørgrav# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
524b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG_COMMANDS],
525b7579f77SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([LT_OUTPUT],
526b7579f77SDag-Erling Smørgrav	dnl If the libtool generation code has been placed in $CONFIG_LT,
527b7579f77SDag-Erling Smørgrav	dnl instead of duplicating it all over again into config.status,
528b7579f77SDag-Erling Smørgrav	dnl then we will have config.status run $CONFIG_LT later, so it
529b7579f77SDag-Erling Smørgrav	dnl needs to know what name is stored there:
530b7579f77SDag-Erling Smørgrav        [AC_CONFIG_COMMANDS([libtool],
531b7579f77SDag-Erling Smørgrav            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
532b7579f77SDag-Erling Smørgrav    dnl If the libtool generation code is destined for config.status,
533b7579f77SDag-Erling Smørgrav    dnl expand the accumulated commands and init code now:
534b7579f77SDag-Erling Smørgrav    [AC_CONFIG_COMMANDS([libtool],
535b7579f77SDag-Erling Smørgrav        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
536b7579f77SDag-Erling Smørgrav])#_LT_CONFIG_COMMANDS
537b7579f77SDag-Erling Smørgrav
538b7579f77SDag-Erling Smørgrav
539b7579f77SDag-Erling Smørgrav# Initialize.
540b7579f77SDag-Erling Smørgravm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
541b7579f77SDag-Erling Smørgrav[
542b7579f77SDag-Erling Smørgrav
543b7579f77SDag-Erling Smørgrav# The HP-UX ksh and POSIX shell print the target directory to stdout
544b7579f77SDag-Erling Smørgrav# if CDPATH is set.
545b7579f77SDag-Erling Smørgrav(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
546b7579f77SDag-Erling Smørgrav
547b7579f77SDag-Erling Smørgravsed_quote_subst='$sed_quote_subst'
548b7579f77SDag-Erling Smørgravdouble_quote_subst='$double_quote_subst'
549b7579f77SDag-Erling Smørgravdelay_variable_subst='$delay_variable_subst'
550b7579f77SDag-Erling Smørgrav_LT_CONFIG_STATUS_DECLARATIONS
551b7579f77SDag-Erling SmørgravLTCC='$LTCC'
552b7579f77SDag-Erling SmørgravLTCFLAGS='$LTCFLAGS'
553b7579f77SDag-Erling Smørgravcompiler='$compiler_DEFAULT'
554b7579f77SDag-Erling Smørgrav
555b7579f77SDag-Erling Smørgrav# A function that is used when there is no print builtin or printf.
556b7579f77SDag-Erling Smørgravfunc_fallback_echo ()
557b7579f77SDag-Erling Smørgrav{
558b7579f77SDag-Erling Smørgrav  eval 'cat <<_LTECHO_EOF
559b7579f77SDag-Erling Smørgrav\$[]1
560b7579f77SDag-Erling Smørgrav_LTECHO_EOF'
561b7579f77SDag-Erling Smørgrav}
562b7579f77SDag-Erling Smørgrav
563b7579f77SDag-Erling Smørgrav# Quote evaled strings.
564b7579f77SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \
565b7579f77SDag-Erling Smørgrav]], lt_decl_quote_varnames); do
566b7579f77SDag-Erling Smørgrav    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
567b7579f77SDag-Erling Smørgrav    *[[\\\\\\\`\\"\\\$]]*)
568f61ef7f6SDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
569b7579f77SDag-Erling Smørgrav      ;;
570b7579f77SDag-Erling Smørgrav    *)
571b7579f77SDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
572b7579f77SDag-Erling Smørgrav      ;;
573b7579f77SDag-Erling Smørgrav    esac
574b7579f77SDag-Erling Smørgravdone
575b7579f77SDag-Erling Smørgrav
576b7579f77SDag-Erling Smørgrav# Double-quote double-evaled strings.
577b7579f77SDag-Erling Smørgravfor var in lt_decl_all_varnames([[ \
578b7579f77SDag-Erling Smørgrav]], lt_decl_dquote_varnames); do
579b7579f77SDag-Erling Smørgrav    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
580b7579f77SDag-Erling Smørgrav    *[[\\\\\\\`\\"\\\$]]*)
581f61ef7f6SDag-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
582b7579f77SDag-Erling Smørgrav      ;;
583b7579f77SDag-Erling Smørgrav    *)
584b7579f77SDag-Erling Smørgrav      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
585b7579f77SDag-Erling Smørgrav      ;;
586b7579f77SDag-Erling Smørgrav    esac
587b7579f77SDag-Erling Smørgravdone
588b7579f77SDag-Erling Smørgrav
589b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_INIT
590b7579f77SDag-Erling Smørgrav])
591b7579f77SDag-Erling Smørgrav
592b7579f77SDag-Erling Smørgrav# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
593b7579f77SDag-Erling Smørgrav# ------------------------------------
594b7579f77SDag-Erling Smørgrav# Generate a child script FILE with all initialization necessary to
595b7579f77SDag-Erling Smørgrav# reuse the environment learned by the parent script, and make the
596b7579f77SDag-Erling Smørgrav# file executable.  If COMMENT is supplied, it is inserted after the
597f61ef7f6SDag-Erling Smørgrav# '#!' sequence but before initialization text begins.  After this
598b7579f77SDag-Erling Smørgrav# macro, additional text can be appended to FILE to form the body of
599b7579f77SDag-Erling Smørgrav# the child script.  The macro ends with non-zero status if the
600b7579f77SDag-Erling Smørgrav# file could not be fully written (such as if the disk is full).
601b7579f77SDag-Erling Smørgravm4_ifdef([AS_INIT_GENERATED],
602b7579f77SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
603b7579f77SDag-Erling Smørgrav[m4_defun([_LT_GENERATED_FILE_INIT],
604b7579f77SDag-Erling Smørgrav[m4_require([AS_PREPARE])]dnl
605b7579f77SDag-Erling Smørgrav[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
606b7579f77SDag-Erling Smørgrav[lt_write_fail=0
607b7579f77SDag-Erling Smørgravcat >$1 <<_ASEOF || lt_write_fail=1
608b7579f77SDag-Erling Smørgrav#! $SHELL
609b7579f77SDag-Erling Smørgrav# Generated by $as_me.
610b7579f77SDag-Erling Smørgrav$2
611b7579f77SDag-Erling SmørgravSHELL=\${CONFIG_SHELL-$SHELL}
612b7579f77SDag-Erling Smørgravexport SHELL
613b7579f77SDag-Erling Smørgrav_ASEOF
614b7579f77SDag-Erling Smørgravcat >>$1 <<\_ASEOF || lt_write_fail=1
615b7579f77SDag-Erling SmørgravAS_SHELL_SANITIZE
616b7579f77SDag-Erling Smørgrav_AS_PREPARE
617b7579f77SDag-Erling Smørgravexec AS_MESSAGE_FD>&1
618b7579f77SDag-Erling Smørgrav_ASEOF
619f61ef7f6SDag-Erling Smørgravtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
620b7579f77SDag-Erling Smørgravm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
621b7579f77SDag-Erling Smørgrav
622b7579f77SDag-Erling Smørgrav# LT_OUTPUT
623b7579f77SDag-Erling Smørgrav# ---------
624b7579f77SDag-Erling Smørgrav# This macro allows early generation of the libtool script (before
625b7579f77SDag-Erling Smørgrav# AC_OUTPUT is called), incase it is used in configure for compilation
626b7579f77SDag-Erling Smørgrav# tests.
627b7579f77SDag-Erling SmørgravAC_DEFUN([LT_OUTPUT],
628b7579f77SDag-Erling Smørgrav[: ${CONFIG_LT=./config.lt}
629b7579f77SDag-Erling SmørgravAC_MSG_NOTICE([creating $CONFIG_LT])
630b7579f77SDag-Erling Smørgrav_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
631b7579f77SDag-Erling Smørgrav[# Run this file to recreate a libtool stub with the current configuration.])
632b7579f77SDag-Erling Smørgrav
633b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF
634b7579f77SDag-Erling Smørgravlt_cl_silent=false
635b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log
636b7579f77SDag-Erling Smørgrav{
637b7579f77SDag-Erling Smørgrav  echo
638b7579f77SDag-Erling Smørgrav  AS_BOX([Running $as_me.])
639b7579f77SDag-Erling Smørgrav} >&AS_MESSAGE_LOG_FD
640b7579f77SDag-Erling Smørgrav
641b7579f77SDag-Erling Smørgravlt_cl_help="\
642f61ef7f6SDag-Erling Smørgrav'$as_me' creates a local libtool stub from the current configuration,
643b7579f77SDag-Erling Smørgravfor use in further configure time tests before the real libtool is
644b7579f77SDag-Erling Smørgravgenerated.
645b7579f77SDag-Erling Smørgrav
646b7579f77SDag-Erling SmørgravUsage: $[0] [[OPTIONS]]
647b7579f77SDag-Erling Smørgrav
648b7579f77SDag-Erling Smørgrav  -h, --help      print this help, then exit
649b7579f77SDag-Erling Smørgrav  -V, --version   print version number, then exit
650b7579f77SDag-Erling Smørgrav  -q, --quiet     do not print progress messages
651b7579f77SDag-Erling Smørgrav  -d, --debug     don't remove temporary files
652b7579f77SDag-Erling Smørgrav
653b7579f77SDag-Erling SmørgravReport bugs to <bug-libtool@gnu.org>."
654b7579f77SDag-Erling Smørgrav
655b7579f77SDag-Erling Smørgravlt_cl_version="\
656b7579f77SDag-Erling Smørgravm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
657b7579f77SDag-Erling Smørgravm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
658b7579f77SDag-Erling Smørgravconfigured by $[0], generated by m4_PACKAGE_STRING.
659b7579f77SDag-Erling Smørgrav
6608ed2b524SDag-Erling SmørgravCopyright (C) 2011 Free Software Foundation, Inc.
661b7579f77SDag-Erling SmørgravThis config.lt script is free software; the Free Software Foundation
662b7579f77SDag-Erling Smørgravgives unlimited permision to copy, distribute and modify it."
663b7579f77SDag-Erling Smørgrav
664f61ef7f6SDag-Erling Smørgravwhile test 0 != $[#]
665b7579f77SDag-Erling Smørgravdo
666b7579f77SDag-Erling Smørgrav  case $[1] in
667b7579f77SDag-Erling Smørgrav    --version | --v* | -V )
668b7579f77SDag-Erling Smørgrav      echo "$lt_cl_version"; exit 0 ;;
669b7579f77SDag-Erling Smørgrav    --help | --h* | -h )
670b7579f77SDag-Erling Smørgrav      echo "$lt_cl_help"; exit 0 ;;
671b7579f77SDag-Erling Smørgrav    --debug | --d* | -d )
672b7579f77SDag-Erling Smørgrav      debug=: ;;
673b7579f77SDag-Erling Smørgrav    --quiet | --q* | --silent | --s* | -q )
674b7579f77SDag-Erling Smørgrav      lt_cl_silent=: ;;
675b7579f77SDag-Erling Smørgrav
676b7579f77SDag-Erling Smørgrav    -*) AC_MSG_ERROR([unrecognized option: $[1]
677f61ef7f6SDag-Erling SmørgravTry '$[0] --help' for more information.]) ;;
678b7579f77SDag-Erling Smørgrav
679b7579f77SDag-Erling Smørgrav    *) AC_MSG_ERROR([unrecognized argument: $[1]
680f61ef7f6SDag-Erling SmørgravTry '$[0] --help' for more information.]) ;;
681b7579f77SDag-Erling Smørgrav  esac
682b7579f77SDag-Erling Smørgrav  shift
683b7579f77SDag-Erling Smørgravdone
684b7579f77SDag-Erling Smørgrav
685b7579f77SDag-Erling Smørgravif $lt_cl_silent; then
686b7579f77SDag-Erling Smørgrav  exec AS_MESSAGE_FD>/dev/null
687b7579f77SDag-Erling Smørgravfi
688b7579f77SDag-Erling Smørgrav_LTEOF
689b7579f77SDag-Erling Smørgrav
690b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<_LTEOF
691b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
692b7579f77SDag-Erling Smørgrav_LTEOF
693b7579f77SDag-Erling Smørgrav
694b7579f77SDag-Erling Smørgravcat >>"$CONFIG_LT" <<\_LTEOF
695b7579f77SDag-Erling SmørgravAC_MSG_NOTICE([creating $ofile])
696b7579f77SDag-Erling Smørgrav_LT_OUTPUT_LIBTOOL_COMMANDS
697b7579f77SDag-Erling SmørgravAS_EXIT(0)
698b7579f77SDag-Erling Smørgrav_LTEOF
699b7579f77SDag-Erling Smørgravchmod +x "$CONFIG_LT"
700b7579f77SDag-Erling Smørgrav
701b7579f77SDag-Erling Smørgrav# configure is writing to config.log, but config.lt does its own redirection,
702b7579f77SDag-Erling Smørgrav# appending to config.log, which fails on DOS, as config.log is still kept
703b7579f77SDag-Erling Smørgrav# open by configure.  Here we exec the FD to /dev/null, effectively closing
704b7579f77SDag-Erling Smørgrav# config.log, so it can be properly (re)opened and appended to by config.lt.
705b7579f77SDag-Erling Smørgravlt_cl_success=:
706f61ef7f6SDag-Erling Smørgravtest yes = "$silent" &&
707b7579f77SDag-Erling Smørgrav  lt_config_lt_args="$lt_config_lt_args --quiet"
708b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>/dev/null
709b7579f77SDag-Erling Smørgrav$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
710b7579f77SDag-Erling Smørgravexec AS_MESSAGE_LOG_FD>>config.log
711b7579f77SDag-Erling Smørgrav$lt_cl_success || AS_EXIT(1)
712b7579f77SDag-Erling Smørgrav])# LT_OUTPUT
713b7579f77SDag-Erling Smørgrav
714b7579f77SDag-Erling Smørgrav
715b7579f77SDag-Erling Smørgrav# _LT_CONFIG(TAG)
716b7579f77SDag-Erling Smørgrav# ---------------
717b7579f77SDag-Erling Smørgrav# If TAG is the built-in tag, create an initial libtool script with a
718b7579f77SDag-Erling Smørgrav# default configuration from the untagged config vars.  Otherwise add code
719b7579f77SDag-Erling Smørgrav# to config.status for appending the configuration named by TAG from the
720b7579f77SDag-Erling Smørgrav# matching tagged config vars.
721b7579f77SDag-Erling Smørgravm4_defun([_LT_CONFIG],
722b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
723b7579f77SDag-Erling Smørgrav_LT_CONFIG_SAVE_COMMANDS([
724b7579f77SDag-Erling Smørgrav  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
725b7579f77SDag-Erling Smørgrav  m4_if(_LT_TAG, [C], [
726f61ef7f6SDag-Erling Smørgrav    # See if we are running on zsh, and set the options that allow our
727b7579f77SDag-Erling Smørgrav    # commands through without removal of \ escapes.
728b7579f77SDag-Erling Smørgrav    if test -n "${ZSH_VERSION+set}"; then
729b7579f77SDag-Erling Smørgrav      setopt NO_GLOB_SUBST
730b7579f77SDag-Erling Smørgrav    fi
731b7579f77SDag-Erling Smørgrav
732f61ef7f6SDag-Erling Smørgrav    cfgfile=${ofile}T
733b7579f77SDag-Erling Smørgrav    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
734b7579f77SDag-Erling Smørgrav    $RM "$cfgfile"
735b7579f77SDag-Erling Smørgrav
736b7579f77SDag-Erling Smørgrav    cat <<_LT_EOF >> "$cfgfile"
737b7579f77SDag-Erling Smørgrav#! $SHELL
738f61ef7f6SDag-Erling Smørgrav# Generated automatically by $as_me ($PACKAGE) $VERSION
739091e9e46SCy Schubert# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
740b7579f77SDag-Erling Smørgrav# NOTE: Changes made to this file will be lost: look at ltmain.sh.
741f61ef7f6SDag-Erling Smørgrav
742f61ef7f6SDag-Erling Smørgrav# Provide generalized library-building support services.
743f61ef7f6SDag-Erling Smørgrav# Written by Gordon Matzigkeit, 1996
744f61ef7f6SDag-Erling Smørgrav
745b7579f77SDag-Erling Smørgrav_LT_COPYING
746b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAGS
747b7579f77SDag-Erling Smørgrav
748f61ef7f6SDag-Erling Smørgrav# Configured defaults for sys_lib_dlsearch_path munging.
749f61ef7f6SDag-Erling Smørgrav: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
750f61ef7f6SDag-Erling Smørgrav
751b7579f77SDag-Erling Smørgrav# ### BEGIN LIBTOOL CONFIG
752b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_CONFIG_VARS
753b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS
754b7579f77SDag-Erling Smørgrav# ### END LIBTOOL CONFIG
755b7579f77SDag-Erling Smørgrav
756b7579f77SDag-Erling Smørgrav_LT_EOF
757b7579f77SDag-Erling Smørgrav
758f61ef7f6SDag-Erling Smørgrav    cat <<'_LT_EOF' >> "$cfgfile"
759f61ef7f6SDag-Erling Smørgrav
760f61ef7f6SDag-Erling Smørgrav# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
761f61ef7f6SDag-Erling Smørgrav
762f61ef7f6SDag-Erling Smørgrav_LT_PREPARE_MUNGE_PATH_LIST
763f61ef7f6SDag-Erling Smørgrav_LT_PREPARE_CC_BASENAME
764f61ef7f6SDag-Erling Smørgrav
765f61ef7f6SDag-Erling Smørgrav# ### END FUNCTIONS SHARED WITH CONFIGURE
766f61ef7f6SDag-Erling Smørgrav
767f61ef7f6SDag-Erling Smørgrav_LT_EOF
768f61ef7f6SDag-Erling Smørgrav
769b7579f77SDag-Erling Smørgrav  case $host_os in
770b7579f77SDag-Erling Smørgrav  aix3*)
771b7579f77SDag-Erling Smørgrav    cat <<\_LT_EOF >> "$cfgfile"
772b7579f77SDag-Erling Smørgrav# AIX sometimes has problems with the GCC collect2 program.  For some
773b7579f77SDag-Erling Smørgrav# reason, if we set the COLLECT_NAMES environment variable, the problems
774b7579f77SDag-Erling Smørgrav# vanish in a puff of smoke.
775f61ef7f6SDag-Erling Smørgravif test set != "${COLLECT_NAMES+set}"; then
776b7579f77SDag-Erling Smørgrav  COLLECT_NAMES=
777b7579f77SDag-Erling Smørgrav  export COLLECT_NAMES
778b7579f77SDag-Erling Smørgravfi
779b7579f77SDag-Erling Smørgrav_LT_EOF
780b7579f77SDag-Erling Smørgrav    ;;
781b7579f77SDag-Erling Smørgrav  esac
782b7579f77SDag-Erling Smørgrav
783b7579f77SDag-Erling Smørgrav  _LT_PROG_LTMAIN
784b7579f77SDag-Erling Smørgrav
785b7579f77SDag-Erling Smørgrav  # We use sed instead of cat because bash on DJGPP gets confused if
786b7579f77SDag-Erling Smørgrav  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
787b7579f77SDag-Erling Smørgrav  # text mode, it properly converts lines to CR/LF.  This bash problem
788b7579f77SDag-Erling Smørgrav  # is reportedly fixed, but why not run on old versions too?
789*46d2f618SCy Schubert  sed '$q' "$ltmain" >> "$cfgfile" \
790b7579f77SDag-Erling Smørgrav     || (rm -f "$cfgfile"; exit 1)
791b7579f77SDag-Erling Smørgrav
792b7579f77SDag-Erling Smørgrav   mv -f "$cfgfile" "$ofile" ||
793b7579f77SDag-Erling Smørgrav    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
794b7579f77SDag-Erling Smørgrav  chmod +x "$ofile"
795b7579f77SDag-Erling Smørgrav],
796b7579f77SDag-Erling Smørgrav[cat <<_LT_EOF >> "$ofile"
797b7579f77SDag-Erling Smørgrav
798b7579f77SDag-Erling Smørgravdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
799b7579f77SDag-Erling Smørgravdnl in a comment (ie after a #).
800b7579f77SDag-Erling Smørgrav# ### BEGIN LIBTOOL TAG CONFIG: $1
801b7579f77SDag-Erling Smørgrav_LT_LIBTOOL_TAG_VARS(_LT_TAG)
802b7579f77SDag-Erling Smørgrav# ### END LIBTOOL TAG CONFIG: $1
803b7579f77SDag-Erling Smørgrav_LT_EOF
804b7579f77SDag-Erling Smørgrav])dnl /m4_if
805b7579f77SDag-Erling Smørgrav],
806b7579f77SDag-Erling Smørgrav[m4_if([$1], [], [
807b7579f77SDag-Erling Smørgrav    PACKAGE='$PACKAGE'
808b7579f77SDag-Erling Smørgrav    VERSION='$VERSION'
809b7579f77SDag-Erling Smørgrav    RM='$RM'
810b7579f77SDag-Erling Smørgrav    ofile='$ofile'], [])
811b7579f77SDag-Erling Smørgrav])dnl /_LT_CONFIG_SAVE_COMMANDS
812b7579f77SDag-Erling Smørgrav])# _LT_CONFIG
813b7579f77SDag-Erling Smørgrav
814b7579f77SDag-Erling Smørgrav
815b7579f77SDag-Erling Smørgrav# LT_SUPPORTED_TAG(TAG)
816b7579f77SDag-Erling Smørgrav# ---------------------
817b7579f77SDag-Erling Smørgrav# Trace this macro to discover what tags are supported by the libtool
818b7579f77SDag-Erling Smørgrav# --tag option, using:
819b7579f77SDag-Erling Smørgrav#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
820b7579f77SDag-Erling SmørgravAC_DEFUN([LT_SUPPORTED_TAG], [])
821b7579f77SDag-Erling Smørgrav
822b7579f77SDag-Erling Smørgrav
823b7579f77SDag-Erling Smørgrav# C support is built-in for now
824b7579f77SDag-Erling Smørgravm4_define([_LT_LANG_C_enabled], [])
825b7579f77SDag-Erling Smørgravm4_define([_LT_TAGS], [])
826b7579f77SDag-Erling Smørgrav
827b7579f77SDag-Erling Smørgrav
828b7579f77SDag-Erling Smørgrav# LT_LANG(LANG)
829b7579f77SDag-Erling Smørgrav# -------------
830b7579f77SDag-Erling Smørgrav# Enable libtool support for the given language if not already enabled.
831b7579f77SDag-Erling SmørgravAC_DEFUN([LT_LANG],
832b7579f77SDag-Erling Smørgrav[AC_BEFORE([$0], [LT_OUTPUT])dnl
833b7579f77SDag-Erling Smørgravm4_case([$1],
834b7579f77SDag-Erling Smørgrav  [C],			[_LT_LANG(C)],
835b7579f77SDag-Erling Smørgrav  [C++],		[_LT_LANG(CXX)],
8368ed2b524SDag-Erling Smørgrav  [Go],			[_LT_LANG(GO)],
837b7579f77SDag-Erling Smørgrav  [Java],		[_LT_LANG(GCJ)],
838b7579f77SDag-Erling Smørgrav  [Fortran 77],		[_LT_LANG(F77)],
839b7579f77SDag-Erling Smørgrav  [Fortran],		[_LT_LANG(FC)],
840b7579f77SDag-Erling Smørgrav  [Windows Resource],	[_LT_LANG(RC)],
841b7579f77SDag-Erling Smørgrav  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
842b7579f77SDag-Erling Smørgrav    [_LT_LANG($1)],
843b7579f77SDag-Erling Smørgrav    [m4_fatal([$0: unsupported language: "$1"])])])dnl
844b7579f77SDag-Erling Smørgrav])# LT_LANG
845b7579f77SDag-Erling Smørgrav
846b7579f77SDag-Erling Smørgrav
847b7579f77SDag-Erling Smørgrav# _LT_LANG(LANGNAME)
848b7579f77SDag-Erling Smørgrav# ------------------
849b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG],
850b7579f77SDag-Erling Smørgrav[m4_ifdef([_LT_LANG_]$1[_enabled], [],
851b7579f77SDag-Erling Smørgrav  [LT_SUPPORTED_TAG([$1])dnl
852b7579f77SDag-Erling Smørgrav  m4_append([_LT_TAGS], [$1 ])dnl
853b7579f77SDag-Erling Smørgrav  m4_define([_LT_LANG_]$1[_enabled], [])dnl
854b7579f77SDag-Erling Smørgrav  _LT_LANG_$1_CONFIG($1)])dnl
855b7579f77SDag-Erling Smørgrav])# _LT_LANG
856b7579f77SDag-Erling Smørgrav
857b7579f77SDag-Erling Smørgrav
8588ed2b524SDag-Erling Smørgravm4_ifndef([AC_PROG_GO], [
8598ed2b524SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into   #
8608ed2b524SDag-Erling Smørgrav#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
8618ed2b524SDag-Erling Smørgrav#  a released version of Autoconf we should remove this    #
8628ed2b524SDag-Erling Smørgrav#  macro and use it instead.                               #
8638ed2b524SDag-Erling Smørgravm4_defun([AC_PROG_GO],
8648ed2b524SDag-Erling Smørgrav[AC_LANG_PUSH(Go)dnl
8658ed2b524SDag-Erling SmørgravAC_ARG_VAR([GOC],     [Go compiler command])dnl
8668ed2b524SDag-Erling SmørgravAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
8678ed2b524SDag-Erling Smørgrav_AC_ARG_VAR_LDFLAGS()dnl
8688ed2b524SDag-Erling SmørgravAC_CHECK_TOOL(GOC, gccgo)
8698ed2b524SDag-Erling Smørgravif test -z "$GOC"; then
8708ed2b524SDag-Erling Smørgrav  if test -n "$ac_tool_prefix"; then
8718ed2b524SDag-Erling Smørgrav    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
8728ed2b524SDag-Erling Smørgrav  fi
8738ed2b524SDag-Erling Smørgravfi
8748ed2b524SDag-Erling Smørgravif test -z "$GOC"; then
8758ed2b524SDag-Erling Smørgrav  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
8768ed2b524SDag-Erling Smørgravfi
8778ed2b524SDag-Erling Smørgrav])#m4_defun
8788ed2b524SDag-Erling Smørgrav])#m4_ifndef
8798ed2b524SDag-Erling Smørgrav
8808ed2b524SDag-Erling Smørgrav
881b7579f77SDag-Erling Smørgrav# _LT_LANG_DEFAULT_CONFIG
882b7579f77SDag-Erling Smørgrav# -----------------------
883b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_DEFAULT_CONFIG],
884b7579f77SDag-Erling Smørgrav[AC_PROVIDE_IFELSE([AC_PROG_CXX],
885b7579f77SDag-Erling Smørgrav  [LT_LANG(CXX)],
886b7579f77SDag-Erling Smørgrav  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
887b7579f77SDag-Erling Smørgrav
888b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_F77],
889b7579f77SDag-Erling Smørgrav  [LT_LANG(F77)],
890b7579f77SDag-Erling Smørgrav  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
891b7579f77SDag-Erling Smørgrav
892b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_FC],
893b7579f77SDag-Erling Smørgrav  [LT_LANG(FC)],
894b7579f77SDag-Erling Smørgrav  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
895b7579f77SDag-Erling Smørgrav
896b7579f77SDag-Erling Smørgravdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
897b7579f77SDag-Erling Smørgravdnl pulling things in needlessly.
898b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GCJ],
899b7579f77SDag-Erling Smørgrav  [LT_LANG(GCJ)],
900b7579f77SDag-Erling Smørgrav  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
901b7579f77SDag-Erling Smørgrav    [LT_LANG(GCJ)],
902b7579f77SDag-Erling Smørgrav    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
903b7579f77SDag-Erling Smørgrav      [LT_LANG(GCJ)],
904b7579f77SDag-Erling Smørgrav      [m4_ifdef([AC_PROG_GCJ],
905b7579f77SDag-Erling Smørgrav	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
906b7579f77SDag-Erling Smørgrav       m4_ifdef([A][M_PROG_GCJ],
907b7579f77SDag-Erling Smørgrav	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
908b7579f77SDag-Erling Smørgrav       m4_ifdef([LT_PROG_GCJ],
909b7579f77SDag-Erling Smørgrav	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
910b7579f77SDag-Erling Smørgrav
9118ed2b524SDag-Erling SmørgravAC_PROVIDE_IFELSE([AC_PROG_GO],
9128ed2b524SDag-Erling Smørgrav  [LT_LANG(GO)],
9138ed2b524SDag-Erling Smørgrav  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
9148ed2b524SDag-Erling Smørgrav
915b7579f77SDag-Erling SmørgravAC_PROVIDE_IFELSE([LT_PROG_RC],
916b7579f77SDag-Erling Smørgrav  [LT_LANG(RC)],
917b7579f77SDag-Erling Smørgrav  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
918b7579f77SDag-Erling Smørgrav])# _LT_LANG_DEFAULT_CONFIG
919b7579f77SDag-Erling Smørgrav
920b7579f77SDag-Erling Smørgrav# Obsolete macros:
921b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
922b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
923b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
924b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
925b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
926b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
927b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
928b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_F77], [])
929b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_FC], [])
930b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
931b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_RC], [])
932b7579f77SDag-Erling Smørgrav
933b7579f77SDag-Erling Smørgrav
934b7579f77SDag-Erling Smørgrav# _LT_TAG_COMPILER
935b7579f77SDag-Erling Smørgrav# ----------------
936b7579f77SDag-Erling Smørgravm4_defun([_LT_TAG_COMPILER],
937b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
938b7579f77SDag-Erling Smørgrav
939b7579f77SDag-Erling Smørgrav_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
940b7579f77SDag-Erling Smørgrav_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
941b7579f77SDag-Erling Smørgrav_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
942b7579f77SDag-Erling Smørgrav_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
943b7579f77SDag-Erling Smørgrav
944b7579f77SDag-Erling Smørgrav# If no C compiler was specified, use CC.
945b7579f77SDag-Erling SmørgravLTCC=${LTCC-"$CC"}
946b7579f77SDag-Erling Smørgrav
947b7579f77SDag-Erling Smørgrav# If no C compiler flags were specified, use CFLAGS.
948b7579f77SDag-Erling SmørgravLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
949b7579f77SDag-Erling Smørgrav
950b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
951b7579f77SDag-Erling Smørgravcompiler=$CC
952b7579f77SDag-Erling Smørgrav])# _LT_TAG_COMPILER
953b7579f77SDag-Erling Smørgrav
954b7579f77SDag-Erling Smørgrav
955b7579f77SDag-Erling Smørgrav# _LT_COMPILER_BOILERPLATE
956b7579f77SDag-Erling Smørgrav# ------------------------
957b7579f77SDag-Erling Smørgrav# Check for compiler boilerplate output or warnings with
958b7579f77SDag-Erling Smørgrav# the simple compiler test code.
959b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_BOILERPLATE],
960b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
961b7579f77SDag-Erling Smørgravac_outfile=conftest.$ac_objext
962b7579f77SDag-Erling Smørgravecho "$lt_simple_compile_test_code" >conftest.$ac_ext
963b7579f77SDag-Erling Smørgraveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
964b7579f77SDag-Erling Smørgrav_lt_compiler_boilerplate=`cat conftest.err`
965b7579f77SDag-Erling Smørgrav$RM conftest*
966b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_BOILERPLATE
967b7579f77SDag-Erling Smørgrav
968b7579f77SDag-Erling Smørgrav
969b7579f77SDag-Erling Smørgrav# _LT_LINKER_BOILERPLATE
970b7579f77SDag-Erling Smørgrav# ----------------------
971b7579f77SDag-Erling Smørgrav# Check for linker boilerplate output or warnings with
972b7579f77SDag-Erling Smørgrav# the simple link test code.
973b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_BOILERPLATE],
974b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
975b7579f77SDag-Erling Smørgravac_outfile=conftest.$ac_objext
976b7579f77SDag-Erling Smørgravecho "$lt_simple_link_test_code" >conftest.$ac_ext
977b7579f77SDag-Erling Smørgraveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
978b7579f77SDag-Erling Smørgrav_lt_linker_boilerplate=`cat conftest.err`
979b7579f77SDag-Erling Smørgrav$RM -r conftest*
980b7579f77SDag-Erling Smørgrav])# _LT_LINKER_BOILERPLATE
981b7579f77SDag-Erling Smørgrav
982b7579f77SDag-Erling Smørgrav# _LT_REQUIRED_DARWIN_CHECKS
983b7579f77SDag-Erling Smørgrav# -------------------------
984b7579f77SDag-Erling Smørgravm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
985b7579f77SDag-Erling Smørgrav  case $host_os in
986b7579f77SDag-Erling Smørgrav    rhapsody* | darwin*)
987b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
988b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
989b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOL([LIPO], [lipo], [:])
990b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOL([OTOOL], [otool], [:])
991b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
992b7579f77SDag-Erling Smørgrav    _LT_DECL([], [DSYMUTIL], [1],
993b7579f77SDag-Erling Smørgrav      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
994b7579f77SDag-Erling Smørgrav    _LT_DECL([], [NMEDIT], [1],
995b7579f77SDag-Erling Smørgrav      [Tool to change global to local symbols on Mac OS X])
996b7579f77SDag-Erling Smørgrav    _LT_DECL([], [LIPO], [1],
997b7579f77SDag-Erling Smørgrav      [Tool to manipulate fat objects and archives on Mac OS X])
998b7579f77SDag-Erling Smørgrav    _LT_DECL([], [OTOOL], [1],
999b7579f77SDag-Erling Smørgrav      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
1000b7579f77SDag-Erling Smørgrav    _LT_DECL([], [OTOOL64], [1],
1001b7579f77SDag-Erling Smørgrav      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
1002b7579f77SDag-Erling Smørgrav
1003b7579f77SDag-Erling Smørgrav    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
1004b7579f77SDag-Erling Smørgrav      [lt_cv_apple_cc_single_mod=no
1005f61ef7f6SDag-Erling Smørgrav      if test -z "$LT_MULTI_MODULE"; then
1006b7579f77SDag-Erling Smørgrav	# By default we will add the -single_module flag. You can override
1007b7579f77SDag-Erling Smørgrav	# by either setting the environment variable LT_MULTI_MODULE
1008b7579f77SDag-Erling Smørgrav	# non-empty at configure time, or by adding -multi_module to the
1009b7579f77SDag-Erling Smørgrav	# link flags.
1010b7579f77SDag-Erling Smørgrav	rm -rf libconftest.dylib*
1011b7579f77SDag-Erling Smørgrav	echo "int foo(void){return 1;}" > conftest.c
1012b7579f77SDag-Erling Smørgrav	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1013b7579f77SDag-Erling Smørgrav-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1014b7579f77SDag-Erling Smørgrav	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1015b7579f77SDag-Erling Smørgrav	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1016b7579f77SDag-Erling Smørgrav        _lt_result=$?
10178ed2b524SDag-Erling Smørgrav	# If there is a non-empty error log, and "single_module"
10188ed2b524SDag-Erling Smørgrav	# appears in it, assume the flag caused a linker warning
10198ed2b524SDag-Erling Smørgrav        if test -s conftest.err && $GREP single_module conftest.err; then
10208ed2b524SDag-Erling Smørgrav	  cat conftest.err >&AS_MESSAGE_LOG_FD
10218ed2b524SDag-Erling Smørgrav	# Otherwise, if the output was created with a 0 exit code from
10228ed2b524SDag-Erling Smørgrav	# the compiler, it worked.
1023f61ef7f6SDag-Erling Smørgrav	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1024b7579f77SDag-Erling Smørgrav	  lt_cv_apple_cc_single_mod=yes
1025b7579f77SDag-Erling Smørgrav	else
1026b7579f77SDag-Erling Smørgrav	  cat conftest.err >&AS_MESSAGE_LOG_FD
1027b7579f77SDag-Erling Smørgrav	fi
1028b7579f77SDag-Erling Smørgrav	rm -rf libconftest.dylib*
1029b7579f77SDag-Erling Smørgrav	rm -f conftest.*
1030b7579f77SDag-Erling Smørgrav      fi])
10318ed2b524SDag-Erling Smørgrav
1032b7579f77SDag-Erling Smørgrav    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1033b7579f77SDag-Erling Smørgrav      [lt_cv_ld_exported_symbols_list],
1034b7579f77SDag-Erling Smørgrav      [lt_cv_ld_exported_symbols_list=no
1035b7579f77SDag-Erling Smørgrav      save_LDFLAGS=$LDFLAGS
1036b7579f77SDag-Erling Smørgrav      echo "_main" > conftest.sym
1037b7579f77SDag-Erling Smørgrav      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1038b7579f77SDag-Erling Smørgrav      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1039b7579f77SDag-Erling Smørgrav	[lt_cv_ld_exported_symbols_list=yes],
1040b7579f77SDag-Erling Smørgrav	[lt_cv_ld_exported_symbols_list=no])
1041f61ef7f6SDag-Erling Smørgrav	LDFLAGS=$save_LDFLAGS
1042b7579f77SDag-Erling Smørgrav    ])
10438ed2b524SDag-Erling Smørgrav
1044b7579f77SDag-Erling Smørgrav    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1045b7579f77SDag-Erling Smørgrav      [lt_cv_ld_force_load=no
1046b7579f77SDag-Erling Smørgrav      cat > conftest.c << _LT_EOF
1047b7579f77SDag-Erling Smørgravint forced_loaded() { return 2;}
1048b7579f77SDag-Erling Smørgrav_LT_EOF
1049b7579f77SDag-Erling Smørgrav      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1050b7579f77SDag-Erling Smørgrav      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1051*46d2f618SCy Schubert      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1052*46d2f618SCy Schubert      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1053b7579f77SDag-Erling Smørgrav      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1054b7579f77SDag-Erling Smørgrav      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1055b7579f77SDag-Erling Smørgrav      cat > conftest.c << _LT_EOF
1056b7579f77SDag-Erling Smørgravint main() { return 0;}
1057b7579f77SDag-Erling Smørgrav_LT_EOF
1058b7579f77SDag-Erling Smørgrav      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1059b7579f77SDag-Erling Smørgrav      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1060b7579f77SDag-Erling Smørgrav      _lt_result=$?
10618ed2b524SDag-Erling Smørgrav      if test -s conftest.err && $GREP force_load conftest.err; then
10628ed2b524SDag-Erling Smørgrav	cat conftest.err >&AS_MESSAGE_LOG_FD
1063f61ef7f6SDag-Erling Smørgrav      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1064b7579f77SDag-Erling Smørgrav	lt_cv_ld_force_load=yes
1065b7579f77SDag-Erling Smørgrav      else
1066b7579f77SDag-Erling Smørgrav	cat conftest.err >&AS_MESSAGE_LOG_FD
1067b7579f77SDag-Erling Smørgrav      fi
1068b7579f77SDag-Erling Smørgrav        rm -f conftest.err libconftest.a conftest conftest.c
1069b7579f77SDag-Erling Smørgrav        rm -rf conftest.dSYM
1070b7579f77SDag-Erling Smørgrav    ])
1071b7579f77SDag-Erling Smørgrav    case $host_os in
1072b7579f77SDag-Erling Smørgrav    rhapsody* | darwin1.[[012]])
1073f61ef7f6SDag-Erling Smørgrav      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1074b7579f77SDag-Erling Smørgrav    darwin1.*)
1075f61ef7f6SDag-Erling Smørgrav      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1076*46d2f618SCy Schubert    darwin*) # darwin 5.x on
1077*46d2f618SCy Schubert      # if running on 10.5 or later, the deployment target defaults
1078*46d2f618SCy Schubert      # to the OS version, if on x86, and 10.4, the deployment
1079*46d2f618SCy Schubert      # target defaults to 10.4. Don't you love it?
1080*46d2f618SCy Schubert      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1081*46d2f618SCy Schubert	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1082*46d2f618SCy Schubert	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1083*46d2f618SCy Schubert	10.[[012]][[,.]]*)
1084f61ef7f6SDag-Erling Smørgrav	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1085*46d2f618SCy Schubert	10.*)
1086f61ef7f6SDag-Erling Smørgrav	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1087b7579f77SDag-Erling Smørgrav      esac
1088b7579f77SDag-Erling Smørgrav    ;;
1089b7579f77SDag-Erling Smørgrav  esac
1090f61ef7f6SDag-Erling Smørgrav    if test yes = "$lt_cv_apple_cc_single_mod"; then
1091b7579f77SDag-Erling Smørgrav      _lt_dar_single_mod='$single_module'
1092b7579f77SDag-Erling Smørgrav    fi
1093f61ef7f6SDag-Erling Smørgrav    if test yes = "$lt_cv_ld_exported_symbols_list"; then
1094f61ef7f6SDag-Erling Smørgrav      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1095b7579f77SDag-Erling Smørgrav    else
1096f61ef7f6SDag-Erling Smørgrav      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1097b7579f77SDag-Erling Smørgrav    fi
1098f61ef7f6SDag-Erling Smørgrav    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1099b7579f77SDag-Erling Smørgrav      _lt_dsymutil='~$DSYMUTIL $lib || :'
1100b7579f77SDag-Erling Smørgrav    else
1101b7579f77SDag-Erling Smørgrav      _lt_dsymutil=
1102b7579f77SDag-Erling Smørgrav    fi
1103b7579f77SDag-Erling Smørgrav    ;;
1104b7579f77SDag-Erling Smørgrav  esac
1105b7579f77SDag-Erling Smørgrav])
1106b7579f77SDag-Erling Smørgrav
1107b7579f77SDag-Erling Smørgrav
11088ed2b524SDag-Erling Smørgrav# _LT_DARWIN_LINKER_FEATURES([TAG])
11098ed2b524SDag-Erling Smørgrav# ---------------------------------
1110b7579f77SDag-Erling Smørgrav# Checks for linker and compiler features on darwin
1111b7579f77SDag-Erling Smørgravm4_defun([_LT_DARWIN_LINKER_FEATURES],
1112b7579f77SDag-Erling Smørgrav[
1113b7579f77SDag-Erling Smørgrav  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1114b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1115b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct, $1)=no
1116b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_automatic, $1)=yes
1117b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1118f61ef7f6SDag-Erling Smørgrav  if test yes = "$lt_cv_ld_force_load"; then
1119f61ef7f6SDag-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\"`'
11208ed2b524SDag-Erling Smørgrav    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
11218ed2b524SDag-Erling Smørgrav                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1122b7579f77SDag-Erling Smørgrav  else
1123b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1124b7579f77SDag-Erling Smørgrav  fi
1125b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(link_all_deplibs, $1)=yes
1126f61ef7f6SDag-Erling Smørgrav  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1127b7579f77SDag-Erling Smørgrav  case $cc_basename in
1128f61ef7f6SDag-Erling Smørgrav     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1129b7579f77SDag-Erling Smørgrav     *) _lt_dar_can_shared=$GCC ;;
1130b7579f77SDag-Erling Smørgrav  esac
1131f61ef7f6SDag-Erling Smørgrav  if test yes = "$_lt_dar_can_shared"; then
1132b7579f77SDag-Erling Smørgrav    output_verbose_link_cmd=func_echo_all
1133f61ef7f6SDag-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"
1134f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1135*46d2f618SCy Schubert    _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"
1136*46d2f618SCy Schubert    _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"
1137b7579f77SDag-Erling Smørgrav    m4_if([$1], [CXX],
1138f61ef7f6SDag-Erling Smørgrav[   if test yes != "$lt_cv_apple_cc_single_mod"; then
1139f61ef7f6SDag-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"
1140*46d2f618SCy Schubert      _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"
1141b7579f77SDag-Erling Smørgrav    fi
1142b7579f77SDag-Erling Smørgrav],[])
1143b7579f77SDag-Erling Smørgrav  else
1144b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(ld_shlibs, $1)=no
1145b7579f77SDag-Erling Smørgrav  fi
1146b7579f77SDag-Erling Smørgrav])
1147b7579f77SDag-Erling Smørgrav
1148b7579f77SDag-Erling Smørgrav# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1149b7579f77SDag-Erling Smørgrav# ----------------------------------
1150b7579f77SDag-Erling Smørgrav# Links a minimal program and checks the executable
1151b7579f77SDag-Erling Smørgrav# for the system default hardcoded library path. In most cases,
1152b7579f77SDag-Erling Smørgrav# this is /usr/lib:/lib, but when the MPI compilers are used
1153b7579f77SDag-Erling Smørgrav# the location of the communication and MPI libs are included too.
1154b7579f77SDag-Erling Smørgrav# If we don't find anything, use the default library path according
1155b7579f77SDag-Erling Smørgrav# to the aix ld manual.
1156b7579f77SDag-Erling Smørgrav# Store the results from the different compilers for each TAGNAME.
1157b7579f77SDag-Erling Smørgrav# Allow to override them for all tags through lt_cv_aix_libpath.
1158b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_MODULE_PATH_AIX],
1159b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
1160f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_aix_libpath+set}"; then
1161b7579f77SDag-Erling Smørgrav  aix_libpath=$lt_cv_aix_libpath
1162b7579f77SDag-Erling Smørgravelse
1163b7579f77SDag-Erling Smørgrav  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1164b7579f77SDag-Erling Smørgrav  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1165b7579f77SDag-Erling Smørgrav  lt_aix_libpath_sed='[
1166b7579f77SDag-Erling Smørgrav      /Import File Strings/,/^$/ {
1167b7579f77SDag-Erling Smørgrav	  /^0/ {
1168b7579f77SDag-Erling Smørgrav	      s/^0  *\([^ ]*\) *$/\1/
1169b7579f77SDag-Erling Smørgrav	      p
1170b7579f77SDag-Erling Smørgrav	  }
1171b7579f77SDag-Erling Smørgrav      }]'
1172b7579f77SDag-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"`
1173b7579f77SDag-Erling Smørgrav  # Check for a 64-bit object if we didn't find anything.
1174b7579f77SDag-Erling Smørgrav  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1175b7579f77SDag-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"`
1176b7579f77SDag-Erling Smørgrav  fi],[])
1177b7579f77SDag-Erling Smørgrav  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1178f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1179b7579f77SDag-Erling Smørgrav  fi
1180b7579f77SDag-Erling Smørgrav  ])
1181b7579f77SDag-Erling Smørgrav  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1182b7579f77SDag-Erling Smørgravfi
1183b7579f77SDag-Erling Smørgrav])# _LT_SYS_MODULE_PATH_AIX
1184b7579f77SDag-Erling Smørgrav
1185b7579f77SDag-Erling Smørgrav
1186b7579f77SDag-Erling Smørgrav# _LT_SHELL_INIT(ARG)
1187b7579f77SDag-Erling Smørgrav# -------------------
1188b7579f77SDag-Erling Smørgravm4_define([_LT_SHELL_INIT],
1189b7579f77SDag-Erling Smørgrav[m4_divert_text([M4SH-INIT], [$1
1190b7579f77SDag-Erling Smørgrav])])# _LT_SHELL_INIT
1191b7579f77SDag-Erling Smørgrav
1192b7579f77SDag-Erling Smørgrav
1193b7579f77SDag-Erling Smørgrav
1194b7579f77SDag-Erling Smørgrav# _LT_PROG_ECHO_BACKSLASH
1195b7579f77SDag-Erling Smørgrav# -----------------------
1196b7579f77SDag-Erling Smørgrav# Find how we can fake an echo command that does not interpret backslash.
1197b7579f77SDag-Erling Smørgrav# In particular, with Autoconf 2.60 or later we add some code to the start
1198f61ef7f6SDag-Erling Smørgrav# of the generated configure script that will find a shell with a builtin
1199f61ef7f6SDag-Erling Smørgrav# printf (that we can use as an echo command).
1200b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_ECHO_BACKSLASH],
1201b7579f77SDag-Erling Smørgrav[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1202b7579f77SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1203b7579f77SDag-Erling SmørgravECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1204b7579f77SDag-Erling Smørgrav
1205b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to print strings])
1206b7579f77SDag-Erling Smørgrav# Test print first, because it will be a builtin if present.
1207b7579f77SDag-Erling Smørgravif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1208b7579f77SDag-Erling Smørgrav   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1209b7579f77SDag-Erling Smørgrav  ECHO='print -r --'
1210b7579f77SDag-Erling Smørgravelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1211b7579f77SDag-Erling Smørgrav  ECHO='printf %s\n'
1212b7579f77SDag-Erling Smørgravelse
1213b7579f77SDag-Erling Smørgrav  # Use this function as a fallback that always works.
1214b7579f77SDag-Erling Smørgrav  func_fallback_echo ()
1215b7579f77SDag-Erling Smørgrav  {
1216b7579f77SDag-Erling Smørgrav    eval 'cat <<_LTECHO_EOF
1217b7579f77SDag-Erling Smørgrav$[]1
1218b7579f77SDag-Erling Smørgrav_LTECHO_EOF'
1219b7579f77SDag-Erling Smørgrav  }
1220b7579f77SDag-Erling Smørgrav  ECHO='func_fallback_echo'
1221b7579f77SDag-Erling Smørgravfi
1222b7579f77SDag-Erling Smørgrav
1223b7579f77SDag-Erling Smørgrav# func_echo_all arg...
1224b7579f77SDag-Erling Smørgrav# Invoke $ECHO with all args, space-separated.
1225b7579f77SDag-Erling Smørgravfunc_echo_all ()
1226b7579f77SDag-Erling Smørgrav{
1227b7579f77SDag-Erling Smørgrav    $ECHO "$*"
1228b7579f77SDag-Erling Smørgrav}
1229b7579f77SDag-Erling Smørgrav
1230f61ef7f6SDag-Erling Smørgravcase $ECHO in
1231b7579f77SDag-Erling Smørgrav  printf*) AC_MSG_RESULT([printf]) ;;
1232b7579f77SDag-Erling Smørgrav  print*) AC_MSG_RESULT([print -r]) ;;
1233b7579f77SDag-Erling Smørgrav  *) AC_MSG_RESULT([cat]) ;;
1234b7579f77SDag-Erling Smørgravesac
1235b7579f77SDag-Erling Smørgrav
1236b7579f77SDag-Erling Smørgravm4_ifdef([_AS_DETECT_SUGGESTED],
1237b7579f77SDag-Erling Smørgrav[_AS_DETECT_SUGGESTED([
1238b7579f77SDag-Erling Smørgrav  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1239b7579f77SDag-Erling Smørgrav    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1240b7579f77SDag-Erling Smørgrav    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1241b7579f77SDag-Erling Smørgrav    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1242b7579f77SDag-Erling Smørgrav    PATH=/empty FPATH=/empty; export PATH FPATH
1243b7579f77SDag-Erling Smørgrav    test "X`printf %s $ECHO`" = "X$ECHO" \
1244b7579f77SDag-Erling Smørgrav      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1245b7579f77SDag-Erling Smørgrav
1246b7579f77SDag-Erling Smørgrav_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1247b7579f77SDag-Erling Smørgrav_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1248b7579f77SDag-Erling Smørgrav])# _LT_PROG_ECHO_BACKSLASH
1249b7579f77SDag-Erling Smørgrav
1250b7579f77SDag-Erling Smørgrav
1251b7579f77SDag-Erling Smørgrav# _LT_WITH_SYSROOT
1252b7579f77SDag-Erling Smørgrav# ----------------
1253b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_WITH_SYSROOT],
1254*46d2f618SCy Schubert[AC_MSG_CHECKING([for sysroot])
1255b7579f77SDag-Erling SmørgravAC_ARG_WITH([sysroot],
1256f61ef7f6SDag-Erling Smørgrav[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1257f61ef7f6SDag-Erling Smørgrav  [Search for dependent libraries within DIR (or the compiler's sysroot
1258f61ef7f6SDag-Erling Smørgrav   if not specified).])],
1259b7579f77SDag-Erling Smørgrav[], [with_sysroot=no])
1260b7579f77SDag-Erling Smørgrav
1261b7579f77SDag-Erling Smørgravdnl lt_sysroot will always be passed unquoted.  We quote it here
1262b7579f77SDag-Erling Smørgravdnl in case the user passed a directory name.
1263b7579f77SDag-Erling Smørgravlt_sysroot=
1264f61ef7f6SDag-Erling Smørgravcase $with_sysroot in #(
1265b7579f77SDag-Erling Smørgrav yes)
1266f61ef7f6SDag-Erling Smørgrav   if test yes = "$GCC"; then
1267b7579f77SDag-Erling Smørgrav     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1268b7579f77SDag-Erling Smørgrav   fi
1269b7579f77SDag-Erling Smørgrav   ;; #(
1270b7579f77SDag-Erling Smørgrav /*)
1271*46d2f618SCy Schubert   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1272b7579f77SDag-Erling Smørgrav   ;; #(
1273b7579f77SDag-Erling Smørgrav no|'')
1274b7579f77SDag-Erling Smørgrav   ;; #(
1275b7579f77SDag-Erling Smørgrav *)
1276f61ef7f6SDag-Erling Smørgrav   AC_MSG_RESULT([$with_sysroot])
1277b7579f77SDag-Erling Smørgrav   AC_MSG_ERROR([The sysroot must be an absolute path.])
1278b7579f77SDag-Erling Smørgrav   ;;
1279b7579f77SDag-Erling Smørgravesac
1280b7579f77SDag-Erling Smørgrav
1281b7579f77SDag-Erling Smørgrav AC_MSG_RESULT([${lt_sysroot:-no}])
1282b7579f77SDag-Erling Smørgrav_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1283f61ef7f6SDag-Erling Smørgrav[dependent libraries, and where our libraries should be installed.])])
1284b7579f77SDag-Erling Smørgrav
1285b7579f77SDag-Erling Smørgrav# _LT_ENABLE_LOCK
1286b7579f77SDag-Erling Smørgrav# ---------------
1287b7579f77SDag-Erling Smørgravm4_defun([_LT_ENABLE_LOCK],
1288b7579f77SDag-Erling Smørgrav[AC_ARG_ENABLE([libtool-lock],
1289b7579f77SDag-Erling Smørgrav  [AS_HELP_STRING([--disable-libtool-lock],
1290b7579f77SDag-Erling Smørgrav    [avoid locking (might break parallel builds)])])
1291f61ef7f6SDag-Erling Smørgravtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
1292b7579f77SDag-Erling Smørgrav
1293b7579f77SDag-Erling Smørgrav# Some flags need to be propagated to the compiler or linker for good
1294b7579f77SDag-Erling Smørgrav# libtool support.
1295b7579f77SDag-Erling Smørgravcase $host in
1296b7579f77SDag-Erling Smørgravia64-*-hpux*)
1297f61ef7f6SDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set mode
1298f61ef7f6SDag-Erling Smørgrav  # options accordingly.
1299b7579f77SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
1300b7579f77SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1301*46d2f618SCy Schubert    case `/usr/bin/file conftest.$ac_objext` in
1302b7579f77SDag-Erling Smørgrav      *ELF-32*)
1303f61ef7f6SDag-Erling Smørgrav	HPUX_IA64_MODE=32
1304b7579f77SDag-Erling Smørgrav	;;
1305b7579f77SDag-Erling Smørgrav      *ELF-64*)
1306f61ef7f6SDag-Erling Smørgrav	HPUX_IA64_MODE=64
1307b7579f77SDag-Erling Smørgrav	;;
1308b7579f77SDag-Erling Smørgrav    esac
1309b7579f77SDag-Erling Smørgrav  fi
1310b7579f77SDag-Erling Smørgrav  rm -rf conftest*
1311b7579f77SDag-Erling Smørgrav  ;;
1312b7579f77SDag-Erling Smørgrav*-*-irix6*)
1313f61ef7f6SDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1314f61ef7f6SDag-Erling Smørgrav  # options accordingly.
1315b7579f77SDag-Erling Smørgrav  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1316b7579f77SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1317f61ef7f6SDag-Erling Smørgrav    if test yes = "$lt_cv_prog_gnu_ld"; then
1318*46d2f618SCy Schubert      case `/usr/bin/file conftest.$ac_objext` in
1319b7579f77SDag-Erling Smørgrav	*32-bit*)
1320b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -melf32bsmip"
1321b7579f77SDag-Erling Smørgrav	  ;;
1322b7579f77SDag-Erling Smørgrav	*N32*)
1323b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -melf32bmipn32"
1324b7579f77SDag-Erling Smørgrav	  ;;
1325b7579f77SDag-Erling Smørgrav	*64-bit*)
1326b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -melf64bmip"
1327b7579f77SDag-Erling Smørgrav	;;
1328b7579f77SDag-Erling Smørgrav      esac
1329b7579f77SDag-Erling Smørgrav    else
1330*46d2f618SCy Schubert      case `/usr/bin/file conftest.$ac_objext` in
1331b7579f77SDag-Erling Smørgrav	*32-bit*)
1332b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -32"
1333b7579f77SDag-Erling Smørgrav	  ;;
1334b7579f77SDag-Erling Smørgrav	*N32*)
1335b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -n32"
1336b7579f77SDag-Erling Smørgrav	  ;;
1337b7579f77SDag-Erling Smørgrav	*64-bit*)
1338b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -64"
1339b7579f77SDag-Erling Smørgrav	  ;;
1340b7579f77SDag-Erling Smørgrav      esac
1341b7579f77SDag-Erling Smørgrav    fi
1342b7579f77SDag-Erling Smørgrav  fi
1343b7579f77SDag-Erling Smørgrav  rm -rf conftest*
1344b7579f77SDag-Erling Smørgrav  ;;
1345b7579f77SDag-Erling Smørgrav
1346f61ef7f6SDag-Erling Smørgravmips64*-*linux*)
1347f61ef7f6SDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1348f61ef7f6SDag-Erling Smørgrav  # options accordingly.
1349f61ef7f6SDag-Erling Smørgrav  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1350f61ef7f6SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1351f61ef7f6SDag-Erling Smørgrav    emul=elf
1352*46d2f618SCy Schubert    case `/usr/bin/file conftest.$ac_objext` in
1353f61ef7f6SDag-Erling Smørgrav      *32-bit*)
1354f61ef7f6SDag-Erling Smørgrav	emul="${emul}32"
1355f61ef7f6SDag-Erling Smørgrav	;;
1356f61ef7f6SDag-Erling Smørgrav      *64-bit*)
1357f61ef7f6SDag-Erling Smørgrav	emul="${emul}64"
1358f61ef7f6SDag-Erling Smørgrav	;;
1359f61ef7f6SDag-Erling Smørgrav    esac
1360*46d2f618SCy Schubert    case `/usr/bin/file conftest.$ac_objext` in
1361f61ef7f6SDag-Erling Smørgrav      *MSB*)
1362f61ef7f6SDag-Erling Smørgrav	emul="${emul}btsmip"
1363f61ef7f6SDag-Erling Smørgrav	;;
1364f61ef7f6SDag-Erling Smørgrav      *LSB*)
1365f61ef7f6SDag-Erling Smørgrav	emul="${emul}ltsmip"
1366f61ef7f6SDag-Erling Smørgrav	;;
1367f61ef7f6SDag-Erling Smørgrav    esac
1368*46d2f618SCy Schubert    case `/usr/bin/file conftest.$ac_objext` in
1369f61ef7f6SDag-Erling Smørgrav      *N32*)
1370f61ef7f6SDag-Erling Smørgrav	emul="${emul}n32"
1371f61ef7f6SDag-Erling Smørgrav	;;
1372f61ef7f6SDag-Erling Smørgrav    esac
1373f61ef7f6SDag-Erling Smørgrav    LD="${LD-ld} -m $emul"
1374f61ef7f6SDag-Erling Smørgrav  fi
1375f61ef7f6SDag-Erling Smørgrav  rm -rf conftest*
1376f61ef7f6SDag-Erling Smørgrav  ;;
1377f61ef7f6SDag-Erling Smørgrav
1378ff825849SDag-Erling Smørgravx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1379b7579f77SDag-Erling Smørgravs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1380f61ef7f6SDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1381f61ef7f6SDag-Erling Smørgrav  # options accordingly.  Note that the listed cases only cover the
1382f61ef7f6SDag-Erling Smørgrav  # situations where additional linker options are needed (such as when
1383f61ef7f6SDag-Erling Smørgrav  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1384f61ef7f6SDag-Erling Smørgrav  # vice versa); the common cases where no linker options are needed do
1385f61ef7f6SDag-Erling Smørgrav  # not appear in the list.
1386b7579f77SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
1387b7579f77SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1388*46d2f618SCy Schubert    case `/usr/bin/file conftest.o` in
1389b7579f77SDag-Erling Smørgrav      *32-bit*)
1390b7579f77SDag-Erling Smørgrav	case $host in
1391b7579f77SDag-Erling Smørgrav	  x86_64-*kfreebsd*-gnu)
1392b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_i386_fbsd"
1393b7579f77SDag-Erling Smørgrav	    ;;
1394b7579f77SDag-Erling Smørgrav	  x86_64-*linux*)
1395*46d2f618SCy Schubert	    case `/usr/bin/file conftest.o` in
1396f61ef7f6SDag-Erling Smørgrav	      *x86-64*)
1397f61ef7f6SDag-Erling Smørgrav		LD="${LD-ld} -m elf32_x86_64"
1398f61ef7f6SDag-Erling Smørgrav		;;
1399f61ef7f6SDag-Erling Smørgrav	      *)
1400b7579f77SDag-Erling Smørgrav		LD="${LD-ld} -m elf_i386"
1401b7579f77SDag-Erling Smørgrav		;;
1402f61ef7f6SDag-Erling Smørgrav	    esac
1403f61ef7f6SDag-Erling Smørgrav	    ;;
1404ff825849SDag-Erling Smørgrav	  powerpc64le-*linux*)
1405ff825849SDag-Erling Smørgrav	    LD="${LD-ld} -m elf32lppclinux"
1406ff825849SDag-Erling Smørgrav	    ;;
1407ff825849SDag-Erling Smørgrav	  powerpc64-*linux*)
1408b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf32ppclinux"
1409b7579f77SDag-Erling Smørgrav	    ;;
1410b7579f77SDag-Erling Smørgrav	  s390x-*linux*)
1411b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_s390"
1412b7579f77SDag-Erling Smørgrav	    ;;
1413b7579f77SDag-Erling Smørgrav	  sparc64-*linux*)
1414b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf32_sparc"
1415b7579f77SDag-Erling Smørgrav	    ;;
1416b7579f77SDag-Erling Smørgrav	esac
1417b7579f77SDag-Erling Smørgrav	;;
1418b7579f77SDag-Erling Smørgrav      *64-bit*)
1419b7579f77SDag-Erling Smørgrav	case $host in
1420b7579f77SDag-Erling Smørgrav	  x86_64-*kfreebsd*-gnu)
1421b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_x86_64_fbsd"
1422b7579f77SDag-Erling Smørgrav	    ;;
1423b7579f77SDag-Erling Smørgrav	  x86_64-*linux*)
1424b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf_x86_64"
1425b7579f77SDag-Erling Smørgrav	    ;;
1426ff825849SDag-Erling Smørgrav	  powerpcle-*linux*)
1427ff825849SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64lppc"
1428ff825849SDag-Erling Smørgrav	    ;;
1429ff825849SDag-Erling Smørgrav	  powerpc-*linux*)
1430b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64ppc"
1431b7579f77SDag-Erling Smørgrav	    ;;
1432b7579f77SDag-Erling Smørgrav	  s390*-*linux*|s390*-*tpf*)
1433b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64_s390"
1434b7579f77SDag-Erling Smørgrav	    ;;
1435b7579f77SDag-Erling Smørgrav	  sparc*-*linux*)
1436b7579f77SDag-Erling Smørgrav	    LD="${LD-ld} -m elf64_sparc"
1437b7579f77SDag-Erling Smørgrav	    ;;
1438b7579f77SDag-Erling Smørgrav	esac
1439b7579f77SDag-Erling Smørgrav	;;
1440b7579f77SDag-Erling Smørgrav    esac
1441b7579f77SDag-Erling Smørgrav  fi
1442b7579f77SDag-Erling Smørgrav  rm -rf conftest*
1443b7579f77SDag-Erling Smørgrav  ;;
1444b7579f77SDag-Erling Smørgrav
1445b7579f77SDag-Erling Smørgrav*-*-sco3.2v5*)
1446b7579f77SDag-Erling Smørgrav  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1447f61ef7f6SDag-Erling Smørgrav  SAVE_CFLAGS=$CFLAGS
1448b7579f77SDag-Erling Smørgrav  CFLAGS="$CFLAGS -belf"
1449b7579f77SDag-Erling Smørgrav  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1450b7579f77SDag-Erling Smørgrav    [AC_LANG_PUSH(C)
1451b7579f77SDag-Erling Smørgrav     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1452b7579f77SDag-Erling Smørgrav     AC_LANG_POP])
1453f61ef7f6SDag-Erling Smørgrav  if test yes != "$lt_cv_cc_needs_belf"; then
1454b7579f77SDag-Erling Smørgrav    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1455f61ef7f6SDag-Erling Smørgrav    CFLAGS=$SAVE_CFLAGS
1456b7579f77SDag-Erling Smørgrav  fi
1457b7579f77SDag-Erling Smørgrav  ;;
14588ed2b524SDag-Erling Smørgrav*-*solaris*)
1459f61ef7f6SDag-Erling Smørgrav  # Find out what ABI is being produced by ac_compile, and set linker
1460f61ef7f6SDag-Erling Smørgrav  # options accordingly.
1461b7579f77SDag-Erling Smørgrav  echo 'int i;' > conftest.$ac_ext
1462b7579f77SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
1463*46d2f618SCy Schubert    case `/usr/bin/file conftest.o` in
1464b7579f77SDag-Erling Smørgrav    *64-bit*)
1465b7579f77SDag-Erling Smørgrav      case $lt_cv_prog_gnu_ld in
14668ed2b524SDag-Erling Smørgrav      yes*)
14678ed2b524SDag-Erling Smørgrav        case $host in
1468f61ef7f6SDag-Erling Smørgrav        i?86-*-solaris*|x86_64-*-solaris*)
14698ed2b524SDag-Erling Smørgrav          LD="${LD-ld} -m elf_x86_64"
14708ed2b524SDag-Erling Smørgrav          ;;
14718ed2b524SDag-Erling Smørgrav        sparc*-*-solaris*)
14728ed2b524SDag-Erling Smørgrav          LD="${LD-ld} -m elf64_sparc"
14738ed2b524SDag-Erling Smørgrav          ;;
14748ed2b524SDag-Erling Smørgrav        esac
14758ed2b524SDag-Erling Smørgrav        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
14768ed2b524SDag-Erling Smørgrav        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1477f61ef7f6SDag-Erling Smørgrav          LD=${LD-ld}_sol2
14788ed2b524SDag-Erling Smørgrav        fi
14798ed2b524SDag-Erling Smørgrav        ;;
1480b7579f77SDag-Erling Smørgrav      *)
1481b7579f77SDag-Erling Smørgrav	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1482b7579f77SDag-Erling Smørgrav	  LD="${LD-ld} -64"
1483b7579f77SDag-Erling Smørgrav	fi
1484b7579f77SDag-Erling Smørgrav	;;
1485b7579f77SDag-Erling Smørgrav      esac
1486b7579f77SDag-Erling Smørgrav      ;;
1487b7579f77SDag-Erling Smørgrav    esac
1488b7579f77SDag-Erling Smørgrav  fi
1489b7579f77SDag-Erling Smørgrav  rm -rf conftest*
1490b7579f77SDag-Erling Smørgrav  ;;
1491b7579f77SDag-Erling Smørgravesac
1492b7579f77SDag-Erling Smørgrav
1493f61ef7f6SDag-Erling Smørgravneed_locks=$enable_libtool_lock
1494b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_LOCK
1495b7579f77SDag-Erling Smørgrav
1496b7579f77SDag-Erling Smørgrav
1497b7579f77SDag-Erling Smørgrav# _LT_PROG_AR
1498b7579f77SDag-Erling Smørgrav# -----------
1499b7579f77SDag-Erling Smørgravm4_defun([_LT_PROG_AR],
1500b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOLS(AR, [ar], false)
1501b7579f77SDag-Erling Smørgrav: ${AR=ar}
1502*46d2f618SCy Schubert: ${AR_FLAGS=cru}
1503b7579f77SDag-Erling Smørgrav_LT_DECL([], [AR], [1], [The archiver])
1504*46d2f618SCy Schubert_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1505b7579f77SDag-Erling Smørgrav
1506b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1507b7579f77SDag-Erling Smørgrav  [lt_cv_ar_at_file=no
1508b7579f77SDag-Erling Smørgrav   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1509b7579f77SDag-Erling Smørgrav     [echo conftest.$ac_objext > conftest.lst
1510b7579f77SDag-Erling Smørgrav      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1511b7579f77SDag-Erling Smørgrav      AC_TRY_EVAL([lt_ar_try])
1512f61ef7f6SDag-Erling Smørgrav      if test 0 -eq "$ac_status"; then
1513b7579f77SDag-Erling Smørgrav	# Ensure the archiver fails upon bogus file names.
1514b7579f77SDag-Erling Smørgrav	rm -f conftest.$ac_objext libconftest.a
1515b7579f77SDag-Erling Smørgrav	AC_TRY_EVAL([lt_ar_try])
1516f61ef7f6SDag-Erling Smørgrav	if test 0 -ne "$ac_status"; then
1517b7579f77SDag-Erling Smørgrav          lt_cv_ar_at_file=@
1518b7579f77SDag-Erling Smørgrav        fi
1519b7579f77SDag-Erling Smørgrav      fi
1520b7579f77SDag-Erling Smørgrav      rm -f conftest.* libconftest.a
1521b7579f77SDag-Erling Smørgrav     ])
1522b7579f77SDag-Erling Smørgrav  ])
1523b7579f77SDag-Erling Smørgrav
1524f61ef7f6SDag-Erling Smørgravif test no = "$lt_cv_ar_at_file"; then
1525b7579f77SDag-Erling Smørgrav  archiver_list_spec=
1526b7579f77SDag-Erling Smørgravelse
1527b7579f77SDag-Erling Smørgrav  archiver_list_spec=$lt_cv_ar_at_file
1528b7579f77SDag-Erling Smørgravfi
1529b7579f77SDag-Erling Smørgrav_LT_DECL([], [archiver_list_spec], [1],
1530b7579f77SDag-Erling Smørgrav  [How to feed a file listing to the archiver])
1531b7579f77SDag-Erling Smørgrav])# _LT_PROG_AR
1532b7579f77SDag-Erling Smørgrav
1533b7579f77SDag-Erling Smørgrav
1534b7579f77SDag-Erling Smørgrav# _LT_CMD_OLD_ARCHIVE
1535b7579f77SDag-Erling Smørgrav# -------------------
1536b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_OLD_ARCHIVE],
1537b7579f77SDag-Erling Smørgrav[_LT_PROG_AR
1538b7579f77SDag-Erling Smørgrav
1539b7579f77SDag-Erling SmørgravAC_CHECK_TOOL(STRIP, strip, :)
1540b7579f77SDag-Erling Smørgravtest -z "$STRIP" && STRIP=:
1541b7579f77SDag-Erling Smørgrav_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1542b7579f77SDag-Erling Smørgrav
1543b7579f77SDag-Erling SmørgravAC_CHECK_TOOL(RANLIB, ranlib, :)
1544b7579f77SDag-Erling Smørgravtest -z "$RANLIB" && RANLIB=:
1545b7579f77SDag-Erling Smørgrav_LT_DECL([], [RANLIB], [1],
1546b7579f77SDag-Erling Smørgrav    [Commands used to install an old-style archive])
1547b7579f77SDag-Erling Smørgrav
1548b7579f77SDag-Erling Smørgrav# Determine commands to create old-style static archives.
1549b7579f77SDag-Erling Smørgravold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1550b7579f77SDag-Erling Smørgravold_postinstall_cmds='chmod 644 $oldlib'
1551b7579f77SDag-Erling Smørgravold_postuninstall_cmds=
1552b7579f77SDag-Erling Smørgrav
1553b7579f77SDag-Erling Smørgravif test -n "$RANLIB"; then
1554b7579f77SDag-Erling Smørgrav  case $host_os in
1555f61ef7f6SDag-Erling Smørgrav  bitrig* | openbsd*)
15568ed2b524SDag-Erling Smørgrav    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1557b7579f77SDag-Erling Smørgrav    ;;
1558b7579f77SDag-Erling Smørgrav  *)
15598ed2b524SDag-Erling Smørgrav    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1560b7579f77SDag-Erling Smørgrav    ;;
1561b7579f77SDag-Erling Smørgrav  esac
15628ed2b524SDag-Erling Smørgrav  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1563b7579f77SDag-Erling Smørgravfi
1564b7579f77SDag-Erling Smørgrav
1565b7579f77SDag-Erling Smørgravcase $host_os in
1566b7579f77SDag-Erling Smørgrav  darwin*)
1567b7579f77SDag-Erling Smørgrav    lock_old_archive_extraction=yes ;;
1568b7579f77SDag-Erling Smørgrav  *)
1569b7579f77SDag-Erling Smørgrav    lock_old_archive_extraction=no ;;
1570b7579f77SDag-Erling Smørgravesac
1571b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_postinstall_cmds], [2])
1572b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_postuninstall_cmds], [2])
1573b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_cmds], [2],
1574b7579f77SDag-Erling Smørgrav    [Commands used to build an old-style archive])
1575b7579f77SDag-Erling Smørgrav_LT_DECL([], [lock_old_archive_extraction], [0],
1576b7579f77SDag-Erling Smørgrav    [Whether to use a lock for old archive extraction])
1577b7579f77SDag-Erling Smørgrav])# _LT_CMD_OLD_ARCHIVE
1578b7579f77SDag-Erling Smørgrav
1579b7579f77SDag-Erling Smørgrav
1580b7579f77SDag-Erling Smørgrav# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1581b7579f77SDag-Erling Smørgrav#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1582b7579f77SDag-Erling Smørgrav# ----------------------------------------------------------------
1583b7579f77SDag-Erling Smørgrav# Check whether the given compiler option works
1584b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_COMPILER_OPTION],
1585b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1586b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
1587b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2],
1588b7579f77SDag-Erling Smørgrav  [$2=no
1589b7579f77SDag-Erling Smørgrav   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1590b7579f77SDag-Erling Smørgrav   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1591f61ef7f6SDag-Erling Smørgrav   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
1592b7579f77SDag-Erling Smørgrav   # Insert the option either (1) after the last *FLAGS variable, or
1593b7579f77SDag-Erling Smørgrav   # (2) before a word containing "conftest.", or (3) at the end.
1594b7579f77SDag-Erling Smørgrav   # Note that $ac_compile itself does not contain backslashes and begins
1595b7579f77SDag-Erling Smørgrav   # with a dollar sign (not a hyphen), so the echo should work correctly.
1596b7579f77SDag-Erling Smørgrav   # The option is referenced via a variable to avoid confusing sed.
1597b7579f77SDag-Erling Smørgrav   lt_compile=`echo "$ac_compile" | $SED \
1598b7579f77SDag-Erling Smørgrav   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1599b7579f77SDag-Erling Smørgrav   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1600b7579f77SDag-Erling Smørgrav   -e 's:$: $lt_compiler_flag:'`
1601b7579f77SDag-Erling Smørgrav   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1602b7579f77SDag-Erling Smørgrav   (eval "$lt_compile" 2>conftest.err)
1603b7579f77SDag-Erling Smørgrav   ac_status=$?
1604b7579f77SDag-Erling Smørgrav   cat conftest.err >&AS_MESSAGE_LOG_FD
1605b7579f77SDag-Erling Smørgrav   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1606b7579f77SDag-Erling Smørgrav   if (exit $ac_status) && test -s "$ac_outfile"; then
1607b7579f77SDag-Erling Smørgrav     # The compiler can only warn and ignore the option if not recognized
1608b7579f77SDag-Erling Smørgrav     # So say no if there are warnings other than the usual output.
1609b7579f77SDag-Erling Smørgrav     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1610b7579f77SDag-Erling Smørgrav     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1611b7579f77SDag-Erling Smørgrav     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1612b7579f77SDag-Erling Smørgrav       $2=yes
1613b7579f77SDag-Erling Smørgrav     fi
1614b7579f77SDag-Erling Smørgrav   fi
1615b7579f77SDag-Erling Smørgrav   $RM conftest*
1616b7579f77SDag-Erling Smørgrav])
1617b7579f77SDag-Erling Smørgrav
1618f61ef7f6SDag-Erling Smørgravif test yes = "[$]$2"; then
1619b7579f77SDag-Erling Smørgrav    m4_if([$5], , :, [$5])
1620b7579f77SDag-Erling Smørgravelse
1621b7579f77SDag-Erling Smørgrav    m4_if([$6], , :, [$6])
1622b7579f77SDag-Erling Smørgravfi
1623b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_OPTION
1624b7579f77SDag-Erling Smørgrav
1625b7579f77SDag-Erling Smørgrav# Old name:
1626b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1627b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
1628b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1629b7579f77SDag-Erling Smørgrav
1630b7579f77SDag-Erling Smørgrav
1631b7579f77SDag-Erling Smørgrav# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1632b7579f77SDag-Erling Smørgrav#                  [ACTION-SUCCESS], [ACTION-FAILURE])
1633b7579f77SDag-Erling Smørgrav# ----------------------------------------------------
1634b7579f77SDag-Erling Smørgrav# Check whether the given linker option works
1635b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_LINKER_OPTION],
1636b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1637b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
1638b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([$1], [$2],
1639b7579f77SDag-Erling Smørgrav  [$2=no
1640f61ef7f6SDag-Erling Smørgrav   save_LDFLAGS=$LDFLAGS
1641b7579f77SDag-Erling Smørgrav   LDFLAGS="$LDFLAGS $3"
1642b7579f77SDag-Erling Smørgrav   echo "$lt_simple_link_test_code" > conftest.$ac_ext
1643b7579f77SDag-Erling Smørgrav   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1644b7579f77SDag-Erling Smørgrav     # The linker can only warn and ignore the option if not recognized
1645b7579f77SDag-Erling Smørgrav     # So say no if there are warnings
1646b7579f77SDag-Erling Smørgrav     if test -s conftest.err; then
1647b7579f77SDag-Erling Smørgrav       # Append any errors to the config.log.
1648b7579f77SDag-Erling Smørgrav       cat conftest.err 1>&AS_MESSAGE_LOG_FD
1649b7579f77SDag-Erling Smørgrav       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1650b7579f77SDag-Erling Smørgrav       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1651b7579f77SDag-Erling Smørgrav       if diff conftest.exp conftest.er2 >/dev/null; then
1652b7579f77SDag-Erling Smørgrav         $2=yes
1653b7579f77SDag-Erling Smørgrav       fi
1654b7579f77SDag-Erling Smørgrav     else
1655b7579f77SDag-Erling Smørgrav       $2=yes
1656b7579f77SDag-Erling Smørgrav     fi
1657b7579f77SDag-Erling Smørgrav   fi
1658b7579f77SDag-Erling Smørgrav   $RM -r conftest*
1659f61ef7f6SDag-Erling Smørgrav   LDFLAGS=$save_LDFLAGS
1660b7579f77SDag-Erling Smørgrav])
1661b7579f77SDag-Erling Smørgrav
1662f61ef7f6SDag-Erling Smørgravif test yes = "[$]$2"; then
1663b7579f77SDag-Erling Smørgrav    m4_if([$4], , :, [$4])
1664b7579f77SDag-Erling Smørgravelse
1665b7579f77SDag-Erling Smørgrav    m4_if([$5], , :, [$5])
1666b7579f77SDag-Erling Smørgravfi
1667b7579f77SDag-Erling Smørgrav])# _LT_LINKER_OPTION
1668b7579f77SDag-Erling Smørgrav
1669b7579f77SDag-Erling Smørgrav# Old name:
1670b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1671b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
1672b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1673b7579f77SDag-Erling Smørgrav
1674b7579f77SDag-Erling Smørgrav
1675b7579f77SDag-Erling Smørgrav# LT_CMD_MAX_LEN
1676b7579f77SDag-Erling Smørgrav#---------------
1677b7579f77SDag-Erling SmørgravAC_DEFUN([LT_CMD_MAX_LEN],
1678b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1679b7579f77SDag-Erling Smørgrav# find the maximum length of command line arguments
1680b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([the maximum length of command line arguments])
1681b7579f77SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1682b7579f77SDag-Erling Smørgrav  i=0
1683f61ef7f6SDag-Erling Smørgrav  teststring=ABCD
1684b7579f77SDag-Erling Smørgrav
1685b7579f77SDag-Erling Smørgrav  case $build_os in
1686b7579f77SDag-Erling Smørgrav  msdosdjgpp*)
1687b7579f77SDag-Erling Smørgrav    # On DJGPP, this test can blow up pretty badly due to problems in libc
1688b7579f77SDag-Erling Smørgrav    # (any single argument exceeding 2000 bytes causes a buffer overrun
1689b7579f77SDag-Erling Smørgrav    # during glob expansion).  Even if it were fixed, the result of this
1690b7579f77SDag-Erling Smørgrav    # check would be larger than it should be.
1691b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1692b7579f77SDag-Erling Smørgrav    ;;
1693b7579f77SDag-Erling Smørgrav
1694b7579f77SDag-Erling Smørgrav  gnu*)
1695b7579f77SDag-Erling Smørgrav    # Under GNU Hurd, this test is not required because there is
1696b7579f77SDag-Erling Smørgrav    # no limit to the length of command line arguments.
1697b7579f77SDag-Erling Smørgrav    # Libtool will interpret -1 as no limit whatsoever
1698b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=-1;
1699b7579f77SDag-Erling Smørgrav    ;;
1700b7579f77SDag-Erling Smørgrav
1701b7579f77SDag-Erling Smørgrav  cygwin* | mingw* | cegcc*)
1702b7579f77SDag-Erling Smørgrav    # On Win9x/ME, this test blows up -- it succeeds, but takes
1703b7579f77SDag-Erling Smørgrav    # about 5 minutes as the teststring grows exponentially.
1704b7579f77SDag-Erling Smørgrav    # Worse, since 9x/ME are not pre-emptively multitasking,
1705b7579f77SDag-Erling Smørgrav    # you end up with a "frozen" computer, even though with patience
1706b7579f77SDag-Erling Smørgrav    # the test eventually succeeds (with a max line length of 256k).
1707b7579f77SDag-Erling Smørgrav    # Instead, let's just punt: use the minimum linelength reported by
1708b7579f77SDag-Erling Smørgrav    # all of the supported platforms: 8192 (on NT/2K/XP).
1709b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
1710b7579f77SDag-Erling Smørgrav    ;;
1711b7579f77SDag-Erling Smørgrav
1712b7579f77SDag-Erling Smørgrav  mint*)
1713b7579f77SDag-Erling Smørgrav    # On MiNT this can take a long time and run out of memory.
1714b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
1715b7579f77SDag-Erling Smørgrav    ;;
1716b7579f77SDag-Erling Smørgrav
1717b7579f77SDag-Erling Smørgrav  amigaos*)
1718b7579f77SDag-Erling Smørgrav    # On AmigaOS with pdksh, this test takes hours, literally.
1719b7579f77SDag-Erling Smørgrav    # So we just punt and use a minimum line length of 8192.
1720b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192;
1721b7579f77SDag-Erling Smørgrav    ;;
1722b7579f77SDag-Erling Smørgrav
1723*46d2f618SCy Schubert  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
1724b7579f77SDag-Erling Smørgrav    # This has been around since 386BSD, at least.  Likely further.
1725b7579f77SDag-Erling Smørgrav    if test -x /sbin/sysctl; then
1726b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1727b7579f77SDag-Erling Smørgrav    elif test -x /usr/sbin/sysctl; then
1728b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1729b7579f77SDag-Erling Smørgrav    else
1730b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
1731b7579f77SDag-Erling Smørgrav    fi
1732b7579f77SDag-Erling Smørgrav    # And add a safety zone
1733b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1734b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1735b7579f77SDag-Erling Smørgrav    ;;
1736b7579f77SDag-Erling Smørgrav
1737b7579f77SDag-Erling Smørgrav  interix*)
1738b7579f77SDag-Erling Smørgrav    # We know the value 262144 and hardcode it with a safety zone (like BSD)
1739b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=196608
1740b7579f77SDag-Erling Smørgrav    ;;
1741b7579f77SDag-Erling Smørgrav
17428ed2b524SDag-Erling Smørgrav  os2*)
17438ed2b524SDag-Erling Smørgrav    # The test takes a long time on OS/2.
17448ed2b524SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=8192
17458ed2b524SDag-Erling Smørgrav    ;;
17468ed2b524SDag-Erling Smørgrav
1747b7579f77SDag-Erling Smørgrav  osf*)
1748b7579f77SDag-Erling Smørgrav    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1749b7579f77SDag-Erling Smørgrav    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1750b7579f77SDag-Erling Smørgrav    # nice to cause kernel panics so lets avoid the loop below.
1751b7579f77SDag-Erling Smørgrav    # First set a reasonable default.
1752b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=16384
1753b7579f77SDag-Erling Smørgrav    #
1754b7579f77SDag-Erling Smørgrav    if test -x /sbin/sysconfig; then
1755b7579f77SDag-Erling Smørgrav      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1756b7579f77SDag-Erling Smørgrav        *1*) lt_cv_sys_max_cmd_len=-1 ;;
1757b7579f77SDag-Erling Smørgrav      esac
1758b7579f77SDag-Erling Smørgrav    fi
1759b7579f77SDag-Erling Smørgrav    ;;
1760b7579f77SDag-Erling Smørgrav  sco3.2v5*)
1761b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=102400
1762b7579f77SDag-Erling Smørgrav    ;;
1763b7579f77SDag-Erling Smørgrav  sysv5* | sco5v6* | sysv4.2uw2*)
1764b7579f77SDag-Erling Smørgrav    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1765b7579f77SDag-Erling Smørgrav    if test -n "$kargmax"; then
1766*46d2f618SCy Schubert      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
1767b7579f77SDag-Erling Smørgrav    else
1768b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=32768
1769b7579f77SDag-Erling Smørgrav    fi
1770b7579f77SDag-Erling Smørgrav    ;;
1771b7579f77SDag-Erling Smørgrav  *)
1772b7579f77SDag-Erling Smørgrav    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1773f61ef7f6SDag-Erling Smørgrav    if test -n "$lt_cv_sys_max_cmd_len" && \
1774f61ef7f6SDag-Erling Smørgrav       test undefined != "$lt_cv_sys_max_cmd_len"; then
1775b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1776b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1777b7579f77SDag-Erling Smørgrav    else
1778b7579f77SDag-Erling Smørgrav      # Make teststring a little bigger before we do anything with it.
1779b7579f77SDag-Erling Smørgrav      # a 1K string should be a reasonable start.
1780b7579f77SDag-Erling Smørgrav      for i in 1 2 3 4 5 6 7 8; do
1781b7579f77SDag-Erling Smørgrav        teststring=$teststring$teststring
1782b7579f77SDag-Erling Smørgrav      done
1783b7579f77SDag-Erling Smørgrav      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1784b7579f77SDag-Erling Smørgrav      # If test is not a shell built-in, we'll probably end up computing a
1785b7579f77SDag-Erling Smørgrav      # maximum length that is only half of the actual maximum length, but
1786b7579f77SDag-Erling Smørgrav      # we can't tell.
1787f61ef7f6SDag-Erling Smørgrav      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1788b7579f77SDag-Erling Smørgrav	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1789f61ef7f6SDag-Erling Smørgrav	      test 17 != "$i" # 1/2 MB should be enough
1790b7579f77SDag-Erling Smørgrav      do
1791b7579f77SDag-Erling Smørgrav        i=`expr $i + 1`
1792b7579f77SDag-Erling Smørgrav        teststring=$teststring$teststring
1793b7579f77SDag-Erling Smørgrav      done
1794b7579f77SDag-Erling Smørgrav      # Only check the string length outside the loop.
1795b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1796b7579f77SDag-Erling Smørgrav      teststring=
1797b7579f77SDag-Erling Smørgrav      # Add a significant safety factor because C++ compilers can tack on
1798b7579f77SDag-Erling Smørgrav      # massive amounts of additional arguments before passing them to the
1799b7579f77SDag-Erling Smørgrav      # linker.  It appears as though 1/2 is a usable value.
1800b7579f77SDag-Erling Smørgrav      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1801b7579f77SDag-Erling Smørgrav    fi
1802b7579f77SDag-Erling Smørgrav    ;;
1803b7579f77SDag-Erling Smørgrav  esac
1804b7579f77SDag-Erling Smørgrav])
1805f61ef7f6SDag-Erling Smørgravif test -n "$lt_cv_sys_max_cmd_len"; then
1806b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1807b7579f77SDag-Erling Smørgravelse
1808b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT(none)
1809b7579f77SDag-Erling Smørgravfi
1810b7579f77SDag-Erling Smørgravmax_cmd_len=$lt_cv_sys_max_cmd_len
1811b7579f77SDag-Erling Smørgrav_LT_DECL([], [max_cmd_len], [0],
1812b7579f77SDag-Erling Smørgrav    [What is the maximum length of a command?])
1813b7579f77SDag-Erling Smørgrav])# LT_CMD_MAX_LEN
1814b7579f77SDag-Erling Smørgrav
1815b7579f77SDag-Erling Smørgrav# Old name:
1816b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1817b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
1818b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1819b7579f77SDag-Erling Smørgrav
1820b7579f77SDag-Erling Smørgrav
1821b7579f77SDag-Erling Smørgrav# _LT_HEADER_DLFCN
1822b7579f77SDag-Erling Smørgrav# ----------------
1823b7579f77SDag-Erling Smørgravm4_defun([_LT_HEADER_DLFCN],
1824b7579f77SDag-Erling Smørgrav[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1825b7579f77SDag-Erling Smørgrav])# _LT_HEADER_DLFCN
1826b7579f77SDag-Erling Smørgrav
1827b7579f77SDag-Erling Smørgrav
1828b7579f77SDag-Erling Smørgrav# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1829b7579f77SDag-Erling Smørgrav#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1830b7579f77SDag-Erling Smørgrav# ----------------------------------------------------------------
1831b7579f77SDag-Erling Smørgravm4_defun([_LT_TRY_DLOPEN_SELF],
1832b7579f77SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl
1833f61ef7f6SDag-Erling Smørgravif test yes = "$cross_compiling"; then :
1834b7579f77SDag-Erling Smørgrav  [$4]
1835b7579f77SDag-Erling Smørgravelse
1836b7579f77SDag-Erling Smørgrav  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1837b7579f77SDag-Erling Smørgrav  lt_status=$lt_dlunknown
1838b7579f77SDag-Erling Smørgrav  cat > conftest.$ac_ext <<_LT_EOF
1839b7579f77SDag-Erling Smørgrav[#line $LINENO "configure"
1840b7579f77SDag-Erling Smørgrav#include "confdefs.h"
1841b7579f77SDag-Erling Smørgrav
1842b7579f77SDag-Erling Smørgrav#if HAVE_DLFCN_H
1843b7579f77SDag-Erling Smørgrav#include <dlfcn.h>
1844b7579f77SDag-Erling Smørgrav#endif
1845b7579f77SDag-Erling Smørgrav
1846b7579f77SDag-Erling Smørgrav#include <stdio.h>
1847b7579f77SDag-Erling Smørgrav
1848b7579f77SDag-Erling Smørgrav#ifdef RTLD_GLOBAL
1849b7579f77SDag-Erling Smørgrav#  define LT_DLGLOBAL		RTLD_GLOBAL
1850b7579f77SDag-Erling Smørgrav#else
1851b7579f77SDag-Erling Smørgrav#  ifdef DL_GLOBAL
1852b7579f77SDag-Erling Smørgrav#    define LT_DLGLOBAL		DL_GLOBAL
1853b7579f77SDag-Erling Smørgrav#  else
1854b7579f77SDag-Erling Smørgrav#    define LT_DLGLOBAL		0
1855b7579f77SDag-Erling Smørgrav#  endif
1856b7579f77SDag-Erling Smørgrav#endif
1857b7579f77SDag-Erling Smørgrav
1858b7579f77SDag-Erling Smørgrav/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1859b7579f77SDag-Erling Smørgrav   find out it does not work in some platform. */
1860b7579f77SDag-Erling Smørgrav#ifndef LT_DLLAZY_OR_NOW
1861b7579f77SDag-Erling Smørgrav#  ifdef RTLD_LAZY
1862b7579f77SDag-Erling Smørgrav#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
1863b7579f77SDag-Erling Smørgrav#  else
1864b7579f77SDag-Erling Smørgrav#    ifdef DL_LAZY
1865b7579f77SDag-Erling Smørgrav#      define LT_DLLAZY_OR_NOW		DL_LAZY
1866b7579f77SDag-Erling Smørgrav#    else
1867b7579f77SDag-Erling Smørgrav#      ifdef RTLD_NOW
1868b7579f77SDag-Erling Smørgrav#        define LT_DLLAZY_OR_NOW	RTLD_NOW
1869b7579f77SDag-Erling Smørgrav#      else
1870b7579f77SDag-Erling Smørgrav#        ifdef DL_NOW
1871b7579f77SDag-Erling Smørgrav#          define LT_DLLAZY_OR_NOW	DL_NOW
1872b7579f77SDag-Erling Smørgrav#        else
1873b7579f77SDag-Erling Smørgrav#          define LT_DLLAZY_OR_NOW	0
1874b7579f77SDag-Erling Smørgrav#        endif
1875b7579f77SDag-Erling Smørgrav#      endif
1876b7579f77SDag-Erling Smørgrav#    endif
1877b7579f77SDag-Erling Smørgrav#  endif
1878b7579f77SDag-Erling Smørgrav#endif
1879b7579f77SDag-Erling Smørgrav
1880f61ef7f6SDag-Erling Smørgrav/* When -fvisibility=hidden is used, assume the code has been annotated
1881b7579f77SDag-Erling Smørgrav   correspondingly for the symbols needed.  */
1882f61ef7f6SDag-Erling Smørgrav#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1883b7579f77SDag-Erling Smørgravint fnord () __attribute__((visibility("default")));
1884b7579f77SDag-Erling Smørgrav#endif
1885b7579f77SDag-Erling Smørgrav
1886b7579f77SDag-Erling Smørgravint fnord () { return 42; }
1887b7579f77SDag-Erling Smørgravint main ()
1888b7579f77SDag-Erling Smørgrav{
1889b7579f77SDag-Erling Smørgrav  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1890b7579f77SDag-Erling Smørgrav  int status = $lt_dlunknown;
1891b7579f77SDag-Erling Smørgrav
1892b7579f77SDag-Erling Smørgrav  if (self)
1893b7579f77SDag-Erling Smørgrav    {
1894b7579f77SDag-Erling Smørgrav      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1895b7579f77SDag-Erling Smørgrav      else
1896b7579f77SDag-Erling Smørgrav        {
1897b7579f77SDag-Erling Smørgrav	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
1898b7579f77SDag-Erling Smørgrav          else puts (dlerror ());
1899b7579f77SDag-Erling Smørgrav	}
1900b7579f77SDag-Erling Smørgrav      /* dlclose (self); */
1901b7579f77SDag-Erling Smørgrav    }
1902b7579f77SDag-Erling Smørgrav  else
1903b7579f77SDag-Erling Smørgrav    puts (dlerror ());
1904b7579f77SDag-Erling Smørgrav
1905b7579f77SDag-Erling Smørgrav  return status;
1906b7579f77SDag-Erling Smørgrav}]
1907b7579f77SDag-Erling Smørgrav_LT_EOF
1908f61ef7f6SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1909b7579f77SDag-Erling Smørgrav    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1910b7579f77SDag-Erling Smørgrav    lt_status=$?
1911b7579f77SDag-Erling Smørgrav    case x$lt_status in
1912b7579f77SDag-Erling Smørgrav      x$lt_dlno_uscore) $1 ;;
1913b7579f77SDag-Erling Smørgrav      x$lt_dlneed_uscore) $2 ;;
1914b7579f77SDag-Erling Smørgrav      x$lt_dlunknown|x*) $3 ;;
1915b7579f77SDag-Erling Smørgrav    esac
1916b7579f77SDag-Erling Smørgrav  else :
1917b7579f77SDag-Erling Smørgrav    # compilation failed
1918b7579f77SDag-Erling Smørgrav    $3
1919b7579f77SDag-Erling Smørgrav  fi
1920b7579f77SDag-Erling Smørgravfi
1921b7579f77SDag-Erling Smørgravrm -fr conftest*
1922b7579f77SDag-Erling Smørgrav])# _LT_TRY_DLOPEN_SELF
1923b7579f77SDag-Erling Smørgrav
1924b7579f77SDag-Erling Smørgrav
1925b7579f77SDag-Erling Smørgrav# LT_SYS_DLOPEN_SELF
1926b7579f77SDag-Erling Smørgrav# ------------------
1927b7579f77SDag-Erling SmørgravAC_DEFUN([LT_SYS_DLOPEN_SELF],
1928b7579f77SDag-Erling Smørgrav[m4_require([_LT_HEADER_DLFCN])dnl
1929f61ef7f6SDag-Erling Smørgravif test yes != "$enable_dlopen"; then
1930b7579f77SDag-Erling Smørgrav  enable_dlopen=unknown
1931b7579f77SDag-Erling Smørgrav  enable_dlopen_self=unknown
1932b7579f77SDag-Erling Smørgrav  enable_dlopen_self_static=unknown
1933b7579f77SDag-Erling Smørgravelse
1934b7579f77SDag-Erling Smørgrav  lt_cv_dlopen=no
1935b7579f77SDag-Erling Smørgrav  lt_cv_dlopen_libs=
1936b7579f77SDag-Erling Smørgrav
1937b7579f77SDag-Erling Smørgrav  case $host_os in
1938b7579f77SDag-Erling Smørgrav  beos*)
1939f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen=load_add_on
1940b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_libs=
1941b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_self=yes
1942b7579f77SDag-Erling Smørgrav    ;;
1943b7579f77SDag-Erling Smørgrav
1944b7579f77SDag-Erling Smørgrav  mingw* | pw32* | cegcc*)
1945f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen=LoadLibrary
1946b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_libs=
1947b7579f77SDag-Erling Smørgrav    ;;
1948b7579f77SDag-Erling Smørgrav
1949b7579f77SDag-Erling Smørgrav  cygwin*)
1950f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen=dlopen
1951b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_libs=
1952b7579f77SDag-Erling Smørgrav    ;;
1953b7579f77SDag-Erling Smørgrav
1954b7579f77SDag-Erling Smørgrav  darwin*)
1955b7579f77SDag-Erling Smørgrav    # if libdl is installed we need to link against it
1956b7579f77SDag-Erling Smørgrav    AC_CHECK_LIB([dl], [dlopen],
1957f61ef7f6SDag-Erling Smørgrav		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1958f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen=dyld
1959b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_libs=
1960b7579f77SDag-Erling Smørgrav    lt_cv_dlopen_self=yes
1961b7579f77SDag-Erling Smørgrav    ])
1962b7579f77SDag-Erling Smørgrav    ;;
1963b7579f77SDag-Erling Smørgrav
1964f61ef7f6SDag-Erling Smørgrav  tpf*)
1965f61ef7f6SDag-Erling Smørgrav    # Don't try to run any link tests for TPF.  We know it's impossible
1966f61ef7f6SDag-Erling Smørgrav    # because TPF is a cross-compiler, and we know how we open DSOs.
1967f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen=dlopen
1968f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen_libs=
1969f61ef7f6SDag-Erling Smørgrav    lt_cv_dlopen_self=no
1970f61ef7f6SDag-Erling Smørgrav    ;;
1971f61ef7f6SDag-Erling Smørgrav
1972b7579f77SDag-Erling Smørgrav  *)
1973b7579f77SDag-Erling Smørgrav    AC_CHECK_FUNC([shl_load],
1974f61ef7f6SDag-Erling Smørgrav	  [lt_cv_dlopen=shl_load],
1975b7579f77SDag-Erling Smørgrav      [AC_CHECK_LIB([dld], [shl_load],
1976f61ef7f6SDag-Erling Smørgrav	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1977b7579f77SDag-Erling Smørgrav	[AC_CHECK_FUNC([dlopen],
1978f61ef7f6SDag-Erling Smørgrav	      [lt_cv_dlopen=dlopen],
1979b7579f77SDag-Erling Smørgrav	  [AC_CHECK_LIB([dl], [dlopen],
1980f61ef7f6SDag-Erling Smørgrav		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1981b7579f77SDag-Erling Smørgrav	    [AC_CHECK_LIB([svld], [dlopen],
1982f61ef7f6SDag-Erling Smørgrav		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1983b7579f77SDag-Erling Smørgrav	      [AC_CHECK_LIB([dld], [dld_link],
1984f61ef7f6SDag-Erling Smørgrav		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1985b7579f77SDag-Erling Smørgrav	      ])
1986b7579f77SDag-Erling Smørgrav	    ])
1987b7579f77SDag-Erling Smørgrav	  ])
1988b7579f77SDag-Erling Smørgrav	])
1989b7579f77SDag-Erling Smørgrav      ])
1990b7579f77SDag-Erling Smørgrav    ;;
1991b7579f77SDag-Erling Smørgrav  esac
1992b7579f77SDag-Erling Smørgrav
1993f61ef7f6SDag-Erling Smørgrav  if test no = "$lt_cv_dlopen"; then
1994b7579f77SDag-Erling Smørgrav    enable_dlopen=no
1995f61ef7f6SDag-Erling Smørgrav  else
1996f61ef7f6SDag-Erling Smørgrav    enable_dlopen=yes
1997b7579f77SDag-Erling Smørgrav  fi
1998b7579f77SDag-Erling Smørgrav
1999b7579f77SDag-Erling Smørgrav  case $lt_cv_dlopen in
2000b7579f77SDag-Erling Smørgrav  dlopen)
2001f61ef7f6SDag-Erling Smørgrav    save_CPPFLAGS=$CPPFLAGS
2002f61ef7f6SDag-Erling Smørgrav    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2003b7579f77SDag-Erling Smørgrav
2004f61ef7f6SDag-Erling Smørgrav    save_LDFLAGS=$LDFLAGS
2005b7579f77SDag-Erling Smørgrav    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2006b7579f77SDag-Erling Smørgrav
2007f61ef7f6SDag-Erling Smørgrav    save_LIBS=$LIBS
2008b7579f77SDag-Erling Smørgrav    LIBS="$lt_cv_dlopen_libs $LIBS"
2009b7579f77SDag-Erling Smørgrav
2010b7579f77SDag-Erling Smørgrav    AC_CACHE_CHECK([whether a program can dlopen itself],
2011b7579f77SDag-Erling Smørgrav	  lt_cv_dlopen_self, [dnl
2012b7579f77SDag-Erling Smørgrav	  _LT_TRY_DLOPEN_SELF(
2013b7579f77SDag-Erling Smørgrav	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2014b7579f77SDag-Erling Smørgrav	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2015b7579f77SDag-Erling Smørgrav    ])
2016b7579f77SDag-Erling Smørgrav
2017f61ef7f6SDag-Erling Smørgrav    if test yes = "$lt_cv_dlopen_self"; then
2018b7579f77SDag-Erling Smørgrav      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2019b7579f77SDag-Erling Smørgrav      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2020b7579f77SDag-Erling Smørgrav	  lt_cv_dlopen_self_static, [dnl
2021b7579f77SDag-Erling Smørgrav	  _LT_TRY_DLOPEN_SELF(
2022b7579f77SDag-Erling Smørgrav	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2023b7579f77SDag-Erling Smørgrav	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
2024b7579f77SDag-Erling Smørgrav      ])
2025b7579f77SDag-Erling Smørgrav    fi
2026b7579f77SDag-Erling Smørgrav
2027f61ef7f6SDag-Erling Smørgrav    CPPFLAGS=$save_CPPFLAGS
2028f61ef7f6SDag-Erling Smørgrav    LDFLAGS=$save_LDFLAGS
2029f61ef7f6SDag-Erling Smørgrav    LIBS=$save_LIBS
2030b7579f77SDag-Erling Smørgrav    ;;
2031b7579f77SDag-Erling Smørgrav  esac
2032b7579f77SDag-Erling Smørgrav
2033b7579f77SDag-Erling Smørgrav  case $lt_cv_dlopen_self in
2034b7579f77SDag-Erling Smørgrav  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2035b7579f77SDag-Erling Smørgrav  *) enable_dlopen_self=unknown ;;
2036b7579f77SDag-Erling Smørgrav  esac
2037b7579f77SDag-Erling Smørgrav
2038b7579f77SDag-Erling Smørgrav  case $lt_cv_dlopen_self_static in
2039b7579f77SDag-Erling Smørgrav  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2040b7579f77SDag-Erling Smørgrav  *) enable_dlopen_self_static=unknown ;;
2041b7579f77SDag-Erling Smørgrav  esac
2042b7579f77SDag-Erling Smørgravfi
2043b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_support], [enable_dlopen], [0],
2044b7579f77SDag-Erling Smørgrav	 [Whether dlopen is supported])
2045b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2046b7579f77SDag-Erling Smørgrav	 [Whether dlopen of programs is supported])
2047b7579f77SDag-Erling Smørgrav_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2048b7579f77SDag-Erling Smørgrav	 [Whether dlopen of statically linked programs is supported])
2049b7579f77SDag-Erling Smørgrav])# LT_SYS_DLOPEN_SELF
2050b7579f77SDag-Erling Smørgrav
2051b7579f77SDag-Erling Smørgrav# Old name:
2052b7579f77SDag-Erling SmørgravAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2053b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
2054b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2055b7579f77SDag-Erling Smørgrav
2056b7579f77SDag-Erling Smørgrav
2057b7579f77SDag-Erling Smørgrav# _LT_COMPILER_C_O([TAGNAME])
2058b7579f77SDag-Erling Smørgrav# ---------------------------
2059b7579f77SDag-Erling Smørgrav# Check to see if options -c and -o are simultaneously supported by compiler.
2060b7579f77SDag-Erling Smørgrav# This macro does not hard code the compiler like AC_PROG_CC_C_O.
2061b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_C_O],
2062b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_SED])dnl
2063b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2064b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
2065b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2066b7579f77SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2067b7579f77SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2068b7579f77SDag-Erling Smørgrav   $RM -r conftest 2>/dev/null
2069b7579f77SDag-Erling Smørgrav   mkdir conftest
2070b7579f77SDag-Erling Smørgrav   cd conftest
2071b7579f77SDag-Erling Smørgrav   mkdir out
2072b7579f77SDag-Erling Smørgrav   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2073b7579f77SDag-Erling Smørgrav
2074b7579f77SDag-Erling Smørgrav   lt_compiler_flag="-o out/conftest2.$ac_objext"
2075b7579f77SDag-Erling Smørgrav   # Insert the option either (1) after the last *FLAGS variable, or
2076b7579f77SDag-Erling Smørgrav   # (2) before a word containing "conftest.", or (3) at the end.
2077b7579f77SDag-Erling Smørgrav   # Note that $ac_compile itself does not contain backslashes and begins
2078b7579f77SDag-Erling Smørgrav   # with a dollar sign (not a hyphen), so the echo should work correctly.
2079b7579f77SDag-Erling Smørgrav   lt_compile=`echo "$ac_compile" | $SED \
2080b7579f77SDag-Erling Smørgrav   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2081b7579f77SDag-Erling Smørgrav   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2082b7579f77SDag-Erling Smørgrav   -e 's:$: $lt_compiler_flag:'`
2083b7579f77SDag-Erling Smørgrav   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2084b7579f77SDag-Erling Smørgrav   (eval "$lt_compile" 2>out/conftest.err)
2085b7579f77SDag-Erling Smørgrav   ac_status=$?
2086b7579f77SDag-Erling Smørgrav   cat out/conftest.err >&AS_MESSAGE_LOG_FD
2087b7579f77SDag-Erling Smørgrav   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2088b7579f77SDag-Erling Smørgrav   if (exit $ac_status) && test -s out/conftest2.$ac_objext
2089b7579f77SDag-Erling Smørgrav   then
2090b7579f77SDag-Erling Smørgrav     # The compiler can only warn and ignore the option if not recognized
2091b7579f77SDag-Erling Smørgrav     # So say no if there are warnings
2092b7579f77SDag-Erling Smørgrav     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2093b7579f77SDag-Erling Smørgrav     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2094b7579f77SDag-Erling Smørgrav     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2095b7579f77SDag-Erling Smørgrav       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2096b7579f77SDag-Erling Smørgrav     fi
2097b7579f77SDag-Erling Smørgrav   fi
2098b7579f77SDag-Erling Smørgrav   chmod u+w . 2>&AS_MESSAGE_LOG_FD
2099b7579f77SDag-Erling Smørgrav   $RM conftest*
2100b7579f77SDag-Erling Smørgrav   # SGI C++ compiler will create directory out/ii_files/ for
2101b7579f77SDag-Erling Smørgrav   # template instantiation
2102b7579f77SDag-Erling Smørgrav   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2103b7579f77SDag-Erling Smørgrav   $RM out/* && rmdir out
2104b7579f77SDag-Erling Smørgrav   cd ..
2105b7579f77SDag-Erling Smørgrav   $RM -r conftest
2106b7579f77SDag-Erling Smørgrav   $RM conftest*
2107b7579f77SDag-Erling Smørgrav])
2108b7579f77SDag-Erling Smørgrav_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2109b7579f77SDag-Erling Smørgrav	[Does compiler simultaneously support -c and -o options?])
2110b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_C_O
2111b7579f77SDag-Erling Smørgrav
2112b7579f77SDag-Erling Smørgrav
2113b7579f77SDag-Erling Smørgrav# _LT_COMPILER_FILE_LOCKS([TAGNAME])
2114b7579f77SDag-Erling Smørgrav# ----------------------------------
2115b7579f77SDag-Erling Smørgrav# Check to see if we can do hard links to lock some files if needed
2116b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_FILE_LOCKS],
2117b7579f77SDag-Erling Smørgrav[m4_require([_LT_ENABLE_LOCK])dnl
2118b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2119b7579f77SDag-Erling Smørgrav_LT_COMPILER_C_O([$1])
2120b7579f77SDag-Erling Smørgrav
2121f61ef7f6SDag-Erling Smørgravhard_links=nottested
2122f61ef7f6SDag-Erling Smørgravif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2123b7579f77SDag-Erling Smørgrav  # do not overwrite the value of need_locks provided by the user
2124b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([if we can lock with hard links])
2125b7579f77SDag-Erling Smørgrav  hard_links=yes
2126b7579f77SDag-Erling Smørgrav  $RM conftest*
2127b7579f77SDag-Erling Smørgrav  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2128b7579f77SDag-Erling Smørgrav  touch conftest.a
2129b7579f77SDag-Erling Smørgrav  ln conftest.a conftest.b 2>&5 || hard_links=no
2130b7579f77SDag-Erling Smørgrav  ln conftest.a conftest.b 2>/dev/null && hard_links=no
2131b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT([$hard_links])
2132f61ef7f6SDag-Erling Smørgrav  if test no = "$hard_links"; then
2133f61ef7f6SDag-Erling Smørgrav    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2134b7579f77SDag-Erling Smørgrav    need_locks=warn
2135b7579f77SDag-Erling Smørgrav  fi
2136b7579f77SDag-Erling Smørgravelse
2137b7579f77SDag-Erling Smørgrav  need_locks=no
2138b7579f77SDag-Erling Smørgravfi
2139b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2140b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_FILE_LOCKS
2141b7579f77SDag-Erling Smørgrav
2142b7579f77SDag-Erling Smørgrav
2143b7579f77SDag-Erling Smørgrav# _LT_CHECK_OBJDIR
2144b7579f77SDag-Erling Smørgrav# ----------------
2145b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_OBJDIR],
2146b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2147b7579f77SDag-Erling Smørgrav[rm -f .libs 2>/dev/null
2148b7579f77SDag-Erling Smørgravmkdir .libs 2>/dev/null
2149b7579f77SDag-Erling Smørgravif test -d .libs; then
2150b7579f77SDag-Erling Smørgrav  lt_cv_objdir=.libs
2151b7579f77SDag-Erling Smørgravelse
2152b7579f77SDag-Erling Smørgrav  # MS-DOS does not allow filenames that begin with a dot.
2153b7579f77SDag-Erling Smørgrav  lt_cv_objdir=_libs
2154b7579f77SDag-Erling Smørgravfi
2155b7579f77SDag-Erling Smørgravrmdir .libs 2>/dev/null])
2156b7579f77SDag-Erling Smørgravobjdir=$lt_cv_objdir
2157b7579f77SDag-Erling Smørgrav_LT_DECL([], [objdir], [0],
2158b7579f77SDag-Erling Smørgrav         [The name of the directory that contains temporary libtool files])dnl
2159b7579f77SDag-Erling Smørgravm4_pattern_allow([LT_OBJDIR])dnl
2160f61ef7f6SDag-Erling SmørgravAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2161f61ef7f6SDag-Erling Smørgrav  [Define to the sub-directory where libtool stores uninstalled libraries.])
2162b7579f77SDag-Erling Smørgrav])# _LT_CHECK_OBJDIR
2163b7579f77SDag-Erling Smørgrav
2164b7579f77SDag-Erling Smørgrav
2165b7579f77SDag-Erling Smørgrav# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2166b7579f77SDag-Erling Smørgrav# --------------------------------------
2167b7579f77SDag-Erling Smørgrav# Check hardcoding attributes.
2168b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2169b7579f77SDag-Erling Smørgrav[AC_MSG_CHECKING([how to hardcode library paths into programs])
2170b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_action, $1)=
2171b7579f77SDag-Erling Smørgravif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2172b7579f77SDag-Erling Smørgrav   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2173f61ef7f6SDag-Erling Smørgrav   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2174b7579f77SDag-Erling Smørgrav
2175b7579f77SDag-Erling Smørgrav  # We can hardcode non-existent directories.
2176f61ef7f6SDag-Erling Smørgrav  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2177b7579f77SDag-Erling Smørgrav     # If the only mechanism to avoid hardcoding is shlibpath_var, we
2178b7579f77SDag-Erling Smørgrav     # have to relink, otherwise we might link with an installed library
2179b7579f77SDag-Erling Smørgrav     # when we should be linking with a yet-to-be-installed one
2180f61ef7f6SDag-Erling Smørgrav     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2181f61ef7f6SDag-Erling Smørgrav     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2182b7579f77SDag-Erling Smørgrav    # Linking always hardcodes the temporary library directory.
2183b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(hardcode_action, $1)=relink
2184b7579f77SDag-Erling Smørgrav  else
2185b7579f77SDag-Erling Smørgrav    # We can link without hardcoding, and we can hardcode nonexisting dirs.
2186b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(hardcode_action, $1)=immediate
2187b7579f77SDag-Erling Smørgrav  fi
2188b7579f77SDag-Erling Smørgravelse
2189b7579f77SDag-Erling Smørgrav  # We cannot hardcode anything, or else we can only hardcode existing
2190b7579f77SDag-Erling Smørgrav  # directories.
2191b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_action, $1)=unsupported
2192b7579f77SDag-Erling Smørgravfi
2193b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2194b7579f77SDag-Erling Smørgrav
2195f61ef7f6SDag-Erling Smørgravif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2196f61ef7f6SDag-Erling Smørgrav   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2197b7579f77SDag-Erling Smørgrav  # Fast installation is not supported
2198b7579f77SDag-Erling Smørgrav  enable_fast_install=no
2199f61ef7f6SDag-Erling Smørgravelif test yes = "$shlibpath_overrides_runpath" ||
2200f61ef7f6SDag-Erling Smørgrav     test no = "$enable_shared"; then
2201b7579f77SDag-Erling Smørgrav  # Fast installation is not necessary
2202b7579f77SDag-Erling Smørgrav  enable_fast_install=needless
2203b7579f77SDag-Erling Smørgravfi
2204b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_action], [0],
2205b7579f77SDag-Erling Smørgrav    [How to hardcode a shared library path into an executable])
2206b7579f77SDag-Erling Smørgrav])# _LT_LINKER_HARDCODE_LIBPATH
2207b7579f77SDag-Erling Smørgrav
2208b7579f77SDag-Erling Smørgrav
2209b7579f77SDag-Erling Smørgrav# _LT_CMD_STRIPLIB
2210b7579f77SDag-Erling Smørgrav# ----------------
2211b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_STRIPLIB],
2212b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
2213b7579f77SDag-Erling Smørgravstriplib=
2214b7579f77SDag-Erling Smørgravold_striplib=
2215b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([whether stripping libraries is possible])
2216*46d2f618SCy Schubertif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2217*46d2f618SCy Schubert  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2218*46d2f618SCy Schubert  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2219b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT([yes])
2220b7579f77SDag-Erling Smørgravelse
2221*46d2f618SCy Schubert# FIXME - insert some real tests, host_os isn't really good enough
2222b7579f77SDag-Erling Smørgrav  case $host_os in
2223b7579f77SDag-Erling Smørgrav  darwin*)
2224*46d2f618SCy Schubert    if test -n "$STRIP"; then
2225b7579f77SDag-Erling Smørgrav      striplib="$STRIP -x"
2226b7579f77SDag-Erling Smørgrav      old_striplib="$STRIP -S"
2227b7579f77SDag-Erling Smørgrav      AC_MSG_RESULT([yes])
2228b7579f77SDag-Erling Smørgrav    else
2229b7579f77SDag-Erling Smørgrav      AC_MSG_RESULT([no])
2230b7579f77SDag-Erling Smørgrav    fi
2231b7579f77SDag-Erling Smørgrav    ;;
2232b7579f77SDag-Erling Smørgrav  *)
2233b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([no])
2234b7579f77SDag-Erling Smørgrav    ;;
2235b7579f77SDag-Erling Smørgrav  esac
2236b7579f77SDag-Erling Smørgravfi
2237b7579f77SDag-Erling Smørgrav_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2238b7579f77SDag-Erling Smørgrav_LT_DECL([], [striplib], [1])
2239b7579f77SDag-Erling Smørgrav])# _LT_CMD_STRIPLIB
2240b7579f77SDag-Erling Smørgrav
2241b7579f77SDag-Erling Smørgrav
2242f61ef7f6SDag-Erling Smørgrav# _LT_PREPARE_MUNGE_PATH_LIST
2243f61ef7f6SDag-Erling Smørgrav# ---------------------------
2244f61ef7f6SDag-Erling Smørgrav# Make sure func_munge_path_list() is defined correctly.
2245f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2246f61ef7f6SDag-Erling Smørgrav[[# func_munge_path_list VARIABLE PATH
2247f61ef7f6SDag-Erling Smørgrav# -----------------------------------
2248f61ef7f6SDag-Erling Smørgrav# VARIABLE is name of variable containing _space_ separated list of
2249f61ef7f6SDag-Erling Smørgrav# directories to be munged by the contents of PATH, which is string
2250f61ef7f6SDag-Erling Smørgrav# having a format:
2251f61ef7f6SDag-Erling Smørgrav# "DIR[:DIR]:"
2252f61ef7f6SDag-Erling Smørgrav#       string "DIR[ DIR]" will be prepended to VARIABLE
2253f61ef7f6SDag-Erling Smørgrav# ":DIR[:DIR]"
2254f61ef7f6SDag-Erling Smørgrav#       string "DIR[ DIR]" will be appended to VARIABLE
2255f61ef7f6SDag-Erling Smørgrav# "DIRP[:DIRP]::[DIRA:]DIRA"
2256f61ef7f6SDag-Erling Smørgrav#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2257f61ef7f6SDag-Erling Smørgrav#       "DIRA[ DIRA]" will be appended to VARIABLE
2258f61ef7f6SDag-Erling Smørgrav# "DIR[:DIR]"
2259f61ef7f6SDag-Erling Smørgrav#       VARIABLE will be replaced by "DIR[ DIR]"
2260f61ef7f6SDag-Erling Smørgravfunc_munge_path_list ()
2261f61ef7f6SDag-Erling Smørgrav{
2262f61ef7f6SDag-Erling Smørgrav    case x@S|@2 in
2263f61ef7f6SDag-Erling Smørgrav    x)
2264f61ef7f6SDag-Erling Smørgrav        ;;
2265f61ef7f6SDag-Erling Smørgrav    *:)
2266f61ef7f6SDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2267f61ef7f6SDag-Erling Smørgrav        ;;
2268f61ef7f6SDag-Erling Smørgrav    x:*)
2269f61ef7f6SDag-Erling Smørgrav        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2270f61ef7f6SDag-Erling Smørgrav        ;;
2271f61ef7f6SDag-Erling Smørgrav    *::*)
2272f61ef7f6SDag-Erling Smørgrav        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2273f61ef7f6SDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2274f61ef7f6SDag-Erling Smørgrav        ;;
2275f61ef7f6SDag-Erling Smørgrav    *)
2276f61ef7f6SDag-Erling Smørgrav        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2277f61ef7f6SDag-Erling Smørgrav        ;;
2278f61ef7f6SDag-Erling Smørgrav    esac
2279f61ef7f6SDag-Erling Smørgrav}
2280f61ef7f6SDag-Erling Smørgrav]])# _LT_PREPARE_PATH_LIST
2281f61ef7f6SDag-Erling Smørgrav
2282f61ef7f6SDag-Erling Smørgrav
2283b7579f77SDag-Erling Smørgrav# _LT_SYS_DYNAMIC_LINKER([TAG])
2284b7579f77SDag-Erling Smørgrav# -----------------------------
2285b7579f77SDag-Erling Smørgrav# PORTME Fill in your ld.so characteristics
2286b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_DYNAMIC_LINKER],
2287b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2288b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
2289b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2290b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])dnl
2291b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
2292b7579f77SDag-Erling Smørgravm4_require([_LT_CHECK_SHELL_FEATURES])dnl
2293f61ef7f6SDag-Erling Smørgravm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2294b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([dynamic linker characteristics])
2295b7579f77SDag-Erling Smørgravm4_if([$1],
2296b7579f77SDag-Erling Smørgrav	[], [
2297f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then
2298b7579f77SDag-Erling Smørgrav  case $host_os in
2299f61ef7f6SDag-Erling Smørgrav    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2300f61ef7f6SDag-Erling Smørgrav    *) lt_awk_arg='/^libraries:/' ;;
2301b7579f77SDag-Erling Smørgrav  esac
2302b7579f77SDag-Erling Smørgrav  case $host_os in
2303f61ef7f6SDag-Erling Smørgrav    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2304f61ef7f6SDag-Erling Smørgrav    *) lt_sed_strip_eq='s|=/|/|g' ;;
2305b7579f77SDag-Erling Smørgrav  esac
2306b7579f77SDag-Erling Smørgrav  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2307b7579f77SDag-Erling Smørgrav  case $lt_search_path_spec in
2308b7579f77SDag-Erling Smørgrav  *\;*)
2309b7579f77SDag-Erling Smørgrav    # if the path contains ";" then we assume it to be the separator
2310b7579f77SDag-Erling Smørgrav    # otherwise default to the standard path separator (i.e. ":") - it is
2311b7579f77SDag-Erling Smørgrav    # assumed that no part of a normal pathname contains ";" but that should
2312b7579f77SDag-Erling Smørgrav    # okay in the real world where ";" in dirpaths is itself problematic.
2313b7579f77SDag-Erling Smørgrav    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2314b7579f77SDag-Erling Smørgrav    ;;
2315b7579f77SDag-Erling Smørgrav  *)
2316b7579f77SDag-Erling Smørgrav    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2317b7579f77SDag-Erling Smørgrav    ;;
2318b7579f77SDag-Erling Smørgrav  esac
2319b7579f77SDag-Erling Smørgrav  # Ok, now we have the path, separated by spaces, we can step through it
2320f61ef7f6SDag-Erling Smørgrav  # and add multilib dir if necessary...
2321b7579f77SDag-Erling Smørgrav  lt_tmp_lt_search_path_spec=
2322f61ef7f6SDag-Erling Smørgrav  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2323f61ef7f6SDag-Erling Smørgrav  # ...but if some path component already ends with the multilib dir we assume
2324f61ef7f6SDag-Erling Smørgrav  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2325f61ef7f6SDag-Erling Smørgrav  case "$lt_multi_os_dir; $lt_search_path_spec " in
2326f61ef7f6SDag-Erling Smørgrav  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2327f61ef7f6SDag-Erling Smørgrav    lt_multi_os_dir=
2328f61ef7f6SDag-Erling Smørgrav    ;;
2329f61ef7f6SDag-Erling Smørgrav  esac
2330b7579f77SDag-Erling Smørgrav  for lt_sys_path in $lt_search_path_spec; do
2331f61ef7f6SDag-Erling Smørgrav    if test -d "$lt_sys_path$lt_multi_os_dir"; then
2332f61ef7f6SDag-Erling Smørgrav      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2333f61ef7f6SDag-Erling Smørgrav    elif test -n "$lt_multi_os_dir"; then
2334b7579f77SDag-Erling Smørgrav      test -d "$lt_sys_path" && \
2335b7579f77SDag-Erling Smørgrav	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2336b7579f77SDag-Erling Smørgrav    fi
2337b7579f77SDag-Erling Smørgrav  done
2338b7579f77SDag-Erling Smørgrav  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2339b7579f77SDag-Erling SmørgravBEGIN {RS = " "; FS = "/|\n";} {
2340b7579f77SDag-Erling Smørgrav  lt_foo = "";
2341b7579f77SDag-Erling Smørgrav  lt_count = 0;
2342b7579f77SDag-Erling Smørgrav  for (lt_i = NF; lt_i > 0; lt_i--) {
2343b7579f77SDag-Erling Smørgrav    if ($lt_i != "" && $lt_i != ".") {
2344b7579f77SDag-Erling Smørgrav      if ($lt_i == "..") {
2345b7579f77SDag-Erling Smørgrav        lt_count++;
2346b7579f77SDag-Erling Smørgrav      } else {
2347b7579f77SDag-Erling Smørgrav        if (lt_count == 0) {
2348b7579f77SDag-Erling Smørgrav          lt_foo = "/" $lt_i lt_foo;
2349b7579f77SDag-Erling Smørgrav        } else {
2350b7579f77SDag-Erling Smørgrav          lt_count--;
2351b7579f77SDag-Erling Smørgrav        }
2352b7579f77SDag-Erling Smørgrav      }
2353b7579f77SDag-Erling Smørgrav    }
2354b7579f77SDag-Erling Smørgrav  }
2355b7579f77SDag-Erling Smørgrav  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2356b7579f77SDag-Erling Smørgrav  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2357b7579f77SDag-Erling Smørgrav}'`
2358b7579f77SDag-Erling Smørgrav  # AWK program above erroneously prepends '/' to C:/dos/paths
2359b7579f77SDag-Erling Smørgrav  # for these hosts.
2360b7579f77SDag-Erling Smørgrav  case $host_os in
2361b7579f77SDag-Erling Smørgrav    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2362f61ef7f6SDag-Erling Smørgrav      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2363b7579f77SDag-Erling Smørgrav  esac
2364b7579f77SDag-Erling Smørgrav  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2365b7579f77SDag-Erling Smørgravelse
2366b7579f77SDag-Erling Smørgrav  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2367b7579f77SDag-Erling Smørgravfi])
2368b7579f77SDag-Erling Smørgravlibrary_names_spec=
2369b7579f77SDag-Erling Smørgravlibname_spec='lib$name'
2370b7579f77SDag-Erling Smørgravsoname_spec=
2371f61ef7f6SDag-Erling Smørgravshrext_cmds=.so
2372b7579f77SDag-Erling Smørgravpostinstall_cmds=
2373b7579f77SDag-Erling Smørgravpostuninstall_cmds=
2374b7579f77SDag-Erling Smørgravfinish_cmds=
2375b7579f77SDag-Erling Smørgravfinish_eval=
2376b7579f77SDag-Erling Smørgravshlibpath_var=
2377b7579f77SDag-Erling Smørgravshlibpath_overrides_runpath=unknown
2378b7579f77SDag-Erling Smørgravversion_type=none
2379b7579f77SDag-Erling Smørgravdynamic_linker="$host_os ld.so"
2380b7579f77SDag-Erling Smørgravsys_lib_dlsearch_path_spec="/lib /usr/lib"
2381b7579f77SDag-Erling Smørgravneed_lib_prefix=unknown
2382b7579f77SDag-Erling Smørgravhardcode_into_libs=no
2383b7579f77SDag-Erling Smørgrav
2384b7579f77SDag-Erling Smørgrav# when you set need_version to no, make sure it does not cause -set_version
2385b7579f77SDag-Erling Smørgrav# flags to be left without arguments
2386b7579f77SDag-Erling Smørgravneed_version=unknown
2387b7579f77SDag-Erling Smørgrav
2388f61ef7f6SDag-Erling SmørgravAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2389f61ef7f6SDag-Erling Smørgrav[User-defined run-time library search path.])
2390f61ef7f6SDag-Erling Smørgrav
2391b7579f77SDag-Erling Smørgravcase $host_os in
2392b7579f77SDag-Erling Smørgravaix3*)
23938ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2394f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2395b7579f77SDag-Erling Smørgrav  shlibpath_var=LIBPATH
2396b7579f77SDag-Erling Smørgrav
2397b7579f77SDag-Erling Smørgrav  # AIX 3 has no versioning support, so we append a major version to the name.
2398f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2399b7579f77SDag-Erling Smørgrav  ;;
2400b7579f77SDag-Erling Smørgrav
2401b7579f77SDag-Erling Smørgravaix[[4-9]]*)
24028ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2403b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2404b7579f77SDag-Erling Smørgrav  need_version=no
2405b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2406f61ef7f6SDag-Erling Smørgrav  if test ia64 = "$host_cpu"; then
2407b7579f77SDag-Erling Smørgrav    # AIX 5 supports IA64
2408f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2409b7579f77SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
2410b7579f77SDag-Erling Smørgrav  else
2411b7579f77SDag-Erling Smørgrav    # With GCC up to 2.95.x, collect2 would create an import file
2412b7579f77SDag-Erling Smørgrav    # for dependence libraries.  The import file would start with
2413f61ef7f6SDag-Erling Smørgrav    # the line '#! .'.  This would cause the generated library to
2414f61ef7f6SDag-Erling Smørgrav    # depend on '.', always an invalid library.  This was fixed in
2415b7579f77SDag-Erling Smørgrav    # development snapshots of GCC prior to 3.0.
2416b7579f77SDag-Erling Smørgrav    case $host_os in
2417b7579f77SDag-Erling Smørgrav      aix4 | aix4.[[01]] | aix4.[[01]].*)
2418b7579f77SDag-Erling Smørgrav      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2419b7579f77SDag-Erling Smørgrav	   echo ' yes '
2420f61ef7f6SDag-Erling Smørgrav	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2421b7579f77SDag-Erling Smørgrav	:
2422b7579f77SDag-Erling Smørgrav      else
2423b7579f77SDag-Erling Smørgrav	can_build_shared=no
2424b7579f77SDag-Erling Smørgrav      fi
2425b7579f77SDag-Erling Smørgrav      ;;
2426b7579f77SDag-Erling Smørgrav    esac
2427f61ef7f6SDag-Erling Smørgrav    # Using Import Files as archive members, it is possible to support
2428f61ef7f6SDag-Erling Smørgrav    # filename-based versioning of shared library archives on AIX. While
2429f61ef7f6SDag-Erling Smørgrav    # this would work for both with and without runtime linking, it will
2430f61ef7f6SDag-Erling Smørgrav    # prevent static linking of such archives. So we do filename-based
2431f61ef7f6SDag-Erling Smørgrav    # shared library versioning with .so extension only, which is used
2432f61ef7f6SDag-Erling Smørgrav    # when both runtime linking and shared linking is enabled.
2433f61ef7f6SDag-Erling Smørgrav    # Unfortunately, runtime linking may impact performance, so we do
2434f61ef7f6SDag-Erling Smørgrav    # not want this to be the default eventually. Also, we use the
2435f61ef7f6SDag-Erling Smørgrav    # versioned .so libs for executables only if there is the -brtl
2436f61ef7f6SDag-Erling Smørgrav    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2437f61ef7f6SDag-Erling Smørgrav    # To allow for filename-based versioning support, we need to create
2438f61ef7f6SDag-Erling Smørgrav    # libNAME.so.V as an archive file, containing:
2439f61ef7f6SDag-Erling Smørgrav    # *) an Import File, referring to the versioned filename of the
2440f61ef7f6SDag-Erling Smørgrav    #    archive as well as the shared archive member, telling the
2441f61ef7f6SDag-Erling Smørgrav    #    bitwidth (32 or 64) of that shared object, and providing the
2442f61ef7f6SDag-Erling Smørgrav    #    list of exported symbols of that shared object, eventually
2443f61ef7f6SDag-Erling Smørgrav    #    decorated with the 'weak' keyword
2444f61ef7f6SDag-Erling Smørgrav    # *) the shared object with the F_LOADONLY flag set, to really avoid
2445f61ef7f6SDag-Erling Smørgrav    #    it being seen by the linker.
2446f61ef7f6SDag-Erling Smørgrav    # At run time we better use the real file rather than another symlink,
2447f61ef7f6SDag-Erling Smørgrav    # but for link time we create the symlink libNAME.so -> libNAME.so.V
2448f61ef7f6SDag-Erling Smørgrav
2449f61ef7f6SDag-Erling Smørgrav    case $with_aix_soname,$aix_use_runtimelinking in
2450b7579f77SDag-Erling Smørgrav    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2451b7579f77SDag-Erling Smørgrav    # soname into executable. Probably we can add versioning support to
2452b7579f77SDag-Erling Smørgrav    # collect2, so additional links can be useful in future.
2453f61ef7f6SDag-Erling Smørgrav    aix,yes) # traditional libtool
2454f61ef7f6SDag-Erling Smørgrav      dynamic_linker='AIX unversionable lib.so'
2455b7579f77SDag-Erling Smørgrav      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2456b7579f77SDag-Erling Smørgrav      # instead of lib<name>.a to let people know that these are not
2457b7579f77SDag-Erling Smørgrav      # typical AIX shared libraries.
2458f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2459f61ef7f6SDag-Erling Smørgrav      ;;
2460f61ef7f6SDag-Erling Smørgrav    aix,no) # traditional AIX only
2461f61ef7f6SDag-Erling Smørgrav      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2462b7579f77SDag-Erling Smørgrav      # We preserve .a as extension for shared libraries through AIX4.2
2463b7579f77SDag-Erling Smørgrav      # and later when we are not doing run time linking.
2464f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release.a $libname.a'
2465f61ef7f6SDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
2466f61ef7f6SDag-Erling Smørgrav      ;;
2467f61ef7f6SDag-Erling Smørgrav    svr4,*) # full svr4 only
2468f61ef7f6SDag-Erling Smørgrav      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2469f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2470f61ef7f6SDag-Erling Smørgrav      # We do not specify a path in Import Files, so LIBPATH fires.
2471f61ef7f6SDag-Erling Smørgrav      shlibpath_overrides_runpath=yes
2472f61ef7f6SDag-Erling Smørgrav      ;;
2473f61ef7f6SDag-Erling Smørgrav    *,yes) # both, prefer svr4
2474f61ef7f6SDag-Erling Smørgrav      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2475f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2476f61ef7f6SDag-Erling Smørgrav      # unpreferred sharedlib libNAME.a needs extra handling
2477f61ef7f6SDag-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"'
2478f61ef7f6SDag-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"'
2479f61ef7f6SDag-Erling Smørgrav      # We do not specify a path in Import Files, so LIBPATH fires.
2480f61ef7f6SDag-Erling Smørgrav      shlibpath_overrides_runpath=yes
2481f61ef7f6SDag-Erling Smørgrav      ;;
2482f61ef7f6SDag-Erling Smørgrav    *,no) # both, prefer aix
2483f61ef7f6SDag-Erling Smørgrav      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2484f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release.a $libname.a'
2485f61ef7f6SDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
2486f61ef7f6SDag-Erling Smørgrav      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2487f61ef7f6SDag-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)'
2488f61ef7f6SDag-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"'
2489f61ef7f6SDag-Erling Smørgrav      ;;
2490f61ef7f6SDag-Erling Smørgrav    esac
2491b7579f77SDag-Erling Smørgrav    shlibpath_var=LIBPATH
2492b7579f77SDag-Erling Smørgrav  fi
2493b7579f77SDag-Erling Smørgrav  ;;
2494b7579f77SDag-Erling Smørgrav
2495b7579f77SDag-Erling Smørgravamigaos*)
2496b7579f77SDag-Erling Smørgrav  case $host_cpu in
2497b7579f77SDag-Erling Smørgrav  powerpc)
2498b7579f77SDag-Erling Smørgrav    # Since July 2007 AmigaOS4 officially supports .so libraries.
2499b7579f77SDag-Erling Smørgrav    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2500f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2501b7579f77SDag-Erling Smørgrav    ;;
2502b7579f77SDag-Erling Smørgrav  m68k)
2503b7579f77SDag-Erling Smørgrav    library_names_spec='$libname.ixlibrary $libname.a'
2504b7579f77SDag-Erling Smørgrav    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2505f61ef7f6SDag-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'
2506b7579f77SDag-Erling Smørgrav    ;;
2507b7579f77SDag-Erling Smørgrav  esac
2508b7579f77SDag-Erling Smørgrav  ;;
2509b7579f77SDag-Erling Smørgrav
2510b7579f77SDag-Erling Smørgravbeos*)
2511f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$shared_ext'
2512b7579f77SDag-Erling Smørgrav  dynamic_linker="$host_os ld.so"
2513b7579f77SDag-Erling Smørgrav  shlibpath_var=LIBRARY_PATH
2514b7579f77SDag-Erling Smørgrav  ;;
2515b7579f77SDag-Erling Smørgrav
2516b7579f77SDag-Erling Smørgravbsdi[[45]]*)
25178ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2518b7579f77SDag-Erling Smørgrav  need_version=no
2519f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2520f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2521b7579f77SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2522b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2523b7579f77SDag-Erling Smørgrav  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2524b7579f77SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2525b7579f77SDag-Erling Smørgrav  # the default ld.so.conf also contains /usr/contrib/lib and
2526b7579f77SDag-Erling Smørgrav  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2527b7579f77SDag-Erling Smørgrav  # libtool to hard-code these into programs
2528b7579f77SDag-Erling Smørgrav  ;;
2529b7579f77SDag-Erling Smørgrav
2530b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
2531b7579f77SDag-Erling Smørgrav  version_type=windows
2532f61ef7f6SDag-Erling Smørgrav  shrext_cmds=.dll
2533b7579f77SDag-Erling Smørgrav  need_version=no
2534b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2535b7579f77SDag-Erling Smørgrav
2536b7579f77SDag-Erling Smørgrav  case $GCC,$cc_basename in
2537b7579f77SDag-Erling Smørgrav  yes,*)
2538b7579f77SDag-Erling Smørgrav    # gcc
2539b7579f77SDag-Erling Smørgrav    library_names_spec='$libname.dll.a'
2540b7579f77SDag-Erling Smørgrav    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2541f61ef7f6SDag-Erling Smørgrav    postinstall_cmds='base_file=`basename \$file`~
2542f61ef7f6SDag-Erling Smørgrav      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2543b7579f77SDag-Erling Smørgrav      dldir=$destdir/`dirname \$dlpath`~
2544b7579f77SDag-Erling Smørgrav      test -d \$dldir || mkdir -p \$dldir~
2545b7579f77SDag-Erling Smørgrav      $install_prog $dir/$dlname \$dldir/$dlname~
2546b7579f77SDag-Erling Smørgrav      chmod a+x \$dldir/$dlname~
2547b7579f77SDag-Erling Smørgrav      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2548b7579f77SDag-Erling Smørgrav        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2549b7579f77SDag-Erling Smørgrav      fi'
2550b7579f77SDag-Erling Smørgrav    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2551b7579f77SDag-Erling Smørgrav      dlpath=$dir/\$dldll~
2552b7579f77SDag-Erling Smørgrav       $RM \$dlpath'
2553b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
2554b7579f77SDag-Erling Smørgrav
2555b7579f77SDag-Erling Smørgrav    case $host_os in
2556b7579f77SDag-Erling Smørgrav    cygwin*)
2557b7579f77SDag-Erling Smørgrav      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2558*46d2f618SCy Schubert      soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2559b7579f77SDag-Erling Smørgravm4_if([$1], [],[
2560b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2561b7579f77SDag-Erling Smørgrav      ;;
2562b7579f77SDag-Erling Smørgrav    mingw* | cegcc*)
2563b7579f77SDag-Erling Smørgrav      # MinGW DLLs use traditional 'lib' prefix
2564f61ef7f6SDag-Erling Smørgrav      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2565b7579f77SDag-Erling Smørgrav      ;;
2566b7579f77SDag-Erling Smørgrav    pw32*)
2567b7579f77SDag-Erling Smørgrav      # pw32 DLLs use 'pw' prefix rather than 'lib'
2568*46d2f618SCy Schubert      library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2569b7579f77SDag-Erling Smørgrav      ;;
2570b7579f77SDag-Erling Smørgrav    esac
2571b7579f77SDag-Erling Smørgrav    dynamic_linker='Win32 ld.exe'
2572b7579f77SDag-Erling Smørgrav    ;;
2573b7579f77SDag-Erling Smørgrav
2574*46d2f618SCy Schubert  *,cl*)
2575*46d2f618SCy Schubert    # Native MSVC
2576b7579f77SDag-Erling Smørgrav    libname_spec='$name'
2577f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2578f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname.dll.lib'
2579b7579f77SDag-Erling Smørgrav
2580b7579f77SDag-Erling Smørgrav    case $build_os in
2581b7579f77SDag-Erling Smørgrav    mingw*)
2582b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec=
2583b7579f77SDag-Erling Smørgrav      lt_save_ifs=$IFS
2584b7579f77SDag-Erling Smørgrav      IFS=';'
2585b7579f77SDag-Erling Smørgrav      for lt_path in $LIB
2586b7579f77SDag-Erling Smørgrav      do
2587b7579f77SDag-Erling Smørgrav        IFS=$lt_save_ifs
2588b7579f77SDag-Erling Smørgrav        # Let DOS variable expansion print the short 8.3 style file name.
2589b7579f77SDag-Erling Smørgrav        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2590b7579f77SDag-Erling Smørgrav        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2591b7579f77SDag-Erling Smørgrav      done
2592b7579f77SDag-Erling Smørgrav      IFS=$lt_save_ifs
2593b7579f77SDag-Erling Smørgrav      # Convert to MSYS style.
2594*46d2f618SCy Schubert      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2595b7579f77SDag-Erling Smørgrav      ;;
2596b7579f77SDag-Erling Smørgrav    cygwin*)
2597b7579f77SDag-Erling Smørgrav      # Convert to unix form, then to dos form, then back to unix form
2598b7579f77SDag-Erling Smørgrav      # but this time dos style (no spaces!) so that the unix form looks
2599b7579f77SDag-Erling Smørgrav      # like /cygdrive/c/PROGRA~1:/cygdr...
2600b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2601b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2602b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2603b7579f77SDag-Erling Smørgrav      ;;
2604b7579f77SDag-Erling Smørgrav    *)
2605f61ef7f6SDag-Erling Smørgrav      sys_lib_search_path_spec=$LIB
2606b7579f77SDag-Erling Smørgrav      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2607b7579f77SDag-Erling Smørgrav        # It is most probably a Windows format PATH.
2608b7579f77SDag-Erling Smørgrav        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2609b7579f77SDag-Erling Smørgrav      else
2610b7579f77SDag-Erling Smørgrav        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2611b7579f77SDag-Erling Smørgrav      fi
2612b7579f77SDag-Erling Smørgrav      # FIXME: find the short name or the path components, as spaces are
2613b7579f77SDag-Erling Smørgrav      # common. (e.g. "Program Files" -> "PROGRA~1")
2614b7579f77SDag-Erling Smørgrav      ;;
2615b7579f77SDag-Erling Smørgrav    esac
2616b7579f77SDag-Erling Smørgrav
2617b7579f77SDag-Erling Smørgrav    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2618f61ef7f6SDag-Erling Smørgrav    postinstall_cmds='base_file=`basename \$file`~
2619f61ef7f6SDag-Erling Smørgrav      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2620b7579f77SDag-Erling Smørgrav      dldir=$destdir/`dirname \$dlpath`~
2621b7579f77SDag-Erling Smørgrav      test -d \$dldir || mkdir -p \$dldir~
2622b7579f77SDag-Erling Smørgrav      $install_prog $dir/$dlname \$dldir/$dlname'
2623b7579f77SDag-Erling Smørgrav    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2624b7579f77SDag-Erling Smørgrav      dlpath=$dir/\$dldll~
2625b7579f77SDag-Erling Smørgrav       $RM \$dlpath'
2626b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
2627b7579f77SDag-Erling Smørgrav    dynamic_linker='Win32 link.exe'
2628b7579f77SDag-Erling Smørgrav    ;;
2629b7579f77SDag-Erling Smørgrav
2630b7579f77SDag-Erling Smørgrav  *)
2631*46d2f618SCy Schubert    # Assume MSVC wrapper
2632f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2633b7579f77SDag-Erling Smørgrav    dynamic_linker='Win32 ld.exe'
2634b7579f77SDag-Erling Smørgrav    ;;
2635b7579f77SDag-Erling Smørgrav  esac
2636b7579f77SDag-Erling Smørgrav  # FIXME: first we should search . and the directory the executable is in
2637b7579f77SDag-Erling Smørgrav  shlibpath_var=PATH
2638b7579f77SDag-Erling Smørgrav  ;;
2639b7579f77SDag-Erling Smørgrav
2640b7579f77SDag-Erling Smørgravdarwin* | rhapsody*)
2641b7579f77SDag-Erling Smørgrav  dynamic_linker="$host_os dyld"
2642b7579f77SDag-Erling Smørgrav  version_type=darwin
2643b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2644b7579f77SDag-Erling Smørgrav  need_version=no
2645f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2646f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$major$shared_ext'
2647b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2648b7579f77SDag-Erling Smørgrav  shlibpath_var=DYLD_LIBRARY_PATH
2649b7579f77SDag-Erling Smørgrav  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2650b7579f77SDag-Erling Smørgravm4_if([$1], [],[
2651b7579f77SDag-Erling Smørgrav  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2652b7579f77SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2653b7579f77SDag-Erling Smørgrav  ;;
2654b7579f77SDag-Erling Smørgrav
2655b7579f77SDag-Erling Smørgravdgux*)
26568ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2657b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2658b7579f77SDag-Erling Smørgrav  need_version=no
2659f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2660f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2661b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2662b7579f77SDag-Erling Smørgrav  ;;
2663b7579f77SDag-Erling Smørgrav
2664*46d2f618SCy Schubertfreebsd* | dragonfly*)
2665b7579f77SDag-Erling Smørgrav  # DragonFly does not have aout.  When/if they implement a new
2666b7579f77SDag-Erling Smørgrav  # versioning mechanism, adjust this.
2667b7579f77SDag-Erling Smørgrav  if test -x /usr/bin/objformat; then
2668b7579f77SDag-Erling Smørgrav    objformat=`/usr/bin/objformat`
2669b7579f77SDag-Erling Smørgrav  else
2670b7579f77SDag-Erling Smørgrav    case $host_os in
26718ed2b524SDag-Erling Smørgrav    freebsd[[23]].*) objformat=aout ;;
2672b7579f77SDag-Erling Smørgrav    *) objformat=elf ;;
2673b7579f77SDag-Erling Smørgrav    esac
2674b7579f77SDag-Erling Smørgrav  fi
2675b7579f77SDag-Erling Smørgrav  version_type=freebsd-$objformat
2676b7579f77SDag-Erling Smørgrav  case $version_type in
2677b7579f77SDag-Erling Smørgrav    freebsd-elf*)
2678f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2679f61ef7f6SDag-Erling Smørgrav      soname_spec='$libname$release$shared_ext$major'
2680b7579f77SDag-Erling Smørgrav      need_version=no
2681b7579f77SDag-Erling Smørgrav      need_lib_prefix=no
2682b7579f77SDag-Erling Smørgrav      ;;
2683b7579f77SDag-Erling Smørgrav    freebsd-*)
2684f61ef7f6SDag-Erling Smørgrav      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2685b7579f77SDag-Erling Smørgrav      need_version=yes
2686b7579f77SDag-Erling Smørgrav      ;;
2687b7579f77SDag-Erling Smørgrav  esac
2688b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2689b7579f77SDag-Erling Smørgrav  case $host_os in
26908ed2b524SDag-Erling Smørgrav  freebsd2.*)
2691b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
2692b7579f77SDag-Erling Smørgrav    ;;
2693b7579f77SDag-Erling Smørgrav  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2694b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
2695b7579f77SDag-Erling Smørgrav    hardcode_into_libs=yes
2696b7579f77SDag-Erling Smørgrav    ;;
2697b7579f77SDag-Erling Smørgrav  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2698b7579f77SDag-Erling Smørgrav  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2699b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=no
2700b7579f77SDag-Erling Smørgrav    hardcode_into_libs=yes
2701b7579f77SDag-Erling Smørgrav    ;;
2702b7579f77SDag-Erling Smørgrav  *) # from 4.6 on, and DragonFly
2703b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes
2704b7579f77SDag-Erling Smørgrav    hardcode_into_libs=yes
2705b7579f77SDag-Erling Smørgrav    ;;
2706b7579f77SDag-Erling Smørgrav  esac
2707b7579f77SDag-Erling Smørgrav  ;;
2708b7579f77SDag-Erling Smørgrav
2709b7579f77SDag-Erling Smørgravhaiku*)
27108ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2711b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2712b7579f77SDag-Erling Smørgrav  need_version=no
2713b7579f77SDag-Erling Smørgrav  dynamic_linker="$host_os runtime_loader"
2714f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2715f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2716b7579f77SDag-Erling Smørgrav  shlibpath_var=LIBRARY_PATH
2717f61ef7f6SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2718b7579f77SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2719b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2720b7579f77SDag-Erling Smørgrav  ;;
2721b7579f77SDag-Erling Smørgrav
2722b7579f77SDag-Erling Smørgravhpux9* | hpux10* | hpux11*)
2723b7579f77SDag-Erling Smørgrav  # Give a soname corresponding to the major version so that dld.sl refuses to
2724b7579f77SDag-Erling Smørgrav  # link against other versions.
2725b7579f77SDag-Erling Smørgrav  version_type=sunos
2726b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2727b7579f77SDag-Erling Smørgrav  need_version=no
2728b7579f77SDag-Erling Smørgrav  case $host_cpu in
2729b7579f77SDag-Erling Smørgrav  ia64*)
2730b7579f77SDag-Erling Smørgrav    shrext_cmds='.so'
2731b7579f77SDag-Erling Smørgrav    hardcode_into_libs=yes
2732b7579f77SDag-Erling Smørgrav    dynamic_linker="$host_os dld.so"
2733b7579f77SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
2734b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2735f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2736f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
2737f61ef7f6SDag-Erling Smørgrav    if test 32 = "$HPUX_IA64_MODE"; then
2738b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2739f61ef7f6SDag-Erling Smørgrav      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2740b7579f77SDag-Erling Smørgrav    else
2741b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2742f61ef7f6SDag-Erling Smørgrav      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2743b7579f77SDag-Erling Smørgrav    fi
2744b7579f77SDag-Erling Smørgrav    ;;
2745b7579f77SDag-Erling Smørgrav  hppa*64*)
2746b7579f77SDag-Erling Smørgrav    shrext_cmds='.sl'
2747b7579f77SDag-Erling Smørgrav    hardcode_into_libs=yes
2748b7579f77SDag-Erling Smørgrav    dynamic_linker="$host_os dld.sl"
2749b7579f77SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2750b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2751f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2752f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
2753b7579f77SDag-Erling Smørgrav    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2754b7579f77SDag-Erling Smørgrav    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2755b7579f77SDag-Erling Smørgrav    ;;
2756b7579f77SDag-Erling Smørgrav  *)
2757b7579f77SDag-Erling Smørgrav    shrext_cmds='.sl'
2758b7579f77SDag-Erling Smørgrav    dynamic_linker="$host_os dld.sl"
2759b7579f77SDag-Erling Smørgrav    shlibpath_var=SHLIB_PATH
2760b7579f77SDag-Erling Smørgrav    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2761f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2762f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
2763b7579f77SDag-Erling Smørgrav    ;;
2764b7579f77SDag-Erling Smørgrav  esac
2765b7579f77SDag-Erling Smørgrav  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2766b7579f77SDag-Erling Smørgrav  postinstall_cmds='chmod 555 $lib'
2767b7579f77SDag-Erling Smørgrav  # or fails outright, so override atomically:
2768b7579f77SDag-Erling Smørgrav  install_override_mode=555
2769b7579f77SDag-Erling Smørgrav  ;;
2770b7579f77SDag-Erling Smørgrav
2771b7579f77SDag-Erling Smørgravinterix[[3-9]]*)
27728ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2773b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2774b7579f77SDag-Erling Smørgrav  need_version=no
2775f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2776f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2777b7579f77SDag-Erling Smørgrav  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2778b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2779b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2780b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2781b7579f77SDag-Erling Smørgrav  ;;
2782b7579f77SDag-Erling Smørgrav
2783b7579f77SDag-Erling Smørgravirix5* | irix6* | nonstopux*)
2784b7579f77SDag-Erling Smørgrav  case $host_os in
2785b7579f77SDag-Erling Smørgrav    nonstopux*) version_type=nonstopux ;;
2786b7579f77SDag-Erling Smørgrav    *)
2787f61ef7f6SDag-Erling Smørgrav	if test yes = "$lt_cv_prog_gnu_ld"; then
27888ed2b524SDag-Erling Smørgrav		version_type=linux # correct to gnu/linux during the next big refactor
2789b7579f77SDag-Erling Smørgrav	else
2790b7579f77SDag-Erling Smørgrav		version_type=irix
2791b7579f77SDag-Erling Smørgrav	fi ;;
2792b7579f77SDag-Erling Smørgrav  esac
2793b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2794b7579f77SDag-Erling Smørgrav  need_version=no
2795f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2796f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2797b7579f77SDag-Erling Smørgrav  case $host_os in
2798b7579f77SDag-Erling Smørgrav  irix5* | nonstopux*)
2799b7579f77SDag-Erling Smørgrav    libsuff= shlibsuff=
2800b7579f77SDag-Erling Smørgrav    ;;
2801b7579f77SDag-Erling Smørgrav  *)
2802b7579f77SDag-Erling Smørgrav    case $LD in # libtool.m4 will add one of these switches to LD
2803b7579f77SDag-Erling Smørgrav    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2804b7579f77SDag-Erling Smørgrav      libsuff= shlibsuff= libmagic=32-bit;;
2805b7579f77SDag-Erling Smørgrav    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2806b7579f77SDag-Erling Smørgrav      libsuff=32 shlibsuff=N32 libmagic=N32;;
2807b7579f77SDag-Erling Smørgrav    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2808b7579f77SDag-Erling Smørgrav      libsuff=64 shlibsuff=64 libmagic=64-bit;;
2809b7579f77SDag-Erling Smørgrav    *) libsuff= shlibsuff= libmagic=never-match;;
2810b7579f77SDag-Erling Smørgrav    esac
2811b7579f77SDag-Erling Smørgrav    ;;
2812b7579f77SDag-Erling Smørgrav  esac
2813b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2814b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2815f61ef7f6SDag-Erling Smørgrav  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2816f61ef7f6SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2817b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2818b7579f77SDag-Erling Smørgrav  ;;
2819b7579f77SDag-Erling Smørgrav
2820b7579f77SDag-Erling Smørgrav# No shared lib support for Linux oldld, aout, or coff.
2821b7579f77SDag-Erling Smørgravlinux*oldld* | linux*aout* | linux*coff*)
2822b7579f77SDag-Erling Smørgrav  dynamic_linker=no
2823b7579f77SDag-Erling Smørgrav  ;;
2824b7579f77SDag-Erling Smørgrav
2825f61ef7f6SDag-Erling Smørgravlinux*android*)
2826f61ef7f6SDag-Erling Smørgrav  version_type=none # Android doesn't support versioned libraries.
2827f61ef7f6SDag-Erling Smørgrav  need_lib_prefix=no
2828f61ef7f6SDag-Erling Smørgrav  need_version=no
2829f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext'
2830f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext'
2831f61ef7f6SDag-Erling Smørgrav  finish_cmds=
2832f61ef7f6SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2833f61ef7f6SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2834f61ef7f6SDag-Erling Smørgrav
2835f61ef7f6SDag-Erling Smørgrav  # This implies no fast_install, which is unacceptable.
2836f61ef7f6SDag-Erling Smørgrav  # Some rework will be needed to allow for fast_install
2837f61ef7f6SDag-Erling Smørgrav  # before this can be enabled.
2838f61ef7f6SDag-Erling Smørgrav  hardcode_into_libs=yes
2839f61ef7f6SDag-Erling Smørgrav
2840f61ef7f6SDag-Erling Smørgrav  dynamic_linker='Android linker'
2841f61ef7f6SDag-Erling Smørgrav  # Don't embed -rpath directories since the linker doesn't support them.
2842f61ef7f6SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2843f61ef7f6SDag-Erling Smørgrav  ;;
2844f61ef7f6SDag-Erling Smørgrav
28458ed2b524SDag-Erling Smørgrav# This must be glibc/ELF.
2846f61ef7f6SDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
28478ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2848b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2849b7579f77SDag-Erling Smørgrav  need_version=no
2850f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2851f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2852b7579f77SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2853b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2854b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2855b7579f77SDag-Erling Smørgrav
2856b7579f77SDag-Erling Smørgrav  # Some binutils ld are patched to set DT_RUNPATH
2857b7579f77SDag-Erling Smørgrav  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2858b7579f77SDag-Erling Smørgrav    [lt_cv_shlibpath_overrides_runpath=no
2859b7579f77SDag-Erling Smørgrav    save_LDFLAGS=$LDFLAGS
2860b7579f77SDag-Erling Smørgrav    save_libdir=$libdir
2861b7579f77SDag-Erling Smørgrav    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2862b7579f77SDag-Erling Smørgrav	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2863b7579f77SDag-Erling Smørgrav    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2864b7579f77SDag-Erling Smørgrav      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2865b7579f77SDag-Erling Smørgrav	 [lt_cv_shlibpath_overrides_runpath=yes])])
2866b7579f77SDag-Erling Smørgrav    LDFLAGS=$save_LDFLAGS
2867b7579f77SDag-Erling Smørgrav    libdir=$save_libdir
2868b7579f77SDag-Erling Smørgrav    ])
2869b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2870b7579f77SDag-Erling Smørgrav
2871b7579f77SDag-Erling Smørgrav  # This implies no fast_install, which is unacceptable.
2872b7579f77SDag-Erling Smørgrav  # Some rework will be needed to allow for fast_install
2873b7579f77SDag-Erling Smørgrav  # before this can be enabled.
2874b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2875b7579f77SDag-Erling Smørgrav
2876091e9e46SCy Schubert  # Add ABI-specific directories to the system library path.
2877091e9e46SCy Schubert  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
2878091e9e46SCy Schubert
2879f61ef7f6SDag-Erling Smørgrav  # Ideally, we could use ldconfig to report *all* directores which are
2880f61ef7f6SDag-Erling Smørgrav  # searched for libraries, however this is still not possible.  Aside from not
2881f61ef7f6SDag-Erling Smørgrav  # being certain /sbin/ldconfig is available, command
2882f61ef7f6SDag-Erling Smørgrav  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2883f61ef7f6SDag-Erling Smørgrav  # even though it is searched at run-time.  Try to do the best guess by
2884f61ef7f6SDag-Erling Smørgrav  # appending ld.so.conf contents (and includes) to the search path.
2885b7579f77SDag-Erling Smørgrav  if test -f /etc/ld.so.conf; then
2886b7579f77SDag-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' ' '`
2887091e9e46SCy Schubert    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
2888b7579f77SDag-Erling Smørgrav  fi
2889b7579f77SDag-Erling Smørgrav
2890b7579f77SDag-Erling Smørgrav  # We used to test for /lib/ld.so.1 and disable shared libraries on
2891b7579f77SDag-Erling Smørgrav  # powerpc, because MkLinux only supported shared libraries with the
2892b7579f77SDag-Erling Smørgrav  # GNU dynamic linker.  Since this was broken with cross compilers,
2893b7579f77SDag-Erling Smørgrav  # most powerpc-linux boxes support dynamic linking these days and
2894b7579f77SDag-Erling Smørgrav  # people can always --disable-shared, the test was removed, and we
2895b7579f77SDag-Erling Smørgrav  # assume the GNU/Linux dynamic linker is in use.
2896b7579f77SDag-Erling Smørgrav  dynamic_linker='GNU/Linux ld.so'
2897b7579f77SDag-Erling Smørgrav  ;;
2898b7579f77SDag-Erling Smørgrav
2899b7579f77SDag-Erling Smørgravnetbsd*)
2900b7579f77SDag-Erling Smørgrav  version_type=sunos
2901b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2902b7579f77SDag-Erling Smørgrav  need_version=no
2903b7579f77SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2904f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2905b7579f77SDag-Erling Smørgrav    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2906b7579f77SDag-Erling Smørgrav    dynamic_linker='NetBSD (a.out) ld.so'
2907b7579f77SDag-Erling Smørgrav  else
2908f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2909f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname$release$shared_ext$major'
2910b7579f77SDag-Erling Smørgrav    dynamic_linker='NetBSD ld.elf_so'
2911b7579f77SDag-Erling Smørgrav  fi
2912b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2913b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2914b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2915b7579f77SDag-Erling Smørgrav  ;;
2916b7579f77SDag-Erling Smørgrav
2917b7579f77SDag-Erling Smørgravnewsos6)
29188ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2919f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2920b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2921b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2922b7579f77SDag-Erling Smørgrav  ;;
2923b7579f77SDag-Erling Smørgrav
2924b7579f77SDag-Erling Smørgrav*nto* | *qnx*)
2925b7579f77SDag-Erling Smørgrav  version_type=qnx
2926b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2927b7579f77SDag-Erling Smørgrav  need_version=no
2928f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2929f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2930b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2931b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
2932b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
2933b7579f77SDag-Erling Smørgrav  dynamic_linker='ldqnx.so'
2934b7579f77SDag-Erling Smørgrav  ;;
2935b7579f77SDag-Erling Smørgrav
2936f61ef7f6SDag-Erling Smørgravopenbsd* | bitrig*)
2937b7579f77SDag-Erling Smørgrav  version_type=sunos
2938f61ef7f6SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=/usr/lib
2939b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2940f61ef7f6SDag-Erling Smørgrav  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2941f61ef7f6SDag-Erling Smørgrav    need_version=no
2942f61ef7f6SDag-Erling Smørgrav  else
2943f61ef7f6SDag-Erling Smørgrav    need_version=yes
2944f61ef7f6SDag-Erling Smørgrav  fi
2945f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2946b7579f77SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2947b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2948b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
2949b7579f77SDag-Erling Smørgrav  ;;
2950b7579f77SDag-Erling Smørgrav
2951b7579f77SDag-Erling Smørgravos2*)
2952b7579f77SDag-Erling Smørgrav  libname_spec='$name'
2953f61ef7f6SDag-Erling Smørgrav  version_type=windows
2954f61ef7f6SDag-Erling Smørgrav  shrext_cmds=.dll
2955f61ef7f6SDag-Erling Smørgrav  need_version=no
2956b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2957f61ef7f6SDag-Erling Smørgrav  # OS/2 can only load a DLL with a base name of 8 characters or less.
2958f61ef7f6SDag-Erling Smørgrav  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2959f61ef7f6SDag-Erling Smørgrav    v=$($ECHO $release$versuffix | tr -d .-);
2960f61ef7f6SDag-Erling Smørgrav    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2961f61ef7f6SDag-Erling Smørgrav    $ECHO $n$v`$shared_ext'
2962f61ef7f6SDag-Erling Smørgrav  library_names_spec='${libname}_dll.$libext'
2963b7579f77SDag-Erling Smørgrav  dynamic_linker='OS/2 ld.exe'
2964f61ef7f6SDag-Erling Smørgrav  shlibpath_var=BEGINLIBPATH
2965f61ef7f6SDag-Erling Smørgrav  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2966f61ef7f6SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2967f61ef7f6SDag-Erling Smørgrav  postinstall_cmds='base_file=`basename \$file`~
2968f61ef7f6SDag-Erling Smørgrav    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2969f61ef7f6SDag-Erling Smørgrav    dldir=$destdir/`dirname \$dlpath`~
2970f61ef7f6SDag-Erling Smørgrav    test -d \$dldir || mkdir -p \$dldir~
2971f61ef7f6SDag-Erling Smørgrav    $install_prog $dir/$dlname \$dldir/$dlname~
2972f61ef7f6SDag-Erling Smørgrav    chmod a+x \$dldir/$dlname~
2973f61ef7f6SDag-Erling Smørgrav    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2974f61ef7f6SDag-Erling Smørgrav      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2975f61ef7f6SDag-Erling Smørgrav    fi'
2976f61ef7f6SDag-Erling Smørgrav  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2977f61ef7f6SDag-Erling Smørgrav    dlpath=$dir/\$dldll~
2978f61ef7f6SDag-Erling Smørgrav    $RM \$dlpath'
2979b7579f77SDag-Erling Smørgrav  ;;
2980b7579f77SDag-Erling Smørgrav
2981b7579f77SDag-Erling Smørgravosf3* | osf4* | osf5*)
2982b7579f77SDag-Erling Smørgrav  version_type=osf
2983b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2984b7579f77SDag-Erling Smørgrav  need_version=no
2985f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
2986f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2987b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
2988b7579f77SDag-Erling Smørgrav  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2989f61ef7f6SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2990b7579f77SDag-Erling Smørgrav  ;;
2991b7579f77SDag-Erling Smørgrav
2992b7579f77SDag-Erling Smørgravrdos*)
2993b7579f77SDag-Erling Smørgrav  dynamic_linker=no
2994b7579f77SDag-Erling Smørgrav  ;;
2995b7579f77SDag-Erling Smørgrav
2996b7579f77SDag-Erling Smørgravsolaris*)
29978ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
2998b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
2999b7579f77SDag-Erling Smørgrav  need_version=no
3000f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3001f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
3002b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3003b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
3004b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
3005b7579f77SDag-Erling Smørgrav  # ldd complains unless libraries are executable
3006b7579f77SDag-Erling Smørgrav  postinstall_cmds='chmod +x $lib'
3007b7579f77SDag-Erling Smørgrav  ;;
3008b7579f77SDag-Erling Smørgrav
3009b7579f77SDag-Erling Smørgravsunos4*)
3010b7579f77SDag-Erling Smørgrav  version_type=sunos
3011f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3012b7579f77SDag-Erling Smørgrav  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3013b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3014b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
3015f61ef7f6SDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
3016b7579f77SDag-Erling Smørgrav    need_lib_prefix=no
3017b7579f77SDag-Erling Smørgrav  fi
3018b7579f77SDag-Erling Smørgrav  need_version=yes
3019b7579f77SDag-Erling Smørgrav  ;;
3020b7579f77SDag-Erling Smørgrav
3021b7579f77SDag-Erling Smørgravsysv4 | sysv4.3*)
30228ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
3023f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3024f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
3025b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3026b7579f77SDag-Erling Smørgrav  case $host_vendor in
3027b7579f77SDag-Erling Smørgrav    sni)
3028b7579f77SDag-Erling Smørgrav      shlibpath_overrides_runpath=no
3029b7579f77SDag-Erling Smørgrav      need_lib_prefix=no
3030b7579f77SDag-Erling Smørgrav      runpath_var=LD_RUN_PATH
3031b7579f77SDag-Erling Smørgrav      ;;
3032b7579f77SDag-Erling Smørgrav    siemens)
3033b7579f77SDag-Erling Smørgrav      need_lib_prefix=no
3034b7579f77SDag-Erling Smørgrav      ;;
3035b7579f77SDag-Erling Smørgrav    motorola)
3036b7579f77SDag-Erling Smørgrav      need_lib_prefix=no
3037b7579f77SDag-Erling Smørgrav      need_version=no
3038b7579f77SDag-Erling Smørgrav      shlibpath_overrides_runpath=no
3039b7579f77SDag-Erling Smørgrav      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3040b7579f77SDag-Erling Smørgrav      ;;
3041b7579f77SDag-Erling Smørgrav  esac
3042b7579f77SDag-Erling Smørgrav  ;;
3043b7579f77SDag-Erling Smørgrav
3044b7579f77SDag-Erling Smørgravsysv4*MP*)
3045b7579f77SDag-Erling Smørgrav  if test -d /usr/nec; then
30468ed2b524SDag-Erling Smørgrav    version_type=linux # correct to gnu/linux during the next big refactor
3047f61ef7f6SDag-Erling Smørgrav    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3048f61ef7f6SDag-Erling Smørgrav    soname_spec='$libname$shared_ext.$major'
3049b7579f77SDag-Erling Smørgrav    shlibpath_var=LD_LIBRARY_PATH
3050b7579f77SDag-Erling Smørgrav  fi
3051b7579f77SDag-Erling Smørgrav  ;;
3052b7579f77SDag-Erling Smørgrav
3053b7579f77SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3054f61ef7f6SDag-Erling Smørgrav  version_type=sco
3055b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
3056b7579f77SDag-Erling Smørgrav  need_version=no
3057f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3058f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
3059b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3060b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=yes
3061b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
3062f61ef7f6SDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
3063b7579f77SDag-Erling Smørgrav    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3064b7579f77SDag-Erling Smørgrav  else
3065b7579f77SDag-Erling Smørgrav    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3066b7579f77SDag-Erling Smørgrav    case $host_os in
3067b7579f77SDag-Erling Smørgrav      sco3.2v5*)
3068b7579f77SDag-Erling Smørgrav        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3069b7579f77SDag-Erling Smørgrav	;;
3070b7579f77SDag-Erling Smørgrav    esac
3071b7579f77SDag-Erling Smørgrav  fi
3072b7579f77SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec='/usr/lib'
3073b7579f77SDag-Erling Smørgrav  ;;
3074b7579f77SDag-Erling Smørgrav
3075b7579f77SDag-Erling Smørgravtpf*)
3076b7579f77SDag-Erling Smørgrav  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
30778ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
3078b7579f77SDag-Erling Smørgrav  need_lib_prefix=no
3079b7579f77SDag-Erling Smørgrav  need_version=no
3080f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3081b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3082b7579f77SDag-Erling Smørgrav  shlibpath_overrides_runpath=no
3083b7579f77SDag-Erling Smørgrav  hardcode_into_libs=yes
3084b7579f77SDag-Erling Smørgrav  ;;
3085b7579f77SDag-Erling Smørgrav
3086b7579f77SDag-Erling Smørgravuts4*)
30878ed2b524SDag-Erling Smørgrav  version_type=linux # correct to gnu/linux during the next big refactor
3088f61ef7f6SDag-Erling Smørgrav  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3089f61ef7f6SDag-Erling Smørgrav  soname_spec='$libname$release$shared_ext$major'
3090b7579f77SDag-Erling Smørgrav  shlibpath_var=LD_LIBRARY_PATH
3091b7579f77SDag-Erling Smørgrav  ;;
3092b7579f77SDag-Erling Smørgrav
3093b7579f77SDag-Erling Smørgrav*)
3094b7579f77SDag-Erling Smørgrav  dynamic_linker=no
3095b7579f77SDag-Erling Smørgrav  ;;
3096b7579f77SDag-Erling Smørgravesac
3097b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$dynamic_linker])
3098f61ef7f6SDag-Erling Smørgravtest no = "$dynamic_linker" && can_build_shared=no
3099b7579f77SDag-Erling Smørgrav
3100b7579f77SDag-Erling Smørgravvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3101f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then
3102b7579f77SDag-Erling Smørgrav  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3103b7579f77SDag-Erling Smørgravfi
3104b7579f77SDag-Erling Smørgrav
3105f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3106f61ef7f6SDag-Erling Smørgrav  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3107b7579f77SDag-Erling Smørgravfi
3108f61ef7f6SDag-Erling Smørgrav
3109f61ef7f6SDag-Erling Smørgravif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3110f61ef7f6SDag-Erling Smørgrav  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3111b7579f77SDag-Erling Smørgravfi
3112b7579f77SDag-Erling Smørgrav
3113f61ef7f6SDag-Erling Smørgrav# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3114f61ef7f6SDag-Erling Smørgravconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3115f61ef7f6SDag-Erling Smørgrav
3116f61ef7f6SDag-Erling Smørgrav# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3117f61ef7f6SDag-Erling Smørgravfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3118f61ef7f6SDag-Erling Smørgrav
3119f61ef7f6SDag-Erling Smørgrav# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3120f61ef7f6SDag-Erling Smørgravconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3121f61ef7f6SDag-Erling Smørgrav
3122b7579f77SDag-Erling Smørgrav_LT_DECL([], [variables_saved_for_relink], [1],
3123b7579f77SDag-Erling Smørgrav    [Variables whose values should be saved in libtool wrapper scripts and
3124b7579f77SDag-Erling Smørgrav    restored at link time])
3125b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_lib_prefix], [0],
3126b7579f77SDag-Erling Smørgrav    [Do we need the "lib" prefix for modules?])
3127b7579f77SDag-Erling Smørgrav_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3128b7579f77SDag-Erling Smørgrav_LT_DECL([], [version_type], [0], [Library versioning type])
3129b7579f77SDag-Erling Smørgrav_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
3130b7579f77SDag-Erling Smørgrav_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3131b7579f77SDag-Erling Smørgrav_LT_DECL([], [shlibpath_overrides_runpath], [0],
3132b7579f77SDag-Erling Smørgrav    [Is shlibpath searched before the hard-coded library search path?])
3133b7579f77SDag-Erling Smørgrav_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3134b7579f77SDag-Erling Smørgrav_LT_DECL([], [library_names_spec], [1],
3135b7579f77SDag-Erling Smørgrav    [[List of archive names.  First name is the real one, the rest are links.
3136b7579f77SDag-Erling Smørgrav    The last name is the one that the linker finds with -lNAME]])
3137b7579f77SDag-Erling Smørgrav_LT_DECL([], [soname_spec], [1],
3138b7579f77SDag-Erling Smørgrav    [[The coded name of the library, if different from the real name]])
3139b7579f77SDag-Erling Smørgrav_LT_DECL([], [install_override_mode], [1],
3140b7579f77SDag-Erling Smørgrav    [Permission mode override for installation of shared libraries])
3141b7579f77SDag-Erling Smørgrav_LT_DECL([], [postinstall_cmds], [2],
3142b7579f77SDag-Erling Smørgrav    [Command to use after installation of a shared archive])
3143b7579f77SDag-Erling Smørgrav_LT_DECL([], [postuninstall_cmds], [2],
3144b7579f77SDag-Erling Smørgrav    [Command to use after uninstallation of a shared archive])
3145b7579f77SDag-Erling Smørgrav_LT_DECL([], [finish_cmds], [2],
3146b7579f77SDag-Erling Smørgrav    [Commands used to finish a libtool library installation in a directory])
3147b7579f77SDag-Erling Smørgrav_LT_DECL([], [finish_eval], [1],
3148b7579f77SDag-Erling Smørgrav    [[As "finish_cmds", except a single script fragment to be evaled but
3149b7579f77SDag-Erling Smørgrav    not shown]])
3150b7579f77SDag-Erling Smørgrav_LT_DECL([], [hardcode_into_libs], [0],
3151b7579f77SDag-Erling Smørgrav    [Whether we should hardcode library paths into libraries])
3152b7579f77SDag-Erling Smørgrav_LT_DECL([], [sys_lib_search_path_spec], [2],
3153b7579f77SDag-Erling Smørgrav    [Compile-time system search path for libraries])
3154f61ef7f6SDag-Erling Smørgrav_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3155f61ef7f6SDag-Erling Smørgrav    [Detected run-time system search path for libraries])
3156f61ef7f6SDag-Erling Smørgrav_LT_DECL([], [configure_time_lt_sys_library_path], [2],
3157f61ef7f6SDag-Erling Smørgrav    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3158b7579f77SDag-Erling Smørgrav])# _LT_SYS_DYNAMIC_LINKER
3159b7579f77SDag-Erling Smørgrav
3160b7579f77SDag-Erling Smørgrav
3161b7579f77SDag-Erling Smørgrav# _LT_PATH_TOOL_PREFIX(TOOL)
3162b7579f77SDag-Erling Smørgrav# --------------------------
3163f61ef7f6SDag-Erling Smørgrav# find a file program that can recognize shared library
3164b7579f77SDag-Erling SmørgravAC_DEFUN([_LT_PATH_TOOL_PREFIX],
3165b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl
3166b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([for $1])
3167b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3168b7579f77SDag-Erling Smørgrav[case $MAGIC_CMD in
3169b7579f77SDag-Erling Smørgrav[[\\/*] |  ?:[\\/]*])
3170f61ef7f6SDag-Erling Smørgrav  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3171b7579f77SDag-Erling Smørgrav  ;;
3172b7579f77SDag-Erling Smørgrav*)
3173f61ef7f6SDag-Erling Smørgrav  lt_save_MAGIC_CMD=$MAGIC_CMD
3174f61ef7f6SDag-Erling Smørgrav  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3175b7579f77SDag-Erling Smørgravdnl $ac_dummy forces splitting on constant user-supplied paths.
3176b7579f77SDag-Erling Smørgravdnl POSIX.2 word splitting is done only on the output of word expansions,
3177b7579f77SDag-Erling Smørgravdnl not every word.  This closes a longstanding sh security hole.
3178b7579f77SDag-Erling Smørgrav  ac_dummy="m4_if([$2], , $PATH, [$2])"
3179b7579f77SDag-Erling Smørgrav  for ac_dir in $ac_dummy; do
3180f61ef7f6SDag-Erling Smørgrav    IFS=$lt_save_ifs
3181b7579f77SDag-Erling Smørgrav    test -z "$ac_dir" && ac_dir=.
3182f61ef7f6SDag-Erling Smørgrav    if test -f "$ac_dir/$1"; then
3183f61ef7f6SDag-Erling Smørgrav      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3184b7579f77SDag-Erling Smørgrav      if test -n "$file_magic_test_file"; then
3185b7579f77SDag-Erling Smørgrav	case $deplibs_check_method in
3186b7579f77SDag-Erling Smørgrav	"file_magic "*)
3187b7579f77SDag-Erling Smørgrav	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3188f61ef7f6SDag-Erling Smørgrav	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3189b7579f77SDag-Erling Smørgrav	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3190b7579f77SDag-Erling Smørgrav	    $EGREP "$file_magic_regex" > /dev/null; then
3191b7579f77SDag-Erling Smørgrav	    :
3192b7579f77SDag-Erling Smørgrav	  else
3193b7579f77SDag-Erling Smørgrav	    cat <<_LT_EOF 1>&2
3194b7579f77SDag-Erling Smørgrav
3195b7579f77SDag-Erling Smørgrav*** Warning: the command libtool uses to detect shared libraries,
3196b7579f77SDag-Erling Smørgrav*** $file_magic_cmd, produces output that libtool cannot recognize.
3197b7579f77SDag-Erling Smørgrav*** The result is that libtool may fail to recognize shared libraries
3198b7579f77SDag-Erling Smørgrav*** as such.  This will affect the creation of libtool libraries that
3199b7579f77SDag-Erling Smørgrav*** depend on shared libraries, but programs linked with such libtool
3200b7579f77SDag-Erling Smørgrav*** libraries will work regardless of this problem.  Nevertheless, you
3201b7579f77SDag-Erling Smørgrav*** may want to report the problem to your system manager and/or to
3202b7579f77SDag-Erling Smørgrav*** bug-libtool@gnu.org
3203b7579f77SDag-Erling Smørgrav
3204b7579f77SDag-Erling Smørgrav_LT_EOF
3205b7579f77SDag-Erling Smørgrav	  fi ;;
3206b7579f77SDag-Erling Smørgrav	esac
3207b7579f77SDag-Erling Smørgrav      fi
3208b7579f77SDag-Erling Smørgrav      break
3209b7579f77SDag-Erling Smørgrav    fi
3210b7579f77SDag-Erling Smørgrav  done
3211f61ef7f6SDag-Erling Smørgrav  IFS=$lt_save_ifs
3212f61ef7f6SDag-Erling Smørgrav  MAGIC_CMD=$lt_save_MAGIC_CMD
3213b7579f77SDag-Erling Smørgrav  ;;
3214b7579f77SDag-Erling Smørgravesac])
3215f61ef7f6SDag-Erling SmørgravMAGIC_CMD=$lt_cv_path_MAGIC_CMD
3216b7579f77SDag-Erling Smørgravif test -n "$MAGIC_CMD"; then
3217b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT($MAGIC_CMD)
3218b7579f77SDag-Erling Smørgravelse
3219b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT(no)
3220b7579f77SDag-Erling Smørgravfi
3221b7579f77SDag-Erling Smørgrav_LT_DECL([], [MAGIC_CMD], [0],
3222b7579f77SDag-Erling Smørgrav	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3223b7579f77SDag-Erling Smørgrav])# _LT_PATH_TOOL_PREFIX
3224b7579f77SDag-Erling Smørgrav
3225b7579f77SDag-Erling Smørgrav# Old name:
3226b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3227b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
3228b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3229b7579f77SDag-Erling Smørgrav
3230b7579f77SDag-Erling Smørgrav
3231b7579f77SDag-Erling Smørgrav# _LT_PATH_MAGIC
3232b7579f77SDag-Erling Smørgrav# --------------
3233f61ef7f6SDag-Erling Smørgrav# find a file program that can recognize a shared library
3234b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_MAGIC],
3235b7579f77SDag-Erling Smørgrav[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3236b7579f77SDag-Erling Smørgravif test -z "$lt_cv_path_MAGIC_CMD"; then
3237b7579f77SDag-Erling Smørgrav  if test -n "$ac_tool_prefix"; then
3238b7579f77SDag-Erling Smørgrav    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3239b7579f77SDag-Erling Smørgrav  else
3240b7579f77SDag-Erling Smørgrav    MAGIC_CMD=:
3241b7579f77SDag-Erling Smørgrav  fi
3242b7579f77SDag-Erling Smørgravfi
3243b7579f77SDag-Erling Smørgrav])# _LT_PATH_MAGIC
3244b7579f77SDag-Erling Smørgrav
3245b7579f77SDag-Erling Smørgrav
3246b7579f77SDag-Erling Smørgrav# LT_PATH_LD
3247b7579f77SDag-Erling Smørgrav# ----------
3248b7579f77SDag-Erling Smørgrav# find the pathname to the GNU or non-GNU linker
3249b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PATH_LD],
3250b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
3251b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_HOST])dnl
3252b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
3253b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
3254b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
3255b7579f77SDag-Erling Smørgravm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3256b7579f77SDag-Erling Smørgrav
3257b7579f77SDag-Erling SmørgravAC_ARG_WITH([gnu-ld],
3258b7579f77SDag-Erling Smørgrav    [AS_HELP_STRING([--with-gnu-ld],
3259b7579f77SDag-Erling Smørgrav	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
3260f61ef7f6SDag-Erling Smørgrav    [test no = "$withval" || with_gnu_ld=yes],
3261b7579f77SDag-Erling Smørgrav    [with_gnu_ld=no])dnl
3262b7579f77SDag-Erling Smørgrav
3263b7579f77SDag-Erling Smørgravac_prog=ld
3264f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then
3265b7579f77SDag-Erling Smørgrav  # Check if gcc -print-prog-name=ld gives a path.
3266b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([for ld used by $CC])
3267b7579f77SDag-Erling Smørgrav  case $host in
3268b7579f77SDag-Erling Smørgrav  *-*-mingw*)
3269f61ef7f6SDag-Erling Smørgrav    # gcc leaves a trailing carriage return, which upsets mingw
3270b7579f77SDag-Erling Smørgrav    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3271b7579f77SDag-Erling Smørgrav  *)
3272b7579f77SDag-Erling Smørgrav    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3273b7579f77SDag-Erling Smørgrav  esac
3274b7579f77SDag-Erling Smørgrav  case $ac_prog in
3275b7579f77SDag-Erling Smørgrav    # Accept absolute paths.
3276b7579f77SDag-Erling Smørgrav    [[\\/]]* | ?:[[\\/]]*)
3277b7579f77SDag-Erling Smørgrav      re_direlt='/[[^/]][[^/]]*/\.\./'
3278b7579f77SDag-Erling Smørgrav      # Canonicalize the pathname of ld
3279b7579f77SDag-Erling Smørgrav      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3280b7579f77SDag-Erling Smørgrav      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3281b7579f77SDag-Erling Smørgrav	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3282b7579f77SDag-Erling Smørgrav      done
3283f61ef7f6SDag-Erling Smørgrav      test -z "$LD" && LD=$ac_prog
3284b7579f77SDag-Erling Smørgrav      ;;
3285b7579f77SDag-Erling Smørgrav  "")
3286b7579f77SDag-Erling Smørgrav    # If it fails, then pretend we aren't using GCC.
3287b7579f77SDag-Erling Smørgrav    ac_prog=ld
3288b7579f77SDag-Erling Smørgrav    ;;
3289b7579f77SDag-Erling Smørgrav  *)
3290b7579f77SDag-Erling Smørgrav    # If it is relative, then search for the first ld in PATH.
3291b7579f77SDag-Erling Smørgrav    with_gnu_ld=unknown
3292b7579f77SDag-Erling Smørgrav    ;;
3293b7579f77SDag-Erling Smørgrav  esac
3294f61ef7f6SDag-Erling Smørgravelif test yes = "$with_gnu_ld"; then
3295b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([for GNU ld])
3296b7579f77SDag-Erling Smørgravelse
3297b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([for non-GNU ld])
3298b7579f77SDag-Erling Smørgravfi
3299b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_LD,
3300b7579f77SDag-Erling Smørgrav[if test -z "$LD"; then
3301f61ef7f6SDag-Erling Smørgrav  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3302b7579f77SDag-Erling Smørgrav  for ac_dir in $PATH; do
3303f61ef7f6SDag-Erling Smørgrav    IFS=$lt_save_ifs
3304b7579f77SDag-Erling Smørgrav    test -z "$ac_dir" && ac_dir=.
3305b7579f77SDag-Erling Smørgrav    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3306f61ef7f6SDag-Erling Smørgrav      lt_cv_path_LD=$ac_dir/$ac_prog
3307b7579f77SDag-Erling Smørgrav      # Check to see if the program is GNU ld.  I'd rather use --version,
3308b7579f77SDag-Erling Smørgrav      # but apparently some variants of GNU ld only accept -v.
3309b7579f77SDag-Erling Smørgrav      # Break only if it was the GNU/non-GNU ld that we prefer.
3310b7579f77SDag-Erling Smørgrav      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3311b7579f77SDag-Erling Smørgrav      *GNU* | *'with BFD'*)
3312f61ef7f6SDag-Erling Smørgrav	test no != "$with_gnu_ld" && break
3313b7579f77SDag-Erling Smørgrav	;;
3314b7579f77SDag-Erling Smørgrav      *)
3315f61ef7f6SDag-Erling Smørgrav	test yes != "$with_gnu_ld" && break
3316b7579f77SDag-Erling Smørgrav	;;
3317b7579f77SDag-Erling Smørgrav      esac
3318b7579f77SDag-Erling Smørgrav    fi
3319b7579f77SDag-Erling Smørgrav  done
3320f61ef7f6SDag-Erling Smørgrav  IFS=$lt_save_ifs
3321b7579f77SDag-Erling Smørgravelse
3322f61ef7f6SDag-Erling Smørgrav  lt_cv_path_LD=$LD # Let the user override the test with a path.
3323b7579f77SDag-Erling Smørgravfi])
3324f61ef7f6SDag-Erling SmørgravLD=$lt_cv_path_LD
3325b7579f77SDag-Erling Smørgravif test -n "$LD"; then
3326b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT($LD)
3327b7579f77SDag-Erling Smørgravelse
3328b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT(no)
3329b7579f77SDag-Erling Smørgravfi
3330b7579f77SDag-Erling Smørgravtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3331b7579f77SDag-Erling Smørgrav_LT_PATH_LD_GNU
3332b7579f77SDag-Erling SmørgravAC_SUBST([LD])
3333b7579f77SDag-Erling Smørgrav
3334b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3335b7579f77SDag-Erling Smørgrav])# LT_PATH_LD
3336b7579f77SDag-Erling Smørgrav
3337b7579f77SDag-Erling Smørgrav# Old names:
3338b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3339b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3340b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
3341b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_LD], [])
3342b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_LD], [])
3343b7579f77SDag-Erling Smørgrav
3344b7579f77SDag-Erling Smørgrav
3345b7579f77SDag-Erling Smørgrav# _LT_PATH_LD_GNU
3346b7579f77SDag-Erling Smørgrav#- --------------
3347b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_LD_GNU],
3348b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3349b7579f77SDag-Erling Smørgrav[# I'd rather use --version here, but apparently some GNU lds only accept -v.
3350b7579f77SDag-Erling Smørgravcase `$LD -v 2>&1 </dev/null` in
3351b7579f77SDag-Erling Smørgrav*GNU* | *'with BFD'*)
3352b7579f77SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=yes
3353b7579f77SDag-Erling Smørgrav  ;;
3354b7579f77SDag-Erling Smørgrav*)
3355b7579f77SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=no
3356b7579f77SDag-Erling Smørgrav  ;;
3357b7579f77SDag-Erling Smørgravesac])
3358b7579f77SDag-Erling Smørgravwith_gnu_ld=$lt_cv_prog_gnu_ld
3359b7579f77SDag-Erling Smørgrav])# _LT_PATH_LD_GNU
3360b7579f77SDag-Erling Smørgrav
3361b7579f77SDag-Erling Smørgrav
3362b7579f77SDag-Erling Smørgrav# _LT_CMD_RELOAD
3363b7579f77SDag-Erling Smørgrav# --------------
3364b7579f77SDag-Erling Smørgrav# find reload flag for linker
3365b7579f77SDag-Erling Smørgrav#   -- PORTME Some linkers may need a different reload flag.
3366b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_RELOAD],
3367b7579f77SDag-Erling Smørgrav[AC_CACHE_CHECK([for $LD option to reload object files],
3368b7579f77SDag-Erling Smørgrav  lt_cv_ld_reload_flag,
3369b7579f77SDag-Erling Smørgrav  [lt_cv_ld_reload_flag='-r'])
3370b7579f77SDag-Erling Smørgravreload_flag=$lt_cv_ld_reload_flag
3371b7579f77SDag-Erling Smørgravcase $reload_flag in
3372b7579f77SDag-Erling Smørgrav"" | " "*) ;;
3373b7579f77SDag-Erling Smørgrav*) reload_flag=" $reload_flag" ;;
3374b7579f77SDag-Erling Smørgravesac
3375b7579f77SDag-Erling Smørgravreload_cmds='$LD$reload_flag -o $output$reload_objs'
3376b7579f77SDag-Erling Smørgravcase $host_os in
3377b7579f77SDag-Erling Smørgrav  cygwin* | mingw* | pw32* | cegcc*)
3378f61ef7f6SDag-Erling Smørgrav    if test yes != "$GCC"; then
3379b7579f77SDag-Erling Smørgrav      reload_cmds=false
3380b7579f77SDag-Erling Smørgrav    fi
3381b7579f77SDag-Erling Smørgrav    ;;
3382b7579f77SDag-Erling Smørgrav  darwin*)
3383f61ef7f6SDag-Erling Smørgrav    if test yes = "$GCC"; then
3384f61ef7f6SDag-Erling Smørgrav      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3385b7579f77SDag-Erling Smørgrav    else
3386b7579f77SDag-Erling Smørgrav      reload_cmds='$LD$reload_flag -o $output$reload_objs'
3387b7579f77SDag-Erling Smørgrav    fi
3388b7579f77SDag-Erling Smørgrav    ;;
3389b7579f77SDag-Erling Smørgravesac
3390b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3391b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [reload_cmds], [2])dnl
3392b7579f77SDag-Erling Smørgrav])# _LT_CMD_RELOAD
3393b7579f77SDag-Erling Smørgrav
3394b7579f77SDag-Erling Smørgrav
3395f61ef7f6SDag-Erling Smørgrav# _LT_PATH_DD
3396f61ef7f6SDag-Erling Smørgrav# -----------
3397f61ef7f6SDag-Erling Smørgrav# find a working dd
3398f61ef7f6SDag-Erling Smørgravm4_defun([_LT_PATH_DD],
3399f61ef7f6SDag-Erling Smørgrav[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3400f61ef7f6SDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i
3401f61ef7f6SDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i
3402f61ef7f6SDag-Erling Smørgrav: ${lt_DD:=$DD}
3403f61ef7f6SDag-Erling SmørgravAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3404f61ef7f6SDag-Erling Smørgrav[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3405f61ef7f6SDag-Erling Smørgrav  cmp -s conftest.i conftest.out \
3406f61ef7f6SDag-Erling Smørgrav  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3407f61ef7f6SDag-Erling Smørgravfi])
3408f61ef7f6SDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out])
3409f61ef7f6SDag-Erling Smørgrav])# _LT_PATH_DD
3410f61ef7f6SDag-Erling Smørgrav
3411f61ef7f6SDag-Erling Smørgrav
3412f61ef7f6SDag-Erling Smørgrav# _LT_CMD_TRUNCATE
3413f61ef7f6SDag-Erling Smørgrav# ----------------
3414f61ef7f6SDag-Erling Smørgrav# find command to truncate a binary pipe
3415f61ef7f6SDag-Erling Smørgravm4_defun([_LT_CMD_TRUNCATE],
3416f61ef7f6SDag-Erling Smørgrav[m4_require([_LT_PATH_DD])
3417f61ef7f6SDag-Erling SmørgravAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3418f61ef7f6SDag-Erling Smørgrav[printf 0123456789abcdef0123456789abcdef >conftest.i
3419f61ef7f6SDag-Erling Smørgravcat conftest.i conftest.i >conftest2.i
3420f61ef7f6SDag-Erling Smørgravlt_cv_truncate_bin=
3421f61ef7f6SDag-Erling Smørgravif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3422f61ef7f6SDag-Erling Smørgrav  cmp -s conftest.i conftest.out \
3423f61ef7f6SDag-Erling Smørgrav  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3424f61ef7f6SDag-Erling Smørgravfi
3425f61ef7f6SDag-Erling Smørgravrm -f conftest.i conftest2.i conftest.out
3426f61ef7f6SDag-Erling Smørgravtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3427f61ef7f6SDag-Erling Smørgrav_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3428f61ef7f6SDag-Erling Smørgrav  [Command to truncate a binary pipe])
3429f61ef7f6SDag-Erling Smørgrav])# _LT_CMD_TRUNCATE
3430f61ef7f6SDag-Erling Smørgrav
3431f61ef7f6SDag-Erling Smørgrav
3432b7579f77SDag-Erling Smørgrav# _LT_CHECK_MAGIC_METHOD
3433b7579f77SDag-Erling Smørgrav# ----------------------
3434b7579f77SDag-Erling Smørgrav# how to check for library dependencies
3435b7579f77SDag-Erling Smørgrav#  -- PORTME fill in with the dynamic library characteristics
3436b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_MAGIC_METHOD],
3437b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
3438b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])
3439b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([how to recognize dependent libraries],
3440b7579f77SDag-Erling Smørgravlt_cv_deplibs_check_method,
3441b7579f77SDag-Erling Smørgrav[lt_cv_file_magic_cmd='$MAGIC_CMD'
3442b7579f77SDag-Erling Smørgravlt_cv_file_magic_test_file=
3443b7579f77SDag-Erling Smørgravlt_cv_deplibs_check_method='unknown'
3444b7579f77SDag-Erling Smørgrav# Need to set the preceding variable on all platforms that support
3445b7579f77SDag-Erling Smørgrav# interlibrary dependencies.
3446b7579f77SDag-Erling Smørgrav# 'none' -- dependencies not supported.
3447f61ef7f6SDag-Erling Smørgrav# 'unknown' -- same as none, but documents that we really don't know.
3448b7579f77SDag-Erling Smørgrav# 'pass_all' -- all dependencies passed with no checks.
3449b7579f77SDag-Erling Smørgrav# 'test_compile' -- check by making test program.
3450b7579f77SDag-Erling Smørgrav# 'file_magic [[regex]]' -- check by looking for files in library path
3451f61ef7f6SDag-Erling Smørgrav# that responds to the $file_magic_cmd with a given extended regex.
3452f61ef7f6SDag-Erling Smørgrav# If you have 'file' or equivalent on your system and you're not sure
3453f61ef7f6SDag-Erling Smørgrav# whether 'pass_all' will *always* work, you probably want this one.
3454b7579f77SDag-Erling Smørgrav
3455b7579f77SDag-Erling Smørgravcase $host_os in
3456b7579f77SDag-Erling Smørgravaix[[4-9]]*)
3457b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3458b7579f77SDag-Erling Smørgrav  ;;
3459b7579f77SDag-Erling Smørgrav
3460b7579f77SDag-Erling Smørgravbeos*)
3461b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3462b7579f77SDag-Erling Smørgrav  ;;
3463b7579f77SDag-Erling Smørgrav
3464b7579f77SDag-Erling Smørgravbsdi[[45]]*)
3465b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3466*46d2f618SCy Schubert  lt_cv_file_magic_cmd='/usr/bin/file -L'
3467b7579f77SDag-Erling Smørgrav  lt_cv_file_magic_test_file=/shlib/libc.so
3468b7579f77SDag-Erling Smørgrav  ;;
3469b7579f77SDag-Erling Smørgrav
3470b7579f77SDag-Erling Smørgravcygwin*)
3471b7579f77SDag-Erling Smørgrav  # func_win32_libid is a shell function defined in ltmain.sh
3472b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3473b7579f77SDag-Erling Smørgrav  lt_cv_file_magic_cmd='func_win32_libid'
3474b7579f77SDag-Erling Smørgrav  ;;
3475b7579f77SDag-Erling Smørgrav
3476b7579f77SDag-Erling Smørgravmingw* | pw32*)
3477b7579f77SDag-Erling Smørgrav  # Base MSYS/MinGW do not provide the 'file' command needed by
3478b7579f77SDag-Erling Smørgrav  # func_win32_libid shell function, so use a weaker test based on 'objdump',
3479b7579f77SDag-Erling Smørgrav  # unless we find 'file', for example because we are cross-compiling.
3480f61ef7f6SDag-Erling Smørgrav  if ( file / ) >/dev/null 2>&1; then
3481b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3482b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_cmd='func_win32_libid'
3483b7579f77SDag-Erling Smørgrav  else
3484b7579f77SDag-Erling Smørgrav    # Keep this pattern in sync with the one in func_win32_libid.
3485b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3486b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_cmd='$OBJDUMP -f'
3487b7579f77SDag-Erling Smørgrav  fi
3488b7579f77SDag-Erling Smørgrav  ;;
3489b7579f77SDag-Erling Smørgrav
3490b7579f77SDag-Erling Smørgravcegcc*)
3491b7579f77SDag-Erling Smørgrav  # use the weaker test based on 'objdump'. See mingw*.
3492b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3493b7579f77SDag-Erling Smørgrav  lt_cv_file_magic_cmd='$OBJDUMP -f'
3494b7579f77SDag-Erling Smørgrav  ;;
3495b7579f77SDag-Erling Smørgrav
3496b7579f77SDag-Erling Smørgravdarwin* | rhapsody*)
3497b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3498b7579f77SDag-Erling Smørgrav  ;;
3499b7579f77SDag-Erling Smørgrav
3500*46d2f618SCy Schubertfreebsd* | dragonfly*)
3501b7579f77SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3502b7579f77SDag-Erling Smørgrav    case $host_cpu in
3503b7579f77SDag-Erling Smørgrav    i*86 )
3504b7579f77SDag-Erling Smørgrav      # Not sure whether the presence of OpenBSD here was a mistake.
3505b7579f77SDag-Erling Smørgrav      # Let's accept both of them until this is cleared up.
3506b7579f77SDag-Erling Smørgrav      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3507*46d2f618SCy Schubert      lt_cv_file_magic_cmd=/usr/bin/file
3508b7579f77SDag-Erling Smørgrav      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3509b7579f77SDag-Erling Smørgrav      ;;
3510b7579f77SDag-Erling Smørgrav    esac
3511b7579f77SDag-Erling Smørgrav  else
3512b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
3513b7579f77SDag-Erling Smørgrav  fi
3514b7579f77SDag-Erling Smørgrav  ;;
3515b7579f77SDag-Erling Smørgrav
3516b7579f77SDag-Erling Smørgravhaiku*)
3517b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3518b7579f77SDag-Erling Smørgrav  ;;
3519b7579f77SDag-Erling Smørgrav
3520b7579f77SDag-Erling Smørgravhpux10.20* | hpux11*)
3521*46d2f618SCy Schubert  lt_cv_file_magic_cmd=/usr/bin/file
3522b7579f77SDag-Erling Smørgrav  case $host_cpu in
3523b7579f77SDag-Erling Smørgrav  ia64*)
3524b7579f77SDag-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'
3525b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3526b7579f77SDag-Erling Smørgrav    ;;
3527b7579f77SDag-Erling Smørgrav  hppa*64*)
3528b7579f77SDag-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]']
3529b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3530b7579f77SDag-Erling Smørgrav    ;;
3531b7579f77SDag-Erling Smørgrav  *)
3532b7579f77SDag-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'
3533b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3534b7579f77SDag-Erling Smørgrav    ;;
3535b7579f77SDag-Erling Smørgrav  esac
3536b7579f77SDag-Erling Smørgrav  ;;
3537b7579f77SDag-Erling Smørgrav
3538b7579f77SDag-Erling Smørgravinterix[[3-9]]*)
3539b7579f77SDag-Erling Smørgrav  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3540b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3541b7579f77SDag-Erling Smørgrav  ;;
3542b7579f77SDag-Erling Smørgrav
3543b7579f77SDag-Erling Smørgravirix5* | irix6* | nonstopux*)
3544b7579f77SDag-Erling Smørgrav  case $LD in
3545b7579f77SDag-Erling Smørgrav  *-32|*"-32 ") libmagic=32-bit;;
3546b7579f77SDag-Erling Smørgrav  *-n32|*"-n32 ") libmagic=N32;;
3547b7579f77SDag-Erling Smørgrav  *-64|*"-64 ") libmagic=64-bit;;
3548b7579f77SDag-Erling Smørgrav  *) libmagic=never-match;;
3549b7579f77SDag-Erling Smørgrav  esac
3550b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3551b7579f77SDag-Erling Smørgrav  ;;
3552b7579f77SDag-Erling Smørgrav
35538ed2b524SDag-Erling Smørgrav# This must be glibc/ELF.
3554f61ef7f6SDag-Erling Smørgravlinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3555b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3556b7579f77SDag-Erling Smørgrav  ;;
3557b7579f77SDag-Erling Smørgrav
3558091e9e46SCy Schubertnetbsd*)
3559b7579f77SDag-Erling Smørgrav  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3560b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3561b7579f77SDag-Erling Smørgrav  else
3562b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3563b7579f77SDag-Erling Smørgrav  fi
3564b7579f77SDag-Erling Smørgrav  ;;
3565b7579f77SDag-Erling Smørgrav
3566b7579f77SDag-Erling Smørgravnewos6*)
3567b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3568*46d2f618SCy Schubert  lt_cv_file_magic_cmd=/usr/bin/file
3569b7579f77SDag-Erling Smørgrav  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3570b7579f77SDag-Erling Smørgrav  ;;
3571b7579f77SDag-Erling Smørgrav
3572b7579f77SDag-Erling Smørgrav*nto* | *qnx*)
3573b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3574b7579f77SDag-Erling Smørgrav  ;;
3575b7579f77SDag-Erling Smørgrav
3576f61ef7f6SDag-Erling Smørgravopenbsd* | bitrig*)
3577f61ef7f6SDag-Erling Smørgrav  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3578b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3579b7579f77SDag-Erling Smørgrav  else
3580b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3581b7579f77SDag-Erling Smørgrav  fi
3582b7579f77SDag-Erling Smørgrav  ;;
3583b7579f77SDag-Erling Smørgrav
3584b7579f77SDag-Erling Smørgravosf3* | osf4* | osf5*)
3585b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3586b7579f77SDag-Erling Smørgrav  ;;
3587b7579f77SDag-Erling Smørgrav
3588b7579f77SDag-Erling Smørgravrdos*)
3589b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3590b7579f77SDag-Erling Smørgrav  ;;
3591b7579f77SDag-Erling Smørgrav
3592b7579f77SDag-Erling Smørgravsolaris*)
3593b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3594b7579f77SDag-Erling Smørgrav  ;;
3595b7579f77SDag-Erling Smørgrav
3596b7579f77SDag-Erling Smørgravsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3597b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3598b7579f77SDag-Erling Smørgrav  ;;
3599b7579f77SDag-Erling Smørgrav
3600b7579f77SDag-Erling Smørgravsysv4 | sysv4.3*)
3601b7579f77SDag-Erling Smørgrav  case $host_vendor in
3602b7579f77SDag-Erling Smørgrav  motorola)
3603b7579f77SDag-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]]'
3604b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3605b7579f77SDag-Erling Smørgrav    ;;
3606b7579f77SDag-Erling Smørgrav  ncr)
3607b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
3608b7579f77SDag-Erling Smørgrav    ;;
3609b7579f77SDag-Erling Smørgrav  sequent)
3610b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_cmd='/bin/file'
3611b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3612b7579f77SDag-Erling Smørgrav    ;;
3613b7579f77SDag-Erling Smørgrav  sni)
3614b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_cmd='/bin/file'
3615b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3616b7579f77SDag-Erling Smørgrav    lt_cv_file_magic_test_file=/lib/libc.so
3617b7579f77SDag-Erling Smørgrav    ;;
3618b7579f77SDag-Erling Smørgrav  siemens)
3619b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
3620b7579f77SDag-Erling Smørgrav    ;;
3621b7579f77SDag-Erling Smørgrav  pc)
3622b7579f77SDag-Erling Smørgrav    lt_cv_deplibs_check_method=pass_all
3623b7579f77SDag-Erling Smørgrav    ;;
3624b7579f77SDag-Erling Smørgrav  esac
3625b7579f77SDag-Erling Smørgrav  ;;
3626b7579f77SDag-Erling Smørgrav
3627b7579f77SDag-Erling Smørgravtpf*)
3628b7579f77SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3629b7579f77SDag-Erling Smørgrav  ;;
3630f61ef7f6SDag-Erling Smørgravos2*)
3631f61ef7f6SDag-Erling Smørgrav  lt_cv_deplibs_check_method=pass_all
3632f61ef7f6SDag-Erling Smørgrav  ;;
3633b7579f77SDag-Erling Smørgravesac
3634b7579f77SDag-Erling Smørgrav])
3635b7579f77SDag-Erling Smørgrav
3636b7579f77SDag-Erling Smørgravfile_magic_glob=
3637b7579f77SDag-Erling Smørgravwant_nocaseglob=no
3638b7579f77SDag-Erling Smørgravif test "$build" = "$host"; then
3639b7579f77SDag-Erling Smørgrav  case $host_os in
3640b7579f77SDag-Erling Smørgrav  mingw* | pw32*)
3641b7579f77SDag-Erling Smørgrav    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3642b7579f77SDag-Erling Smørgrav      want_nocaseglob=yes
3643b7579f77SDag-Erling Smørgrav    else
3644b7579f77SDag-Erling Smørgrav      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3645b7579f77SDag-Erling Smørgrav    fi
3646b7579f77SDag-Erling Smørgrav    ;;
3647b7579f77SDag-Erling Smørgrav  esac
3648b7579f77SDag-Erling Smørgravfi
3649b7579f77SDag-Erling Smørgrav
3650b7579f77SDag-Erling Smørgravfile_magic_cmd=$lt_cv_file_magic_cmd
3651b7579f77SDag-Erling Smørgravdeplibs_check_method=$lt_cv_deplibs_check_method
3652b7579f77SDag-Erling Smørgravtest -z "$deplibs_check_method" && deplibs_check_method=unknown
3653b7579f77SDag-Erling Smørgrav
3654b7579f77SDag-Erling Smørgrav_LT_DECL([], [deplibs_check_method], [1],
3655b7579f77SDag-Erling Smørgrav    [Method to check whether dependent libraries are shared objects])
3656b7579f77SDag-Erling Smørgrav_LT_DECL([], [file_magic_cmd], [1],
3657b7579f77SDag-Erling Smørgrav    [Command to use when deplibs_check_method = "file_magic"])
3658b7579f77SDag-Erling Smørgrav_LT_DECL([], [file_magic_glob], [1],
3659b7579f77SDag-Erling Smørgrav    [How to find potential files when deplibs_check_method = "file_magic"])
3660b7579f77SDag-Erling Smørgrav_LT_DECL([], [want_nocaseglob], [1],
3661b7579f77SDag-Erling Smørgrav    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3662b7579f77SDag-Erling Smørgrav])# _LT_CHECK_MAGIC_METHOD
3663b7579f77SDag-Erling Smørgrav
3664b7579f77SDag-Erling Smørgrav
3665b7579f77SDag-Erling Smørgrav# LT_PATH_NM
3666b7579f77SDag-Erling Smørgrav# ----------
3667b7579f77SDag-Erling Smørgrav# find the pathname to a BSD- or MS-compatible name lister
3668b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PATH_NM],
3669b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_CC])dnl
3670b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3671b7579f77SDag-Erling Smørgrav[if test -n "$NM"; then
3672b7579f77SDag-Erling Smørgrav  # Let the user override the test.
3673f61ef7f6SDag-Erling Smørgrav  lt_cv_path_NM=$NM
3674b7579f77SDag-Erling Smørgravelse
3675f61ef7f6SDag-Erling Smørgrav  lt_nm_to_check=${ac_tool_prefix}nm
3676b7579f77SDag-Erling Smørgrav  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3677b7579f77SDag-Erling Smørgrav    lt_nm_to_check="$lt_nm_to_check nm"
3678b7579f77SDag-Erling Smørgrav  fi
3679b7579f77SDag-Erling Smørgrav  for lt_tmp_nm in $lt_nm_to_check; do
3680f61ef7f6SDag-Erling Smørgrav    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3681b7579f77SDag-Erling Smørgrav    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3682f61ef7f6SDag-Erling Smørgrav      IFS=$lt_save_ifs
3683b7579f77SDag-Erling Smørgrav      test -z "$ac_dir" && ac_dir=.
3684f61ef7f6SDag-Erling Smørgrav      tmp_nm=$ac_dir/$lt_tmp_nm
3685b7579f77SDag-Erling Smørgrav      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3686b7579f77SDag-Erling Smørgrav	# Check to see if the nm accepts a BSD-compat flag.
3687f61ef7f6SDag-Erling Smørgrav	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3688b7579f77SDag-Erling Smørgrav	#   nm: unknown option "B" ignored
3689b7579f77SDag-Erling Smørgrav	# Tru64's nm complains that /dev/null is an invalid object file
3690f61ef7f6SDag-Erling Smørgrav	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3691f61ef7f6SDag-Erling Smørgrav	case $build_os in
3692f61ef7f6SDag-Erling Smørgrav	mingw*) lt_bad_file=conftest.nm/nofile ;;
3693f61ef7f6SDag-Erling Smørgrav	*) lt_bad_file=/dev/null ;;
3694f61ef7f6SDag-Erling Smørgrav	esac
3695*46d2f618SCy Schubert	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3696f61ef7f6SDag-Erling Smørgrav	*$lt_bad_file* | *'Invalid file or object type'*)
3697b7579f77SDag-Erling Smørgrav	  lt_cv_path_NM="$tmp_nm -B"
3698f61ef7f6SDag-Erling Smørgrav	  break 2
3699b7579f77SDag-Erling Smørgrav	  ;;
3700b7579f77SDag-Erling Smørgrav	*)
3701*46d2f618SCy Schubert	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3702b7579f77SDag-Erling Smørgrav	  */dev/null*)
3703b7579f77SDag-Erling Smørgrav	    lt_cv_path_NM="$tmp_nm -p"
3704f61ef7f6SDag-Erling Smørgrav	    break 2
3705b7579f77SDag-Erling Smørgrav	    ;;
3706b7579f77SDag-Erling Smørgrav	  *)
3707b7579f77SDag-Erling Smørgrav	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3708b7579f77SDag-Erling Smørgrav	    continue # so that we can try to find one that supports BSD flags
3709b7579f77SDag-Erling Smørgrav	    ;;
3710b7579f77SDag-Erling Smørgrav	  esac
3711b7579f77SDag-Erling Smørgrav	  ;;
3712b7579f77SDag-Erling Smørgrav	esac
3713b7579f77SDag-Erling Smørgrav      fi
3714b7579f77SDag-Erling Smørgrav    done
3715f61ef7f6SDag-Erling Smørgrav    IFS=$lt_save_ifs
3716b7579f77SDag-Erling Smørgrav  done
3717b7579f77SDag-Erling Smørgrav  : ${lt_cv_path_NM=no}
3718b7579f77SDag-Erling Smørgravfi])
3719f61ef7f6SDag-Erling Smørgravif test no != "$lt_cv_path_NM"; then
3720f61ef7f6SDag-Erling Smørgrav  NM=$lt_cv_path_NM
3721b7579f77SDag-Erling Smørgravelse
3722b7579f77SDag-Erling Smørgrav  # Didn't find any BSD compatible name lister, look for dumpbin.
3723b7579f77SDag-Erling Smørgrav  if test -n "$DUMPBIN"; then :
3724b7579f77SDag-Erling Smørgrav    # Let the user override the test.
3725b7579f77SDag-Erling Smørgrav  else
3726b7579f77SDag-Erling Smørgrav    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3727*46d2f618SCy Schubert    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
3728b7579f77SDag-Erling Smørgrav    *COFF*)
3729f61ef7f6SDag-Erling Smørgrav      DUMPBIN="$DUMPBIN -symbols -headers"
3730b7579f77SDag-Erling Smørgrav      ;;
3731b7579f77SDag-Erling Smørgrav    *)
3732b7579f77SDag-Erling Smørgrav      DUMPBIN=:
3733b7579f77SDag-Erling Smørgrav      ;;
3734b7579f77SDag-Erling Smørgrav    esac
3735b7579f77SDag-Erling Smørgrav  fi
3736b7579f77SDag-Erling Smørgrav  AC_SUBST([DUMPBIN])
3737f61ef7f6SDag-Erling Smørgrav  if test : != "$DUMPBIN"; then
3738f61ef7f6SDag-Erling Smørgrav    NM=$DUMPBIN
3739b7579f77SDag-Erling Smørgrav  fi
3740b7579f77SDag-Erling Smørgravfi
3741b7579f77SDag-Erling Smørgravtest -z "$NM" && NM=nm
3742b7579f77SDag-Erling SmørgravAC_SUBST([NM])
3743b7579f77SDag-Erling Smørgrav_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3744b7579f77SDag-Erling Smørgrav
3745b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3746b7579f77SDag-Erling Smørgrav  [lt_cv_nm_interface="BSD nm"
3747b7579f77SDag-Erling Smørgrav  echo "int some_variable = 0;" > conftest.$ac_ext
3748b7579f77SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3749b7579f77SDag-Erling Smørgrav  (eval "$ac_compile" 2>conftest.err)
3750b7579f77SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
3751b7579f77SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3752b7579f77SDag-Erling Smørgrav  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3753b7579f77SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
3754b7579f77SDag-Erling Smørgrav  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3755b7579f77SDag-Erling Smørgrav  cat conftest.out >&AS_MESSAGE_LOG_FD
3756b7579f77SDag-Erling Smørgrav  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3757b7579f77SDag-Erling Smørgrav    lt_cv_nm_interface="MS dumpbin"
3758b7579f77SDag-Erling Smørgrav  fi
3759b7579f77SDag-Erling Smørgrav  rm -f conftest*])
3760b7579f77SDag-Erling Smørgrav])# LT_PATH_NM
3761b7579f77SDag-Erling Smørgrav
3762b7579f77SDag-Erling Smørgrav# Old names:
3763b7579f77SDag-Erling SmørgravAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3764b7579f77SDag-Erling SmørgravAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3765b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
3766b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_PROG_NM], [])
3767b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_PROG_NM], [])
3768b7579f77SDag-Erling Smørgrav
3769b7579f77SDag-Erling Smørgrav# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3770b7579f77SDag-Erling Smørgrav# --------------------------------
3771b7579f77SDag-Erling Smørgrav# how to determine the name of the shared library
3772b7579f77SDag-Erling Smørgrav# associated with a specific link library.
3773b7579f77SDag-Erling Smørgrav#  -- PORTME fill in with the dynamic library characteristics
3774b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3775b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])
3776b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_OBJDUMP])
3777b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_DLLTOOL])
3778b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([how to associate runtime and link libraries],
3779b7579f77SDag-Erling Smørgravlt_cv_sharedlib_from_linklib_cmd,
3780b7579f77SDag-Erling Smørgrav[lt_cv_sharedlib_from_linklib_cmd='unknown'
3781b7579f77SDag-Erling Smørgrav
3782b7579f77SDag-Erling Smørgravcase $host_os in
3783b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
3784f61ef7f6SDag-Erling Smørgrav  # two different shell functions defined in ltmain.sh;
3785f61ef7f6SDag-Erling Smørgrav  # decide which one to use based on capabilities of $DLLTOOL
3786b7579f77SDag-Erling Smørgrav  case `$DLLTOOL --help 2>&1` in
3787b7579f77SDag-Erling Smørgrav  *--identify-strict*)
3788b7579f77SDag-Erling Smørgrav    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3789b7579f77SDag-Erling Smørgrav    ;;
3790b7579f77SDag-Erling Smørgrav  *)
3791b7579f77SDag-Erling Smørgrav    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3792b7579f77SDag-Erling Smørgrav    ;;
3793b7579f77SDag-Erling Smørgrav  esac
3794b7579f77SDag-Erling Smørgrav  ;;
3795b7579f77SDag-Erling Smørgrav*)
3796b7579f77SDag-Erling Smørgrav  # fallback: assume linklib IS sharedlib
3797f61ef7f6SDag-Erling Smørgrav  lt_cv_sharedlib_from_linklib_cmd=$ECHO
3798b7579f77SDag-Erling Smørgrav  ;;
3799b7579f77SDag-Erling Smørgravesac
3800b7579f77SDag-Erling Smørgrav])
3801b7579f77SDag-Erling Smørgravsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3802b7579f77SDag-Erling Smørgravtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3803b7579f77SDag-Erling Smørgrav
3804b7579f77SDag-Erling Smørgrav_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3805b7579f77SDag-Erling Smørgrav    [Command to associate shared and link libraries])
3806b7579f77SDag-Erling Smørgrav])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3807b7579f77SDag-Erling Smørgrav
3808b7579f77SDag-Erling Smørgrav
3809b7579f77SDag-Erling Smørgrav# _LT_PATH_MANIFEST_TOOL
3810b7579f77SDag-Erling Smørgrav# ----------------------
3811b7579f77SDag-Erling Smørgrav# locate the manifest tool
3812b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_MANIFEST_TOOL],
3813b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3814b7579f77SDag-Erling Smørgravtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3815b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3816b7579f77SDag-Erling Smørgrav  [lt_cv_path_mainfest_tool=no
3817b7579f77SDag-Erling Smørgrav  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3818b7579f77SDag-Erling Smørgrav  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3819b7579f77SDag-Erling Smørgrav  cat conftest.err >&AS_MESSAGE_LOG_FD
3820b7579f77SDag-Erling Smørgrav  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3821b7579f77SDag-Erling Smørgrav    lt_cv_path_mainfest_tool=yes
3822b7579f77SDag-Erling Smørgrav  fi
3823b7579f77SDag-Erling Smørgrav  rm -f conftest*])
3824f61ef7f6SDag-Erling Smørgravif test yes != "$lt_cv_path_mainfest_tool"; then
3825b7579f77SDag-Erling Smørgrav  MANIFEST_TOOL=:
3826b7579f77SDag-Erling Smørgravfi
3827b7579f77SDag-Erling Smørgrav_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3828b7579f77SDag-Erling Smørgrav])# _LT_PATH_MANIFEST_TOOL
3829b7579f77SDag-Erling Smørgrav
3830b7579f77SDag-Erling Smørgrav
3831f61ef7f6SDag-Erling Smørgrav# _LT_DLL_DEF_P([FILE])
3832f61ef7f6SDag-Erling Smørgrav# ---------------------
3833f61ef7f6SDag-Erling Smørgrav# True iff FILE is a Windows DLL '.def' file.
3834f61ef7f6SDag-Erling Smørgrav# Keep in sync with func_dll_def_p in the libtool script
3835f61ef7f6SDag-Erling SmørgravAC_DEFUN([_LT_DLL_DEF_P],
3836f61ef7f6SDag-Erling Smørgrav[dnl
3837f61ef7f6SDag-Erling Smørgrav  test DEF = "`$SED -n dnl
3838f61ef7f6SDag-Erling Smørgrav    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
3839f61ef7f6SDag-Erling Smørgrav    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
3840f61ef7f6SDag-Erling Smørgrav    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
3841f61ef7f6SDag-Erling Smørgrav    -e q dnl                          Only consider the first "real" line
3842f61ef7f6SDag-Erling Smørgrav    $1`" dnl
3843f61ef7f6SDag-Erling Smørgrav])# _LT_DLL_DEF_P
3844f61ef7f6SDag-Erling Smørgrav
3845f61ef7f6SDag-Erling Smørgrav
3846b7579f77SDag-Erling Smørgrav# LT_LIB_M
3847b7579f77SDag-Erling Smørgrav# --------
3848b7579f77SDag-Erling Smørgrav# check for math library
3849b7579f77SDag-Erling SmørgravAC_DEFUN([LT_LIB_M],
3850b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3851b7579f77SDag-Erling SmørgravLIBM=
3852b7579f77SDag-Erling Smørgravcase $host in
3853b7579f77SDag-Erling Smørgrav*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3854b7579f77SDag-Erling Smørgrav  # These system don't have libm, or don't need it
3855b7579f77SDag-Erling Smørgrav  ;;
3856b7579f77SDag-Erling Smørgrav*-ncr-sysv4.3*)
3857f61ef7f6SDag-Erling Smørgrav  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3858b7579f77SDag-Erling Smørgrav  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3859b7579f77SDag-Erling Smørgrav  ;;
3860b7579f77SDag-Erling Smørgrav*)
3861f61ef7f6SDag-Erling Smørgrav  AC_CHECK_LIB(m, cos, LIBM=-lm)
3862b7579f77SDag-Erling Smørgrav  ;;
3863b7579f77SDag-Erling Smørgravesac
3864b7579f77SDag-Erling SmørgravAC_SUBST([LIBM])
3865b7579f77SDag-Erling Smørgrav])# LT_LIB_M
3866b7579f77SDag-Erling Smørgrav
3867b7579f77SDag-Erling Smørgrav# Old name:
3868b7579f77SDag-Erling SmørgravAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3869b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
3870b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_CHECK_LIBM], [])
3871b7579f77SDag-Erling Smørgrav
3872b7579f77SDag-Erling Smørgrav
3873b7579f77SDag-Erling Smørgrav# _LT_COMPILER_NO_RTTI([TAGNAME])
3874b7579f77SDag-Erling Smørgrav# -------------------------------
3875b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_NO_RTTI],
3876b7579f77SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl
3877b7579f77SDag-Erling Smørgrav
3878b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3879b7579f77SDag-Erling Smørgrav
3880f61ef7f6SDag-Erling Smørgravif test yes = "$GCC"; then
3881b7579f77SDag-Erling Smørgrav  case $cc_basename in
3882b7579f77SDag-Erling Smørgrav  nvcc*)
3883b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3884b7579f77SDag-Erling Smørgrav  *)
3885b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3886b7579f77SDag-Erling Smørgrav  esac
3887b7579f77SDag-Erling Smørgrav
3888b7579f77SDag-Erling Smørgrav  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3889b7579f77SDag-Erling Smørgrav    lt_cv_prog_compiler_rtti_exceptions,
3890b7579f77SDag-Erling Smørgrav    [-fno-rtti -fno-exceptions], [],
3891b7579f77SDag-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"])
3892b7579f77SDag-Erling Smørgravfi
3893b7579f77SDag-Erling Smørgrav_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3894b7579f77SDag-Erling Smørgrav	[Compiler flag to turn off builtin functions])
3895b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_NO_RTTI
3896b7579f77SDag-Erling Smørgrav
3897b7579f77SDag-Erling Smørgrav
3898b7579f77SDag-Erling Smørgrav# _LT_CMD_GLOBAL_SYMBOLS
3899b7579f77SDag-Erling Smørgrav# ----------------------
3900b7579f77SDag-Erling Smørgravm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3901b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3902b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_CC])dnl
3903b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_AWK])dnl
3904b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
3905b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_LD])dnl
3906b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
3907b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
3908b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
3909b7579f77SDag-Erling Smørgrav
3910b7579f77SDag-Erling Smørgrav# Check for command to grab the raw symbol name followed by C symbol from nm.
3911b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([command to parse $NM output from $compiler object])
3912b7579f77SDag-Erling SmørgravAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3913b7579f77SDag-Erling Smørgrav[
3914b7579f77SDag-Erling Smørgrav# These are sane defaults that work on at least a few old systems.
3915b7579f77SDag-Erling Smørgrav# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3916b7579f77SDag-Erling Smørgrav
3917b7579f77SDag-Erling Smørgrav# Character class describing NM global symbol codes.
3918b7579f77SDag-Erling Smørgravsymcode='[[BCDEGRST]]'
3919b7579f77SDag-Erling Smørgrav
3920b7579f77SDag-Erling Smørgrav# Regexp to match symbols that can be accessed directly from C.
3921b7579f77SDag-Erling Smørgravsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3922b7579f77SDag-Erling Smørgrav
3923b7579f77SDag-Erling Smørgrav# Define system-specific variables.
3924b7579f77SDag-Erling Smørgravcase $host_os in
3925b7579f77SDag-Erling Smørgravaix*)
3926b7579f77SDag-Erling Smørgrav  symcode='[[BCDT]]'
3927b7579f77SDag-Erling Smørgrav  ;;
3928b7579f77SDag-Erling Smørgravcygwin* | mingw* | pw32* | cegcc*)
3929b7579f77SDag-Erling Smørgrav  symcode='[[ABCDGISTW]]'
3930b7579f77SDag-Erling Smørgrav  ;;
3931b7579f77SDag-Erling Smørgravhpux*)
3932f61ef7f6SDag-Erling Smørgrav  if test ia64 = "$host_cpu"; then
3933b7579f77SDag-Erling Smørgrav    symcode='[[ABCDEGRST]]'
3934b7579f77SDag-Erling Smørgrav  fi
3935b7579f77SDag-Erling Smørgrav  ;;
3936b7579f77SDag-Erling Smørgravirix* | nonstopux*)
3937b7579f77SDag-Erling Smørgrav  symcode='[[BCDEGRST]]'
3938b7579f77SDag-Erling Smørgrav  ;;
3939b7579f77SDag-Erling Smørgravosf*)
3940b7579f77SDag-Erling Smørgrav  symcode='[[BCDEGQRST]]'
3941b7579f77SDag-Erling Smørgrav  ;;
3942b7579f77SDag-Erling Smørgravsolaris*)
3943b7579f77SDag-Erling Smørgrav  symcode='[[BDRT]]'
3944b7579f77SDag-Erling Smørgrav  ;;
3945b7579f77SDag-Erling Smørgravsco3.2v5*)
3946b7579f77SDag-Erling Smørgrav  symcode='[[DT]]'
3947b7579f77SDag-Erling Smørgrav  ;;
3948b7579f77SDag-Erling Smørgravsysv4.2uw2*)
3949b7579f77SDag-Erling Smørgrav  symcode='[[DT]]'
3950b7579f77SDag-Erling Smørgrav  ;;
3951b7579f77SDag-Erling Smørgravsysv5* | sco5v6* | unixware* | OpenUNIX*)
3952b7579f77SDag-Erling Smørgrav  symcode='[[ABDT]]'
3953b7579f77SDag-Erling Smørgrav  ;;
3954b7579f77SDag-Erling Smørgravsysv4)
3955b7579f77SDag-Erling Smørgrav  symcode='[[DFNSTU]]'
3956b7579f77SDag-Erling Smørgrav  ;;
3957b7579f77SDag-Erling Smørgravesac
3958b7579f77SDag-Erling Smørgrav
3959b7579f77SDag-Erling Smørgrav# If we're using GNU nm, then use its standard symbol codes.
3960b7579f77SDag-Erling Smørgravcase `$NM -V 2>&1` in
3961b7579f77SDag-Erling Smørgrav*GNU* | *'with BFD'*)
3962b7579f77SDag-Erling Smørgrav  symcode='[[ABCDGIRSTW]]' ;;
3963b7579f77SDag-Erling Smørgravesac
3964b7579f77SDag-Erling Smørgrav
3965f61ef7f6SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then
3966f61ef7f6SDag-Erling Smørgrav  # Gets list of data symbols to import.
3967*46d2f618SCy Schubert  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3968f61ef7f6SDag-Erling Smørgrav  # Adjust the below global symbol transforms to fixup imported variables.
3969f61ef7f6SDag-Erling Smørgrav  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3970f61ef7f6SDag-Erling Smørgrav  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
3971f61ef7f6SDag-Erling Smørgrav  lt_c_name_lib_hook="\
3972f61ef7f6SDag-Erling Smørgrav  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
3973f61ef7f6SDag-Erling Smørgrav  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
3974f61ef7f6SDag-Erling Smørgravelse
3975f61ef7f6SDag-Erling Smørgrav  # Disable hooks by default.
3976f61ef7f6SDag-Erling Smørgrav  lt_cv_sys_global_symbol_to_import=
3977f61ef7f6SDag-Erling Smørgrav  lt_cdecl_hook=
3978f61ef7f6SDag-Erling Smørgrav  lt_c_name_hook=
3979f61ef7f6SDag-Erling Smørgrav  lt_c_name_lib_hook=
3980f61ef7f6SDag-Erling Smørgravfi
3981f61ef7f6SDag-Erling Smørgrav
3982b7579f77SDag-Erling Smørgrav# Transform an extracted symbol line into a proper C declaration.
3983b7579f77SDag-Erling Smørgrav# Some systems (esp. on ia64) link data and code symbols differently,
3984b7579f77SDag-Erling Smørgrav# so use this general approach.
3985*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_cdecl="sed -n"\
3986f61ef7f6SDag-Erling Smørgrav$lt_cdecl_hook\
3987f61ef7f6SDag-Erling Smørgrav" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3988f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
3989b7579f77SDag-Erling Smørgrav
3990b7579f77SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name and symbol address
3991*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_c_name_address="sed -n"\
3992f61ef7f6SDag-Erling Smørgrav$lt_c_name_hook\
3993f61ef7f6SDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
3994f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
3995f61ef7f6SDag-Erling Smørgrav
3996f61ef7f6SDag-Erling Smørgrav# Transform an extracted symbol line into symbol name with lib prefix and
3997f61ef7f6SDag-Erling Smørgrav# symbol address.
3998*46d2f618SCy Schubertlt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
3999f61ef7f6SDag-Erling Smørgrav$lt_c_name_lib_hook\
4000f61ef7f6SDag-Erling Smørgrav" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
4001f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
4002f61ef7f6SDag-Erling Smørgrav" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
4003b7579f77SDag-Erling Smørgrav
4004b7579f77SDag-Erling Smørgrav# Handle CRLF in mingw tool chain
4005b7579f77SDag-Erling Smørgravopt_cr=
4006b7579f77SDag-Erling Smørgravcase $build_os in
4007b7579f77SDag-Erling Smørgravmingw*)
4008b7579f77SDag-Erling Smørgrav  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4009b7579f77SDag-Erling Smørgrav  ;;
4010b7579f77SDag-Erling Smørgravesac
4011b7579f77SDag-Erling Smørgrav
4012b7579f77SDag-Erling Smørgrav# Try without a prefix underscore, then with it.
4013b7579f77SDag-Erling Smørgravfor ac_symprfx in "" "_"; do
4014b7579f77SDag-Erling Smørgrav
4015b7579f77SDag-Erling Smørgrav  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4016b7579f77SDag-Erling Smørgrav  symxfrm="\\1 $ac_symprfx\\2 \\2"
4017b7579f77SDag-Erling Smørgrav
4018b7579f77SDag-Erling Smørgrav  # Write the raw and C identifiers.
4019b7579f77SDag-Erling Smørgrav  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4020f61ef7f6SDag-Erling Smørgrav    # Fake it for dumpbin and say T for any non-static function,
4021f61ef7f6SDag-Erling Smørgrav    # D for any global variable and I for any imported variable.
4022*46d2f618SCy Schubert    # Also find C++ and __fastcall symbols from MSVC++,
4023b7579f77SDag-Erling Smørgrav    # which start with @ or ?.
4024b7579f77SDag-Erling Smørgrav    lt_cv_sys_global_symbol_pipe="$AWK ['"\
4025b7579f77SDag-Erling Smørgrav"     {last_section=section; section=\$ 3};"\
40268ed2b524SDag-Erling Smørgrav"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4027b7579f77SDag-Erling Smørgrav"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4028f61ef7f6SDag-Erling Smørgrav"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4029f61ef7f6SDag-Erling Smørgrav"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4030f61ef7f6SDag-Erling Smørgrav"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4031b7579f77SDag-Erling Smørgrav"     \$ 0!~/External *\|/{next};"\
4032b7579f77SDag-Erling Smørgrav"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4033b7579f77SDag-Erling Smørgrav"     {if(hide[section]) next};"\
4034f61ef7f6SDag-Erling Smørgrav"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4035b7579f77SDag-Erling Smørgrav"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4036f61ef7f6SDag-Erling Smørgrav"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4037f61ef7f6SDag-Erling Smørgrav"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4038b7579f77SDag-Erling Smørgrav"     ' prfx=^$ac_symprfx]"
4039b7579f77SDag-Erling Smørgrav  else
4040*46d2f618SCy Schubert    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4041b7579f77SDag-Erling Smørgrav  fi
4042*46d2f618SCy Schubert  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
4043b7579f77SDag-Erling Smørgrav
4044b7579f77SDag-Erling Smørgrav  # Check to see that the pipe works correctly.
4045b7579f77SDag-Erling Smørgrav  pipe_works=no
4046b7579f77SDag-Erling Smørgrav
4047b7579f77SDag-Erling Smørgrav  rm -f conftest*
4048b7579f77SDag-Erling Smørgrav  cat > conftest.$ac_ext <<_LT_EOF
4049b7579f77SDag-Erling Smørgrav#ifdef __cplusplus
4050b7579f77SDag-Erling Smørgravextern "C" {
4051b7579f77SDag-Erling Smørgrav#endif
4052b7579f77SDag-Erling Smørgravchar nm_test_var;
4053b7579f77SDag-Erling Smørgravvoid nm_test_func(void);
4054b7579f77SDag-Erling Smørgravvoid nm_test_func(void){}
4055b7579f77SDag-Erling Smørgrav#ifdef __cplusplus
4056b7579f77SDag-Erling Smørgrav}
4057b7579f77SDag-Erling Smørgrav#endif
4058b7579f77SDag-Erling Smørgravint main(){nm_test_var='a';nm_test_func();return(0);}
4059b7579f77SDag-Erling Smørgrav_LT_EOF
4060b7579f77SDag-Erling Smørgrav
4061b7579f77SDag-Erling Smørgrav  if AC_TRY_EVAL(ac_compile); then
4062b7579f77SDag-Erling Smørgrav    # Now try to grab the symbols.
4063b7579f77SDag-Erling Smørgrav    nlist=conftest.nm
4064b7579f77SDag-Erling Smørgrav    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
4065b7579f77SDag-Erling Smørgrav      # Try sorting and uniquifying the output.
4066b7579f77SDag-Erling Smørgrav      if sort "$nlist" | uniq > "$nlist"T; then
4067b7579f77SDag-Erling Smørgrav	mv -f "$nlist"T "$nlist"
4068b7579f77SDag-Erling Smørgrav      else
4069b7579f77SDag-Erling Smørgrav	rm -f "$nlist"T
4070b7579f77SDag-Erling Smørgrav      fi
4071b7579f77SDag-Erling Smørgrav
4072b7579f77SDag-Erling Smørgrav      # Make sure that we snagged all the symbols we need.
4073b7579f77SDag-Erling Smørgrav      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4074b7579f77SDag-Erling Smørgrav	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4075b7579f77SDag-Erling Smørgrav	  cat <<_LT_EOF > conftest.$ac_ext
4076b7579f77SDag-Erling Smørgrav/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
4077f61ef7f6SDag-Erling Smørgrav#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4078f61ef7f6SDag-Erling Smørgrav/* DATA imports from DLLs on WIN32 can't be const, because runtime
4079b7579f77SDag-Erling Smørgrav   relocations are performed -- see ld's documentation on pseudo-relocs.  */
4080b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST
4081f61ef7f6SDag-Erling Smørgrav#elif defined __osf__
4082b7579f77SDag-Erling Smørgrav/* This system does not cope well with relocations in const data.  */
4083b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST
4084b7579f77SDag-Erling Smørgrav#else
4085b7579f77SDag-Erling Smørgrav# define LT@&t@_DLSYM_CONST const
4086b7579f77SDag-Erling Smørgrav#endif
4087b7579f77SDag-Erling Smørgrav
4088b7579f77SDag-Erling Smørgrav#ifdef __cplusplus
4089b7579f77SDag-Erling Smørgravextern "C" {
4090b7579f77SDag-Erling Smørgrav#endif
4091b7579f77SDag-Erling Smørgrav
4092b7579f77SDag-Erling Smørgrav_LT_EOF
4093b7579f77SDag-Erling Smørgrav	  # Now generate the symbol file.
4094b7579f77SDag-Erling Smørgrav	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4095b7579f77SDag-Erling Smørgrav
4096b7579f77SDag-Erling Smørgrav	  cat <<_LT_EOF >> conftest.$ac_ext
4097b7579f77SDag-Erling Smørgrav
4098b7579f77SDag-Erling Smørgrav/* The mapping between symbol names and symbols.  */
4099b7579f77SDag-Erling SmørgravLT@&t@_DLSYM_CONST struct {
4100b7579f77SDag-Erling Smørgrav  const char *name;
4101b7579f77SDag-Erling Smørgrav  void       *address;
4102b7579f77SDag-Erling Smørgrav}
4103b7579f77SDag-Erling Smørgravlt__PROGRAM__LTX_preloaded_symbols[[]] =
4104b7579f77SDag-Erling Smørgrav{
4105b7579f77SDag-Erling Smørgrav  { "@PROGRAM@", (void *) 0 },
4106b7579f77SDag-Erling Smørgrav_LT_EOF
4107f61ef7f6SDag-Erling Smørgrav	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4108b7579f77SDag-Erling Smørgrav	  cat <<\_LT_EOF >> conftest.$ac_ext
4109b7579f77SDag-Erling Smørgrav  {0, (void *) 0}
4110b7579f77SDag-Erling Smørgrav};
4111b7579f77SDag-Erling Smørgrav
4112b7579f77SDag-Erling Smørgrav/* This works around a problem in FreeBSD linker */
4113b7579f77SDag-Erling Smørgrav#ifdef FREEBSD_WORKAROUND
4114b7579f77SDag-Erling Smørgravstatic const void *lt_preloaded_setup() {
4115b7579f77SDag-Erling Smørgrav  return lt__PROGRAM__LTX_preloaded_symbols;
4116b7579f77SDag-Erling Smørgrav}
4117b7579f77SDag-Erling Smørgrav#endif
4118b7579f77SDag-Erling Smørgrav
4119b7579f77SDag-Erling Smørgrav#ifdef __cplusplus
4120b7579f77SDag-Erling Smørgrav}
4121b7579f77SDag-Erling Smørgrav#endif
4122b7579f77SDag-Erling Smørgrav_LT_EOF
4123b7579f77SDag-Erling Smørgrav	  # Now try linking the two files.
4124b7579f77SDag-Erling Smørgrav	  mv conftest.$ac_objext conftstm.$ac_objext
4125b7579f77SDag-Erling Smørgrav	  lt_globsym_save_LIBS=$LIBS
4126b7579f77SDag-Erling Smørgrav	  lt_globsym_save_CFLAGS=$CFLAGS
4127f61ef7f6SDag-Erling Smørgrav	  LIBS=conftstm.$ac_objext
4128b7579f77SDag-Erling Smørgrav	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4129f61ef7f6SDag-Erling Smørgrav	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4130b7579f77SDag-Erling Smørgrav	    pipe_works=yes
4131b7579f77SDag-Erling Smørgrav	  fi
4132b7579f77SDag-Erling Smørgrav	  LIBS=$lt_globsym_save_LIBS
4133b7579f77SDag-Erling Smørgrav	  CFLAGS=$lt_globsym_save_CFLAGS
4134b7579f77SDag-Erling Smørgrav	else
4135b7579f77SDag-Erling Smørgrav	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4136b7579f77SDag-Erling Smørgrav	fi
4137b7579f77SDag-Erling Smørgrav      else
4138b7579f77SDag-Erling Smørgrav	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4139b7579f77SDag-Erling Smørgrav      fi
4140b7579f77SDag-Erling Smørgrav    else
4141b7579f77SDag-Erling Smørgrav      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4142b7579f77SDag-Erling Smørgrav    fi
4143b7579f77SDag-Erling Smørgrav  else
4144b7579f77SDag-Erling Smørgrav    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4145b7579f77SDag-Erling Smørgrav    cat conftest.$ac_ext >&5
4146b7579f77SDag-Erling Smørgrav  fi
4147b7579f77SDag-Erling Smørgrav  rm -rf conftest* conftst*
4148b7579f77SDag-Erling Smørgrav
4149b7579f77SDag-Erling Smørgrav  # Do not use the global_symbol_pipe unless it works.
4150f61ef7f6SDag-Erling Smørgrav  if test yes = "$pipe_works"; then
4151b7579f77SDag-Erling Smørgrav    break
4152b7579f77SDag-Erling Smørgrav  else
4153b7579f77SDag-Erling Smørgrav    lt_cv_sys_global_symbol_pipe=
4154b7579f77SDag-Erling Smørgrav  fi
4155b7579f77SDag-Erling Smørgravdone
4156b7579f77SDag-Erling Smørgrav])
4157b7579f77SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe"; then
4158b7579f77SDag-Erling Smørgrav  lt_cv_sys_global_symbol_to_cdecl=
4159b7579f77SDag-Erling Smørgravfi
4160b7579f77SDag-Erling Smørgravif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4161b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT(failed)
4162b7579f77SDag-Erling Smørgravelse
4163b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT(ok)
4164b7579f77SDag-Erling Smørgravfi
4165b7579f77SDag-Erling Smørgrav
4166b7579f77SDag-Erling Smørgrav# Response file support.
4167b7579f77SDag-Erling Smørgravif test "$lt_cv_nm_interface" = "MS dumpbin"; then
4168b7579f77SDag-Erling Smørgrav  nm_file_list_spec='@'
4169b7579f77SDag-Erling Smørgravelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4170b7579f77SDag-Erling Smørgrav  nm_file_list_spec='@'
4171b7579f77SDag-Erling Smørgravfi
4172b7579f77SDag-Erling Smørgrav
4173b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4174b7579f77SDag-Erling Smørgrav    [Take the output of nm and produce a listing of raw symbols and C names])
4175b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4176b7579f77SDag-Erling Smørgrav    [Transform the output of nm in a proper C declaration])
4177f61ef7f6SDag-Erling Smørgrav_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4178f61ef7f6SDag-Erling Smørgrav    [Transform the output of nm into a list of symbols to manually relocate])
4179b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address],
4180b7579f77SDag-Erling Smørgrav    [lt_cv_sys_global_symbol_to_c_name_address], [1],
4181b7579f77SDag-Erling Smørgrav    [Transform the output of nm in a C name address pair])
4182b7579f77SDag-Erling Smørgrav_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4183b7579f77SDag-Erling Smørgrav    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4184b7579f77SDag-Erling Smørgrav    [Transform the output of nm in a C name address pair when lib prefix is needed])
4185f61ef7f6SDag-Erling Smørgrav_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4186f61ef7f6SDag-Erling Smørgrav    [The name lister interface])
4187b7579f77SDag-Erling Smørgrav_LT_DECL([], [nm_file_list_spec], [1],
4188b7579f77SDag-Erling Smørgrav    [Specify filename containing input files for $NM])
4189b7579f77SDag-Erling Smørgrav]) # _LT_CMD_GLOBAL_SYMBOLS
4190b7579f77SDag-Erling Smørgrav
4191b7579f77SDag-Erling Smørgrav
4192b7579f77SDag-Erling Smørgrav# _LT_COMPILER_PIC([TAGNAME])
4193b7579f77SDag-Erling Smørgrav# ---------------------------
4194b7579f77SDag-Erling Smørgravm4_defun([_LT_COMPILER_PIC],
4195b7579f77SDag-Erling Smørgrav[m4_require([_LT_TAG_COMPILER])dnl
4196b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_wl, $1)=
4197b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4198b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_static, $1)=
4199b7579f77SDag-Erling Smørgrav
4200b7579f77SDag-Erling Smørgravm4_if([$1], [CXX], [
4201b7579f77SDag-Erling Smørgrav  # C++ specific cases for pic, static, wl, etc.
4202f61ef7f6SDag-Erling Smørgrav  if test yes = "$GXX"; then
4203b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4204b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4205b7579f77SDag-Erling Smørgrav
4206b7579f77SDag-Erling Smørgrav    case $host_os in
4207b7579f77SDag-Erling Smørgrav    aix*)
4208b7579f77SDag-Erling Smørgrav      # All AIX code is PIC.
4209f61ef7f6SDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
4210b7579f77SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
4211b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4212b7579f77SDag-Erling Smørgrav      fi
4213f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4214b7579f77SDag-Erling Smørgrav      ;;
4215b7579f77SDag-Erling Smørgrav
4216b7579f77SDag-Erling Smørgrav    amigaos*)
4217b7579f77SDag-Erling Smørgrav      case $host_cpu in
4218b7579f77SDag-Erling Smørgrav      powerpc)
4219b7579f77SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
4220b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4221b7579f77SDag-Erling Smørgrav        ;;
4222b7579f77SDag-Erling Smørgrav      m68k)
4223b7579f77SDag-Erling Smørgrav            # FIXME: we need at least 68020 code to build shared libraries, but
4224f61ef7f6SDag-Erling Smørgrav            # adding the '-m68020' flag to GCC prevents building anything better,
4225f61ef7f6SDag-Erling Smørgrav            # like '-m68040'.
4226b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4227b7579f77SDag-Erling Smørgrav        ;;
4228b7579f77SDag-Erling Smørgrav      esac
4229b7579f77SDag-Erling Smørgrav      ;;
4230b7579f77SDag-Erling Smørgrav
4231b7579f77SDag-Erling Smørgrav    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4232b7579f77SDag-Erling Smørgrav      # PIC is the default for these OSes.
4233b7579f77SDag-Erling Smørgrav      ;;
4234b7579f77SDag-Erling Smørgrav    mingw* | cygwin* | os2* | pw32* | cegcc*)
4235b7579f77SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
4236b7579f77SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
4237b7579f77SDag-Erling Smørgrav      # Although the cygwin gcc ignores -fPIC, still need this for old-style
4238b7579f77SDag-Erling Smørgrav      # (--disable-auto-import) libraries
4239b7579f77SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
4240b7579f77SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4241f61ef7f6SDag-Erling Smørgrav      case $host_os in
4242f61ef7f6SDag-Erling Smørgrav      os2*)
4243f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4244f61ef7f6SDag-Erling Smørgrav	;;
4245f61ef7f6SDag-Erling Smørgrav      esac
4246b7579f77SDag-Erling Smørgrav      ;;
4247b7579f77SDag-Erling Smørgrav    darwin* | rhapsody*)
4248b7579f77SDag-Erling Smørgrav      # PIC is the default on this platform
4249b7579f77SDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
4250b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4251b7579f77SDag-Erling Smørgrav      ;;
4252b7579f77SDag-Erling Smørgrav    *djgpp*)
4253b7579f77SDag-Erling Smørgrav      # DJGPP does not support shared libraries at all
4254b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4255b7579f77SDag-Erling Smørgrav      ;;
4256b7579f77SDag-Erling Smørgrav    haiku*)
4257b7579f77SDag-Erling Smørgrav      # PIC is the default for Haiku.
4258b7579f77SDag-Erling Smørgrav      # The "-static" flag exists, but is broken.
4259b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)=
4260b7579f77SDag-Erling Smørgrav      ;;
4261b7579f77SDag-Erling Smørgrav    interix[[3-9]]*)
4262b7579f77SDag-Erling Smørgrav      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4263b7579f77SDag-Erling Smørgrav      # Instead, we relocate shared libraries at runtime.
4264b7579f77SDag-Erling Smørgrav      ;;
4265b7579f77SDag-Erling Smørgrav    sysv4*MP*)
4266b7579f77SDag-Erling Smørgrav      if test -d /usr/nec; then
4267b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4268b7579f77SDag-Erling Smørgrav      fi
4269b7579f77SDag-Erling Smørgrav      ;;
4270b7579f77SDag-Erling Smørgrav    hpux*)
4271b7579f77SDag-Erling Smørgrav      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4272b7579f77SDag-Erling Smørgrav      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
4273b7579f77SDag-Erling Smørgrav      # sets the default TLS model and affects inlining.
4274b7579f77SDag-Erling Smørgrav      case $host_cpu in
4275b7579f77SDag-Erling Smørgrav      hppa*64*)
4276b7579f77SDag-Erling Smørgrav	;;
4277b7579f77SDag-Erling Smørgrav      *)
4278b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4279b7579f77SDag-Erling Smørgrav	;;
4280b7579f77SDag-Erling Smørgrav      esac
4281b7579f77SDag-Erling Smørgrav      ;;
4282b7579f77SDag-Erling Smørgrav    *qnx* | *nto*)
4283b7579f77SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
4284b7579f77SDag-Erling Smørgrav      # it will coredump.
4285b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4286b7579f77SDag-Erling Smørgrav      ;;
4287b7579f77SDag-Erling Smørgrav    *)
4288b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4289b7579f77SDag-Erling Smørgrav      ;;
4290b7579f77SDag-Erling Smørgrav    esac
4291b7579f77SDag-Erling Smørgrav  else
4292b7579f77SDag-Erling Smørgrav    case $host_os in
4293b7579f77SDag-Erling Smørgrav      aix[[4-9]]*)
4294b7579f77SDag-Erling Smørgrav	# All AIX code is PIC.
4295f61ef7f6SDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
4296b7579f77SDag-Erling Smørgrav	  # AIX 5 now supports IA64 processor
4297b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4298b7579f77SDag-Erling Smørgrav	else
4299b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4300b7579f77SDag-Erling Smørgrav	fi
4301b7579f77SDag-Erling Smørgrav	;;
4302b7579f77SDag-Erling Smørgrav      chorus*)
4303b7579f77SDag-Erling Smørgrav	case $cc_basename in
4304b7579f77SDag-Erling Smørgrav	cxch68*)
4305b7579f77SDag-Erling Smørgrav	  # Green Hills C++ Compiler
4306b7579f77SDag-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"
4307b7579f77SDag-Erling Smørgrav	  ;;
4308b7579f77SDag-Erling Smørgrav	esac
4309b7579f77SDag-Erling Smørgrav	;;
4310b7579f77SDag-Erling Smørgrav      mingw* | cygwin* | os2* | pw32* | cegcc*)
4311b7579f77SDag-Erling Smørgrav	# This hack is so that the source file can tell whether it is being
4312b7579f77SDag-Erling Smørgrav	# built for inclusion in a dll (and should export symbols for example).
4313b7579f77SDag-Erling Smørgrav	m4_if([$1], [GCJ], [],
4314b7579f77SDag-Erling Smørgrav	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4315b7579f77SDag-Erling Smørgrav	;;
4316b7579f77SDag-Erling Smørgrav      dgux*)
4317b7579f77SDag-Erling Smørgrav	case $cc_basename in
4318b7579f77SDag-Erling Smørgrav	  ec++*)
4319b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4320b7579f77SDag-Erling Smørgrav	    ;;
4321b7579f77SDag-Erling Smørgrav	  ghcx*)
4322b7579f77SDag-Erling Smørgrav	    # Green Hills C++ Compiler
4323b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4324b7579f77SDag-Erling Smørgrav	    ;;
4325b7579f77SDag-Erling Smørgrav	  *)
4326b7579f77SDag-Erling Smørgrav	    ;;
4327b7579f77SDag-Erling Smørgrav	esac
4328b7579f77SDag-Erling Smørgrav	;;
4329*46d2f618SCy Schubert      freebsd* | dragonfly*)
4330b7579f77SDag-Erling Smørgrav	# FreeBSD uses GNU C++
4331b7579f77SDag-Erling Smørgrav	;;
4332b7579f77SDag-Erling Smørgrav      hpux9* | hpux10* | hpux11*)
4333b7579f77SDag-Erling Smørgrav	case $cc_basename in
4334b7579f77SDag-Erling Smørgrav	  CC*)
4335b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4336f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4337f61ef7f6SDag-Erling Smørgrav	    if test ia64 != "$host_cpu"; then
4338b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4339b7579f77SDag-Erling Smørgrav	    fi
4340b7579f77SDag-Erling Smørgrav	    ;;
4341b7579f77SDag-Erling Smørgrav	  aCC*)
4342b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4343f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4344b7579f77SDag-Erling Smørgrav	    case $host_cpu in
4345b7579f77SDag-Erling Smørgrav	    hppa*64*|ia64*)
4346b7579f77SDag-Erling Smørgrav	      # +Z the default
4347b7579f77SDag-Erling Smørgrav	      ;;
4348b7579f77SDag-Erling Smørgrav	    *)
4349b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4350b7579f77SDag-Erling Smørgrav	      ;;
4351b7579f77SDag-Erling Smørgrav	    esac
4352b7579f77SDag-Erling Smørgrav	    ;;
4353b7579f77SDag-Erling Smørgrav	  *)
4354b7579f77SDag-Erling Smørgrav	    ;;
4355b7579f77SDag-Erling Smørgrav	esac
4356b7579f77SDag-Erling Smørgrav	;;
4357b7579f77SDag-Erling Smørgrav      interix*)
4358b7579f77SDag-Erling Smørgrav	# This is c89, which is MS Visual C++ (no shared libs)
4359b7579f77SDag-Erling Smørgrav	# Anyone wants to do a port?
4360b7579f77SDag-Erling Smørgrav	;;
4361b7579f77SDag-Erling Smørgrav      irix5* | irix6* | nonstopux*)
4362b7579f77SDag-Erling Smørgrav	case $cc_basename in
4363b7579f77SDag-Erling Smørgrav	  CC*)
4364b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4365b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4366b7579f77SDag-Erling Smørgrav	    # CC pic flag -KPIC is the default.
4367b7579f77SDag-Erling Smørgrav	    ;;
4368b7579f77SDag-Erling Smørgrav	  *)
4369b7579f77SDag-Erling Smørgrav	    ;;
4370b7579f77SDag-Erling Smørgrav	esac
4371b7579f77SDag-Erling Smørgrav	;;
4372f61ef7f6SDag-Erling Smørgrav      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4373b7579f77SDag-Erling Smørgrav	case $cc_basename in
4374b7579f77SDag-Erling Smørgrav	  KCC*)
4375b7579f77SDag-Erling Smørgrav	    # KAI C++ Compiler
4376b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4377b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4378b7579f77SDag-Erling Smørgrav	    ;;
4379b7579f77SDag-Erling Smørgrav	  ecpc* )
4380f61ef7f6SDag-Erling Smørgrav	    # old Intel C++ for x86_64, which still supported -KPIC.
4381b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4382b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4383b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4384b7579f77SDag-Erling Smørgrav	    ;;
4385b7579f77SDag-Erling Smørgrav	  icpc* )
4386b7579f77SDag-Erling Smørgrav	    # Intel C++, used to be incompatible with GCC.
4387b7579f77SDag-Erling Smørgrav	    # ICC 10 doesn't accept -KPIC any more.
4388b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4389b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4390b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4391b7579f77SDag-Erling Smørgrav	    ;;
4392b7579f77SDag-Erling Smørgrav	  pgCC* | pgcpp*)
4393b7579f77SDag-Erling Smørgrav	    # Portland Group C++ compiler
4394b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4395b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4396b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4397b7579f77SDag-Erling Smørgrav	    ;;
4398b7579f77SDag-Erling Smørgrav	  cxx*)
4399b7579f77SDag-Erling Smørgrav	    # Compaq C++
4400b7579f77SDag-Erling Smørgrav	    # Make sure the PIC flag is empty.  It appears that all Alpha
4401b7579f77SDag-Erling Smørgrav	    # Linux and Compaq Tru64 Unix objects are PIC.
4402b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4403b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4404b7579f77SDag-Erling Smørgrav	    ;;
4405b7579f77SDag-Erling Smørgrav	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4406b7579f77SDag-Erling Smørgrav	    # IBM XL 8.0, 9.0 on PPC and BlueGene
4407b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4408b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4409b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4410b7579f77SDag-Erling Smørgrav	    ;;
4411b7579f77SDag-Erling Smørgrav	  *)
4412*46d2f618SCy Schubert	    case `$CC -V 2>&1 | sed 5q` in
4413b7579f77SDag-Erling Smørgrav	    *Sun\ C*)
4414b7579f77SDag-Erling Smørgrav	      # Sun C++ 5.9
4415b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4416b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4417b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4418b7579f77SDag-Erling Smørgrav	      ;;
4419b7579f77SDag-Erling Smørgrav	    esac
4420b7579f77SDag-Erling Smørgrav	    ;;
4421b7579f77SDag-Erling Smørgrav	esac
4422b7579f77SDag-Erling Smørgrav	;;
4423b7579f77SDag-Erling Smørgrav      lynxos*)
4424b7579f77SDag-Erling Smørgrav	;;
4425b7579f77SDag-Erling Smørgrav      m88k*)
4426b7579f77SDag-Erling Smørgrav	;;
4427b7579f77SDag-Erling Smørgrav      mvs*)
4428b7579f77SDag-Erling Smørgrav	case $cc_basename in
4429b7579f77SDag-Erling Smørgrav	  cxx*)
4430b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4431b7579f77SDag-Erling Smørgrav	    ;;
4432b7579f77SDag-Erling Smørgrav	  *)
4433b7579f77SDag-Erling Smørgrav	    ;;
4434b7579f77SDag-Erling Smørgrav	esac
4435b7579f77SDag-Erling Smørgrav	;;
4436091e9e46SCy Schubert      netbsd*)
4437b7579f77SDag-Erling Smørgrav	;;
4438b7579f77SDag-Erling Smørgrav      *qnx* | *nto*)
4439b7579f77SDag-Erling Smørgrav        # QNX uses GNU C++, but need to define -shared option too, otherwise
4440b7579f77SDag-Erling Smørgrav        # it will coredump.
4441b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4442b7579f77SDag-Erling Smørgrav        ;;
4443b7579f77SDag-Erling Smørgrav      osf3* | osf4* | osf5*)
4444b7579f77SDag-Erling Smørgrav	case $cc_basename in
4445b7579f77SDag-Erling Smørgrav	  KCC*)
4446b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4447b7579f77SDag-Erling Smørgrav	    ;;
4448b7579f77SDag-Erling Smørgrav	  RCC*)
4449b7579f77SDag-Erling Smørgrav	    # Rational C++ 2.4.1
4450b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4451b7579f77SDag-Erling Smørgrav	    ;;
4452b7579f77SDag-Erling Smørgrav	  cxx*)
4453b7579f77SDag-Erling Smørgrav	    # Digital/Compaq C++
4454b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4455b7579f77SDag-Erling Smørgrav	    # Make sure the PIC flag is empty.  It appears that all Alpha
4456b7579f77SDag-Erling Smørgrav	    # Linux and Compaq Tru64 Unix objects are PIC.
4457b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4458b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4459b7579f77SDag-Erling Smørgrav	    ;;
4460b7579f77SDag-Erling Smørgrav	  *)
4461b7579f77SDag-Erling Smørgrav	    ;;
4462b7579f77SDag-Erling Smørgrav	esac
4463b7579f77SDag-Erling Smørgrav	;;
4464b7579f77SDag-Erling Smørgrav      psos*)
4465b7579f77SDag-Erling Smørgrav	;;
4466b7579f77SDag-Erling Smørgrav      solaris*)
4467b7579f77SDag-Erling Smørgrav	case $cc_basename in
4468b7579f77SDag-Erling Smørgrav	  CC* | sunCC*)
4469b7579f77SDag-Erling Smørgrav	    # Sun C++ 4.2, 5.x and Centerline C++
4470b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4471b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4472b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4473b7579f77SDag-Erling Smørgrav	    ;;
4474b7579f77SDag-Erling Smørgrav	  gcx*)
4475b7579f77SDag-Erling Smørgrav	    # Green Hills C++ Compiler
4476b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4477b7579f77SDag-Erling Smørgrav	    ;;
4478b7579f77SDag-Erling Smørgrav	  *)
4479b7579f77SDag-Erling Smørgrav	    ;;
4480b7579f77SDag-Erling Smørgrav	esac
4481b7579f77SDag-Erling Smørgrav	;;
4482b7579f77SDag-Erling Smørgrav      sunos4*)
4483b7579f77SDag-Erling Smørgrav	case $cc_basename in
4484b7579f77SDag-Erling Smørgrav	  CC*)
4485b7579f77SDag-Erling Smørgrav	    # Sun C++ 4.x
4486b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4487b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4488b7579f77SDag-Erling Smørgrav	    ;;
4489b7579f77SDag-Erling Smørgrav	  lcc*)
4490b7579f77SDag-Erling Smørgrav	    # Lucid
4491b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4492b7579f77SDag-Erling Smørgrav	    ;;
4493b7579f77SDag-Erling Smørgrav	  *)
4494b7579f77SDag-Erling Smørgrav	    ;;
4495b7579f77SDag-Erling Smørgrav	esac
4496b7579f77SDag-Erling Smørgrav	;;
4497b7579f77SDag-Erling Smørgrav      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4498b7579f77SDag-Erling Smørgrav	case $cc_basename in
4499b7579f77SDag-Erling Smørgrav	  CC*)
4500b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4501b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4502b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4503b7579f77SDag-Erling Smørgrav	    ;;
4504b7579f77SDag-Erling Smørgrav	esac
4505b7579f77SDag-Erling Smørgrav	;;
4506b7579f77SDag-Erling Smørgrav      tandem*)
4507b7579f77SDag-Erling Smørgrav	case $cc_basename in
4508b7579f77SDag-Erling Smørgrav	  NCC*)
4509b7579f77SDag-Erling Smørgrav	    # NonStop-UX NCC 3.20
4510b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4511b7579f77SDag-Erling Smørgrav	    ;;
4512b7579f77SDag-Erling Smørgrav	  *)
4513b7579f77SDag-Erling Smørgrav	    ;;
4514b7579f77SDag-Erling Smørgrav	esac
4515b7579f77SDag-Erling Smørgrav	;;
4516b7579f77SDag-Erling Smørgrav      vxworks*)
4517b7579f77SDag-Erling Smørgrav	;;
4518b7579f77SDag-Erling Smørgrav      *)
4519b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4520b7579f77SDag-Erling Smørgrav	;;
4521b7579f77SDag-Erling Smørgrav    esac
4522b7579f77SDag-Erling Smørgrav  fi
4523b7579f77SDag-Erling Smørgrav],
4524b7579f77SDag-Erling Smørgrav[
4525f61ef7f6SDag-Erling Smørgrav  if test yes = "$GCC"; then
4526b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4527b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4528b7579f77SDag-Erling Smørgrav
4529b7579f77SDag-Erling Smørgrav    case $host_os in
4530b7579f77SDag-Erling Smørgrav      aix*)
4531b7579f77SDag-Erling Smørgrav      # All AIX code is PIC.
4532f61ef7f6SDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
4533b7579f77SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
4534b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4535b7579f77SDag-Erling Smørgrav      fi
4536f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4537b7579f77SDag-Erling Smørgrav      ;;
4538b7579f77SDag-Erling Smørgrav
4539b7579f77SDag-Erling Smørgrav    amigaos*)
4540b7579f77SDag-Erling Smørgrav      case $host_cpu in
4541b7579f77SDag-Erling Smørgrav      powerpc)
4542b7579f77SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
4543b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4544b7579f77SDag-Erling Smørgrav        ;;
4545b7579f77SDag-Erling Smørgrav      m68k)
4546b7579f77SDag-Erling Smørgrav            # FIXME: we need at least 68020 code to build shared libraries, but
4547f61ef7f6SDag-Erling Smørgrav            # adding the '-m68020' flag to GCC prevents building anything better,
4548f61ef7f6SDag-Erling Smørgrav            # like '-m68040'.
4549b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4550b7579f77SDag-Erling Smørgrav        ;;
4551b7579f77SDag-Erling Smørgrav      esac
4552b7579f77SDag-Erling Smørgrav      ;;
4553b7579f77SDag-Erling Smørgrav
4554b7579f77SDag-Erling Smørgrav    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4555b7579f77SDag-Erling Smørgrav      # PIC is the default for these OSes.
4556b7579f77SDag-Erling Smørgrav      ;;
4557b7579f77SDag-Erling Smørgrav
4558b7579f77SDag-Erling Smørgrav    mingw* | cygwin* | pw32* | os2* | cegcc*)
4559b7579f77SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
4560b7579f77SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
4561b7579f77SDag-Erling Smørgrav      # Although the cygwin gcc ignores -fPIC, still need this for old-style
4562b7579f77SDag-Erling Smørgrav      # (--disable-auto-import) libraries
4563b7579f77SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
4564b7579f77SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4565f61ef7f6SDag-Erling Smørgrav      case $host_os in
4566f61ef7f6SDag-Erling Smørgrav      os2*)
4567f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4568f61ef7f6SDag-Erling Smørgrav	;;
4569f61ef7f6SDag-Erling Smørgrav      esac
4570b7579f77SDag-Erling Smørgrav      ;;
4571b7579f77SDag-Erling Smørgrav
4572b7579f77SDag-Erling Smørgrav    darwin* | rhapsody*)
4573b7579f77SDag-Erling Smørgrav      # PIC is the default on this platform
4574b7579f77SDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
4575b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4576b7579f77SDag-Erling Smørgrav      ;;
4577b7579f77SDag-Erling Smørgrav
4578b7579f77SDag-Erling Smørgrav    haiku*)
4579b7579f77SDag-Erling Smørgrav      # PIC is the default for Haiku.
4580b7579f77SDag-Erling Smørgrav      # The "-static" flag exists, but is broken.
4581b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)=
4582b7579f77SDag-Erling Smørgrav      ;;
4583b7579f77SDag-Erling Smørgrav
4584b7579f77SDag-Erling Smørgrav    hpux*)
4585b7579f77SDag-Erling Smørgrav      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4586b7579f77SDag-Erling Smørgrav      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
4587b7579f77SDag-Erling Smørgrav      # sets the default TLS model and affects inlining.
4588b7579f77SDag-Erling Smørgrav      case $host_cpu in
4589b7579f77SDag-Erling Smørgrav      hppa*64*)
4590b7579f77SDag-Erling Smørgrav	# +Z the default
4591b7579f77SDag-Erling Smørgrav	;;
4592b7579f77SDag-Erling Smørgrav      *)
4593b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4594b7579f77SDag-Erling Smørgrav	;;
4595b7579f77SDag-Erling Smørgrav      esac
4596b7579f77SDag-Erling Smørgrav      ;;
4597b7579f77SDag-Erling Smørgrav
4598b7579f77SDag-Erling Smørgrav    interix[[3-9]]*)
4599b7579f77SDag-Erling Smørgrav      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4600b7579f77SDag-Erling Smørgrav      # Instead, we relocate shared libraries at runtime.
4601b7579f77SDag-Erling Smørgrav      ;;
4602b7579f77SDag-Erling Smørgrav
4603b7579f77SDag-Erling Smørgrav    msdosdjgpp*)
4604b7579f77SDag-Erling Smørgrav      # Just because we use GCC doesn't mean we suddenly get shared libraries
4605b7579f77SDag-Erling Smørgrav      # on systems that don't support them.
4606b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4607b7579f77SDag-Erling Smørgrav      enable_shared=no
4608b7579f77SDag-Erling Smørgrav      ;;
4609b7579f77SDag-Erling Smørgrav
4610b7579f77SDag-Erling Smørgrav    *nto* | *qnx*)
4611b7579f77SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
4612b7579f77SDag-Erling Smørgrav      # it will coredump.
4613b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4614b7579f77SDag-Erling Smørgrav      ;;
4615b7579f77SDag-Erling Smørgrav
4616b7579f77SDag-Erling Smørgrav    sysv4*MP*)
4617b7579f77SDag-Erling Smørgrav      if test -d /usr/nec; then
4618b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4619b7579f77SDag-Erling Smørgrav      fi
4620b7579f77SDag-Erling Smørgrav      ;;
4621b7579f77SDag-Erling Smørgrav
4622b7579f77SDag-Erling Smørgrav    *)
4623b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4624b7579f77SDag-Erling Smørgrav      ;;
4625b7579f77SDag-Erling Smørgrav    esac
4626b7579f77SDag-Erling Smørgrav
4627b7579f77SDag-Erling Smørgrav    case $cc_basename in
4628b7579f77SDag-Erling Smørgrav    nvcc*) # Cuda Compiler Driver 2.2
4629b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
46308ed2b524SDag-Erling Smørgrav      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
46318ed2b524SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
46328ed2b524SDag-Erling Smørgrav      fi
4633b7579f77SDag-Erling Smørgrav      ;;
4634b7579f77SDag-Erling Smørgrav    esac
4635b7579f77SDag-Erling Smørgrav  else
4636b7579f77SDag-Erling Smørgrav    # PORTME Check for flag to pass linker flags through the system compiler.
4637b7579f77SDag-Erling Smørgrav    case $host_os in
4638b7579f77SDag-Erling Smørgrav    aix*)
4639b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4640f61ef7f6SDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
4641b7579f77SDag-Erling Smørgrav	# AIX 5 now supports IA64 processor
4642b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4643b7579f77SDag-Erling Smørgrav      else
4644b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4645b7579f77SDag-Erling Smørgrav      fi
4646b7579f77SDag-Erling Smørgrav      ;;
4647b7579f77SDag-Erling Smørgrav
4648f61ef7f6SDag-Erling Smørgrav    darwin* | rhapsody*)
4649f61ef7f6SDag-Erling Smørgrav      # PIC is the default on this platform
4650f61ef7f6SDag-Erling Smørgrav      # Common symbols not allowed in MH_DYLIB files
4651f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4652f61ef7f6SDag-Erling Smørgrav      case $cc_basename in
4653f61ef7f6SDag-Erling Smørgrav      nagfor*)
4654f61ef7f6SDag-Erling Smørgrav        # NAG Fortran compiler
4655f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4656f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4657f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4658f61ef7f6SDag-Erling Smørgrav        ;;
4659f61ef7f6SDag-Erling Smørgrav      esac
4660f61ef7f6SDag-Erling Smørgrav      ;;
4661f61ef7f6SDag-Erling Smørgrav
4662b7579f77SDag-Erling Smørgrav    mingw* | cygwin* | pw32* | os2* | cegcc*)
4663b7579f77SDag-Erling Smørgrav      # This hack is so that the source file can tell whether it is being
4664b7579f77SDag-Erling Smørgrav      # built for inclusion in a dll (and should export symbols for example).
4665b7579f77SDag-Erling Smørgrav      m4_if([$1], [GCJ], [],
4666b7579f77SDag-Erling Smørgrav	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4667f61ef7f6SDag-Erling Smørgrav      case $host_os in
4668f61ef7f6SDag-Erling Smørgrav      os2*)
4669f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4670f61ef7f6SDag-Erling Smørgrav	;;
4671f61ef7f6SDag-Erling Smørgrav      esac
4672b7579f77SDag-Erling Smørgrav      ;;
4673b7579f77SDag-Erling Smørgrav
4674b7579f77SDag-Erling Smørgrav    hpux9* | hpux10* | hpux11*)
4675b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4676b7579f77SDag-Erling Smørgrav      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4677b7579f77SDag-Erling Smørgrav      # not for PA HP-UX.
4678b7579f77SDag-Erling Smørgrav      case $host_cpu in
4679b7579f77SDag-Erling Smørgrav      hppa*64*|ia64*)
4680b7579f77SDag-Erling Smørgrav	# +Z the default
4681b7579f77SDag-Erling Smørgrav	;;
4682b7579f77SDag-Erling Smørgrav      *)
4683b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4684b7579f77SDag-Erling Smørgrav	;;
4685b7579f77SDag-Erling Smørgrav      esac
4686b7579f77SDag-Erling Smørgrav      # Is there a better lt_prog_compiler_static that works with the bundled CC?
4687f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4688b7579f77SDag-Erling Smørgrav      ;;
4689b7579f77SDag-Erling Smørgrav
4690b7579f77SDag-Erling Smørgrav    irix5* | irix6* | nonstopux*)
4691b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4692b7579f77SDag-Erling Smørgrav      # PIC (with -KPIC) is the default.
4693b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4694b7579f77SDag-Erling Smørgrav      ;;
4695b7579f77SDag-Erling Smørgrav
4696f61ef7f6SDag-Erling Smørgrav    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4697b7579f77SDag-Erling Smørgrav      case $cc_basename in
4698f61ef7f6SDag-Erling Smørgrav      # old Intel for x86_64, which still supported -KPIC.
4699b7579f77SDag-Erling Smørgrav      ecc*)
4700b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4701b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4702b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4703b7579f77SDag-Erling Smørgrav        ;;
4704b7579f77SDag-Erling Smørgrav      # icc used to be incompatible with GCC.
4705b7579f77SDag-Erling Smørgrav      # ICC 10 doesn't accept -KPIC any more.
4706b7579f77SDag-Erling Smørgrav      icc* | ifort*)
4707b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4708b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4709b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4710b7579f77SDag-Erling Smørgrav        ;;
4711b7579f77SDag-Erling Smørgrav      # Lahey Fortran 8.1.
4712b7579f77SDag-Erling Smørgrav      lf95*)
4713b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4714b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4715b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4716b7579f77SDag-Erling Smørgrav	;;
4717b7579f77SDag-Erling Smørgrav      nagfor*)
4718b7579f77SDag-Erling Smørgrav	# NAG Fortran compiler
4719b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4720b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4721b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4722b7579f77SDag-Erling Smørgrav	;;
4723f61ef7f6SDag-Erling Smørgrav      tcc*)
4724f61ef7f6SDag-Erling Smørgrav	# Fabrice Bellard et al's Tiny C Compiler
4725f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4726f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4727f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4728f61ef7f6SDag-Erling Smørgrav	;;
4729b7579f77SDag-Erling Smørgrav      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4730b7579f77SDag-Erling Smørgrav        # Portland Group compilers (*not* the Pentium gcc compiler,
4731b7579f77SDag-Erling Smørgrav	# which looks to be a dead project)
4732b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4733b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4734b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4735b7579f77SDag-Erling Smørgrav        ;;
4736b7579f77SDag-Erling Smørgrav      ccc*)
4737b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4738b7579f77SDag-Erling Smørgrav        # All Alpha code is PIC.
4739b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4740b7579f77SDag-Erling Smørgrav        ;;
4741b7579f77SDag-Erling Smørgrav      xl* | bgxl* | bgf* | mpixl*)
4742b7579f77SDag-Erling Smørgrav	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4743b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4744b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4745b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4746b7579f77SDag-Erling Smørgrav	;;
4747b7579f77SDag-Erling Smørgrav      *)
4748*46d2f618SCy Schubert	case `$CC -V 2>&1 | sed 5q` in
47498ed2b524SDag-Erling Smørgrav	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4750b7579f77SDag-Erling Smørgrav	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
4751b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4752b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4753b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4754b7579f77SDag-Erling Smørgrav	  ;;
47558ed2b524SDag-Erling Smørgrav	*Sun\ F* | *Sun*Fortran*)
47568ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
47578ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
47588ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
47598ed2b524SDag-Erling Smørgrav	  ;;
4760b7579f77SDag-Erling Smørgrav	*Sun\ C*)
4761b7579f77SDag-Erling Smørgrav	  # Sun C 5.9
4762b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4763b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4764b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4765b7579f77SDag-Erling Smørgrav	  ;;
47668ed2b524SDag-Erling Smørgrav        *Intel*\ [[CF]]*Compiler*)
47678ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
47688ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
47698ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
47708ed2b524SDag-Erling Smørgrav	  ;;
47718ed2b524SDag-Erling Smørgrav	*Portland\ Group*)
47728ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
47738ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
47748ed2b524SDag-Erling Smørgrav	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
47758ed2b524SDag-Erling Smørgrav	  ;;
4776b7579f77SDag-Erling Smørgrav	esac
4777b7579f77SDag-Erling Smørgrav	;;
4778b7579f77SDag-Erling Smørgrav      esac
4779b7579f77SDag-Erling Smørgrav      ;;
4780b7579f77SDag-Erling Smørgrav
4781b7579f77SDag-Erling Smørgrav    newsos6)
4782b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4783b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4784b7579f77SDag-Erling Smørgrav      ;;
4785b7579f77SDag-Erling Smørgrav
4786b7579f77SDag-Erling Smørgrav    *nto* | *qnx*)
4787b7579f77SDag-Erling Smørgrav      # QNX uses GNU C++, but need to define -shared option too, otherwise
4788b7579f77SDag-Erling Smørgrav      # it will coredump.
4789b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4790b7579f77SDag-Erling Smørgrav      ;;
4791b7579f77SDag-Erling Smørgrav
4792b7579f77SDag-Erling Smørgrav    osf3* | osf4* | osf5*)
4793b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4794b7579f77SDag-Erling Smørgrav      # All OSF/1 code is PIC.
4795b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4796b7579f77SDag-Erling Smørgrav      ;;
4797b7579f77SDag-Erling Smørgrav
4798b7579f77SDag-Erling Smørgrav    rdos*)
4799b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4800b7579f77SDag-Erling Smørgrav      ;;
4801b7579f77SDag-Erling Smørgrav
4802b7579f77SDag-Erling Smørgrav    solaris*)
4803b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4804b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4805b7579f77SDag-Erling Smørgrav      case $cc_basename in
4806b7579f77SDag-Erling Smørgrav      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4807b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4808b7579f77SDag-Erling Smørgrav      *)
4809b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4810b7579f77SDag-Erling Smørgrav      esac
4811b7579f77SDag-Erling Smørgrav      ;;
4812b7579f77SDag-Erling Smørgrav
4813b7579f77SDag-Erling Smørgrav    sunos4*)
4814b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4815b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4816b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4817b7579f77SDag-Erling Smørgrav      ;;
4818b7579f77SDag-Erling Smørgrav
4819b7579f77SDag-Erling Smørgrav    sysv4 | sysv4.2uw2* | sysv4.3*)
4820b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4821b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4822b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4823b7579f77SDag-Erling Smørgrav      ;;
4824b7579f77SDag-Erling Smørgrav
4825b7579f77SDag-Erling Smørgrav    sysv4*MP*)
4826b7579f77SDag-Erling Smørgrav      if test -d /usr/nec; then
4827b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4828b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4829b7579f77SDag-Erling Smørgrav      fi
4830b7579f77SDag-Erling Smørgrav      ;;
4831b7579f77SDag-Erling Smørgrav
4832b7579f77SDag-Erling Smørgrav    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4833b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4834b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4835b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4836b7579f77SDag-Erling Smørgrav      ;;
4837b7579f77SDag-Erling Smørgrav
4838b7579f77SDag-Erling Smørgrav    unicos*)
4839b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4840b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4841b7579f77SDag-Erling Smørgrav      ;;
4842b7579f77SDag-Erling Smørgrav
4843b7579f77SDag-Erling Smørgrav    uts4*)
4844b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4845b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4846b7579f77SDag-Erling Smørgrav      ;;
4847b7579f77SDag-Erling Smørgrav
4848b7579f77SDag-Erling Smørgrav    *)
4849b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4850b7579f77SDag-Erling Smørgrav      ;;
4851b7579f77SDag-Erling Smørgrav    esac
4852b7579f77SDag-Erling Smørgrav  fi
4853b7579f77SDag-Erling Smørgrav])
4854b7579f77SDag-Erling Smørgravcase $host_os in
4855f61ef7f6SDag-Erling Smørgrav  # For platforms that do not support PIC, -DPIC is meaningless:
4856b7579f77SDag-Erling Smørgrav  *djgpp*)
4857b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4858b7579f77SDag-Erling Smørgrav    ;;
4859b7579f77SDag-Erling Smørgrav  *)
4860b7579f77SDag-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],[])])"
4861b7579f77SDag-Erling Smørgrav    ;;
4862b7579f77SDag-Erling Smørgravesac
4863b7579f77SDag-Erling Smørgrav
4864b7579f77SDag-Erling SmørgravAC_CACHE_CHECK([for $compiler option to produce PIC],
4865b7579f77SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4866b7579f77SDag-Erling Smørgrav  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4867b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4868b7579f77SDag-Erling Smørgrav
4869b7579f77SDag-Erling Smørgrav#
4870b7579f77SDag-Erling Smørgrav# Check to make sure the PIC flag actually works.
4871b7579f77SDag-Erling Smørgrav#
4872b7579f77SDag-Erling Smørgravif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4873b7579f77SDag-Erling Smørgrav  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4874b7579f77SDag-Erling Smørgrav    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4875b7579f77SDag-Erling Smørgrav    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4876b7579f77SDag-Erling Smørgrav    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4877b7579f77SDag-Erling Smørgrav     "" | " "*) ;;
4878b7579f77SDag-Erling Smørgrav     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4879b7579f77SDag-Erling Smørgrav     esac],
4880b7579f77SDag-Erling Smørgrav    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4881b7579f77SDag-Erling Smørgrav     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4882b7579f77SDag-Erling Smørgravfi
4883b7579f77SDag-Erling Smørgrav_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4884b7579f77SDag-Erling Smørgrav	[Additional compiler flags for building library objects])
4885b7579f77SDag-Erling Smørgrav
4886b7579f77SDag-Erling Smørgrav_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4887b7579f77SDag-Erling Smørgrav	[How to pass a linker flag through the compiler])
4888b7579f77SDag-Erling Smørgrav#
4889b7579f77SDag-Erling Smørgrav# Check to make sure the static flag actually works.
4890b7579f77SDag-Erling Smørgrav#
4891b7579f77SDag-Erling Smørgravwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4892b7579f77SDag-Erling Smørgrav_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4893b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4894b7579f77SDag-Erling Smørgrav  $lt_tmp_static_flag,
4895b7579f77SDag-Erling Smørgrav  [],
4896b7579f77SDag-Erling Smørgrav  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4897b7579f77SDag-Erling Smørgrav_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4898b7579f77SDag-Erling Smørgrav	[Compiler flag to prevent dynamic linking])
4899b7579f77SDag-Erling Smørgrav])# _LT_COMPILER_PIC
4900b7579f77SDag-Erling Smørgrav
4901b7579f77SDag-Erling Smørgrav
4902b7579f77SDag-Erling Smørgrav# _LT_LINKER_SHLIBS([TAGNAME])
4903b7579f77SDag-Erling Smørgrav# ----------------------------
4904b7579f77SDag-Erling Smørgrav# See if the linker supports building shared libraries.
4905b7579f77SDag-Erling Smørgravm4_defun([_LT_LINKER_SHLIBS],
4906b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PATH_LD])dnl
4907b7579f77SDag-Erling SmørgravAC_REQUIRE([LT_PATH_NM])dnl
4908b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl
4909b7579f77SDag-Erling Smørgravm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4910b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
4911b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_SED])dnl
4912b7579f77SDag-Erling Smørgravm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4913b7579f77SDag-Erling Smørgravm4_require([_LT_TAG_COMPILER])dnl
4914b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4915b7579f77SDag-Erling Smørgravm4_if([$1], [CXX], [
4916b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4917b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4918b7579f77SDag-Erling Smørgrav  case $host_os in
4919b7579f77SDag-Erling Smørgrav  aix[[4-9]]*)
4920b7579f77SDag-Erling Smørgrav    # If we're using GNU nm, then we don't want the "-C" option.
4921f61ef7f6SDag-Erling Smørgrav    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4922f61ef7f6SDag-Erling Smørgrav    # Without the "-l" option, or with the "-B" option, AIX nm treats
4923f61ef7f6SDag-Erling Smørgrav    # weak defined symbols like other global defined symbols, whereas
4924f61ef7f6SDag-Erling Smørgrav    # GNU nm marks them as "W".
4925f61ef7f6SDag-Erling Smørgrav    # While the 'weak' keyword is ignored in the Export File, we need
4926f61ef7f6SDag-Erling Smørgrav    # it in the Import File for the 'aix-soname' feature, so we have
4927f61ef7f6SDag-Erling Smørgrav    # to replace the "-B" option with "-P" for AIX nm.
4928b7579f77SDag-Erling Smørgrav    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4929f61ef7f6SDag-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'
4930b7579f77SDag-Erling Smørgrav    else
4931*46d2f618SCy Schubert      _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'
4932b7579f77SDag-Erling Smørgrav    fi
4933b7579f77SDag-Erling Smørgrav    ;;
4934b7579f77SDag-Erling Smørgrav  pw32*)
4935f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4936b7579f77SDag-Erling Smørgrav    ;;
4937b7579f77SDag-Erling Smørgrav  cygwin* | mingw* | cegcc*)
4938b7579f77SDag-Erling Smørgrav    case $cc_basename in
4939*46d2f618SCy Schubert    cl*)
49408ed2b524SDag-Erling Smørgrav      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
49418ed2b524SDag-Erling Smørgrav      ;;
4942b7579f77SDag-Erling Smørgrav    *)
4943b7579f77SDag-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'
4944b7579f77SDag-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']
4945b7579f77SDag-Erling Smørgrav      ;;
4946b7579f77SDag-Erling Smørgrav    esac
4947b7579f77SDag-Erling Smørgrav    ;;
4948b7579f77SDag-Erling Smørgrav  *)
4949b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4950b7579f77SDag-Erling Smørgrav    ;;
4951b7579f77SDag-Erling Smørgrav  esac
4952b7579f77SDag-Erling Smørgrav], [
4953b7579f77SDag-Erling Smørgrav  runpath_var=
4954b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(allow_undefined_flag, $1)=
4955b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(always_export_symbols, $1)=no
4956b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds, $1)=
4957b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(archive_expsym_cmds, $1)=
4958b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(compiler_needs_object, $1)=no
4959b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4960b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4961b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4962b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_automatic, $1)=no
4963b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct, $1)=no
4964b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4965b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4966b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4967b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_minus_L, $1)=no
4968b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4969b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(inherit_rpath, $1)=no
4970b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(link_all_deplibs, $1)=unknown
4971b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(module_cmds, $1)=
4972b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(module_expsym_cmds, $1)=
4973b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4974b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4975b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(thread_safe_flag_spec, $1)=
4976b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4977b7579f77SDag-Erling Smørgrav  # include_expsyms should be a list of space-separated symbols to be *always*
4978b7579f77SDag-Erling Smørgrav  # included in the symbol list
4979b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(include_expsyms, $1)=
4980b7579f77SDag-Erling Smørgrav  # exclude_expsyms can be an extended regexp of symbols to exclude
4981f61ef7f6SDag-Erling Smørgrav  # it will be wrapped by ' (' and ')$', so one must not match beginning or
4982f61ef7f6SDag-Erling Smørgrav  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4983f61ef7f6SDag-Erling Smørgrav  # as well as any symbol that contains 'd'.
4984b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4985b7579f77SDag-Erling Smørgrav  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4986b7579f77SDag-Erling Smørgrav  # platforms (ab)use it in PIC code, but their linkers get confused if
4987b7579f77SDag-Erling Smørgrav  # the symbol is explicitly referenced.  Since portable code cannot
4988b7579f77SDag-Erling Smørgrav  # rely on this symbol name, it's probably fine to never include it in
4989b7579f77SDag-Erling Smørgrav  # preloaded symbol tables.
4990b7579f77SDag-Erling Smørgrav  # Exclude shared library initialization/finalization symbols.
4991b7579f77SDag-Erling Smørgravdnl Note also adjust exclude_expsyms for C++ above.
4992b7579f77SDag-Erling Smørgrav  extract_expsyms_cmds=
4993b7579f77SDag-Erling Smørgrav
4994b7579f77SDag-Erling Smørgrav  case $host_os in
4995b7579f77SDag-Erling Smørgrav  cygwin* | mingw* | pw32* | cegcc*)
4996*46d2f618SCy Schubert    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4997b7579f77SDag-Erling Smørgrav    # When not using gcc, we currently assume that we are using
4998*46d2f618SCy Schubert    # Microsoft Visual C++.
4999f61ef7f6SDag-Erling Smørgrav    if test yes != "$GCC"; then
5000b7579f77SDag-Erling Smørgrav      with_gnu_ld=no
5001b7579f77SDag-Erling Smørgrav    fi
5002b7579f77SDag-Erling Smørgrav    ;;
5003b7579f77SDag-Erling Smørgrav  interix*)
5004*46d2f618SCy Schubert    # we just hope/assume this is gcc and not c89 (= MSVC++)
5005b7579f77SDag-Erling Smørgrav    with_gnu_ld=yes
5006b7579f77SDag-Erling Smørgrav    ;;
5007f61ef7f6SDag-Erling Smørgrav  openbsd* | bitrig*)
5008b7579f77SDag-Erling Smørgrav    with_gnu_ld=no
5009b7579f77SDag-Erling Smørgrav    ;;
5010b7579f77SDag-Erling Smørgrav  esac
5011b7579f77SDag-Erling Smørgrav
5012b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(ld_shlibs, $1)=yes
5013b7579f77SDag-Erling Smørgrav
5014b7579f77SDag-Erling Smørgrav  # On some targets, GNU ld is compatible enough with the native linker
5015b7579f77SDag-Erling Smørgrav  # that we're better off using the native interface for both.
5016b7579f77SDag-Erling Smørgrav  lt_use_gnu_ld_interface=no
5017f61ef7f6SDag-Erling Smørgrav  if test yes = "$with_gnu_ld"; then
5018b7579f77SDag-Erling Smørgrav    case $host_os in
5019b7579f77SDag-Erling Smørgrav      aix*)
5020b7579f77SDag-Erling Smørgrav	# The AIX port of GNU ld has always aspired to compatibility
5021b7579f77SDag-Erling Smørgrav	# with the native linker.  However, as the warning in the GNU ld
5022b7579f77SDag-Erling Smørgrav	# block says, versions before 2.19.5* couldn't really create working
5023b7579f77SDag-Erling Smørgrav	# shared libraries, regardless of the interface used.
5024b7579f77SDag-Erling Smørgrav	case `$LD -v 2>&1` in
5025b7579f77SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5026b7579f77SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5027b7579f77SDag-Erling Smørgrav	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5028b7579f77SDag-Erling Smørgrav	  *)
5029b7579f77SDag-Erling Smørgrav	    lt_use_gnu_ld_interface=yes
5030b7579f77SDag-Erling Smørgrav	    ;;
5031b7579f77SDag-Erling Smørgrav	esac
5032b7579f77SDag-Erling Smørgrav	;;
5033b7579f77SDag-Erling Smørgrav      *)
5034b7579f77SDag-Erling Smørgrav	lt_use_gnu_ld_interface=yes
5035b7579f77SDag-Erling Smørgrav	;;
5036b7579f77SDag-Erling Smørgrav    esac
5037b7579f77SDag-Erling Smørgrav  fi
5038b7579f77SDag-Erling Smørgrav
5039f61ef7f6SDag-Erling Smørgrav  if test yes = "$lt_use_gnu_ld_interface"; then
5040b7579f77SDag-Erling Smørgrav    # If archive_cmds runs LD, not CC, wlarc should be empty
5041f61ef7f6SDag-Erling Smørgrav    wlarc='$wl'
5042b7579f77SDag-Erling Smørgrav
5043b7579f77SDag-Erling Smørgrav    # Set some defaults for GNU ld with shared library support. These
5044b7579f77SDag-Erling Smørgrav    # are reset later if shared libraries are not supported. Putting them
5045b7579f77SDag-Erling Smørgrav    # here allows them to be overridden if necessary.
5046b7579f77SDag-Erling Smørgrav    runpath_var=LD_RUN_PATH
5047f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5048f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5049b7579f77SDag-Erling Smørgrav    # ancient GNU ld didn't support --whole-archive et. al.
5050b7579f77SDag-Erling Smørgrav    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5051f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5052b7579f77SDag-Erling Smørgrav    else
5053b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=
5054b7579f77SDag-Erling Smørgrav    fi
5055b7579f77SDag-Erling Smørgrav    supports_anon_versioning=no
5056*46d2f618SCy Schubert    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
5057b7579f77SDag-Erling Smørgrav      *GNU\ gold*) supports_anon_versioning=yes ;;
5058b7579f77SDag-Erling Smørgrav      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5059b7579f77SDag-Erling Smørgrav      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5060b7579f77SDag-Erling Smørgrav      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5061b7579f77SDag-Erling Smørgrav      *\ 2.11.*) ;; # other 2.11 versions
5062b7579f77SDag-Erling Smørgrav      *) supports_anon_versioning=yes ;;
5063b7579f77SDag-Erling Smørgrav    esac
5064b7579f77SDag-Erling Smørgrav
5065b7579f77SDag-Erling Smørgrav    # See if GNU ld supports shared libraries.
5066b7579f77SDag-Erling Smørgrav    case $host_os in
5067b7579f77SDag-Erling Smørgrav    aix[[3-9]]*)
5068b7579f77SDag-Erling Smørgrav      # On AIX/PPC, the GNU linker is very broken
5069f61ef7f6SDag-Erling Smørgrav      if test ia64 != "$host_cpu"; then
5070b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5071b7579f77SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
5072b7579f77SDag-Erling Smørgrav
5073b7579f77SDag-Erling Smørgrav*** Warning: the GNU linker, at least up to release 2.19, is reported
5074b7579f77SDag-Erling Smørgrav*** to be unable to reliably create shared libraries on AIX.
5075b7579f77SDag-Erling Smørgrav*** Therefore, libtool is disabling shared libraries support.  If you
5076b7579f77SDag-Erling Smørgrav*** really care for shared libraries, you may want to install binutils
5077b7579f77SDag-Erling Smørgrav*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5078b7579f77SDag-Erling Smørgrav*** You will then need to restart the configuration process.
5079b7579f77SDag-Erling Smørgrav
5080b7579f77SDag-Erling Smørgrav_LT_EOF
5081b7579f77SDag-Erling Smørgrav      fi
5082b7579f77SDag-Erling Smørgrav      ;;
5083b7579f77SDag-Erling Smørgrav
5084b7579f77SDag-Erling Smørgrav    amigaos*)
5085b7579f77SDag-Erling Smørgrav      case $host_cpu in
5086b7579f77SDag-Erling Smørgrav      powerpc)
5087b7579f77SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
5088f61ef7f6SDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5089b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(archive_expsym_cmds, $1)=''
5090b7579f77SDag-Erling Smørgrav        ;;
5091b7579f77SDag-Erling Smørgrav      m68k)
5092b7579f77SDag-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)'
5093b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5094b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes
5095b7579f77SDag-Erling Smørgrav        ;;
5096b7579f77SDag-Erling Smørgrav      esac
5097b7579f77SDag-Erling Smørgrav      ;;
5098b7579f77SDag-Erling Smørgrav
5099b7579f77SDag-Erling Smørgrav    beos*)
5100b7579f77SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5101b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5102b7579f77SDag-Erling Smørgrav	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5103b7579f77SDag-Erling Smørgrav	# support --undefined.  This deserves some investigation.  FIXME
5104f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5105b7579f77SDag-Erling Smørgrav      else
5106b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5107b7579f77SDag-Erling Smørgrav      fi
5108b7579f77SDag-Erling Smørgrav      ;;
5109b7579f77SDag-Erling Smørgrav
5110b7579f77SDag-Erling Smørgrav    cygwin* | mingw* | pw32* | cegcc*)
5111b7579f77SDag-Erling Smørgrav      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5112b7579f77SDag-Erling Smørgrav      # as there is no search path for DLLs.
5113b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5114f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5115b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5116b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=no
5117b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5118b7579f77SDag-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'
5119b7579f77SDag-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']
5120b7579f77SDag-Erling Smørgrav
5121b7579f77SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5122f61ef7f6SDag-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'
5123f61ef7f6SDag-Erling Smørgrav	# If the export-symbols file already is a .def file, use it as
5124f61ef7f6SDag-Erling Smørgrav	# is; otherwise, prepend EXPORTS...
5125f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5126b7579f77SDag-Erling Smørgrav          cp $export_symbols $output_objdir/$soname.def;
5127b7579f77SDag-Erling Smørgrav        else
5128b7579f77SDag-Erling Smørgrav          echo EXPORTS > $output_objdir/$soname.def;
5129b7579f77SDag-Erling Smørgrav          cat $export_symbols >> $output_objdir/$soname.def;
5130b7579f77SDag-Erling Smørgrav        fi~
5131f61ef7f6SDag-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'
5132b7579f77SDag-Erling Smørgrav      else
5133b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5134b7579f77SDag-Erling Smørgrav      fi
5135b7579f77SDag-Erling Smørgrav      ;;
5136b7579f77SDag-Erling Smørgrav
5137b7579f77SDag-Erling Smørgrav    haiku*)
5138f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5139b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
5140b7579f77SDag-Erling Smørgrav      ;;
5141b7579f77SDag-Erling Smørgrav
5142f61ef7f6SDag-Erling Smørgrav    os2*)
5143f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5144f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5145f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5146f61ef7f6SDag-Erling Smørgrav      shrext_cmds=.dll
5147f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5148f61ef7f6SDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5149f61ef7f6SDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5150f61ef7f6SDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5151f61ef7f6SDag-Erling Smørgrav	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5152f61ef7f6SDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5153f61ef7f6SDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5154f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5155f61ef7f6SDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5156f61ef7f6SDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5157f61ef7f6SDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5158f61ef7f6SDag-Erling Smørgrav	prefix_cmds="$SED"~
5159f61ef7f6SDag-Erling Smørgrav	if test EXPORTS = "`$SED 1q $export_symbols`"; then
5160f61ef7f6SDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e 1d";
5161f61ef7f6SDag-Erling Smørgrav	fi~
5162f61ef7f6SDag-Erling Smørgrav	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5163f61ef7f6SDag-Erling Smørgrav	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5164f61ef7f6SDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5165f61ef7f6SDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5166f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5167f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5168f61ef7f6SDag-Erling Smørgrav      ;;
5169f61ef7f6SDag-Erling Smørgrav
5170b7579f77SDag-Erling Smørgrav    interix[[3-9]]*)
5171b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=no
5172b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5173f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5174f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5175b7579f77SDag-Erling Smørgrav      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5176b7579f77SDag-Erling Smørgrav      # Instead, shared libraries are loaded at an image base (0x10000000 by
5177b7579f77SDag-Erling Smørgrav      # default) and relocated if they conflict, which is a slow very memory
5178b7579f77SDag-Erling Smørgrav      # consuming and fragmenting process.  To avoid this, we pick a random,
5179b7579f77SDag-Erling Smørgrav      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5180b7579f77SDag-Erling Smørgrav      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
5181f61ef7f6SDag-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'
5182*46d2f618SCy Schubert      _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'
5183b7579f77SDag-Erling Smørgrav      ;;
5184b7579f77SDag-Erling Smørgrav
5185b7579f77SDag-Erling Smørgrav    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5186b7579f77SDag-Erling Smørgrav      tmp_diet=no
5187f61ef7f6SDag-Erling Smørgrav      if test linux-dietlibc = "$host_os"; then
5188b7579f77SDag-Erling Smørgrav	case $cc_basename in
5189b7579f77SDag-Erling Smørgrav	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
5190b7579f77SDag-Erling Smørgrav	esac
5191b7579f77SDag-Erling Smørgrav      fi
5192b7579f77SDag-Erling Smørgrav      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5193f61ef7f6SDag-Erling Smørgrav	 && test no = "$tmp_diet"
5194b7579f77SDag-Erling Smørgrav      then
5195b7579f77SDag-Erling Smørgrav	tmp_addflag=' $pic_flag'
5196b7579f77SDag-Erling Smørgrav	tmp_sharedflag='-shared'
5197b7579f77SDag-Erling Smørgrav	case $cc_basename,$host_cpu in
5198b7579f77SDag-Erling Smørgrav        pgcc*)				# Portland Group C compiler
5199f61ef7f6SDag-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'
5200b7579f77SDag-Erling Smørgrav	  tmp_addflag=' $pic_flag'
5201b7579f77SDag-Erling Smørgrav	  ;;
5202b7579f77SDag-Erling Smørgrav	pgf77* | pgf90* | pgf95* | pgfortran*)
5203b7579f77SDag-Erling Smørgrav					# Portland Group f77 and f90 compilers
5204f61ef7f6SDag-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'
5205b7579f77SDag-Erling Smørgrav	  tmp_addflag=' $pic_flag -Mnomain' ;;
5206b7579f77SDag-Erling Smørgrav	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
5207b7579f77SDag-Erling Smørgrav	  tmp_addflag=' -i_dynamic' ;;
5208b7579f77SDag-Erling Smørgrav	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
5209b7579f77SDag-Erling Smørgrav	  tmp_addflag=' -i_dynamic -nofor_main' ;;
5210b7579f77SDag-Erling Smørgrav	ifc* | ifort*)			# Intel Fortran compiler
5211b7579f77SDag-Erling Smørgrav	  tmp_addflag=' -nofor_main' ;;
5212b7579f77SDag-Erling Smørgrav	lf95*)				# Lahey Fortran 8.1
5213b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
5214b7579f77SDag-Erling Smørgrav	  tmp_sharedflag='--shared' ;;
5215f61ef7f6SDag-Erling Smørgrav        nagfor*)                        # NAGFOR 5.3
5216f61ef7f6SDag-Erling Smørgrav          tmp_sharedflag='-Wl,-shared' ;;
5217b7579f77SDag-Erling Smørgrav	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5218b7579f77SDag-Erling Smørgrav	  tmp_sharedflag='-qmkshrobj'
5219b7579f77SDag-Erling Smørgrav	  tmp_addflag= ;;
5220b7579f77SDag-Erling Smørgrav	nvcc*)	# Cuda Compiler Driver 2.2
5221f61ef7f6SDag-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'
5222b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(compiler_needs_object, $1)=yes
5223b7579f77SDag-Erling Smørgrav	  ;;
5224b7579f77SDag-Erling Smørgrav	esac
5225*46d2f618SCy Schubert	case `$CC -V 2>&1 | sed 5q` in
5226b7579f77SDag-Erling Smørgrav	*Sun\ C*)			# Sun C 5.9
5227f61ef7f6SDag-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'
5228b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(compiler_needs_object, $1)=yes
5229b7579f77SDag-Erling Smørgrav	  tmp_sharedflag='-G' ;;
5230b7579f77SDag-Erling Smørgrav	*Sun\ F*)			# Sun Fortran 8.3
5231b7579f77SDag-Erling Smørgrav	  tmp_sharedflag='-G' ;;
5232b7579f77SDag-Erling Smørgrav	esac
5233f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5234b7579f77SDag-Erling Smørgrav
5235f61ef7f6SDag-Erling Smørgrav        if test yes = "$supports_anon_versioning"; then
5236b7579f77SDag-Erling Smørgrav          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5237*46d2f618SCy Schubert            cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5238b7579f77SDag-Erling Smørgrav            echo "local: *; };" >> $output_objdir/$libname.ver~
5239f61ef7f6SDag-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'
5240b7579f77SDag-Erling Smørgrav        fi
5241b7579f77SDag-Erling Smørgrav
5242b7579f77SDag-Erling Smørgrav	case $cc_basename in
5243f61ef7f6SDag-Erling Smørgrav	tcc*)
5244f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5245f61ef7f6SDag-Erling Smørgrav	  ;;
5246b7579f77SDag-Erling Smørgrav	xlf* | bgf* | bgxlf* | mpixlf*)
5247b7579f77SDag-Erling Smørgrav	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5248b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5249f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5250b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5251f61ef7f6SDag-Erling Smørgrav	  if test yes = "$supports_anon_versioning"; then
5252b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5253*46d2f618SCy Schubert              cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5254b7579f77SDag-Erling Smørgrav              echo "local: *; };" >> $output_objdir/$libname.ver~
5255b7579f77SDag-Erling Smørgrav              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5256b7579f77SDag-Erling Smørgrav	  fi
5257b7579f77SDag-Erling Smørgrav	  ;;
5258b7579f77SDag-Erling Smørgrav	esac
5259b7579f77SDag-Erling Smørgrav      else
5260b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
5261b7579f77SDag-Erling Smørgrav      fi
5262b7579f77SDag-Erling Smørgrav      ;;
5263b7579f77SDag-Erling Smørgrav
5264091e9e46SCy Schubert    netbsd*)
5265b7579f77SDag-Erling Smørgrav      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5266b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5267b7579f77SDag-Erling Smørgrav	wlarc=
5268b7579f77SDag-Erling Smørgrav      else
5269f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5270f61ef7f6SDag-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'
5271b7579f77SDag-Erling Smørgrav      fi
5272b7579f77SDag-Erling Smørgrav      ;;
5273b7579f77SDag-Erling Smørgrav
5274b7579f77SDag-Erling Smørgrav    solaris*)
5275b7579f77SDag-Erling Smørgrav      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5276b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5277b7579f77SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
5278b7579f77SDag-Erling Smørgrav
5279b7579f77SDag-Erling Smørgrav*** Warning: The releases 2.8.* of the GNU linker cannot reliably
5280b7579f77SDag-Erling Smørgrav*** create shared libraries on Solaris systems.  Therefore, libtool
5281b7579f77SDag-Erling Smørgrav*** is disabling shared libraries support.  We urge you to upgrade GNU
5282b7579f77SDag-Erling Smørgrav*** binutils to release 2.9.1 or newer.  Another option is to modify
5283b7579f77SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is
5284b7579f77SDag-Erling Smørgrav*** used, and then restart.
5285b7579f77SDag-Erling Smørgrav
5286b7579f77SDag-Erling Smørgrav_LT_EOF
5287b7579f77SDag-Erling Smørgrav      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5288f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5289f61ef7f6SDag-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'
5290b7579f77SDag-Erling Smørgrav      else
5291b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5292b7579f77SDag-Erling Smørgrav      fi
5293b7579f77SDag-Erling Smørgrav      ;;
5294b7579f77SDag-Erling Smørgrav
5295b7579f77SDag-Erling Smørgrav    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5296b7579f77SDag-Erling Smørgrav      case `$LD -v 2>&1` in
5297b7579f77SDag-Erling Smørgrav        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5298b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5299b7579f77SDag-Erling Smørgrav	cat <<_LT_EOF 1>&2
5300b7579f77SDag-Erling Smørgrav
5301b7579f77SDag-Erling Smørgrav*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5302b7579f77SDag-Erling Smørgrav*** reliably create shared libraries on SCO systems.  Therefore, libtool
5303b7579f77SDag-Erling Smørgrav*** is disabling shared libraries support.  We urge you to upgrade GNU
5304b7579f77SDag-Erling Smørgrav*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
5305b7579f77SDag-Erling Smørgrav*** your PATH or compiler configuration so that the native linker is
5306b7579f77SDag-Erling Smørgrav*** used, and then restart.
5307b7579f77SDag-Erling Smørgrav
5308b7579f77SDag-Erling Smørgrav_LT_EOF
5309b7579f77SDag-Erling Smørgrav	;;
5310b7579f77SDag-Erling Smørgrav	*)
5311b7579f77SDag-Erling Smørgrav	  # For security reasons, it is highly recommended that you always
5312b7579f77SDag-Erling Smørgrav	  # use absolute paths for naming shared libraries, and exclude the
5313b7579f77SDag-Erling Smørgrav	  # DT_RUNPATH tag from executables and libraries.  But doing so
5314b7579f77SDag-Erling Smørgrav	  # requires that you compile everything twice, which is a pain.
5315b7579f77SDag-Erling Smørgrav	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5316f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5317f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5318f61ef7f6SDag-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'
5319b7579f77SDag-Erling Smørgrav	  else
5320b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
5321b7579f77SDag-Erling Smørgrav	  fi
5322b7579f77SDag-Erling Smørgrav	;;
5323b7579f77SDag-Erling Smørgrav      esac
5324b7579f77SDag-Erling Smørgrav      ;;
5325b7579f77SDag-Erling Smørgrav
5326b7579f77SDag-Erling Smørgrav    sunos4*)
5327b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5328b7579f77SDag-Erling Smørgrav      wlarc=
5329b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5330b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5331b7579f77SDag-Erling Smørgrav      ;;
5332b7579f77SDag-Erling Smørgrav
5333b7579f77SDag-Erling Smørgrav    *)
5334b7579f77SDag-Erling Smørgrav      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5335f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5336f61ef7f6SDag-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'
5337b7579f77SDag-Erling Smørgrav      else
5338b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5339b7579f77SDag-Erling Smørgrav      fi
5340b7579f77SDag-Erling Smørgrav      ;;
5341b7579f77SDag-Erling Smørgrav    esac
5342b7579f77SDag-Erling Smørgrav
5343f61ef7f6SDag-Erling Smørgrav    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5344b7579f77SDag-Erling Smørgrav      runpath_var=
5345b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5346b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5347b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(whole_archive_flag_spec, $1)=
5348b7579f77SDag-Erling Smørgrav    fi
5349b7579f77SDag-Erling Smørgrav  else
5350b7579f77SDag-Erling Smørgrav    # PORTME fill in a description of your system's linker (not GNU ld)
5351b7579f77SDag-Erling Smørgrav    case $host_os in
5352b7579f77SDag-Erling Smørgrav    aix3*)
5353b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5354b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=yes
5355b7579f77SDag-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'
5356b7579f77SDag-Erling Smørgrav      # Note: this linker hardcodes the directories in LIBPATH if there
5357b7579f77SDag-Erling Smørgrav      # are no directories specified by -L.
5358b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5359f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5360b7579f77SDag-Erling Smørgrav	# Neither direct hardcoding nor static linking is supported with a
5361b7579f77SDag-Erling Smørgrav	# broken collect2.
5362b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=unsupported
5363b7579f77SDag-Erling Smørgrav      fi
5364b7579f77SDag-Erling Smørgrav      ;;
5365b7579f77SDag-Erling Smørgrav
5366b7579f77SDag-Erling Smørgrav    aix[[4-9]]*)
5367f61ef7f6SDag-Erling Smørgrav      if test ia64 = "$host_cpu"; then
5368b7579f77SDag-Erling Smørgrav	# On IA64, the linker does run time linking by default, so we don't
5369b7579f77SDag-Erling Smørgrav	# have to do anything special.
5370b7579f77SDag-Erling Smørgrav	aix_use_runtimelinking=no
5371b7579f77SDag-Erling Smørgrav	exp_sym_flag='-Bexport'
5372f61ef7f6SDag-Erling Smørgrav	no_entry_flag=
5373b7579f77SDag-Erling Smørgrav      else
5374b7579f77SDag-Erling Smørgrav	# If we're using GNU nm, then we don't want the "-C" option.
5375f61ef7f6SDag-Erling Smørgrav	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
5376f61ef7f6SDag-Erling Smørgrav	# Without the "-l" option, or with the "-B" option, AIX nm treats
5377f61ef7f6SDag-Erling Smørgrav	# weak defined symbols like other global defined symbols, whereas
5378f61ef7f6SDag-Erling Smørgrav	# GNU nm marks them as "W".
5379f61ef7f6SDag-Erling Smørgrav	# While the 'weak' keyword is ignored in the Export File, we need
5380f61ef7f6SDag-Erling Smørgrav	# it in the Import File for the 'aix-soname' feature, so we have
5381f61ef7f6SDag-Erling Smørgrav	# to replace the "-B" option with "-P" for AIX nm.
5382b7579f77SDag-Erling Smørgrav	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5383f61ef7f6SDag-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'
5384b7579f77SDag-Erling Smørgrav	else
5385*46d2f618SCy Schubert	  _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'
5386b7579f77SDag-Erling Smørgrav	fi
5387b7579f77SDag-Erling Smørgrav	aix_use_runtimelinking=no
5388b7579f77SDag-Erling Smørgrav
5389b7579f77SDag-Erling Smørgrav	# Test if we are trying to use run time linking or normal
5390b7579f77SDag-Erling Smørgrav	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
5391f61ef7f6SDag-Erling Smørgrav	# have runtime linking enabled, and use it for executables.
5392f61ef7f6SDag-Erling Smørgrav	# For shared libraries, we enable/disable runtime linking
5393f61ef7f6SDag-Erling Smørgrav	# depending on the kind of the shared library created -
5394f61ef7f6SDag-Erling Smørgrav	# when "with_aix_soname,aix_use_runtimelinking" is:
5395f61ef7f6SDag-Erling Smørgrav	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
5396f61ef7f6SDag-Erling Smørgrav	# "aix,yes"  lib.so          shared, rtl:yes, for executables
5397f61ef7f6SDag-Erling Smørgrav	#            lib.a           static archive
5398f61ef7f6SDag-Erling Smørgrav	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
5399f61ef7f6SDag-Erling Smørgrav	#            lib.a(lib.so.V) shared, rtl:no,  for executables
5400f61ef7f6SDag-Erling Smørgrav	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5401f61ef7f6SDag-Erling Smørgrav	#            lib.a(lib.so.V) shared, rtl:no
5402f61ef7f6SDag-Erling Smørgrav	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
5403f61ef7f6SDag-Erling Smørgrav	#            lib.a           static archive
5404b7579f77SDag-Erling Smørgrav	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5405b7579f77SDag-Erling Smørgrav	  for ld_flag in $LDFLAGS; do
5406f61ef7f6SDag-Erling Smørgrav	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5407b7579f77SDag-Erling Smørgrav	    aix_use_runtimelinking=yes
5408b7579f77SDag-Erling Smørgrav	    break
5409b7579f77SDag-Erling Smørgrav	  fi
5410b7579f77SDag-Erling Smørgrav	  done
5411f61ef7f6SDag-Erling Smørgrav	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5412f61ef7f6SDag-Erling Smørgrav	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
5413f61ef7f6SDag-Erling Smørgrav	    # so we don't have lib.a shared libs to link our executables.
5414f61ef7f6SDag-Erling Smørgrav	    # We have to force runtime linking in this case.
5415f61ef7f6SDag-Erling Smørgrav	    aix_use_runtimelinking=yes
5416f61ef7f6SDag-Erling Smørgrav	    LDFLAGS="$LDFLAGS -Wl,-brtl"
5417f61ef7f6SDag-Erling Smørgrav	  fi
5418b7579f77SDag-Erling Smørgrav	  ;;
5419b7579f77SDag-Erling Smørgrav	esac
5420b7579f77SDag-Erling Smørgrav
5421b7579f77SDag-Erling Smørgrav	exp_sym_flag='-bexport'
5422b7579f77SDag-Erling Smørgrav	no_entry_flag='-bnoentry'
5423b7579f77SDag-Erling Smørgrav      fi
5424b7579f77SDag-Erling Smørgrav
5425b7579f77SDag-Erling Smørgrav      # When large executables or shared objects are built, AIX ld can
5426b7579f77SDag-Erling Smørgrav      # have problems creating the table of contents.  If linking a library
5427b7579f77SDag-Erling Smørgrav      # or program results in "error TOC overflow" add -mminimal-toc to
5428b7579f77SDag-Erling Smørgrav      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5429b7579f77SDag-Erling Smørgrav      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5430b7579f77SDag-Erling Smørgrav
5431b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)=''
5432b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5433b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5434b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5435b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
5436f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5437f61ef7f6SDag-Erling Smørgrav      case $with_aix_soname,$aix_use_runtimelinking in
5438f61ef7f6SDag-Erling Smørgrav      aix,*) ;; # traditional, no import file
5439f61ef7f6SDag-Erling Smørgrav      svr4,* | *,yes) # use import file
5440f61ef7f6SDag-Erling Smørgrav	# The Import File defines what to hardcode.
5441f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=no
5442f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5443f61ef7f6SDag-Erling Smørgrav	;;
5444f61ef7f6SDag-Erling Smørgrav      esac
5445b7579f77SDag-Erling Smørgrav
5446f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5447b7579f77SDag-Erling Smørgrav	case $host_os in aix4.[[012]]|aix4.[[012]].*)
5448b7579f77SDag-Erling Smørgrav	# We only want to do this on AIX 4.2 and lower, the check
5449b7579f77SDag-Erling Smørgrav	# below for broken collect2 doesn't work under 4.3+
5450f61ef7f6SDag-Erling Smørgrav	  collect2name=`$CC -print-prog-name=collect2`
5451b7579f77SDag-Erling Smørgrav	  if test -f "$collect2name" &&
5452b7579f77SDag-Erling Smørgrav	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5453b7579f77SDag-Erling Smørgrav	  then
5454b7579f77SDag-Erling Smørgrav	  # We have reworked collect2
5455b7579f77SDag-Erling Smørgrav	  :
5456b7579f77SDag-Erling Smørgrav	  else
5457b7579f77SDag-Erling Smørgrav	  # We have old collect2
5458b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
5459b7579f77SDag-Erling Smørgrav	  # It fails to find uninstalled libraries when the uninstalled
5460b7579f77SDag-Erling Smørgrav	  # path is not listed in the libpath.  Setting hardcode_minus_L
5461b7579f77SDag-Erling Smørgrav	  # to unsupported forces relinking
5462b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5463b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5464b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
5465b7579f77SDag-Erling Smørgrav	  fi
5466b7579f77SDag-Erling Smørgrav	  ;;
5467b7579f77SDag-Erling Smørgrav	esac
5468b7579f77SDag-Erling Smørgrav	shared_flag='-shared'
5469f61ef7f6SDag-Erling Smørgrav	if test yes = "$aix_use_runtimelinking"; then
5470f61ef7f6SDag-Erling Smørgrav	  shared_flag="$shared_flag "'$wl-G'
5471b7579f77SDag-Erling Smørgrav	fi
5472f61ef7f6SDag-Erling Smørgrav	# Need to ensure runtime linking is disabled for the traditional
5473f61ef7f6SDag-Erling Smørgrav	# shared library, or the linker may eventually find shared libraries
5474f61ef7f6SDag-Erling Smørgrav	# /with/ Import File - we do not want to mix them.
5475f61ef7f6SDag-Erling Smørgrav	shared_flag_aix='-shared'
5476f61ef7f6SDag-Erling Smørgrav	shared_flag_svr4='-shared $wl-G'
5477b7579f77SDag-Erling Smørgrav      else
5478b7579f77SDag-Erling Smørgrav	# not using gcc
5479f61ef7f6SDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
5480b7579f77SDag-Erling Smørgrav	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5481b7579f77SDag-Erling Smørgrav	# chokes on -Wl,-G. The following line is correct:
5482b7579f77SDag-Erling Smørgrav	  shared_flag='-G'
5483b7579f77SDag-Erling Smørgrav	else
5484f61ef7f6SDag-Erling Smørgrav	  if test yes = "$aix_use_runtimelinking"; then
5485f61ef7f6SDag-Erling Smørgrav	    shared_flag='$wl-G'
5486b7579f77SDag-Erling Smørgrav	  else
5487f61ef7f6SDag-Erling Smørgrav	    shared_flag='$wl-bM:SRE'
5488b7579f77SDag-Erling Smørgrav	  fi
5489f61ef7f6SDag-Erling Smørgrav	  shared_flag_aix='$wl-bM:SRE'
5490f61ef7f6SDag-Erling Smørgrav	  shared_flag_svr4='$wl-G'
5491b7579f77SDag-Erling Smørgrav	fi
5492b7579f77SDag-Erling Smørgrav      fi
5493b7579f77SDag-Erling Smørgrav
5494f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5495b7579f77SDag-Erling Smørgrav      # It seems that -bexpall does not export symbols beginning with
5496b7579f77SDag-Erling Smørgrav      # underscore (_), so it is better to generate a list of symbols to export.
5497b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(always_export_symbols, $1)=yes
5498f61ef7f6SDag-Erling Smørgrav      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5499b7579f77SDag-Erling Smørgrav	# Warning - without using the other runtime loading flags (-brtl),
5500b7579f77SDag-Erling Smørgrav	# -berok will link without error, but may produce a broken library.
5501b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5502b7579f77SDag-Erling Smørgrav        # Determine the default libpath from the value encoded in an
5503b7579f77SDag-Erling Smørgrav        # empty executable.
5504b7579f77SDag-Erling Smørgrav        _LT_SYS_MODULE_PATH_AIX([$1])
5505f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5506f61ef7f6SDag-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
5507b7579f77SDag-Erling Smørgrav      else
5508f61ef7f6SDag-Erling Smørgrav	if test ia64 = "$host_cpu"; then
5509f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5510b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5511f61ef7f6SDag-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"
5512b7579f77SDag-Erling Smørgrav	else
5513b7579f77SDag-Erling Smørgrav	 # Determine the default libpath from the value encoded in an
5514b7579f77SDag-Erling Smørgrav	 # empty executable.
5515b7579f77SDag-Erling Smørgrav	 _LT_SYS_MODULE_PATH_AIX([$1])
5516f61ef7f6SDag-Erling Smørgrav	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5517b7579f77SDag-Erling Smørgrav	  # Warning - without using the other run time loading flags,
5518b7579f77SDag-Erling Smørgrav	  # -berok will link without error, but may produce a broken library.
5519f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5520f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5521f61ef7f6SDag-Erling Smørgrav	  if test yes = "$with_gnu_ld"; then
5522b7579f77SDag-Erling Smørgrav	    # We only use this code for GNU lds that support --whole-archive.
5523f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5524b7579f77SDag-Erling Smørgrav	  else
5525b7579f77SDag-Erling Smørgrav	    # Exported symbols can be pulled into shared objects from archives
5526b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5527b7579f77SDag-Erling Smørgrav	  fi
5528b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5529f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5530f61ef7f6SDag-Erling Smørgrav	  # -brtl affects multiple linker settings, -berok does not and is overridden later
5531f61ef7f6SDag-Erling Smørgrav	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5532f61ef7f6SDag-Erling Smørgrav	  if test svr4 != "$with_aix_soname"; then
5533b7579f77SDag-Erling Smørgrav	    # This is similar to how AIX traditionally builds its shared libraries.
5534f61ef7f6SDag-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'
5535f61ef7f6SDag-Erling Smørgrav	  fi
5536f61ef7f6SDag-Erling Smørgrav	  if test aix != "$with_aix_soname"; then
5537f61ef7f6SDag-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'
5538f61ef7f6SDag-Erling Smørgrav	  else
5539f61ef7f6SDag-Erling Smørgrav	    # used by -dlpreopen to get the symbols
5540f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
5541f61ef7f6SDag-Erling Smørgrav	  fi
5542f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5543b7579f77SDag-Erling Smørgrav	fi
5544b7579f77SDag-Erling Smørgrav      fi
5545b7579f77SDag-Erling Smørgrav      ;;
5546b7579f77SDag-Erling Smørgrav
5547b7579f77SDag-Erling Smørgrav    amigaos*)
5548b7579f77SDag-Erling Smørgrav      case $host_cpu in
5549b7579f77SDag-Erling Smørgrav      powerpc)
5550b7579f77SDag-Erling Smørgrav            # see comment about AmigaOS4 .so support
5551f61ef7f6SDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5552b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(archive_expsym_cmds, $1)=''
5553b7579f77SDag-Erling Smørgrav        ;;
5554b7579f77SDag-Erling Smørgrav      m68k)
5555b7579f77SDag-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)'
5556b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5557b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes
5558b7579f77SDag-Erling Smørgrav        ;;
5559b7579f77SDag-Erling Smørgrav      esac
5560b7579f77SDag-Erling Smørgrav      ;;
5561b7579f77SDag-Erling Smørgrav
5562b7579f77SDag-Erling Smørgrav    bsdi[[45]]*)
5563b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5564b7579f77SDag-Erling Smørgrav      ;;
5565b7579f77SDag-Erling Smørgrav
5566b7579f77SDag-Erling Smørgrav    cygwin* | mingw* | pw32* | cegcc*)
5567b7579f77SDag-Erling Smørgrav      # When not using gcc, we currently assume that we are using
5568*46d2f618SCy Schubert      # Microsoft Visual C++.
5569b7579f77SDag-Erling Smørgrav      # hardcode_libdir_flag_spec is actually meaningless, as there is
5570b7579f77SDag-Erling Smørgrav      # no search path for DLLs.
5571b7579f77SDag-Erling Smørgrav      case $cc_basename in
5572*46d2f618SCy Schubert      cl*)
5573*46d2f618SCy Schubert	# Native MSVC
5574b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5575b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5576b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(always_export_symbols, $1)=yes
5577b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(file_list_spec, $1)='@'
5578b7579f77SDag-Erling Smørgrav	# Tell ltmain to make .lib files, not .a files.
5579b7579f77SDag-Erling Smørgrav	libext=lib
5580b7579f77SDag-Erling Smørgrav	# Tell ltmain to make .dll files, not .so files.
5581f61ef7f6SDag-Erling Smørgrav	shrext_cmds=.dll
5582b7579f77SDag-Erling Smørgrav	# FIXME: Setting linknames here is a bad hack.
5583f61ef7f6SDag-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='
5584f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5585f61ef7f6SDag-Erling Smørgrav            cp "$export_symbols" "$output_objdir/$soname.def";
5586f61ef7f6SDag-Erling Smørgrav            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5587b7579f77SDag-Erling Smørgrav          else
5588f61ef7f6SDag-Erling Smørgrav            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5589b7579f77SDag-Erling Smørgrav          fi~
5590b7579f77SDag-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"~
5591b7579f77SDag-Erling Smørgrav          linknames='
5592b7579f77SDag-Erling Smørgrav	# The linker will not automatically build a static lib if we build a DLL.
5593b7579f77SDag-Erling Smørgrav	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5594b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
55958ed2b524SDag-Erling Smørgrav	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5596b7579f77SDag-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'
5597b7579f77SDag-Erling Smørgrav	# Don't use ranlib
5598b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5599b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5600b7579f77SDag-Erling Smørgrav          lt_tool_outputfile="@TOOL_OUTPUT@"~
5601b7579f77SDag-Erling Smørgrav          case $lt_outputfile in
5602b7579f77SDag-Erling Smørgrav            *.exe|*.EXE) ;;
5603b7579f77SDag-Erling Smørgrav            *)
5604f61ef7f6SDag-Erling Smørgrav              lt_outputfile=$lt_outputfile.exe
5605f61ef7f6SDag-Erling Smørgrav              lt_tool_outputfile=$lt_tool_outputfile.exe
5606b7579f77SDag-Erling Smørgrav              ;;
5607b7579f77SDag-Erling Smørgrav          esac~
5608f61ef7f6SDag-Erling Smørgrav          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5609b7579f77SDag-Erling Smørgrav            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5610b7579f77SDag-Erling Smørgrav            $RM "$lt_outputfile.manifest";
5611b7579f77SDag-Erling Smørgrav          fi'
5612b7579f77SDag-Erling Smørgrav	;;
5613b7579f77SDag-Erling Smørgrav      *)
5614*46d2f618SCy Schubert	# Assume MSVC wrapper
5615b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5616b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5617b7579f77SDag-Erling Smørgrav	# Tell ltmain to make .lib files, not .a files.
5618b7579f77SDag-Erling Smørgrav	libext=lib
5619b7579f77SDag-Erling Smørgrav	# Tell ltmain to make .dll files, not .so files.
5620f61ef7f6SDag-Erling Smørgrav	shrext_cmds=.dll
5621b7579f77SDag-Erling Smørgrav	# FIXME: Setting linknames here is a bad hack.
5622b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5623b7579f77SDag-Erling Smørgrav	# The linker will automatically build a .lib file if we build a DLL.
5624b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5625b7579f77SDag-Erling Smørgrav	# FIXME: Should let the user specify the lib program.
5626b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5627b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5628b7579f77SDag-Erling Smørgrav	;;
5629b7579f77SDag-Erling Smørgrav      esac
5630b7579f77SDag-Erling Smørgrav      ;;
5631b7579f77SDag-Erling Smørgrav
5632b7579f77SDag-Erling Smørgrav    darwin* | rhapsody*)
5633b7579f77SDag-Erling Smørgrav      _LT_DARWIN_LINKER_FEATURES($1)
5634b7579f77SDag-Erling Smørgrav      ;;
5635b7579f77SDag-Erling Smørgrav
5636b7579f77SDag-Erling Smørgrav    dgux*)
5637b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5638b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5639b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5640b7579f77SDag-Erling Smørgrav      ;;
5641b7579f77SDag-Erling Smørgrav
5642b7579f77SDag-Erling Smørgrav    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5643b7579f77SDag-Erling Smørgrav    # support.  Future versions do this automatically, but an explicit c++rt0.o
5644b7579f77SDag-Erling Smørgrav    # does not break anything, and helps significantly (at the cost of a little
5645b7579f77SDag-Erling Smørgrav    # extra space).
5646b7579f77SDag-Erling Smørgrav    freebsd2.2*)
5647b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5648b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5649b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5650b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5651b7579f77SDag-Erling Smørgrav      ;;
5652b7579f77SDag-Erling Smørgrav
5653b7579f77SDag-Erling Smørgrav    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
56548ed2b524SDag-Erling Smørgrav    freebsd2.*)
5655b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5656b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5657b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5658b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5659b7579f77SDag-Erling Smørgrav      ;;
5660b7579f77SDag-Erling Smørgrav
5661b7579f77SDag-Erling Smørgrav    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5662*46d2f618SCy Schubert    freebsd* | dragonfly*)
5663b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5664b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5665b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5666b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5667b7579f77SDag-Erling Smørgrav      ;;
5668b7579f77SDag-Erling Smørgrav
5669b7579f77SDag-Erling Smørgrav    hpux9*)
5670f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5671f61ef7f6SDag-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'
5672b7579f77SDag-Erling Smørgrav      else
5673f61ef7f6SDag-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'
5674b7579f77SDag-Erling Smørgrav      fi
5675f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5676b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5677b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5678b7579f77SDag-Erling Smørgrav
5679b7579f77SDag-Erling Smørgrav      # hardcode_minus_L: Not really in the search PATH,
5680b7579f77SDag-Erling Smørgrav      # but as the default location of the library.
5681b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5682f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5683b7579f77SDag-Erling Smørgrav      ;;
5684b7579f77SDag-Erling Smørgrav
5685b7579f77SDag-Erling Smørgrav    hpux10*)
5686f61ef7f6SDag-Erling Smørgrav      if test yes,no = "$GCC,$with_gnu_ld"; then
5687f61ef7f6SDag-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'
5688b7579f77SDag-Erling Smørgrav      else
5689b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5690b7579f77SDag-Erling Smørgrav      fi
5691f61ef7f6SDag-Erling Smørgrav      if test no = "$with_gnu_ld"; then
5692f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5693b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5694b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=yes
5695b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5696f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5697b7579f77SDag-Erling Smørgrav	# hardcode_minus_L: Not really in the search PATH,
5698b7579f77SDag-Erling Smørgrav	# but as the default location of the library.
5699b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_minus_L, $1)=yes
5700b7579f77SDag-Erling Smørgrav      fi
5701b7579f77SDag-Erling Smørgrav      ;;
5702b7579f77SDag-Erling Smørgrav
5703b7579f77SDag-Erling Smørgrav    hpux11*)
5704f61ef7f6SDag-Erling Smørgrav      if test yes,no = "$GCC,$with_gnu_ld"; then
5705b7579f77SDag-Erling Smørgrav	case $host_cpu in
5706b7579f77SDag-Erling Smørgrav	hppa*64*)
5707f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5708b7579f77SDag-Erling Smørgrav	  ;;
5709b7579f77SDag-Erling Smørgrav	ia64*)
5710f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5711b7579f77SDag-Erling Smørgrav	  ;;
5712b7579f77SDag-Erling Smørgrav	*)
5713f61ef7f6SDag-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'
5714b7579f77SDag-Erling Smørgrav	  ;;
5715b7579f77SDag-Erling Smørgrav	esac
5716b7579f77SDag-Erling Smørgrav      else
5717b7579f77SDag-Erling Smørgrav	case $host_cpu in
5718b7579f77SDag-Erling Smørgrav	hppa*64*)
5719f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5720b7579f77SDag-Erling Smørgrav	  ;;
5721b7579f77SDag-Erling Smørgrav	ia64*)
5722f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5723b7579f77SDag-Erling Smørgrav	  ;;
5724b7579f77SDag-Erling Smørgrav	*)
5725b7579f77SDag-Erling Smørgrav	m4_if($1, [], [
5726b7579f77SDag-Erling Smørgrav	  # Older versions of the 11.00 compiler do not understand -b yet
5727b7579f77SDag-Erling Smørgrav	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5728b7579f77SDag-Erling Smørgrav	  _LT_LINKER_OPTION([if $CC understands -b],
5729b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5730f61ef7f6SDag-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'],
5731b7579f77SDag-Erling Smørgrav	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5732f61ef7f6SDag-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'])
5733b7579f77SDag-Erling Smørgrav	  ;;
5734b7579f77SDag-Erling Smørgrav	esac
5735b7579f77SDag-Erling Smørgrav      fi
5736f61ef7f6SDag-Erling Smørgrav      if test no = "$with_gnu_ld"; then
5737f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5738b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
5739b7579f77SDag-Erling Smørgrav
5740b7579f77SDag-Erling Smørgrav	case $host_cpu in
5741b7579f77SDag-Erling Smørgrav	hppa*64*|ia64*)
5742b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no
5743b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5744b7579f77SDag-Erling Smørgrav	  ;;
5745b7579f77SDag-Erling Smørgrav	*)
5746b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
5747b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5748f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5749b7579f77SDag-Erling Smørgrav
5750b7579f77SDag-Erling Smørgrav	  # hardcode_minus_L: Not really in the search PATH,
5751b7579f77SDag-Erling Smørgrav	  # but as the default location of the library.
5752b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
5753b7579f77SDag-Erling Smørgrav	  ;;
5754b7579f77SDag-Erling Smørgrav	esac
5755b7579f77SDag-Erling Smørgrav      fi
5756b7579f77SDag-Erling Smørgrav      ;;
5757b7579f77SDag-Erling Smørgrav
5758b7579f77SDag-Erling Smørgrav    irix5* | irix6* | nonstopux*)
5759f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5760f61ef7f6SDag-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'
5761b7579f77SDag-Erling Smørgrav	# Try to use the -exported_symbol ld option, if it does not
5762b7579f77SDag-Erling Smørgrav	# work, assume that -exports_file does not work either and
5763b7579f77SDag-Erling Smørgrav	# implicitly export all symbols.
5764b7579f77SDag-Erling Smørgrav	# This should be the same for all languages, so no per-tag cache variable.
5765b7579f77SDag-Erling Smørgrav	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5766b7579f77SDag-Erling Smørgrav	  [lt_cv_irix_exported_symbol],
5767f61ef7f6SDag-Erling Smørgrav	  [save_LDFLAGS=$LDFLAGS
5768f61ef7f6SDag-Erling Smørgrav	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5769b7579f77SDag-Erling Smørgrav	   AC_LINK_IFELSE(
5770b7579f77SDag-Erling Smørgrav	     [AC_LANG_SOURCE(
5771b7579f77SDag-Erling Smørgrav	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5772b7579f77SDag-Erling Smørgrav			      [C++], [[int foo (void) { return 0; }]],
5773b7579f77SDag-Erling Smørgrav			      [Fortran 77], [[
5774b7579f77SDag-Erling Smørgrav      subroutine foo
5775b7579f77SDag-Erling Smørgrav      end]],
5776b7579f77SDag-Erling Smørgrav			      [Fortran], [[
5777b7579f77SDag-Erling Smørgrav      subroutine foo
5778b7579f77SDag-Erling Smørgrav      end]])])],
5779b7579f77SDag-Erling Smørgrav	      [lt_cv_irix_exported_symbol=yes],
5780b7579f77SDag-Erling Smørgrav	      [lt_cv_irix_exported_symbol=no])
5781f61ef7f6SDag-Erling Smørgrav           LDFLAGS=$save_LDFLAGS])
5782f61ef7f6SDag-Erling Smørgrav	if test yes = "$lt_cv_irix_exported_symbol"; then
5783f61ef7f6SDag-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'
5784b7579f77SDag-Erling Smørgrav	fi
5785b7579f77SDag-Erling Smørgrav      else
5786f61ef7f6SDag-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'
5787f61ef7f6SDag-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'
5788b7579f77SDag-Erling Smørgrav      fi
5789b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5790f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5791b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5792b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(inherit_rpath, $1)=yes
5793b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
5794b7579f77SDag-Erling Smørgrav      ;;
5795b7579f77SDag-Erling Smørgrav
5796f61ef7f6SDag-Erling Smørgrav    linux*)
5797f61ef7f6SDag-Erling Smørgrav      case $cc_basename in
5798f61ef7f6SDag-Erling Smørgrav      tcc*)
5799f61ef7f6SDag-Erling Smørgrav	# Fabrice Bellard et al's Tiny C Compiler
5800f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=yes
5801f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5802f61ef7f6SDag-Erling Smørgrav	;;
5803f61ef7f6SDag-Erling Smørgrav      esac
5804f61ef7f6SDag-Erling Smørgrav      ;;
5805f61ef7f6SDag-Erling Smørgrav
5806091e9e46SCy Schubert    netbsd*)
5807b7579f77SDag-Erling Smørgrav      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5808b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
5809b7579f77SDag-Erling Smørgrav      else
5810b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
5811b7579f77SDag-Erling Smørgrav      fi
5812b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5813b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5814b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5815b7579f77SDag-Erling Smørgrav      ;;
5816b7579f77SDag-Erling Smørgrav
5817b7579f77SDag-Erling Smørgrav    newsos6)
5818b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5819b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5820f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5821b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5822b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5823b7579f77SDag-Erling Smørgrav      ;;
5824b7579f77SDag-Erling Smørgrav
5825b7579f77SDag-Erling Smørgrav    *nto* | *qnx*)
5826b7579f77SDag-Erling Smørgrav      ;;
5827b7579f77SDag-Erling Smørgrav
5828f61ef7f6SDag-Erling Smørgrav    openbsd* | bitrig*)
5829b7579f77SDag-Erling Smørgrav      if test -f /usr/libexec/ld.so; then
5830b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=yes
5831b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5832b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5833f61ef7f6SDag-Erling Smørgrav	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5834b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5835f61ef7f6SDag-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'
5836f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5837f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5838b7579f77SDag-Erling Smørgrav	else
5839b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5840f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5841b7579f77SDag-Erling Smørgrav	fi
5842b7579f77SDag-Erling Smørgrav      else
5843b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
5844b7579f77SDag-Erling Smørgrav      fi
5845b7579f77SDag-Erling Smørgrav      ;;
5846b7579f77SDag-Erling Smørgrav
5847b7579f77SDag-Erling Smørgrav    os2*)
5848b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5849b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5850b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5851f61ef7f6SDag-Erling Smørgrav      shrext_cmds=.dll
5852f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5853f61ef7f6SDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5854f61ef7f6SDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5855f61ef7f6SDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5856f61ef7f6SDag-Erling Smørgrav	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5857f61ef7f6SDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5858f61ef7f6SDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5859f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5860f61ef7f6SDag-Erling Smørgrav	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5861f61ef7f6SDag-Erling Smørgrav	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5862f61ef7f6SDag-Erling Smørgrav	$ECHO EXPORTS >> $output_objdir/$libname.def~
5863f61ef7f6SDag-Erling Smørgrav	prefix_cmds="$SED"~
5864f61ef7f6SDag-Erling Smørgrav	if test EXPORTS = "`$SED 1q $export_symbols`"; then
5865f61ef7f6SDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e 1d";
5866f61ef7f6SDag-Erling Smørgrav	fi~
5867f61ef7f6SDag-Erling Smørgrav	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5868f61ef7f6SDag-Erling Smørgrav	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5869f61ef7f6SDag-Erling Smørgrav	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5870f61ef7f6SDag-Erling Smørgrav	emximp -o $lib $output_objdir/$libname.def'
5871f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5872f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5873b7579f77SDag-Erling Smørgrav      ;;
5874b7579f77SDag-Erling Smørgrav
5875b7579f77SDag-Erling Smørgrav    osf3*)
5876f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5877f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5878f61ef7f6SDag-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'
5879b7579f77SDag-Erling Smørgrav      else
5880b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5881f61ef7f6SDag-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'
5882b7579f77SDag-Erling Smørgrav      fi
5883b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5884f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5885b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5886b7579f77SDag-Erling Smørgrav      ;;
5887b7579f77SDag-Erling Smørgrav
5888b7579f77SDag-Erling Smørgrav    osf4* | osf5*)	# as osf3* with the addition of -msym flag
5889f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5890f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5891f61ef7f6SDag-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'
5892f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5893b7579f77SDag-Erling Smørgrav      else
5894b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5895f61ef7f6SDag-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'
5896b7579f77SDag-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~
5897f61ef7f6SDag-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'
5898b7579f77SDag-Erling Smørgrav
5899b7579f77SDag-Erling Smørgrav	# Both c and cxx compiler support -rpath directly
5900b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5901b7579f77SDag-Erling Smørgrav      fi
5902b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5903b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5904b7579f77SDag-Erling Smørgrav      ;;
5905b7579f77SDag-Erling Smørgrav
5906b7579f77SDag-Erling Smørgrav    solaris*)
5907b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5908f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
5909f61ef7f6SDag-Erling Smørgrav	wlarc='$wl'
5910f61ef7f6SDag-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'
5911b7579f77SDag-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~
5912f61ef7f6SDag-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'
5913b7579f77SDag-Erling Smørgrav      else
5914b7579f77SDag-Erling Smørgrav	case `$CC -V 2>&1` in
5915b7579f77SDag-Erling Smørgrav	*"Compilers 5.0"*)
5916b7579f77SDag-Erling Smørgrav	  wlarc=''
5917f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5918b7579f77SDag-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~
5919f61ef7f6SDag-Erling Smørgrav            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5920b7579f77SDag-Erling Smørgrav	  ;;
5921b7579f77SDag-Erling Smørgrav	*)
5922f61ef7f6SDag-Erling Smørgrav	  wlarc='$wl'
5923f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5924b7579f77SDag-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~
5925f61ef7f6SDag-Erling Smørgrav            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5926b7579f77SDag-Erling Smørgrav	  ;;
5927b7579f77SDag-Erling Smørgrav	esac
5928b7579f77SDag-Erling Smørgrav      fi
5929b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5930b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5931b7579f77SDag-Erling Smørgrav      case $host_os in
5932b7579f77SDag-Erling Smørgrav      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5933b7579f77SDag-Erling Smørgrav      *)
5934b7579f77SDag-Erling Smørgrav	# The compiler driver will combine and reorder linker options,
5935f61ef7f6SDag-Erling Smørgrav	# but understands '-z linker_flag'.  GCC discards it without '$wl',
5936b7579f77SDag-Erling Smørgrav	# but is careful enough not to reorder.
5937b7579f77SDag-Erling Smørgrav	# Supported since Solaris 2.6 (maybe 2.5.1?)
5938f61ef7f6SDag-Erling Smørgrav	if test yes = "$GCC"; then
5939f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5940b7579f77SDag-Erling Smørgrav	else
5941b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5942b7579f77SDag-Erling Smørgrav	fi
5943b7579f77SDag-Erling Smørgrav	;;
5944b7579f77SDag-Erling Smørgrav      esac
5945b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
5946b7579f77SDag-Erling Smørgrav      ;;
5947b7579f77SDag-Erling Smørgrav
5948b7579f77SDag-Erling Smørgrav    sunos4*)
5949f61ef7f6SDag-Erling Smørgrav      if test sequent = "$host_vendor"; then
5950b7579f77SDag-Erling Smørgrav	# Use $CC to link under sequent, because it throws in some extra .o
5951b7579f77SDag-Erling Smørgrav	# files that make .init and .fini sections work.
5952f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5953b7579f77SDag-Erling Smørgrav      else
5954b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5955b7579f77SDag-Erling Smørgrav      fi
5956b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5957b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_direct, $1)=yes
5958b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5959b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5960b7579f77SDag-Erling Smørgrav      ;;
5961b7579f77SDag-Erling Smørgrav
5962b7579f77SDag-Erling Smørgrav    sysv4)
5963b7579f77SDag-Erling Smørgrav      case $host_vendor in
5964b7579f77SDag-Erling Smørgrav	sni)
5965b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5966b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5967b7579f77SDag-Erling Smørgrav	;;
5968b7579f77SDag-Erling Smørgrav	siemens)
5969b7579f77SDag-Erling Smørgrav	  ## LD is ld it makes a PLAMLIB
5970b7579f77SDag-Erling Smørgrav	  ## CC just makes a GrossModule.
5971b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5972b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5973b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no
5974b7579f77SDag-Erling Smørgrav        ;;
5975b7579f77SDag-Erling Smørgrav	motorola)
5976b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5977b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5978b7579f77SDag-Erling Smørgrav	;;
5979b7579f77SDag-Erling Smørgrav      esac
5980b7579f77SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
5981b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5982b7579f77SDag-Erling Smørgrav      ;;
5983b7579f77SDag-Erling Smørgrav
5984b7579f77SDag-Erling Smørgrav    sysv4.3*)
5985b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5986b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5987b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5988b7579f77SDag-Erling Smørgrav      ;;
5989b7579f77SDag-Erling Smørgrav
5990b7579f77SDag-Erling Smørgrav    sysv4*MP*)
5991b7579f77SDag-Erling Smørgrav      if test -d /usr/nec; then
5992b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5993b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5994b7579f77SDag-Erling Smørgrav	runpath_var=LD_RUN_PATH
5995b7579f77SDag-Erling Smørgrav	hardcode_runpath_var=yes
5996b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=yes
5997b7579f77SDag-Erling Smørgrav      fi
5998b7579f77SDag-Erling Smørgrav      ;;
5999b7579f77SDag-Erling Smørgrav
6000b7579f77SDag-Erling Smørgrav    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6001f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6002b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6003b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6004b7579f77SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
6005b7579f77SDag-Erling Smørgrav
6006f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
6007f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6008f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6009b7579f77SDag-Erling Smørgrav      else
6010f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6011f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6012b7579f77SDag-Erling Smørgrav      fi
6013b7579f77SDag-Erling Smørgrav      ;;
6014b7579f77SDag-Erling Smørgrav
6015b7579f77SDag-Erling Smørgrav    sysv5* | sco3.2v5* | sco5v6*)
6016f61ef7f6SDag-Erling Smørgrav      # Note: We CANNOT use -z defs as we might desire, because we do not
6017b7579f77SDag-Erling Smørgrav      # link with -lc, and that would cause any symbols used from libc to
6018b7579f77SDag-Erling Smørgrav      # always be unresolved, which means just about no library would
6019b7579f77SDag-Erling Smørgrav      # ever link correctly.  If we're not using GNU ld we use -z text
6020b7579f77SDag-Erling Smørgrav      # though, which does catch some bad symbols but isn't as heavy-handed
6021b7579f77SDag-Erling Smørgrav      # as -z defs.
6022f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6023f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6024b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6025b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6026f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6027b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6028b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(link_all_deplibs, $1)=yes
6029f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6030b7579f77SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
6031b7579f77SDag-Erling Smørgrav
6032f61ef7f6SDag-Erling Smørgrav      if test yes = "$GCC"; then
6033f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6034f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6035b7579f77SDag-Erling Smørgrav      else
6036f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6037f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6038b7579f77SDag-Erling Smørgrav      fi
6039b7579f77SDag-Erling Smørgrav      ;;
6040b7579f77SDag-Erling Smørgrav
6041b7579f77SDag-Erling Smørgrav    uts4*)
6042b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6043b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6044b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6045b7579f77SDag-Erling Smørgrav      ;;
6046b7579f77SDag-Erling Smørgrav
6047b7579f77SDag-Erling Smørgrav    *)
6048b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(ld_shlibs, $1)=no
6049b7579f77SDag-Erling Smørgrav      ;;
6050b7579f77SDag-Erling Smørgrav    esac
6051b7579f77SDag-Erling Smørgrav
6052f61ef7f6SDag-Erling Smørgrav    if test sni = "$host_vendor"; then
6053b7579f77SDag-Erling Smørgrav      case $host in
6054b7579f77SDag-Erling Smørgrav      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6055f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6056b7579f77SDag-Erling Smørgrav	;;
6057b7579f77SDag-Erling Smørgrav      esac
6058b7579f77SDag-Erling Smørgrav    fi
6059b7579f77SDag-Erling Smørgrav  fi
6060b7579f77SDag-Erling Smørgrav])
6061b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6062f61ef7f6SDag-Erling Smørgravtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6063b7579f77SDag-Erling Smørgrav
6064b7579f77SDag-Erling Smørgrav_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6065b7579f77SDag-Erling Smørgrav
6066b7579f77SDag-Erling Smørgrav_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6067b7579f77SDag-Erling Smørgrav_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6068b7579f77SDag-Erling Smørgrav_LT_DECL([], [extract_expsyms_cmds], [2],
6069b7579f77SDag-Erling Smørgrav    [The commands to extract the exported symbol list from a shared archive])
6070b7579f77SDag-Erling Smørgrav
6071b7579f77SDag-Erling Smørgrav#
6072b7579f77SDag-Erling Smørgrav# Do we need to explicitly link libc?
6073b7579f77SDag-Erling Smørgrav#
6074b7579f77SDag-Erling Smørgravcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6075b7579f77SDag-Erling Smørgravx|xyes)
6076b7579f77SDag-Erling Smørgrav  # Assume -lc should be added
6077b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6078b7579f77SDag-Erling Smørgrav
6079f61ef7f6SDag-Erling Smørgrav  if test yes,yes = "$GCC,$enable_shared"; then
6080b7579f77SDag-Erling Smørgrav    case $_LT_TAGVAR(archive_cmds, $1) in
6081b7579f77SDag-Erling Smørgrav    *'~'*)
6082b7579f77SDag-Erling Smørgrav      # FIXME: we may have to deal with multi-command sequences.
6083b7579f77SDag-Erling Smørgrav      ;;
6084b7579f77SDag-Erling Smørgrav    '$CC '*)
6085b7579f77SDag-Erling Smørgrav      # Test whether the compiler implicitly links with -lc since on some
6086b7579f77SDag-Erling Smørgrav      # systems, -lgcc has to come before -lc. If gcc already passes -lc
6087b7579f77SDag-Erling Smørgrav      # to ld, don't add -lc before -lgcc.
6088b7579f77SDag-Erling Smørgrav      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6089b7579f77SDag-Erling Smørgrav	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6090b7579f77SDag-Erling Smørgrav	[$RM conftest*
6091b7579f77SDag-Erling Smørgrav	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6092b7579f77SDag-Erling Smørgrav
6093b7579f77SDag-Erling Smørgrav	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6094b7579f77SDag-Erling Smørgrav	  soname=conftest
6095b7579f77SDag-Erling Smørgrav	  lib=conftest
6096b7579f77SDag-Erling Smørgrav	  libobjs=conftest.$ac_objext
6097b7579f77SDag-Erling Smørgrav	  deplibs=
6098b7579f77SDag-Erling Smørgrav	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6099b7579f77SDag-Erling Smørgrav	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6100b7579f77SDag-Erling Smørgrav	  compiler_flags=-v
6101b7579f77SDag-Erling Smørgrav	  linker_flags=-v
6102b7579f77SDag-Erling Smørgrav	  verstring=
6103b7579f77SDag-Erling Smørgrav	  output_objdir=.
6104b7579f77SDag-Erling Smørgrav	  libname=conftest
6105b7579f77SDag-Erling Smørgrav	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6106b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=
6107b7579f77SDag-Erling Smørgrav	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6108b7579f77SDag-Erling Smørgrav	  then
6109b7579f77SDag-Erling Smørgrav	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6110b7579f77SDag-Erling Smørgrav	  else
6111b7579f77SDag-Erling Smørgrav	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6112b7579f77SDag-Erling Smørgrav	  fi
6113b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6114b7579f77SDag-Erling Smørgrav	else
6115b7579f77SDag-Erling Smørgrav	  cat conftest.err 1>&5
6116b7579f77SDag-Erling Smørgrav	fi
6117b7579f77SDag-Erling Smørgrav	$RM conftest*
6118b7579f77SDag-Erling Smørgrav	])
6119b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6120b7579f77SDag-Erling Smørgrav      ;;
6121b7579f77SDag-Erling Smørgrav    esac
6122b7579f77SDag-Erling Smørgrav  fi
6123b7579f77SDag-Erling Smørgrav  ;;
6124b7579f77SDag-Erling Smørgravesac
6125b7579f77SDag-Erling Smørgrav
6126b7579f77SDag-Erling Smørgrav_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6127b7579f77SDag-Erling Smørgrav    [Whether or not to add -lc for building shared libraries])
6128b7579f77SDag-Erling Smørgrav_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6129b7579f77SDag-Erling Smørgrav    [enable_shared_with_static_runtimes], [0],
6130b7579f77SDag-Erling Smørgrav    [Whether or not to disallow shared libs when runtime libs are static])
6131b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6132b7579f77SDag-Erling Smørgrav    [Compiler flag to allow reflexive dlopens])
6133b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [whole_archive_flag_spec], [1],
6134b7579f77SDag-Erling Smørgrav    [Compiler flag to generate shared objects directly from archives])
6135b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_needs_object], [1],
6136b7579f77SDag-Erling Smørgrav    [Whether the compiler copes with passing no objects directly])
6137b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6138b7579f77SDag-Erling Smørgrav    [Create an old-style archive from a shared archive])
6139b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6140b7579f77SDag-Erling Smørgrav    [Create a temporary old-style archive to link instead of a shared archive])
6141b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6142b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [archive_expsym_cmds], [2])
6143b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [module_cmds], [2],
6144b7579f77SDag-Erling Smørgrav    [Commands used to build a loadable module if different from building
6145b7579f77SDag-Erling Smørgrav    a shared archive.])
6146b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [module_expsym_cmds], [2])
6147b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [with_gnu_ld], [1],
6148b7579f77SDag-Erling Smørgrav    [Whether we are building with GNU ld or not])
6149b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [allow_undefined_flag], [1],
6150b7579f77SDag-Erling Smørgrav    [Flag that allows shared libraries with undefined symbols to be built])
6151b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [no_undefined_flag], [1],
6152b7579f77SDag-Erling Smørgrav    [Flag that enforces no undefined symbols])
6153b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6154b7579f77SDag-Erling Smørgrav    [Flag to hardcode $libdir into a binary during linking.
6155b7579f77SDag-Erling Smørgrav    This must work even if $libdir does not exist])
6156b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_libdir_separator], [1],
6157b7579f77SDag-Erling Smørgrav    [Whether we need a single "-rpath" flag with a separated argument])
6158b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct], [0],
6159f61ef7f6SDag-Erling Smørgrav    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6160b7579f77SDag-Erling Smørgrav    DIR into the resulting binary])
6161b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_direct_absolute], [0],
6162f61ef7f6SDag-Erling Smørgrav    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6163b7579f77SDag-Erling Smørgrav    DIR into the resulting binary and the resulting library dependency is
6164f61ef7f6SDag-Erling Smørgrav    "absolute", i.e impossible to change by setting $shlibpath_var if the
6165b7579f77SDag-Erling Smørgrav    library is relocated])
6166b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_minus_L], [0],
6167b7579f77SDag-Erling Smørgrav    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6168b7579f77SDag-Erling Smørgrav    into the resulting binary])
6169b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6170b7579f77SDag-Erling Smørgrav    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6171b7579f77SDag-Erling Smørgrav    into the resulting binary])
6172b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [hardcode_automatic], [0],
6173b7579f77SDag-Erling Smørgrav    [Set to "yes" if building a shared library automatically hardcodes DIR
6174b7579f77SDag-Erling Smørgrav    into the library and all subsequent libraries and executables linked
6175b7579f77SDag-Erling Smørgrav    against it])
6176b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [inherit_rpath], [0],
6177b7579f77SDag-Erling Smørgrav    [Set to yes if linker adds runtime paths of dependent libraries
6178b7579f77SDag-Erling Smørgrav    to runtime path list])
6179b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [link_all_deplibs], [0],
6180b7579f77SDag-Erling Smørgrav    [Whether libtool must link a program against all its dependency libraries])
6181b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [always_export_symbols], [0],
6182b7579f77SDag-Erling Smørgrav    [Set to "yes" if exported symbols are required])
6183b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [export_symbols_cmds], [2],
6184b7579f77SDag-Erling Smørgrav    [The commands to list exported symbols])
6185b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [exclude_expsyms], [1],
6186b7579f77SDag-Erling Smørgrav    [Symbols that should not be listed in the preloaded symbols])
6187b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [include_expsyms], [1],
6188b7579f77SDag-Erling Smørgrav    [Symbols that must always be exported])
6189b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [prelink_cmds], [2],
6190b7579f77SDag-Erling Smørgrav    [Commands necessary for linking programs (against libraries) with templates])
6191b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postlink_cmds], [2],
6192b7579f77SDag-Erling Smørgrav    [Commands necessary for finishing linking programs])
6193b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [file_list_spec], [1],
6194b7579f77SDag-Erling Smørgrav    [Specify filename containing input files])
6195b7579f77SDag-Erling Smørgravdnl FIXME: Not yet implemented
6196b7579f77SDag-Erling Smørgravdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6197b7579f77SDag-Erling Smørgravdnl    [Compiler flag to generate thread safe objects])
6198b7579f77SDag-Erling Smørgrav])# _LT_LINKER_SHLIBS
6199b7579f77SDag-Erling Smørgrav
6200b7579f77SDag-Erling Smørgrav
6201b7579f77SDag-Erling Smørgrav# _LT_LANG_C_CONFIG([TAG])
6202b7579f77SDag-Erling Smørgrav# ------------------------
6203b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a C compiler are suitably
6204b7579f77SDag-Erling Smørgrav# defined.  These variables are subsequently used by _LT_CONFIG to write
6205f61ef7f6SDag-Erling Smørgrav# the compiler configuration to 'libtool'.
6206b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_C_CONFIG],
6207b7579f77SDag-Erling Smørgrav[m4_require([_LT_DECL_EGREP])dnl
6208f61ef7f6SDag-Erling Smørgravlt_save_CC=$CC
6209b7579f77SDag-Erling SmørgravAC_LANG_PUSH(C)
6210b7579f77SDag-Erling Smørgrav
6211b7579f77SDag-Erling Smørgrav# Source file extension for C test sources.
6212b7579f77SDag-Erling Smørgravac_ext=c
6213b7579f77SDag-Erling Smørgrav
6214b7579f77SDag-Erling Smørgrav# Object file extension for compiled C test sources.
6215b7579f77SDag-Erling Smørgravobjext=o
6216b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
6217b7579f77SDag-Erling Smørgrav
6218b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests
6219b7579f77SDag-Erling Smørgravlt_simple_compile_test_code="int some_variable = 0;"
6220b7579f77SDag-Erling Smørgrav
6221b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests
6222b7579f77SDag-Erling Smørgravlt_simple_link_test_code='int main(){return(0);}'
6223b7579f77SDag-Erling Smørgrav
6224b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER
6225b7579f77SDag-Erling Smørgrav# Save the default compiler, since it gets overwritten when the other
6226b7579f77SDag-Erling Smørgrav# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6227b7579f77SDag-Erling Smørgravcompiler_DEFAULT=$CC
6228b7579f77SDag-Erling Smørgrav
6229b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
6230b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
6231b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
6232b7579f77SDag-Erling Smørgrav
6233b7579f77SDag-Erling Smørgravif test -n "$compiler"; then
6234b7579f77SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
6235b7579f77SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
6236b7579f77SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
6237b7579f77SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
6238b7579f77SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
6239b7579f77SDag-Erling Smørgrav  _LT_SYS_DYNAMIC_LINKER($1)
6240b7579f77SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
6241b7579f77SDag-Erling Smørgrav  LT_SYS_DLOPEN_SELF
6242b7579f77SDag-Erling Smørgrav  _LT_CMD_STRIPLIB
6243b7579f77SDag-Erling Smørgrav
6244f61ef7f6SDag-Erling Smørgrav  # Report what library types will actually be built
6245b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([if libtool supports shared libraries])
6246b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT([$can_build_shared])
6247b7579f77SDag-Erling Smørgrav
6248b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([whether to build shared libraries])
6249f61ef7f6SDag-Erling Smørgrav  test no = "$can_build_shared" && enable_shared=no
6250b7579f77SDag-Erling Smørgrav
6251b7579f77SDag-Erling Smørgrav  # On AIX, shared libraries and static libraries use the same namespace, and
6252b7579f77SDag-Erling Smørgrav  # are all built from PIC.
6253b7579f77SDag-Erling Smørgrav  case $host_os in
6254b7579f77SDag-Erling Smørgrav  aix3*)
6255f61ef7f6SDag-Erling Smørgrav    test yes = "$enable_shared" && enable_static=no
6256b7579f77SDag-Erling Smørgrav    if test -n "$RANLIB"; then
6257b7579f77SDag-Erling Smørgrav      archive_cmds="$archive_cmds~\$RANLIB \$lib"
6258b7579f77SDag-Erling Smørgrav      postinstall_cmds='$RANLIB $lib'
6259b7579f77SDag-Erling Smørgrav    fi
6260b7579f77SDag-Erling Smørgrav    ;;
6261b7579f77SDag-Erling Smørgrav
6262b7579f77SDag-Erling Smørgrav  aix[[4-9]]*)
6263f61ef7f6SDag-Erling Smørgrav    if test ia64 != "$host_cpu"; then
6264f61ef7f6SDag-Erling Smørgrav      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6265f61ef7f6SDag-Erling Smørgrav      yes,aix,yes) ;;			# shared object as lib.so file only
6266f61ef7f6SDag-Erling Smørgrav      yes,svr4,*) ;;			# shared object as lib.so archive member only
6267f61ef7f6SDag-Erling Smørgrav      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
6268f61ef7f6SDag-Erling Smørgrav      esac
6269b7579f77SDag-Erling Smørgrav    fi
6270b7579f77SDag-Erling Smørgrav    ;;
6271b7579f77SDag-Erling Smørgrav  esac
6272b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT([$enable_shared])
6273b7579f77SDag-Erling Smørgrav
6274b7579f77SDag-Erling Smørgrav  AC_MSG_CHECKING([whether to build static libraries])
6275b7579f77SDag-Erling Smørgrav  # Make sure either enable_shared or enable_static is yes.
6276f61ef7f6SDag-Erling Smørgrav  test yes = "$enable_shared" || enable_static=yes
6277b7579f77SDag-Erling Smørgrav  AC_MSG_RESULT([$enable_static])
6278b7579f77SDag-Erling Smørgrav
6279b7579f77SDag-Erling Smørgrav  _LT_CONFIG($1)
6280b7579f77SDag-Erling Smørgravfi
6281b7579f77SDag-Erling SmørgravAC_LANG_POP
6282f61ef7f6SDag-Erling SmørgravCC=$lt_save_CC
6283b7579f77SDag-Erling Smørgrav])# _LT_LANG_C_CONFIG
6284b7579f77SDag-Erling Smørgrav
6285b7579f77SDag-Erling Smørgrav
6286b7579f77SDag-Erling Smørgrav# _LT_LANG_CXX_CONFIG([TAG])
6287b7579f77SDag-Erling Smørgrav# --------------------------
6288b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a C++ compiler are suitably
6289b7579f77SDag-Erling Smørgrav# defined.  These variables are subsequently used by _LT_CONFIG to write
6290f61ef7f6SDag-Erling Smørgrav# the compiler configuration to 'libtool'.
6291b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_CXX_CONFIG],
6292b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6293b7579f77SDag-Erling Smørgravm4_require([_LT_DECL_EGREP])dnl
6294b7579f77SDag-Erling Smørgravm4_require([_LT_PATH_MANIFEST_TOOL])dnl
6295f61ef7f6SDag-Erling Smørgravif test -n "$CXX" && ( test no != "$CXX" &&
6296f61ef7f6SDag-Erling Smørgrav    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6297f61ef7f6SDag-Erling Smørgrav    (test g++ != "$CXX"))); then
6298b7579f77SDag-Erling Smørgrav  AC_PROG_CXXCPP
6299b7579f77SDag-Erling Smørgravelse
6300b7579f77SDag-Erling Smørgrav  _lt_caught_CXX_error=yes
6301b7579f77SDag-Erling Smørgravfi
6302b7579f77SDag-Erling Smørgrav
6303b7579f77SDag-Erling SmørgravAC_LANG_PUSH(C++)
6304b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6305b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
6306b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
6307b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
6308b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler_needs_object, $1)=no
6309b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6310b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
6311b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6312b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6313b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
6314b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
6315b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6316b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
6317b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
6318b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
6319b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
6320b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
6321b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6322b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
6323b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6324b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
6325b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
6326b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6327b7579f77SDag-Erling Smørgrav
6328b7579f77SDag-Erling Smørgrav# Source file extension for C++ test sources.
6329b7579f77SDag-Erling Smørgravac_ext=cpp
6330b7579f77SDag-Erling Smørgrav
6331b7579f77SDag-Erling Smørgrav# Object file extension for compiled C++ test sources.
6332b7579f77SDag-Erling Smørgravobjext=o
6333b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
6334b7579f77SDag-Erling Smørgrav
6335b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
6336b7579f77SDag-Erling Smørgrav# the CXX compiler isn't working.  Some variables (like enable_shared)
6337b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
6338b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
6339f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_caught_CXX_error"; then
6340b7579f77SDag-Erling Smørgrav  # Code to be used in simple compile tests
6341b7579f77SDag-Erling Smørgrav  lt_simple_compile_test_code="int some_variable = 0;"
6342b7579f77SDag-Erling Smørgrav
6343b7579f77SDag-Erling Smørgrav  # Code to be used in simple link tests
6344b7579f77SDag-Erling Smørgrav  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6345b7579f77SDag-Erling Smørgrav
6346b7579f77SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6347b7579f77SDag-Erling Smørgrav  _LT_TAG_COMPILER
6348b7579f77SDag-Erling Smørgrav
6349b7579f77SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
6350b7579f77SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
6351b7579f77SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
6352b7579f77SDag-Erling Smørgrav
6353b7579f77SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
6354b7579f77SDag-Erling Smørgrav  lt_save_CC=$CC
6355b7579f77SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
6356b7579f77SDag-Erling Smørgrav  lt_save_LD=$LD
6357b7579f77SDag-Erling Smørgrav  lt_save_GCC=$GCC
6358b7579f77SDag-Erling Smørgrav  GCC=$GXX
6359b7579f77SDag-Erling Smørgrav  lt_save_with_gnu_ld=$with_gnu_ld
6360b7579f77SDag-Erling Smørgrav  lt_save_path_LD=$lt_cv_path_LD
6361b7579f77SDag-Erling Smørgrav  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6362b7579f77SDag-Erling Smørgrav    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6363b7579f77SDag-Erling Smørgrav  else
6364b7579f77SDag-Erling Smørgrav    $as_unset lt_cv_prog_gnu_ld
6365b7579f77SDag-Erling Smørgrav  fi
6366b7579f77SDag-Erling Smørgrav  if test -n "${lt_cv_path_LDCXX+set}"; then
6367b7579f77SDag-Erling Smørgrav    lt_cv_path_LD=$lt_cv_path_LDCXX
6368b7579f77SDag-Erling Smørgrav  else
6369b7579f77SDag-Erling Smørgrav    $as_unset lt_cv_path_LD
6370b7579f77SDag-Erling Smørgrav  fi
6371b7579f77SDag-Erling Smørgrav  test -z "${LDCXX+set}" || LD=$LDCXX
6372b7579f77SDag-Erling Smørgrav  CC=${CXX-"c++"}
6373b7579f77SDag-Erling Smørgrav  CFLAGS=$CXXFLAGS
6374b7579f77SDag-Erling Smørgrav  compiler=$CC
6375b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
6376b7579f77SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
6377b7579f77SDag-Erling Smørgrav
6378b7579f77SDag-Erling Smørgrav  if test -n "$compiler"; then
6379b7579f77SDag-Erling Smørgrav    # We don't want -fno-exception when compiling C++ code, so set the
6380b7579f77SDag-Erling Smørgrav    # no_builtin_flag separately
6381f61ef7f6SDag-Erling Smørgrav    if test yes = "$GXX"; then
6382b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6383b7579f77SDag-Erling Smørgrav    else
6384b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6385b7579f77SDag-Erling Smørgrav    fi
6386b7579f77SDag-Erling Smørgrav
6387f61ef7f6SDag-Erling Smørgrav    if test yes = "$GXX"; then
6388b7579f77SDag-Erling Smørgrav      # Set up default GNU C++ configuration
6389b7579f77SDag-Erling Smørgrav
6390b7579f77SDag-Erling Smørgrav      LT_PATH_LD
6391b7579f77SDag-Erling Smørgrav
6392b7579f77SDag-Erling Smørgrav      # Check if GNU C++ uses GNU ld as the underlying linker, since the
6393b7579f77SDag-Erling Smørgrav      # archiving commands below assume that GNU ld is being used.
6394f61ef7f6SDag-Erling Smørgrav      if test yes = "$with_gnu_ld"; then
6395f61ef7f6SDag-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'
6396f61ef7f6SDag-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'
6397b7579f77SDag-Erling Smørgrav
6398f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6399f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6400b7579f77SDag-Erling Smørgrav
6401b7579f77SDag-Erling Smørgrav        # If archive_cmds runs LD, not CC, wlarc should be empty
6402b7579f77SDag-Erling Smørgrav        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6403b7579f77SDag-Erling Smørgrav        #     investigate it a little bit more. (MM)
6404f61ef7f6SDag-Erling Smørgrav        wlarc='$wl'
6405b7579f77SDag-Erling Smørgrav
6406b7579f77SDag-Erling Smørgrav        # ancient GNU ld didn't support --whole-archive et. al.
6407b7579f77SDag-Erling Smørgrav        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6408b7579f77SDag-Erling Smørgrav	  $GREP 'no-whole-archive' > /dev/null; then
6409f61ef7f6SDag-Erling Smørgrav          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6410b7579f77SDag-Erling Smørgrav        else
6411b7579f77SDag-Erling Smørgrav          _LT_TAGVAR(whole_archive_flag_spec, $1)=
6412b7579f77SDag-Erling Smørgrav        fi
6413b7579f77SDag-Erling Smørgrav      else
6414b7579f77SDag-Erling Smørgrav        with_gnu_ld=no
6415b7579f77SDag-Erling Smørgrav        wlarc=
6416b7579f77SDag-Erling Smørgrav
6417b7579f77SDag-Erling Smørgrav        # A generic and very simple default shared library creation
6418b7579f77SDag-Erling Smørgrav        # command for GNU C++ for the case where it uses the native
6419b7579f77SDag-Erling Smørgrav        # linker, instead of GNU ld.  If possible, this setting should
6420b7579f77SDag-Erling Smørgrav        # overridden to take advantage of the native linker features on
6421b7579f77SDag-Erling Smørgrav        # the platform it is being used on.
6422b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6423b7579f77SDag-Erling Smørgrav      fi
6424b7579f77SDag-Erling Smørgrav
6425b7579f77SDag-Erling Smørgrav      # Commands to make compiler produce verbose output that lists
6426b7579f77SDag-Erling Smørgrav      # what "hidden" libraries, object files and flags are used when
6427b7579f77SDag-Erling Smørgrav      # linking a shared library.
6428b7579f77SDag-Erling Smørgrav      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6429b7579f77SDag-Erling Smørgrav
6430b7579f77SDag-Erling Smørgrav    else
6431b7579f77SDag-Erling Smørgrav      GXX=no
6432b7579f77SDag-Erling Smørgrav      with_gnu_ld=no
6433b7579f77SDag-Erling Smørgrav      wlarc=
6434b7579f77SDag-Erling Smørgrav    fi
6435b7579f77SDag-Erling Smørgrav
6436b7579f77SDag-Erling Smørgrav    # PORTME: fill in a description of your system's C++ link characteristics
6437b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6438b7579f77SDag-Erling Smørgrav    _LT_TAGVAR(ld_shlibs, $1)=yes
6439b7579f77SDag-Erling Smørgrav    case $host_os in
6440b7579f77SDag-Erling Smørgrav      aix3*)
6441b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
6442b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
6443b7579f77SDag-Erling Smørgrav        ;;
6444b7579f77SDag-Erling Smørgrav      aix[[4-9]]*)
6445f61ef7f6SDag-Erling Smørgrav        if test ia64 = "$host_cpu"; then
6446b7579f77SDag-Erling Smørgrav          # On IA64, the linker does run time linking by default, so we don't
6447b7579f77SDag-Erling Smørgrav          # have to do anything special.
6448b7579f77SDag-Erling Smørgrav          aix_use_runtimelinking=no
6449b7579f77SDag-Erling Smørgrav          exp_sym_flag='-Bexport'
6450f61ef7f6SDag-Erling Smørgrav          no_entry_flag=
6451b7579f77SDag-Erling Smørgrav        else
6452b7579f77SDag-Erling Smørgrav          aix_use_runtimelinking=no
6453b7579f77SDag-Erling Smørgrav
6454b7579f77SDag-Erling Smørgrav          # Test if we are trying to use run time linking or normal
6455b7579f77SDag-Erling Smørgrav          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6456f61ef7f6SDag-Erling Smørgrav          # have runtime linking enabled, and use it for executables.
6457f61ef7f6SDag-Erling Smørgrav          # For shared libraries, we enable/disable runtime linking
6458f61ef7f6SDag-Erling Smørgrav          # depending on the kind of the shared library created -
6459f61ef7f6SDag-Erling Smørgrav          # when "with_aix_soname,aix_use_runtimelinking" is:
6460f61ef7f6SDag-Erling Smørgrav          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
6461f61ef7f6SDag-Erling Smørgrav          # "aix,yes"  lib.so          shared, rtl:yes, for executables
6462f61ef7f6SDag-Erling Smørgrav          #            lib.a           static archive
6463f61ef7f6SDag-Erling Smørgrav          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
6464f61ef7f6SDag-Erling Smørgrav          #            lib.a(lib.so.V) shared, rtl:no,  for executables
6465f61ef7f6SDag-Erling Smørgrav          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6466f61ef7f6SDag-Erling Smørgrav          #            lib.a(lib.so.V) shared, rtl:no
6467f61ef7f6SDag-Erling Smørgrav          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
6468f61ef7f6SDag-Erling Smørgrav          #            lib.a           static archive
6469b7579f77SDag-Erling Smørgrav          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6470b7579f77SDag-Erling Smørgrav	    for ld_flag in $LDFLAGS; do
6471b7579f77SDag-Erling Smørgrav	      case $ld_flag in
6472b7579f77SDag-Erling Smørgrav	      *-brtl*)
6473b7579f77SDag-Erling Smørgrav	        aix_use_runtimelinking=yes
6474b7579f77SDag-Erling Smørgrav	        break
6475b7579f77SDag-Erling Smørgrav	        ;;
6476b7579f77SDag-Erling Smørgrav	      esac
6477b7579f77SDag-Erling Smørgrav	    done
6478f61ef7f6SDag-Erling Smørgrav	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6479f61ef7f6SDag-Erling Smørgrav	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
6480f61ef7f6SDag-Erling Smørgrav	      # so we don't have lib.a shared libs to link our executables.
6481f61ef7f6SDag-Erling Smørgrav	      # We have to force runtime linking in this case.
6482f61ef7f6SDag-Erling Smørgrav	      aix_use_runtimelinking=yes
6483f61ef7f6SDag-Erling Smørgrav	      LDFLAGS="$LDFLAGS -Wl,-brtl"
6484f61ef7f6SDag-Erling Smørgrav	    fi
6485b7579f77SDag-Erling Smørgrav	    ;;
6486b7579f77SDag-Erling Smørgrav          esac
6487b7579f77SDag-Erling Smørgrav
6488b7579f77SDag-Erling Smørgrav          exp_sym_flag='-bexport'
6489b7579f77SDag-Erling Smørgrav          no_entry_flag='-bnoentry'
6490b7579f77SDag-Erling Smørgrav        fi
6491b7579f77SDag-Erling Smørgrav
6492b7579f77SDag-Erling Smørgrav        # When large executables or shared objects are built, AIX ld can
6493b7579f77SDag-Erling Smørgrav        # have problems creating the table of contents.  If linking a library
6494b7579f77SDag-Erling Smørgrav        # or program results in "error TOC overflow" add -mminimal-toc to
6495b7579f77SDag-Erling Smørgrav        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
6496b7579f77SDag-Erling Smørgrav        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6497b7579f77SDag-Erling Smørgrav
6498b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)=''
6499b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct, $1)=yes
6500b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6501b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6502b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(link_all_deplibs, $1)=yes
6503f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6504f61ef7f6SDag-Erling Smørgrav        case $with_aix_soname,$aix_use_runtimelinking in
6505f61ef7f6SDag-Erling Smørgrav        aix,*) ;;	# no import file
6506f61ef7f6SDag-Erling Smørgrav        svr4,* | *,yes) # use import file
6507f61ef7f6SDag-Erling Smørgrav          # The Import File defines what to hardcode.
6508f61ef7f6SDag-Erling Smørgrav          _LT_TAGVAR(hardcode_direct, $1)=no
6509f61ef7f6SDag-Erling Smørgrav          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6510f61ef7f6SDag-Erling Smørgrav          ;;
6511f61ef7f6SDag-Erling Smørgrav        esac
6512b7579f77SDag-Erling Smørgrav
6513f61ef7f6SDag-Erling Smørgrav        if test yes = "$GXX"; then
6514b7579f77SDag-Erling Smørgrav          case $host_os in aix4.[[012]]|aix4.[[012]].*)
6515b7579f77SDag-Erling Smørgrav          # We only want to do this on AIX 4.2 and lower, the check
6516b7579f77SDag-Erling Smørgrav          # below for broken collect2 doesn't work under 4.3+
6517f61ef7f6SDag-Erling Smørgrav	  collect2name=`$CC -print-prog-name=collect2`
6518b7579f77SDag-Erling Smørgrav	  if test -f "$collect2name" &&
6519b7579f77SDag-Erling Smørgrav	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6520b7579f77SDag-Erling Smørgrav	  then
6521b7579f77SDag-Erling Smørgrav	    # We have reworked collect2
6522b7579f77SDag-Erling Smørgrav	    :
6523b7579f77SDag-Erling Smørgrav	  else
6524b7579f77SDag-Erling Smørgrav	    # We have old collect2
6525b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
6526b7579f77SDag-Erling Smørgrav	    # It fails to find uninstalled libraries when the uninstalled
6527b7579f77SDag-Erling Smørgrav	    # path is not listed in the libpath.  Setting hardcode_minus_L
6528b7579f77SDag-Erling Smørgrav	    # to unsupported forces relinking
6529b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
6530b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6531b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
6532b7579f77SDag-Erling Smørgrav	  fi
6533b7579f77SDag-Erling Smørgrav          esac
6534b7579f77SDag-Erling Smørgrav          shared_flag='-shared'
6535f61ef7f6SDag-Erling Smørgrav	  if test yes = "$aix_use_runtimelinking"; then
6536f61ef7f6SDag-Erling Smørgrav	    shared_flag=$shared_flag' $wl-G'
6537b7579f77SDag-Erling Smørgrav	  fi
6538f61ef7f6SDag-Erling Smørgrav	  # Need to ensure runtime linking is disabled for the traditional
6539f61ef7f6SDag-Erling Smørgrav	  # shared library, or the linker may eventually find shared libraries
6540f61ef7f6SDag-Erling Smørgrav	  # /with/ Import File - we do not want to mix them.
6541f61ef7f6SDag-Erling Smørgrav	  shared_flag_aix='-shared'
6542f61ef7f6SDag-Erling Smørgrav	  shared_flag_svr4='-shared $wl-G'
6543b7579f77SDag-Erling Smørgrav        else
6544b7579f77SDag-Erling Smørgrav          # not using gcc
6545f61ef7f6SDag-Erling Smørgrav          if test ia64 = "$host_cpu"; then
6546b7579f77SDag-Erling Smørgrav	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6547b7579f77SDag-Erling Smørgrav	  # chokes on -Wl,-G. The following line is correct:
6548b7579f77SDag-Erling Smørgrav	  shared_flag='-G'
6549b7579f77SDag-Erling Smørgrav          else
6550f61ef7f6SDag-Erling Smørgrav	    if test yes = "$aix_use_runtimelinking"; then
6551f61ef7f6SDag-Erling Smørgrav	      shared_flag='$wl-G'
6552b7579f77SDag-Erling Smørgrav	    else
6553f61ef7f6SDag-Erling Smørgrav	      shared_flag='$wl-bM:SRE'
6554b7579f77SDag-Erling Smørgrav	    fi
6555f61ef7f6SDag-Erling Smørgrav	    shared_flag_aix='$wl-bM:SRE'
6556f61ef7f6SDag-Erling Smørgrav	    shared_flag_svr4='$wl-G'
6557b7579f77SDag-Erling Smørgrav          fi
6558b7579f77SDag-Erling Smørgrav        fi
6559b7579f77SDag-Erling Smørgrav
6560f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6561b7579f77SDag-Erling Smørgrav        # It seems that -bexpall does not export symbols beginning with
6562b7579f77SDag-Erling Smørgrav        # underscore (_), so it is better to generate a list of symbols to
6563b7579f77SDag-Erling Smørgrav	# export.
6564b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(always_export_symbols, $1)=yes
6565f61ef7f6SDag-Erling Smørgrav	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6566b7579f77SDag-Erling Smørgrav          # Warning - without using the other runtime loading flags (-brtl),
6567b7579f77SDag-Erling Smørgrav          # -berok will link without error, but may produce a broken library.
6568f61ef7f6SDag-Erling Smørgrav          # The "-G" linker flag allows undefined symbols.
6569f61ef7f6SDag-Erling Smørgrav          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6570b7579f77SDag-Erling Smørgrav          # Determine the default libpath from the value encoded in an empty
6571b7579f77SDag-Erling Smørgrav          # executable.
6572b7579f77SDag-Erling Smørgrav          _LT_SYS_MODULE_PATH_AIX([$1])
6573f61ef7f6SDag-Erling Smørgrav          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6574b7579f77SDag-Erling Smørgrav
6575f61ef7f6SDag-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
6576b7579f77SDag-Erling Smørgrav        else
6577f61ef7f6SDag-Erling Smørgrav          if test ia64 = "$host_cpu"; then
6578f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6579b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6580f61ef7f6SDag-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"
6581b7579f77SDag-Erling Smørgrav          else
6582b7579f77SDag-Erling Smørgrav	    # Determine the default libpath from the value encoded in an
6583b7579f77SDag-Erling Smørgrav	    # empty executable.
6584b7579f77SDag-Erling Smørgrav	    _LT_SYS_MODULE_PATH_AIX([$1])
6585f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6586b7579f77SDag-Erling Smørgrav	    # Warning - without using the other run time loading flags,
6587b7579f77SDag-Erling Smørgrav	    # -berok will link without error, but may produce a broken library.
6588f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6589f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6590f61ef7f6SDag-Erling Smørgrav	    if test yes = "$with_gnu_ld"; then
6591b7579f77SDag-Erling Smørgrav	      # We only use this code for GNU lds that support --whole-archive.
6592f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6593b7579f77SDag-Erling Smørgrav	    else
6594b7579f77SDag-Erling Smørgrav	      # Exported symbols can be pulled into shared objects from archives
6595b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6596b7579f77SDag-Erling Smørgrav	    fi
6597b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6598f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6599f61ef7f6SDag-Erling Smørgrav	    # -brtl affects multiple linker settings, -berok does not and is overridden later
6600f61ef7f6SDag-Erling Smørgrav	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6601f61ef7f6SDag-Erling Smørgrav	    if test svr4 != "$with_aix_soname"; then
6602b7579f77SDag-Erling Smørgrav	      # This is similar to how AIX traditionally builds its shared
6603f61ef7f6SDag-Erling Smørgrav	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6604f61ef7f6SDag-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'
6605f61ef7f6SDag-Erling Smørgrav	    fi
6606f61ef7f6SDag-Erling Smørgrav	    if test aix != "$with_aix_soname"; then
6607f61ef7f6SDag-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'
6608f61ef7f6SDag-Erling Smørgrav	    else
6609f61ef7f6SDag-Erling Smørgrav	      # used by -dlpreopen to get the symbols
6610f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
6611f61ef7f6SDag-Erling Smørgrav	    fi
6612f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6613b7579f77SDag-Erling Smørgrav          fi
6614b7579f77SDag-Erling Smørgrav        fi
6615b7579f77SDag-Erling Smørgrav        ;;
6616b7579f77SDag-Erling Smørgrav
6617b7579f77SDag-Erling Smørgrav      beos*)
6618b7579f77SDag-Erling Smørgrav	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6619b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6620b7579f77SDag-Erling Smørgrav	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6621b7579f77SDag-Erling Smørgrav	  # support --undefined.  This deserves some investigation.  FIXME
6622f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6623b7579f77SDag-Erling Smørgrav	else
6624b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
6625b7579f77SDag-Erling Smørgrav	fi
6626b7579f77SDag-Erling Smørgrav	;;
6627b7579f77SDag-Erling Smørgrav
6628b7579f77SDag-Erling Smørgrav      chorus*)
6629b7579f77SDag-Erling Smørgrav        case $cc_basename in
6630b7579f77SDag-Erling Smørgrav          *)
6631b7579f77SDag-Erling Smørgrav	  # FIXME: insert proper C++ library support
6632b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
6633b7579f77SDag-Erling Smørgrav	  ;;
6634b7579f77SDag-Erling Smørgrav        esac
6635b7579f77SDag-Erling Smørgrav        ;;
6636b7579f77SDag-Erling Smørgrav
6637b7579f77SDag-Erling Smørgrav      cygwin* | mingw* | pw32* | cegcc*)
6638b7579f77SDag-Erling Smørgrav	case $GXX,$cc_basename in
6639*46d2f618SCy Schubert	,cl* | no,cl*)
6640*46d2f618SCy Schubert	  # Native MSVC
6641b7579f77SDag-Erling Smørgrav	  # hardcode_libdir_flag_spec is actually meaningless, as there is
6642b7579f77SDag-Erling Smørgrav	  # no search path for DLLs.
6643b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6644b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6645b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(always_export_symbols, $1)=yes
6646b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(file_list_spec, $1)='@'
6647b7579f77SDag-Erling Smørgrav	  # Tell ltmain to make .lib files, not .a files.
6648b7579f77SDag-Erling Smørgrav	  libext=lib
6649b7579f77SDag-Erling Smørgrav	  # Tell ltmain to make .dll files, not .so files.
6650f61ef7f6SDag-Erling Smørgrav	  shrext_cmds=.dll
6651b7579f77SDag-Erling Smørgrav	  # FIXME: Setting linknames here is a bad hack.
6652f61ef7f6SDag-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='
6653f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6654f61ef7f6SDag-Erling Smørgrav              cp "$export_symbols" "$output_objdir/$soname.def";
6655f61ef7f6SDag-Erling Smørgrav              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6656b7579f77SDag-Erling Smørgrav            else
6657f61ef7f6SDag-Erling Smørgrav              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6658b7579f77SDag-Erling Smørgrav            fi~
6659b7579f77SDag-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"~
6660b7579f77SDag-Erling Smørgrav            linknames='
6661b7579f77SDag-Erling Smørgrav	  # The linker will not automatically build a static lib if we build a DLL.
6662b7579f77SDag-Erling Smørgrav	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6663b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6664b7579f77SDag-Erling Smørgrav	  # Don't use ranlib
6665b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6666b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6667b7579f77SDag-Erling Smørgrav            lt_tool_outputfile="@TOOL_OUTPUT@"~
6668b7579f77SDag-Erling Smørgrav            case $lt_outputfile in
6669b7579f77SDag-Erling Smørgrav              *.exe|*.EXE) ;;
6670b7579f77SDag-Erling Smørgrav              *)
6671f61ef7f6SDag-Erling Smørgrav                lt_outputfile=$lt_outputfile.exe
6672f61ef7f6SDag-Erling Smørgrav                lt_tool_outputfile=$lt_tool_outputfile.exe
6673b7579f77SDag-Erling Smørgrav                ;;
6674b7579f77SDag-Erling Smørgrav            esac~
6675b7579f77SDag-Erling Smørgrav            func_to_tool_file "$lt_outputfile"~
6676f61ef7f6SDag-Erling Smørgrav            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6677b7579f77SDag-Erling Smørgrav              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6678b7579f77SDag-Erling Smørgrav              $RM "$lt_outputfile.manifest";
6679b7579f77SDag-Erling Smørgrav            fi'
6680b7579f77SDag-Erling Smørgrav	  ;;
6681b7579f77SDag-Erling Smørgrav	*)
6682b7579f77SDag-Erling Smørgrav	  # g++
6683b7579f77SDag-Erling Smørgrav	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6684b7579f77SDag-Erling Smørgrav	  # as there is no search path for DLLs.
6685b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6686f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6687b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6688b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(always_export_symbols, $1)=no
6689b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6690b7579f77SDag-Erling Smørgrav
6691b7579f77SDag-Erling Smørgrav	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6692f61ef7f6SDag-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'
6693f61ef7f6SDag-Erling Smørgrav	    # If the export-symbols file already is a .def file, use it as
6694f61ef7f6SDag-Erling Smørgrav	    # is; otherwise, prepend EXPORTS...
6695f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6696b7579f77SDag-Erling Smørgrav              cp $export_symbols $output_objdir/$soname.def;
6697b7579f77SDag-Erling Smørgrav            else
6698b7579f77SDag-Erling Smørgrav              echo EXPORTS > $output_objdir/$soname.def;
6699b7579f77SDag-Erling Smørgrav              cat $export_symbols >> $output_objdir/$soname.def;
6700b7579f77SDag-Erling Smørgrav            fi~
6701f61ef7f6SDag-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'
6702b7579f77SDag-Erling Smørgrav	  else
6703b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
6704b7579f77SDag-Erling Smørgrav	  fi
6705b7579f77SDag-Erling Smørgrav	  ;;
6706b7579f77SDag-Erling Smørgrav	esac
6707b7579f77SDag-Erling Smørgrav	;;
6708b7579f77SDag-Erling Smørgrav      darwin* | rhapsody*)
6709b7579f77SDag-Erling Smørgrav        _LT_DARWIN_LINKER_FEATURES($1)
6710b7579f77SDag-Erling Smørgrav	;;
6711b7579f77SDag-Erling Smørgrav
6712f61ef7f6SDag-Erling Smørgrav      os2*)
6713f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6714f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_minus_L, $1)=yes
6715f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6716f61ef7f6SDag-Erling Smørgrav	shrext_cmds=.dll
6717f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6718f61ef7f6SDag-Erling Smørgrav	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6719f61ef7f6SDag-Erling Smørgrav	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6720f61ef7f6SDag-Erling Smørgrav	  $ECHO EXPORTS >> $output_objdir/$libname.def~
6721f61ef7f6SDag-Erling Smørgrav	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6722f61ef7f6SDag-Erling Smørgrav	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6723f61ef7f6SDag-Erling Smørgrav	  emximp -o $lib $output_objdir/$libname.def'
6724f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6725f61ef7f6SDag-Erling Smørgrav	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6726f61ef7f6SDag-Erling Smørgrav	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6727f61ef7f6SDag-Erling Smørgrav	  $ECHO EXPORTS >> $output_objdir/$libname.def~
6728f61ef7f6SDag-Erling Smørgrav	  prefix_cmds="$SED"~
6729f61ef7f6SDag-Erling Smørgrav	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
6730f61ef7f6SDag-Erling Smørgrav	    prefix_cmds="$prefix_cmds -e 1d";
6731f61ef7f6SDag-Erling Smørgrav	  fi~
6732f61ef7f6SDag-Erling Smørgrav	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6733f61ef7f6SDag-Erling Smørgrav	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6734f61ef7f6SDag-Erling Smørgrav	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6735f61ef7f6SDag-Erling Smørgrav	  emximp -o $lib $output_objdir/$libname.def'
6736f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6737f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6738f61ef7f6SDag-Erling Smørgrav	;;
6739f61ef7f6SDag-Erling Smørgrav
6740b7579f77SDag-Erling Smørgrav      dgux*)
6741b7579f77SDag-Erling Smørgrav        case $cc_basename in
6742b7579f77SDag-Erling Smørgrav          ec++*)
6743b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
6744b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
6745b7579f77SDag-Erling Smørgrav	    ;;
6746b7579f77SDag-Erling Smørgrav          ghcx*)
6747b7579f77SDag-Erling Smørgrav	    # Green Hills C++ Compiler
6748b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
6749b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
6750b7579f77SDag-Erling Smørgrav	    ;;
6751b7579f77SDag-Erling Smørgrav          *)
6752b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
6753b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
6754b7579f77SDag-Erling Smørgrav	    ;;
6755b7579f77SDag-Erling Smørgrav        esac
6756b7579f77SDag-Erling Smørgrav        ;;
6757b7579f77SDag-Erling Smørgrav
67588ed2b524SDag-Erling Smørgrav      freebsd2.*)
6759b7579f77SDag-Erling Smørgrav        # C++ shared libraries reported to be fairly broken before
6760b7579f77SDag-Erling Smørgrav	# switch to ELF
6761b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
6762b7579f77SDag-Erling Smørgrav        ;;
6763b7579f77SDag-Erling Smørgrav
6764b7579f77SDag-Erling Smørgrav      freebsd-elf*)
6765b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6766b7579f77SDag-Erling Smørgrav        ;;
6767b7579f77SDag-Erling Smørgrav
6768*46d2f618SCy Schubert      freebsd* | dragonfly*)
6769b7579f77SDag-Erling Smørgrav        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6770b7579f77SDag-Erling Smørgrav        # conventions
6771b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=yes
6772b7579f77SDag-Erling Smørgrav        ;;
6773b7579f77SDag-Erling Smørgrav
6774b7579f77SDag-Erling Smørgrav      haiku*)
6775f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6776b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(link_all_deplibs, $1)=yes
6777b7579f77SDag-Erling Smørgrav        ;;
6778b7579f77SDag-Erling Smørgrav
6779b7579f77SDag-Erling Smørgrav      hpux9*)
6780f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6781b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6782f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6783b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_direct, $1)=yes
6784b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6785b7579f77SDag-Erling Smørgrav				             # but as the default
6786b7579f77SDag-Erling Smørgrav				             # location of the library.
6787b7579f77SDag-Erling Smørgrav
6788b7579f77SDag-Erling Smørgrav        case $cc_basename in
6789b7579f77SDag-Erling Smørgrav          CC*)
6790b7579f77SDag-Erling Smørgrav            # FIXME: insert proper C++ library support
6791b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(ld_shlibs, $1)=no
6792b7579f77SDag-Erling Smørgrav            ;;
6793b7579f77SDag-Erling Smørgrav          aCC*)
6794f61ef7f6SDag-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'
6795b7579f77SDag-Erling Smørgrav            # Commands to make compiler produce verbose output that lists
6796b7579f77SDag-Erling Smørgrav            # what "hidden" libraries, object files and flags are used when
6797b7579f77SDag-Erling Smørgrav            # linking a shared library.
6798b7579f77SDag-Erling Smørgrav            #
6799b7579f77SDag-Erling Smørgrav            # There doesn't appear to be a way to prevent this compiler from
6800b7579f77SDag-Erling Smørgrav            # explicitly linking system object files so we need to strip them
6801b7579f77SDag-Erling Smørgrav            # from the output so that they don't get included in the library
6802b7579f77SDag-Erling Smørgrav            # dependencies.
6803f61ef7f6SDag-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"'
6804b7579f77SDag-Erling Smørgrav            ;;
6805b7579f77SDag-Erling Smørgrav          *)
6806f61ef7f6SDag-Erling Smørgrav            if test yes = "$GXX"; then
6807f61ef7f6SDag-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'
6808b7579f77SDag-Erling Smørgrav            else
6809b7579f77SDag-Erling Smørgrav              # FIXME: insert proper C++ library support
6810b7579f77SDag-Erling Smørgrav              _LT_TAGVAR(ld_shlibs, $1)=no
6811b7579f77SDag-Erling Smørgrav            fi
6812b7579f77SDag-Erling Smørgrav            ;;
6813b7579f77SDag-Erling Smørgrav        esac
6814b7579f77SDag-Erling Smørgrav        ;;
6815b7579f77SDag-Erling Smørgrav
6816b7579f77SDag-Erling Smørgrav      hpux10*|hpux11*)
6817f61ef7f6SDag-Erling Smørgrav        if test no = "$with_gnu_ld"; then
6818f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6819b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6820b7579f77SDag-Erling Smørgrav
6821b7579f77SDag-Erling Smørgrav          case $host_cpu in
6822b7579f77SDag-Erling Smørgrav            hppa*64*|ia64*)
6823b7579f77SDag-Erling Smørgrav              ;;
6824b7579f77SDag-Erling Smørgrav            *)
6825f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6826b7579f77SDag-Erling Smørgrav              ;;
6827b7579f77SDag-Erling Smørgrav          esac
6828b7579f77SDag-Erling Smørgrav        fi
6829b7579f77SDag-Erling Smørgrav        case $host_cpu in
6830b7579f77SDag-Erling Smørgrav          hppa*64*|ia64*)
6831b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct, $1)=no
6832b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6833b7579f77SDag-Erling Smørgrav            ;;
6834b7579f77SDag-Erling Smørgrav          *)
6835b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct, $1)=yes
6836b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6837b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6838b7579f77SDag-Erling Smørgrav					         # but as the default
6839b7579f77SDag-Erling Smørgrav					         # location of the library.
6840b7579f77SDag-Erling Smørgrav            ;;
6841b7579f77SDag-Erling Smørgrav        esac
6842b7579f77SDag-Erling Smørgrav
6843b7579f77SDag-Erling Smørgrav        case $cc_basename in
6844b7579f77SDag-Erling Smørgrav          CC*)
6845b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
6846b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
6847b7579f77SDag-Erling Smørgrav	    ;;
6848b7579f77SDag-Erling Smørgrav          aCC*)
6849b7579f77SDag-Erling Smørgrav	    case $host_cpu in
6850b7579f77SDag-Erling Smørgrav	      hppa*64*)
6851f61ef7f6SDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6852b7579f77SDag-Erling Smørgrav	        ;;
6853b7579f77SDag-Erling Smørgrav	      ia64*)
6854f61ef7f6SDag-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'
6855b7579f77SDag-Erling Smørgrav	        ;;
6856b7579f77SDag-Erling Smørgrav	      *)
6857f61ef7f6SDag-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'
6858b7579f77SDag-Erling Smørgrav	        ;;
6859b7579f77SDag-Erling Smørgrav	    esac
6860b7579f77SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
6861b7579f77SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
6862b7579f77SDag-Erling Smørgrav	    # linking a shared library.
6863b7579f77SDag-Erling Smørgrav	    #
6864b7579f77SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
6865b7579f77SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
6866b7579f77SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
6867b7579f77SDag-Erling Smørgrav	    # dependencies.
6868f61ef7f6SDag-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"'
6869b7579f77SDag-Erling Smørgrav	    ;;
6870b7579f77SDag-Erling Smørgrav          *)
6871f61ef7f6SDag-Erling Smørgrav	    if test yes = "$GXX"; then
6872f61ef7f6SDag-Erling Smørgrav	      if test no = "$with_gnu_ld"; then
6873b7579f77SDag-Erling Smørgrav	        case $host_cpu in
6874b7579f77SDag-Erling Smørgrav	          hppa*64*)
6875f61ef7f6SDag-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'
6876b7579f77SDag-Erling Smørgrav	            ;;
6877b7579f77SDag-Erling Smørgrav	          ia64*)
6878f61ef7f6SDag-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'
6879b7579f77SDag-Erling Smørgrav	            ;;
6880b7579f77SDag-Erling Smørgrav	          *)
6881f61ef7f6SDag-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'
6882b7579f77SDag-Erling Smørgrav	            ;;
6883b7579f77SDag-Erling Smørgrav	        esac
6884b7579f77SDag-Erling Smørgrav	      fi
6885b7579f77SDag-Erling Smørgrav	    else
6886b7579f77SDag-Erling Smørgrav	      # FIXME: insert proper C++ library support
6887b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(ld_shlibs, $1)=no
6888b7579f77SDag-Erling Smørgrav	    fi
6889b7579f77SDag-Erling Smørgrav	    ;;
6890b7579f77SDag-Erling Smørgrav        esac
6891b7579f77SDag-Erling Smørgrav        ;;
6892b7579f77SDag-Erling Smørgrav
6893b7579f77SDag-Erling Smørgrav      interix[[3-9]]*)
6894b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_direct, $1)=no
6895b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6896f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6897f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6898b7579f77SDag-Erling Smørgrav	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6899b7579f77SDag-Erling Smørgrav	# Instead, shared libraries are loaded at an image base (0x10000000 by
6900b7579f77SDag-Erling Smørgrav	# default) and relocated if they conflict, which is a slow very memory
6901b7579f77SDag-Erling Smørgrav	# consuming and fragmenting process.  To avoid this, we pick a random,
6902b7579f77SDag-Erling Smørgrav	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6903b7579f77SDag-Erling Smørgrav	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6904f61ef7f6SDag-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'
6905*46d2f618SCy Schubert	_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'
6906b7579f77SDag-Erling Smørgrav	;;
6907b7579f77SDag-Erling Smørgrav      irix5* | irix6*)
6908b7579f77SDag-Erling Smørgrav        case $cc_basename in
6909b7579f77SDag-Erling Smørgrav          CC*)
6910b7579f77SDag-Erling Smørgrav	    # SGI C++
6911f61ef7f6SDag-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'
6912b7579f77SDag-Erling Smørgrav
6913b7579f77SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
6914b7579f77SDag-Erling Smørgrav	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
6915b7579f77SDag-Erling Smørgrav	    # necessary to make sure instantiated templates are included
6916b7579f77SDag-Erling Smørgrav	    # in the archive.
6917b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6918b7579f77SDag-Erling Smørgrav	    ;;
6919b7579f77SDag-Erling Smørgrav          *)
6920f61ef7f6SDag-Erling Smørgrav	    if test yes = "$GXX"; then
6921f61ef7f6SDag-Erling Smørgrav	      if test no = "$with_gnu_ld"; then
6922f61ef7f6SDag-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'
6923b7579f77SDag-Erling Smørgrav	      else
6924f61ef7f6SDag-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'
6925b7579f77SDag-Erling Smørgrav	      fi
6926b7579f77SDag-Erling Smørgrav	    fi
6927b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6928b7579f77SDag-Erling Smørgrav	    ;;
6929b7579f77SDag-Erling Smørgrav        esac
6930f61ef7f6SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6931b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6932b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(inherit_rpath, $1)=yes
6933b7579f77SDag-Erling Smørgrav        ;;
6934b7579f77SDag-Erling Smørgrav
6935f61ef7f6SDag-Erling Smørgrav      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6936b7579f77SDag-Erling Smørgrav        case $cc_basename in
6937b7579f77SDag-Erling Smørgrav          KCC*)
6938b7579f77SDag-Erling Smørgrav	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6939b7579f77SDag-Erling Smørgrav
6940b7579f77SDag-Erling Smørgrav	    # KCC will only create a shared library if the output file
6941b7579f77SDag-Erling Smørgrav	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6942b7579f77SDag-Erling Smørgrav	    # to its proper name (with version) after linking.
6943f61ef7f6SDag-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'
6944f61ef7f6SDag-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'
6945b7579f77SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
6946b7579f77SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
6947b7579f77SDag-Erling Smørgrav	    # linking a shared library.
6948b7579f77SDag-Erling Smørgrav	    #
6949b7579f77SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
6950b7579f77SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
6951b7579f77SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
6952b7579f77SDag-Erling Smørgrav	    # dependencies.
6953f61ef7f6SDag-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"'
6954b7579f77SDag-Erling Smørgrav
6955f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6956f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6957b7579f77SDag-Erling Smørgrav
6958b7579f77SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
6959b7579f77SDag-Erling Smørgrav	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6960b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6961b7579f77SDag-Erling Smørgrav	    ;;
6962b7579f77SDag-Erling Smørgrav	  icpc* | ecpc* )
6963b7579f77SDag-Erling Smørgrav	    # Intel C++
6964b7579f77SDag-Erling Smørgrav	    with_gnu_ld=yes
6965b7579f77SDag-Erling Smørgrav	    # version 8.0 and above of icpc choke on multiply defined symbols
6966b7579f77SDag-Erling Smørgrav	    # if we add $predep_objects and $postdep_objects, however 7.1 and
6967b7579f77SDag-Erling Smørgrav	    # earlier do not add the objects themselves.
6968b7579f77SDag-Erling Smørgrav	    case `$CC -V 2>&1` in
6969b7579f77SDag-Erling Smørgrav	      *"Version 7."*)
6970f61ef7f6SDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6971f61ef7f6SDag-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'
6972b7579f77SDag-Erling Smørgrav		;;
6973b7579f77SDag-Erling Smørgrav	      *)  # Version 8.0 or newer
6974b7579f77SDag-Erling Smørgrav	        tmp_idyn=
6975b7579f77SDag-Erling Smørgrav	        case $host_cpu in
6976b7579f77SDag-Erling Smørgrav		  ia64*) tmp_idyn=' -i_dynamic';;
6977b7579f77SDag-Erling Smørgrav		esac
6978f61ef7f6SDag-Erling Smørgrav	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6979f61ef7f6SDag-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'
6980b7579f77SDag-Erling Smørgrav		;;
6981b7579f77SDag-Erling Smørgrav	    esac
6982b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6983f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6984f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6985f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6986b7579f77SDag-Erling Smørgrav	    ;;
6987b7579f77SDag-Erling Smørgrav          pgCC* | pgcpp*)
6988b7579f77SDag-Erling Smørgrav            # Portland Group C++ compiler
6989b7579f77SDag-Erling Smørgrav	    case `$CC -V` in
6990b7579f77SDag-Erling Smørgrav	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6991b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6992b7579f77SDag-Erling Smørgrav               rm -rf $tpldir~
6993b7579f77SDag-Erling Smørgrav               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6994b7579f77SDag-Erling Smørgrav               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6995b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6996b7579f77SDag-Erling Smørgrav                rm -rf $tpldir~
6997b7579f77SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6998b7579f77SDag-Erling Smørgrav                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6999b7579f77SDag-Erling Smørgrav                $RANLIB $oldlib'
7000b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7001b7579f77SDag-Erling Smørgrav                rm -rf $tpldir~
7002b7579f77SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7003f61ef7f6SDag-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'
7004b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7005b7579f77SDag-Erling Smørgrav                rm -rf $tpldir~
7006b7579f77SDag-Erling Smørgrav                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7007f61ef7f6SDag-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'
7008b7579f77SDag-Erling Smørgrav	      ;;
7009b7579f77SDag-Erling Smørgrav	    *) # Version 6 and above use weak symbols
7010f61ef7f6SDag-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'
7011f61ef7f6SDag-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'
7012b7579f77SDag-Erling Smørgrav	      ;;
7013b7579f77SDag-Erling Smørgrav	    esac
7014b7579f77SDag-Erling Smørgrav
7015f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7016f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7017f61ef7f6SDag-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'
7018b7579f77SDag-Erling Smørgrav            ;;
7019b7579f77SDag-Erling Smørgrav	  cxx*)
7020b7579f77SDag-Erling Smørgrav	    # Compaq C++
7021f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7022f61ef7f6SDag-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'
7023b7579f77SDag-Erling Smørgrav
7024b7579f77SDag-Erling Smørgrav	    runpath_var=LD_RUN_PATH
7025b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7026b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7027b7579f77SDag-Erling Smørgrav
7028b7579f77SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
7029b7579f77SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
7030b7579f77SDag-Erling Smørgrav	    # linking a shared library.
7031b7579f77SDag-Erling Smørgrav	    #
7032b7579f77SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
7033b7579f77SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
7034b7579f77SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
7035b7579f77SDag-Erling Smørgrav	    # dependencies.
7036f61ef7f6SDag-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'
7037b7579f77SDag-Erling Smørgrav	    ;;
7038b7579f77SDag-Erling Smørgrav	  xl* | mpixl* | bgxl*)
7039b7579f77SDag-Erling Smørgrav	    # IBM XL 8.0 on PPC, with GNU ld
7040f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7041f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7042f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7043f61ef7f6SDag-Erling Smørgrav	    if test yes = "$supports_anon_versioning"; then
7044b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7045*46d2f618SCy Schubert                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7046b7579f77SDag-Erling Smørgrav                echo "local: *; };" >> $output_objdir/$libname.ver~
7047f61ef7f6SDag-Erling Smørgrav                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7048b7579f77SDag-Erling Smørgrav	    fi
7049b7579f77SDag-Erling Smørgrav	    ;;
7050b7579f77SDag-Erling Smørgrav	  *)
7051*46d2f618SCy Schubert	    case `$CC -V 2>&1 | sed 5q` in
7052b7579f77SDag-Erling Smørgrav	    *Sun\ C*)
7053b7579f77SDag-Erling Smørgrav	      # Sun C++ 5.9
7054b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7055f61ef7f6SDag-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'
7056f61ef7f6SDag-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'
7057b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7058f61ef7f6SDag-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'
7059b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(compiler_needs_object, $1)=yes
7060b7579f77SDag-Erling Smørgrav
7061b7579f77SDag-Erling Smørgrav	      # Not sure whether something based on
7062b7579f77SDag-Erling Smørgrav	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7063b7579f77SDag-Erling Smørgrav	      # would be better.
7064b7579f77SDag-Erling Smørgrav	      output_verbose_link_cmd='func_echo_all'
7065b7579f77SDag-Erling Smørgrav
7066b7579f77SDag-Erling Smørgrav	      # Archives containing C++ object files must be created using
7067b7579f77SDag-Erling Smørgrav	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
7068b7579f77SDag-Erling Smørgrav	      # necessary to make sure instantiated templates are included
7069b7579f77SDag-Erling Smørgrav	      # in the archive.
7070b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7071b7579f77SDag-Erling Smørgrav	      ;;
7072b7579f77SDag-Erling Smørgrav	    esac
7073b7579f77SDag-Erling Smørgrav	    ;;
7074b7579f77SDag-Erling Smørgrav	esac
7075b7579f77SDag-Erling Smørgrav	;;
7076b7579f77SDag-Erling Smørgrav
7077b7579f77SDag-Erling Smørgrav      lynxos*)
7078b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
7079b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(ld_shlibs, $1)=no
7080b7579f77SDag-Erling Smørgrav	;;
7081b7579f77SDag-Erling Smørgrav
7082b7579f77SDag-Erling Smørgrav      m88k*)
7083b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
7084b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
7085b7579f77SDag-Erling Smørgrav	;;
7086b7579f77SDag-Erling Smørgrav
7087b7579f77SDag-Erling Smørgrav      mvs*)
7088b7579f77SDag-Erling Smørgrav        case $cc_basename in
7089b7579f77SDag-Erling Smørgrav          cxx*)
7090b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7091b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7092b7579f77SDag-Erling Smørgrav	    ;;
7093b7579f77SDag-Erling Smørgrav	  *)
7094b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7095b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7096b7579f77SDag-Erling Smørgrav	    ;;
7097b7579f77SDag-Erling Smørgrav	esac
7098b7579f77SDag-Erling Smørgrav	;;
7099b7579f77SDag-Erling Smørgrav
7100b7579f77SDag-Erling Smørgrav      netbsd*)
7101b7579f77SDag-Erling Smørgrav        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7102b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7103b7579f77SDag-Erling Smørgrav	  wlarc=
7104b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7105b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
7106b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7107b7579f77SDag-Erling Smørgrav	fi
7108b7579f77SDag-Erling Smørgrav	# Workaround some broken pre-1.5 toolchains
7109b7579f77SDag-Erling Smørgrav	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7110b7579f77SDag-Erling Smørgrav	;;
7111b7579f77SDag-Erling Smørgrav
7112b7579f77SDag-Erling Smørgrav      *nto* | *qnx*)
7113b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=yes
7114b7579f77SDag-Erling Smørgrav	;;
7115b7579f77SDag-Erling Smørgrav
7116f61ef7f6SDag-Erling Smørgrav      openbsd* | bitrig*)
7117b7579f77SDag-Erling Smørgrav	if test -f /usr/libexec/ld.so; then
7118b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct, $1)=yes
7119b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7120b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7121b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7122f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7123f61ef7f6SDag-Erling Smørgrav	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7124f61ef7f6SDag-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'
7125f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7126f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7127b7579f77SDag-Erling Smørgrav	  fi
7128b7579f77SDag-Erling Smørgrav	  output_verbose_link_cmd=func_echo_all
7129b7579f77SDag-Erling Smørgrav	else
7130b7579f77SDag-Erling Smørgrav	  _LT_TAGVAR(ld_shlibs, $1)=no
7131b7579f77SDag-Erling Smørgrav	fi
7132b7579f77SDag-Erling Smørgrav	;;
7133b7579f77SDag-Erling Smørgrav
7134b7579f77SDag-Erling Smørgrav      osf3* | osf4* | osf5*)
7135b7579f77SDag-Erling Smørgrav        case $cc_basename in
7136b7579f77SDag-Erling Smørgrav          KCC*)
7137b7579f77SDag-Erling Smørgrav	    # Kuck and Associates, Inc. (KAI) C++ Compiler
7138b7579f77SDag-Erling Smørgrav
7139b7579f77SDag-Erling Smørgrav	    # KCC will only create a shared library if the output file
7140b7579f77SDag-Erling Smørgrav	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
7141b7579f77SDag-Erling Smørgrav	    # to its proper name (with version) after linking.
7142f61ef7f6SDag-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'
7143b7579f77SDag-Erling Smørgrav
7144f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7145b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7146b7579f77SDag-Erling Smørgrav
7147b7579f77SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
7148b7579f77SDag-Erling Smørgrav	    # the KAI C++ compiler.
7149b7579f77SDag-Erling Smørgrav	    case $host in
7150b7579f77SDag-Erling Smørgrav	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7151b7579f77SDag-Erling Smørgrav	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7152b7579f77SDag-Erling Smørgrav	    esac
7153b7579f77SDag-Erling Smørgrav	    ;;
7154b7579f77SDag-Erling Smørgrav          RCC*)
7155b7579f77SDag-Erling Smørgrav	    # Rational C++ 2.4.1
7156b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7157b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7158b7579f77SDag-Erling Smørgrav	    ;;
7159b7579f77SDag-Erling Smørgrav          cxx*)
7160b7579f77SDag-Erling Smørgrav	    case $host in
7161b7579f77SDag-Erling Smørgrav	      osf3*)
7162f61ef7f6SDag-Erling Smørgrav	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7163f61ef7f6SDag-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'
7164f61ef7f6SDag-Erling Smørgrav	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7165b7579f77SDag-Erling Smørgrav		;;
7166b7579f77SDag-Erling Smørgrav	      *)
7167b7579f77SDag-Erling Smørgrav	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7168f61ef7f6SDag-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'
7169b7579f77SDag-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~
7170b7579f77SDag-Erling Smørgrav                  echo "-hidden">> $lib.exp~
7171f61ef7f6SDag-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~
7172b7579f77SDag-Erling Smørgrav                  $RM $lib.exp'
7173b7579f77SDag-Erling Smørgrav	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7174b7579f77SDag-Erling Smørgrav		;;
7175b7579f77SDag-Erling Smørgrav	    esac
7176b7579f77SDag-Erling Smørgrav
7177b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7178b7579f77SDag-Erling Smørgrav
7179b7579f77SDag-Erling Smørgrav	    # Commands to make compiler produce verbose output that lists
7180b7579f77SDag-Erling Smørgrav	    # what "hidden" libraries, object files and flags are used when
7181b7579f77SDag-Erling Smørgrav	    # linking a shared library.
7182b7579f77SDag-Erling Smørgrav	    #
7183b7579f77SDag-Erling Smørgrav	    # There doesn't appear to be a way to prevent this compiler from
7184b7579f77SDag-Erling Smørgrav	    # explicitly linking system object files so we need to strip them
7185b7579f77SDag-Erling Smørgrav	    # from the output so that they don't get included in the library
7186b7579f77SDag-Erling Smørgrav	    # dependencies.
7187f61ef7f6SDag-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"'
7188b7579f77SDag-Erling Smørgrav	    ;;
7189b7579f77SDag-Erling Smørgrav	  *)
7190f61ef7f6SDag-Erling Smørgrav	    if test yes,no = "$GXX,$with_gnu_ld"; then
7191f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7192b7579f77SDag-Erling Smørgrav	      case $host in
7193b7579f77SDag-Erling Smørgrav	        osf3*)
7194f61ef7f6SDag-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'
7195b7579f77SDag-Erling Smørgrav		  ;;
7196b7579f77SDag-Erling Smørgrav	        *)
7197f61ef7f6SDag-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'
7198b7579f77SDag-Erling Smørgrav		  ;;
7199b7579f77SDag-Erling Smørgrav	      esac
7200b7579f77SDag-Erling Smørgrav
7201f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7202b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7203b7579f77SDag-Erling Smørgrav
7204b7579f77SDag-Erling Smørgrav	      # Commands to make compiler produce verbose output that lists
7205b7579f77SDag-Erling Smørgrav	      # what "hidden" libraries, object files and flags are used when
7206b7579f77SDag-Erling Smørgrav	      # linking a shared library.
7207b7579f77SDag-Erling Smørgrav	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7208b7579f77SDag-Erling Smørgrav
7209b7579f77SDag-Erling Smørgrav	    else
7210b7579f77SDag-Erling Smørgrav	      # FIXME: insert proper C++ library support
7211b7579f77SDag-Erling Smørgrav	      _LT_TAGVAR(ld_shlibs, $1)=no
7212b7579f77SDag-Erling Smørgrav	    fi
7213b7579f77SDag-Erling Smørgrav	    ;;
7214b7579f77SDag-Erling Smørgrav        esac
7215b7579f77SDag-Erling Smørgrav        ;;
7216b7579f77SDag-Erling Smørgrav
7217b7579f77SDag-Erling Smørgrav      psos*)
7218b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
7219b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
7220b7579f77SDag-Erling Smørgrav        ;;
7221b7579f77SDag-Erling Smørgrav
7222b7579f77SDag-Erling Smørgrav      sunos4*)
7223b7579f77SDag-Erling Smørgrav        case $cc_basename in
7224b7579f77SDag-Erling Smørgrav          CC*)
7225b7579f77SDag-Erling Smørgrav	    # Sun C++ 4.x
7226b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7227b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7228b7579f77SDag-Erling Smørgrav	    ;;
7229b7579f77SDag-Erling Smørgrav          lcc*)
7230b7579f77SDag-Erling Smørgrav	    # Lucid
7231b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7232b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7233b7579f77SDag-Erling Smørgrav	    ;;
7234b7579f77SDag-Erling Smørgrav          *)
7235b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7236b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7237b7579f77SDag-Erling Smørgrav	    ;;
7238b7579f77SDag-Erling Smørgrav        esac
7239b7579f77SDag-Erling Smørgrav        ;;
7240b7579f77SDag-Erling Smørgrav
7241b7579f77SDag-Erling Smørgrav      solaris*)
7242b7579f77SDag-Erling Smørgrav        case $cc_basename in
7243b7579f77SDag-Erling Smørgrav          CC* | sunCC*)
7244b7579f77SDag-Erling Smørgrav	    # Sun C++ 4.2, 5.x and Centerline C++
7245b7579f77SDag-Erling Smørgrav            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7246b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7247f61ef7f6SDag-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'
7248b7579f77SDag-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~
7249f61ef7f6SDag-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'
7250b7579f77SDag-Erling Smørgrav
7251b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7252b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7253b7579f77SDag-Erling Smørgrav	    case $host_os in
7254b7579f77SDag-Erling Smørgrav	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7255b7579f77SDag-Erling Smørgrav	      *)
7256b7579f77SDag-Erling Smørgrav		# The compiler driver will combine and reorder linker options,
7257f61ef7f6SDag-Erling Smørgrav		# but understands '-z linker_flag'.
7258b7579f77SDag-Erling Smørgrav	        # Supported since Solaris 2.6 (maybe 2.5.1?)
7259b7579f77SDag-Erling Smørgrav		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7260b7579f77SDag-Erling Smørgrav	        ;;
7261b7579f77SDag-Erling Smørgrav	    esac
7262b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(link_all_deplibs, $1)=yes
7263b7579f77SDag-Erling Smørgrav
7264b7579f77SDag-Erling Smørgrav	    output_verbose_link_cmd='func_echo_all'
7265b7579f77SDag-Erling Smørgrav
7266b7579f77SDag-Erling Smørgrav	    # Archives containing C++ object files must be created using
7267b7579f77SDag-Erling Smørgrav	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
7268b7579f77SDag-Erling Smørgrav	    # necessary to make sure instantiated templates are included
7269b7579f77SDag-Erling Smørgrav	    # in the archive.
7270b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7271b7579f77SDag-Erling Smørgrav	    ;;
7272b7579f77SDag-Erling Smørgrav          gcx*)
7273b7579f77SDag-Erling Smørgrav	    # Green Hills C++ Compiler
7274f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7275b7579f77SDag-Erling Smørgrav
7276b7579f77SDag-Erling Smørgrav	    # The C++ compiler must be used to create the archive.
7277b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7278b7579f77SDag-Erling Smørgrav	    ;;
7279b7579f77SDag-Erling Smørgrav          *)
7280b7579f77SDag-Erling Smørgrav	    # GNU C++ compiler with Solaris linker
7281f61ef7f6SDag-Erling Smørgrav	    if test yes,no = "$GXX,$with_gnu_ld"; then
7282f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7283b7579f77SDag-Erling Smørgrav	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7284f61ef7f6SDag-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'
7285b7579f77SDag-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~
7286f61ef7f6SDag-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'
7287b7579f77SDag-Erling Smørgrav
7288b7579f77SDag-Erling Smørgrav	        # Commands to make compiler produce verbose output that lists
7289b7579f77SDag-Erling Smørgrav	        # what "hidden" libraries, object files and flags are used when
7290b7579f77SDag-Erling Smørgrav	        # linking a shared library.
7291b7579f77SDag-Erling Smørgrav	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7292b7579f77SDag-Erling Smørgrav	      else
7293f61ef7f6SDag-Erling Smørgrav	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
7294b7579f77SDag-Erling Smørgrav	        # platform.
7295f61ef7f6SDag-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'
7296b7579f77SDag-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~
7297f61ef7f6SDag-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'
7298b7579f77SDag-Erling Smørgrav
7299b7579f77SDag-Erling Smørgrav	        # Commands to make compiler produce verbose output that lists
7300b7579f77SDag-Erling Smørgrav	        # what "hidden" libraries, object files and flags are used when
7301b7579f77SDag-Erling Smørgrav	        # linking a shared library.
7302b7579f77SDag-Erling Smørgrav	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7303b7579f77SDag-Erling Smørgrav	      fi
7304b7579f77SDag-Erling Smørgrav
7305f61ef7f6SDag-Erling Smørgrav	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7306b7579f77SDag-Erling Smørgrav	      case $host_os in
7307b7579f77SDag-Erling Smørgrav		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7308b7579f77SDag-Erling Smørgrav		*)
7309f61ef7f6SDag-Erling Smørgrav		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7310b7579f77SDag-Erling Smørgrav		  ;;
7311b7579f77SDag-Erling Smørgrav	      esac
7312b7579f77SDag-Erling Smørgrav	    fi
7313b7579f77SDag-Erling Smørgrav	    ;;
7314b7579f77SDag-Erling Smørgrav        esac
7315b7579f77SDag-Erling Smørgrav        ;;
7316b7579f77SDag-Erling Smørgrav
7317b7579f77SDag-Erling Smørgrav    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7318f61ef7f6SDag-Erling Smørgrav      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7319b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7320b7579f77SDag-Erling Smørgrav      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7321b7579f77SDag-Erling Smørgrav      runpath_var='LD_RUN_PATH'
7322b7579f77SDag-Erling Smørgrav
7323b7579f77SDag-Erling Smørgrav      case $cc_basename in
7324b7579f77SDag-Erling Smørgrav        CC*)
7325f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7326f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7327b7579f77SDag-Erling Smørgrav	  ;;
7328b7579f77SDag-Erling Smørgrav	*)
7329f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7330f61ef7f6SDag-Erling Smørgrav	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7331b7579f77SDag-Erling Smørgrav	  ;;
7332b7579f77SDag-Erling Smørgrav      esac
7333b7579f77SDag-Erling Smørgrav      ;;
7334b7579f77SDag-Erling Smørgrav
7335b7579f77SDag-Erling Smørgrav      sysv5* | sco3.2v5* | sco5v6*)
7336f61ef7f6SDag-Erling Smørgrav	# Note: We CANNOT use -z defs as we might desire, because we do not
7337b7579f77SDag-Erling Smørgrav	# link with -lc, and that would cause any symbols used from libc to
7338b7579f77SDag-Erling Smørgrav	# always be unresolved, which means just about no library would
7339b7579f77SDag-Erling Smørgrav	# ever link correctly.  If we're not using GNU ld we use -z text
7340b7579f77SDag-Erling Smørgrav	# though, which does catch some bad symbols but isn't as heavy-handed
7341b7579f77SDag-Erling Smørgrav	# as -z defs.
7342f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7343f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7344b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7345b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7346f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7347b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7348b7579f77SDag-Erling Smørgrav	_LT_TAGVAR(link_all_deplibs, $1)=yes
7349f61ef7f6SDag-Erling Smørgrav	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7350b7579f77SDag-Erling Smørgrav	runpath_var='LD_RUN_PATH'
7351b7579f77SDag-Erling Smørgrav
7352b7579f77SDag-Erling Smørgrav	case $cc_basename in
7353b7579f77SDag-Erling Smørgrav          CC*)
7354f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7355f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7356b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7357b7579f77SDag-Erling Smørgrav              '"$_LT_TAGVAR(old_archive_cmds, $1)"
7358b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7359b7579f77SDag-Erling Smørgrav              '"$_LT_TAGVAR(reload_cmds, $1)"
7360b7579f77SDag-Erling Smørgrav	    ;;
7361b7579f77SDag-Erling Smørgrav	  *)
7362f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7363f61ef7f6SDag-Erling Smørgrav	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7364b7579f77SDag-Erling Smørgrav	    ;;
7365b7579f77SDag-Erling Smørgrav	esac
7366b7579f77SDag-Erling Smørgrav      ;;
7367b7579f77SDag-Erling Smørgrav
7368b7579f77SDag-Erling Smørgrav      tandem*)
7369b7579f77SDag-Erling Smørgrav        case $cc_basename in
7370b7579f77SDag-Erling Smørgrav          NCC*)
7371b7579f77SDag-Erling Smørgrav	    # NonStop-UX NCC 3.20
7372b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7373b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7374b7579f77SDag-Erling Smørgrav	    ;;
7375b7579f77SDag-Erling Smørgrav          *)
7376b7579f77SDag-Erling Smørgrav	    # FIXME: insert proper C++ library support
7377b7579f77SDag-Erling Smørgrav	    _LT_TAGVAR(ld_shlibs, $1)=no
7378b7579f77SDag-Erling Smørgrav	    ;;
7379b7579f77SDag-Erling Smørgrav        esac
7380b7579f77SDag-Erling Smørgrav        ;;
7381b7579f77SDag-Erling Smørgrav
7382b7579f77SDag-Erling Smørgrav      vxworks*)
7383b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
7384b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
7385b7579f77SDag-Erling Smørgrav        ;;
7386b7579f77SDag-Erling Smørgrav
7387b7579f77SDag-Erling Smørgrav      *)
7388b7579f77SDag-Erling Smørgrav        # FIXME: insert proper C++ library support
7389b7579f77SDag-Erling Smørgrav        _LT_TAGVAR(ld_shlibs, $1)=no
7390b7579f77SDag-Erling Smørgrav        ;;
7391b7579f77SDag-Erling Smørgrav    esac
7392b7579f77SDag-Erling Smørgrav
7393b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7394f61ef7f6SDag-Erling Smørgrav    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7395b7579f77SDag-Erling Smørgrav
7396f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$GXX
7397f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
7398b7579f77SDag-Erling Smørgrav
7399b7579f77SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
7400b7579f77SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
7401b7579f77SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
7402b7579f77SDag-Erling Smørgrav    ## what you are doing...
7403b7579f77SDag-Erling Smørgrav    _LT_SYS_HIDDEN_LIBDEPS($1)
7404b7579f77SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
7405b7579f77SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
7406b7579f77SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
7407b7579f77SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
7408b7579f77SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
7409b7579f77SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
7410b7579f77SDag-Erling Smørgrav
7411b7579f77SDag-Erling Smørgrav    _LT_CONFIG($1)
7412b7579f77SDag-Erling Smørgrav  fi # test -n "$compiler"
7413b7579f77SDag-Erling Smørgrav
7414b7579f77SDag-Erling Smørgrav  CC=$lt_save_CC
7415b7579f77SDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
7416b7579f77SDag-Erling Smørgrav  LDCXX=$LD
7417b7579f77SDag-Erling Smørgrav  LD=$lt_save_LD
7418b7579f77SDag-Erling Smørgrav  GCC=$lt_save_GCC
7419b7579f77SDag-Erling Smørgrav  with_gnu_ld=$lt_save_with_gnu_ld
7420b7579f77SDag-Erling Smørgrav  lt_cv_path_LDCXX=$lt_cv_path_LD
7421b7579f77SDag-Erling Smørgrav  lt_cv_path_LD=$lt_save_path_LD
7422b7579f77SDag-Erling Smørgrav  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7423b7579f77SDag-Erling Smørgrav  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7424f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_caught_CXX_error"
7425b7579f77SDag-Erling Smørgrav
7426b7579f77SDag-Erling SmørgravAC_LANG_POP
7427b7579f77SDag-Erling Smørgrav])# _LT_LANG_CXX_CONFIG
7428b7579f77SDag-Erling Smørgrav
7429b7579f77SDag-Erling Smørgrav
7430b7579f77SDag-Erling Smørgrav# _LT_FUNC_STRIPNAME_CNF
7431b7579f77SDag-Erling Smørgrav# ----------------------
7432b7579f77SDag-Erling Smørgrav# func_stripname_cnf prefix suffix name
7433b7579f77SDag-Erling Smørgrav# strip PREFIX and SUFFIX off of NAME.
7434b7579f77SDag-Erling Smørgrav# PREFIX and SUFFIX must not contain globbing or regex special
7435b7579f77SDag-Erling Smørgrav# characters, hashes, percent signs, but SUFFIX may contain a leading
7436b7579f77SDag-Erling Smørgrav# dot (in which case that matches only a dot).
7437b7579f77SDag-Erling Smørgrav#
7438b7579f77SDag-Erling Smørgrav# This function is identical to the (non-XSI) version of func_stripname,
7439b7579f77SDag-Erling Smørgrav# except this one can be used by m4 code that may be executed by configure,
7440b7579f77SDag-Erling Smørgrav# rather than the libtool script.
7441b7579f77SDag-Erling Smørgravm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7442b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_DECL_SED])
7443b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7444b7579f77SDag-Erling Smørgravfunc_stripname_cnf ()
7445b7579f77SDag-Erling Smørgrav{
7446f61ef7f6SDag-Erling Smørgrav  case @S|@2 in
7447f61ef7f6SDag-Erling Smørgrav  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7448f61ef7f6SDag-Erling Smørgrav  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7449b7579f77SDag-Erling Smørgrav  esac
7450b7579f77SDag-Erling Smørgrav} # func_stripname_cnf
7451b7579f77SDag-Erling Smørgrav])# _LT_FUNC_STRIPNAME_CNF
7452b7579f77SDag-Erling Smørgrav
7453f61ef7f6SDag-Erling Smørgrav
7454b7579f77SDag-Erling Smørgrav# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7455b7579f77SDag-Erling Smørgrav# ---------------------------------
7456b7579f77SDag-Erling Smørgrav# Figure out "hidden" library dependencies from verbose
7457b7579f77SDag-Erling Smørgrav# compiler output when linking a shared library.
7458b7579f77SDag-Erling Smørgrav# Parse the compiler output and extract the necessary
7459b7579f77SDag-Erling Smørgrav# objects, libraries and library flags.
7460b7579f77SDag-Erling Smørgravm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7461b7579f77SDag-Erling Smørgrav[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7462b7579f77SDag-Erling SmørgravAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7463b7579f77SDag-Erling Smørgrav# Dependencies to place before and after the object being linked:
7464b7579f77SDag-Erling Smørgrav_LT_TAGVAR(predep_objects, $1)=
7465b7579f77SDag-Erling Smørgrav_LT_TAGVAR(postdep_objects, $1)=
7466b7579f77SDag-Erling Smørgrav_LT_TAGVAR(predeps, $1)=
7467b7579f77SDag-Erling Smørgrav_LT_TAGVAR(postdeps, $1)=
7468b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler_lib_search_path, $1)=
7469b7579f77SDag-Erling Smørgrav
7470b7579f77SDag-Erling Smørgravdnl we can't use the lt_simple_compile_test_code here,
7471b7579f77SDag-Erling Smørgravdnl because it contains code intended for an executable,
7472b7579f77SDag-Erling Smørgravdnl not a library.  It's possible we should let each
7473b7579f77SDag-Erling Smørgravdnl tag define a new lt_????_link_test_code variable,
7474b7579f77SDag-Erling Smørgravdnl but it's only used here...
7475b7579f77SDag-Erling Smørgravm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7476b7579f77SDag-Erling Smørgravint a;
7477b7579f77SDag-Erling Smørgravvoid foo (void) { a = 0; }
7478b7579f77SDag-Erling Smørgrav_LT_EOF
7479b7579f77SDag-Erling Smørgrav], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7480b7579f77SDag-Erling Smørgravclass Foo
7481b7579f77SDag-Erling Smørgrav{
7482b7579f77SDag-Erling Smørgravpublic:
7483b7579f77SDag-Erling Smørgrav  Foo (void) { a = 0; }
7484b7579f77SDag-Erling Smørgravprivate:
7485b7579f77SDag-Erling Smørgrav  int a;
7486b7579f77SDag-Erling Smørgrav};
7487b7579f77SDag-Erling Smørgrav_LT_EOF
7488b7579f77SDag-Erling Smørgrav], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7489b7579f77SDag-Erling Smørgrav      subroutine foo
7490b7579f77SDag-Erling Smørgrav      implicit none
7491b7579f77SDag-Erling Smørgrav      integer*4 a
7492b7579f77SDag-Erling Smørgrav      a=0
7493b7579f77SDag-Erling Smørgrav      return
7494b7579f77SDag-Erling Smørgrav      end
7495b7579f77SDag-Erling Smørgrav_LT_EOF
7496b7579f77SDag-Erling Smørgrav], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7497b7579f77SDag-Erling Smørgrav      subroutine foo
7498b7579f77SDag-Erling Smørgrav      implicit none
7499b7579f77SDag-Erling Smørgrav      integer a
7500b7579f77SDag-Erling Smørgrav      a=0
7501b7579f77SDag-Erling Smørgrav      return
7502b7579f77SDag-Erling Smørgrav      end
7503b7579f77SDag-Erling Smørgrav_LT_EOF
7504b7579f77SDag-Erling Smørgrav], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7505b7579f77SDag-Erling Smørgravpublic class foo {
7506b7579f77SDag-Erling Smørgrav  private int a;
7507b7579f77SDag-Erling Smørgrav  public void bar (void) {
7508b7579f77SDag-Erling Smørgrav    a = 0;
7509b7579f77SDag-Erling Smørgrav  }
7510b7579f77SDag-Erling Smørgrav};
7511b7579f77SDag-Erling Smørgrav_LT_EOF
75128ed2b524SDag-Erling Smørgrav], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
75138ed2b524SDag-Erling Smørgravpackage foo
75148ed2b524SDag-Erling Smørgravfunc foo() {
75158ed2b524SDag-Erling Smørgrav}
75168ed2b524SDag-Erling Smørgrav_LT_EOF
7517b7579f77SDag-Erling Smørgrav])
7518b7579f77SDag-Erling Smørgrav
7519b7579f77SDag-Erling Smørgrav_lt_libdeps_save_CFLAGS=$CFLAGS
7520b7579f77SDag-Erling Smørgravcase "$CC $CFLAGS " in #(
7521b7579f77SDag-Erling Smørgrav*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7522b7579f77SDag-Erling Smørgrav*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
75238ed2b524SDag-Erling Smørgrav*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7524b7579f77SDag-Erling Smørgravesac
7525b7579f77SDag-Erling Smørgrav
7526b7579f77SDag-Erling Smørgravdnl Parse the compiler output and extract the necessary
7527b7579f77SDag-Erling Smørgravdnl objects, libraries and library flags.
7528b7579f77SDag-Erling Smørgravif AC_TRY_EVAL(ac_compile); then
7529b7579f77SDag-Erling Smørgrav  # Parse the compiler output and extract the necessary
7530b7579f77SDag-Erling Smørgrav  # objects, libraries and library flags.
7531b7579f77SDag-Erling Smørgrav
7532b7579f77SDag-Erling Smørgrav  # Sentinel used to keep track of whether or not we are before
7533b7579f77SDag-Erling Smørgrav  # the conftest object file.
7534b7579f77SDag-Erling Smørgrav  pre_test_object_deps_done=no
7535b7579f77SDag-Erling Smørgrav
7536b7579f77SDag-Erling Smørgrav  for p in `eval "$output_verbose_link_cmd"`; do
7537f61ef7f6SDag-Erling Smørgrav    case $prev$p in
7538b7579f77SDag-Erling Smørgrav
7539b7579f77SDag-Erling Smørgrav    -L* | -R* | -l*)
7540b7579f77SDag-Erling Smørgrav       # Some compilers place space between "-{L,R}" and the path.
7541b7579f77SDag-Erling Smørgrav       # Remove the space.
7542f61ef7f6SDag-Erling Smørgrav       if test x-L = "$p" ||
7543f61ef7f6SDag-Erling Smørgrav          test x-R = "$p"; then
7544b7579f77SDag-Erling Smørgrav	 prev=$p
7545b7579f77SDag-Erling Smørgrav	 continue
7546b7579f77SDag-Erling Smørgrav       fi
7547b7579f77SDag-Erling Smørgrav
7548b7579f77SDag-Erling Smørgrav       # Expand the sysroot to ease extracting the directories later.
7549b7579f77SDag-Erling Smørgrav       if test -z "$prev"; then
7550b7579f77SDag-Erling Smørgrav         case $p in
7551b7579f77SDag-Erling Smørgrav         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7552b7579f77SDag-Erling Smørgrav         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7553b7579f77SDag-Erling Smørgrav         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7554b7579f77SDag-Erling Smørgrav         esac
7555b7579f77SDag-Erling Smørgrav       fi
7556b7579f77SDag-Erling Smørgrav       case $p in
7557b7579f77SDag-Erling Smørgrav       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7558b7579f77SDag-Erling Smørgrav       esac
7559f61ef7f6SDag-Erling Smørgrav       if test no = "$pre_test_object_deps_done"; then
7560f61ef7f6SDag-Erling Smørgrav	 case $prev in
7561b7579f77SDag-Erling Smørgrav	 -L | -R)
7562b7579f77SDag-Erling Smørgrav	   # Internal compiler library paths should come after those
7563b7579f77SDag-Erling Smørgrav	   # provided the user.  The postdeps already come after the
7564b7579f77SDag-Erling Smørgrav	   # user supplied libs so there is no need to process them.
7565b7579f77SDag-Erling Smørgrav	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7566f61ef7f6SDag-Erling Smørgrav	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7567b7579f77SDag-Erling Smørgrav	   else
7568f61ef7f6SDag-Erling Smørgrav	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7569b7579f77SDag-Erling Smørgrav	   fi
7570b7579f77SDag-Erling Smørgrav	   ;;
7571b7579f77SDag-Erling Smørgrav	 # The "-l" case would never come before the object being
7572b7579f77SDag-Erling Smørgrav	 # linked, so don't bother handling this case.
7573b7579f77SDag-Erling Smørgrav	 esac
7574b7579f77SDag-Erling Smørgrav       else
7575b7579f77SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7576f61ef7f6SDag-Erling Smørgrav	   _LT_TAGVAR(postdeps, $1)=$prev$p
7577b7579f77SDag-Erling Smørgrav	 else
7578f61ef7f6SDag-Erling Smørgrav	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7579b7579f77SDag-Erling Smørgrav	 fi
7580b7579f77SDag-Erling Smørgrav       fi
7581b7579f77SDag-Erling Smørgrav       prev=
7582b7579f77SDag-Erling Smørgrav       ;;
7583b7579f77SDag-Erling Smørgrav
7584b7579f77SDag-Erling Smørgrav    *.lto.$objext) ;; # Ignore GCC LTO objects
7585b7579f77SDag-Erling Smørgrav    *.$objext)
7586b7579f77SDag-Erling Smørgrav       # This assumes that the test object file only shows up
7587b7579f77SDag-Erling Smørgrav       # once in the compiler output.
7588b7579f77SDag-Erling Smørgrav       if test "$p" = "conftest.$objext"; then
7589b7579f77SDag-Erling Smørgrav	 pre_test_object_deps_done=yes
7590b7579f77SDag-Erling Smørgrav	 continue
7591b7579f77SDag-Erling Smørgrav       fi
7592b7579f77SDag-Erling Smørgrav
7593f61ef7f6SDag-Erling Smørgrav       if test no = "$pre_test_object_deps_done"; then
7594b7579f77SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7595f61ef7f6SDag-Erling Smørgrav	   _LT_TAGVAR(predep_objects, $1)=$p
7596b7579f77SDag-Erling Smørgrav	 else
7597b7579f77SDag-Erling Smørgrav	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7598b7579f77SDag-Erling Smørgrav	 fi
7599b7579f77SDag-Erling Smørgrav       else
7600b7579f77SDag-Erling Smørgrav	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7601f61ef7f6SDag-Erling Smørgrav	   _LT_TAGVAR(postdep_objects, $1)=$p
7602b7579f77SDag-Erling Smørgrav	 else
7603b7579f77SDag-Erling Smørgrav	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7604b7579f77SDag-Erling Smørgrav	 fi
7605b7579f77SDag-Erling Smørgrav       fi
7606b7579f77SDag-Erling Smørgrav       ;;
7607b7579f77SDag-Erling Smørgrav
7608b7579f77SDag-Erling Smørgrav    *) ;; # Ignore the rest.
7609b7579f77SDag-Erling Smørgrav
7610b7579f77SDag-Erling Smørgrav    esac
7611b7579f77SDag-Erling Smørgrav  done
7612b7579f77SDag-Erling Smørgrav
7613b7579f77SDag-Erling Smørgrav  # Clean up.
7614b7579f77SDag-Erling Smørgrav  rm -f a.out a.exe
7615b7579f77SDag-Erling Smørgravelse
7616b7579f77SDag-Erling Smørgrav  echo "libtool.m4: error: problem compiling $1 test program"
7617b7579f77SDag-Erling Smørgravfi
7618b7579f77SDag-Erling Smørgrav
7619b7579f77SDag-Erling Smørgrav$RM -f confest.$objext
7620b7579f77SDag-Erling SmørgravCFLAGS=$_lt_libdeps_save_CFLAGS
7621b7579f77SDag-Erling Smørgrav
7622b7579f77SDag-Erling Smørgrav# PORTME: override above test on systems where it is broken
7623b7579f77SDag-Erling Smørgravm4_if([$1], [CXX],
7624b7579f77SDag-Erling Smørgrav[case $host_os in
7625b7579f77SDag-Erling Smørgravinterix[[3-9]]*)
7626b7579f77SDag-Erling Smørgrav  # Interix 3.5 installs completely hosed .la files for C++, so rather than
7627b7579f77SDag-Erling Smørgrav  # hack all around it, let's just trust "g++" to DTRT.
7628b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(predep_objects,$1)=
7629b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(postdep_objects,$1)=
7630b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(postdeps,$1)=
7631b7579f77SDag-Erling Smørgrav  ;;
7632b7579f77SDag-Erling Smørgravesac
7633b7579f77SDag-Erling Smørgrav])
7634b7579f77SDag-Erling Smørgrav
7635b7579f77SDag-Erling Smørgravcase " $_LT_TAGVAR(postdeps, $1) " in
7636b7579f77SDag-Erling Smørgrav*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7637b7579f77SDag-Erling Smørgravesac
7638b7579f77SDag-Erling Smørgrav _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7639b7579f77SDag-Erling Smørgravif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7640f61ef7f6SDag-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!^ !!'`
7641b7579f77SDag-Erling Smørgravfi
7642b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7643b7579f77SDag-Erling Smørgrav    [The directories searched by this compiler when creating a shared library])
7644b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [predep_objects], [1],
7645b7579f77SDag-Erling Smørgrav    [Dependencies to place before and after the objects being linked to
7646b7579f77SDag-Erling Smørgrav    create a shared library])
7647b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postdep_objects], [1])
7648b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [predeps], [1])
7649b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [postdeps], [1])
7650b7579f77SDag-Erling Smørgrav_LT_TAGDECL([], [compiler_lib_search_path], [1],
7651b7579f77SDag-Erling Smørgrav    [The library search path used internally by the compiler when linking
7652b7579f77SDag-Erling Smørgrav    a shared library])
7653b7579f77SDag-Erling Smørgrav])# _LT_SYS_HIDDEN_LIBDEPS
7654b7579f77SDag-Erling Smørgrav
7655b7579f77SDag-Erling Smørgrav
7656b7579f77SDag-Erling Smørgrav# _LT_LANG_F77_CONFIG([TAG])
7657b7579f77SDag-Erling Smørgrav# --------------------------
7658b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran 77 compiler are
7659b7579f77SDag-Erling Smørgrav# suitably defined.  These variables are subsequently used by _LT_CONFIG
7660f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
7661b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_F77_CONFIG],
7662b7579f77SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran 77)
7663f61ef7f6SDag-Erling Smørgravif test -z "$F77" || test no = "$F77"; then
7664b7579f77SDag-Erling Smørgrav  _lt_disable_F77=yes
7665b7579f77SDag-Erling Smørgravfi
7666b7579f77SDag-Erling Smørgrav
7667b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7668b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
7669b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
7670b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
7671b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7672b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
7673b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7674b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7675b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
7676b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
7677b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
7678b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
7679b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
7680b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
7681b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
7682b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7683b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
7684b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7685b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
7686b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
7687b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7688b7579f77SDag-Erling Smørgrav
7689b7579f77SDag-Erling Smørgrav# Source file extension for f77 test sources.
7690b7579f77SDag-Erling Smørgravac_ext=f
7691b7579f77SDag-Erling Smørgrav
7692b7579f77SDag-Erling Smørgrav# Object file extension for compiled f77 test sources.
7693b7579f77SDag-Erling Smørgravobjext=o
7694b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
7695b7579f77SDag-Erling Smørgrav
7696b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
7697b7579f77SDag-Erling Smørgrav# the F77 compiler isn't working.  Some variables (like enable_shared)
7698b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
7699b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
7700f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_disable_F77"; then
7701b7579f77SDag-Erling Smørgrav  # Code to be used in simple compile tests
7702b7579f77SDag-Erling Smørgrav  lt_simple_compile_test_code="\
7703b7579f77SDag-Erling Smørgrav      subroutine t
7704b7579f77SDag-Erling Smørgrav      return
7705b7579f77SDag-Erling Smørgrav      end
7706b7579f77SDag-Erling Smørgrav"
7707b7579f77SDag-Erling Smørgrav
7708b7579f77SDag-Erling Smørgrav  # Code to be used in simple link tests
7709b7579f77SDag-Erling Smørgrav  lt_simple_link_test_code="\
7710b7579f77SDag-Erling Smørgrav      program t
7711b7579f77SDag-Erling Smørgrav      end
7712b7579f77SDag-Erling Smørgrav"
7713b7579f77SDag-Erling Smørgrav
7714b7579f77SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7715b7579f77SDag-Erling Smørgrav  _LT_TAG_COMPILER
7716b7579f77SDag-Erling Smørgrav
7717b7579f77SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
7718b7579f77SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
7719b7579f77SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
7720b7579f77SDag-Erling Smørgrav
7721b7579f77SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
7722f61ef7f6SDag-Erling Smørgrav  lt_save_CC=$CC
7723b7579f77SDag-Erling Smørgrav  lt_save_GCC=$GCC
7724b7579f77SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
7725b7579f77SDag-Erling Smørgrav  CC=${F77-"f77"}
7726b7579f77SDag-Erling Smørgrav  CFLAGS=$FFLAGS
7727b7579f77SDag-Erling Smørgrav  compiler=$CC
7728b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
7729b7579f77SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
7730b7579f77SDag-Erling Smørgrav  GCC=$G77
7731b7579f77SDag-Erling Smørgrav  if test -n "$compiler"; then
7732b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([if libtool supports shared libraries])
7733b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$can_build_shared])
7734b7579f77SDag-Erling Smørgrav
7735b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build shared libraries])
7736f61ef7f6SDag-Erling Smørgrav    test no = "$can_build_shared" && enable_shared=no
7737b7579f77SDag-Erling Smørgrav
7738b7579f77SDag-Erling Smørgrav    # On AIX, shared libraries and static libraries use the same namespace, and
7739b7579f77SDag-Erling Smørgrav    # are all built from PIC.
7740b7579f77SDag-Erling Smørgrav    case $host_os in
7741b7579f77SDag-Erling Smørgrav      aix3*)
7742f61ef7f6SDag-Erling Smørgrav        test yes = "$enable_shared" && enable_static=no
7743b7579f77SDag-Erling Smørgrav        if test -n "$RANLIB"; then
7744b7579f77SDag-Erling Smørgrav          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7745b7579f77SDag-Erling Smørgrav          postinstall_cmds='$RANLIB $lib'
7746b7579f77SDag-Erling Smørgrav        fi
7747b7579f77SDag-Erling Smørgrav        ;;
7748b7579f77SDag-Erling Smørgrav      aix[[4-9]]*)
7749f61ef7f6SDag-Erling Smørgrav	if test ia64 != "$host_cpu"; then
7750f61ef7f6SDag-Erling Smørgrav	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7751f61ef7f6SDag-Erling Smørgrav	  yes,aix,yes) ;;		# shared object as lib.so file only
7752f61ef7f6SDag-Erling Smørgrav	  yes,svr4,*) ;;		# shared object as lib.so archive member only
7753f61ef7f6SDag-Erling Smørgrav	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
7754f61ef7f6SDag-Erling Smørgrav	  esac
7755b7579f77SDag-Erling Smørgrav	fi
7756b7579f77SDag-Erling Smørgrav        ;;
7757b7579f77SDag-Erling Smørgrav    esac
7758b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_shared])
7759b7579f77SDag-Erling Smørgrav
7760b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build static libraries])
7761b7579f77SDag-Erling Smørgrav    # Make sure either enable_shared or enable_static is yes.
7762f61ef7f6SDag-Erling Smørgrav    test yes = "$enable_shared" || enable_static=yes
7763b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_static])
7764b7579f77SDag-Erling Smørgrav
7765f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$G77
7766f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
7767b7579f77SDag-Erling Smørgrav
7768b7579f77SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
7769b7579f77SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
7770b7579f77SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
7771b7579f77SDag-Erling Smørgrav    ## what you are doing...
7772b7579f77SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
7773b7579f77SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
7774b7579f77SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
7775b7579f77SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
7776b7579f77SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
7777b7579f77SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
7778b7579f77SDag-Erling Smørgrav
7779b7579f77SDag-Erling Smørgrav    _LT_CONFIG($1)
7780b7579f77SDag-Erling Smørgrav  fi # test -n "$compiler"
7781b7579f77SDag-Erling Smørgrav
7782b7579f77SDag-Erling Smørgrav  GCC=$lt_save_GCC
7783f61ef7f6SDag-Erling Smørgrav  CC=$lt_save_CC
7784f61ef7f6SDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
7785f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_disable_F77"
7786b7579f77SDag-Erling Smørgrav
7787b7579f77SDag-Erling SmørgravAC_LANG_POP
7788b7579f77SDag-Erling Smørgrav])# _LT_LANG_F77_CONFIG
7789b7579f77SDag-Erling Smørgrav
7790b7579f77SDag-Erling Smørgrav
7791b7579f77SDag-Erling Smørgrav# _LT_LANG_FC_CONFIG([TAG])
7792b7579f77SDag-Erling Smørgrav# -------------------------
7793b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for a Fortran compiler are
7794b7579f77SDag-Erling Smørgrav# suitably defined.  These variables are subsequently used by _LT_CONFIG
7795f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
7796b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_FC_CONFIG],
7797b7579f77SDag-Erling Smørgrav[AC_LANG_PUSH(Fortran)
7798b7579f77SDag-Erling Smørgrav
7799f61ef7f6SDag-Erling Smørgravif test -z "$FC" || test no = "$FC"; then
7800b7579f77SDag-Erling Smørgrav  _lt_disable_FC=yes
7801b7579f77SDag-Erling Smørgravfi
7802b7579f77SDag-Erling Smørgrav
7803b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7804b7579f77SDag-Erling Smørgrav_LT_TAGVAR(allow_undefined_flag, $1)=
7805b7579f77SDag-Erling Smørgrav_LT_TAGVAR(always_export_symbols, $1)=no
7806b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_expsym_cmds, $1)=
7807b7579f77SDag-Erling Smørgrav_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7808b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct, $1)=no
7809b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7810b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7811b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_libdir_separator, $1)=
7812b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_minus_L, $1)=no
7813b7579f77SDag-Erling Smørgrav_LT_TAGVAR(hardcode_automatic, $1)=no
7814b7579f77SDag-Erling Smørgrav_LT_TAGVAR(inherit_rpath, $1)=no
7815b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_cmds, $1)=
7816b7579f77SDag-Erling Smørgrav_LT_TAGVAR(module_expsym_cmds, $1)=
7817b7579f77SDag-Erling Smørgrav_LT_TAGVAR(link_all_deplibs, $1)=unknown
7818b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7819b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
7820b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7821b7579f77SDag-Erling Smørgrav_LT_TAGVAR(no_undefined_flag, $1)=
7822b7579f77SDag-Erling Smørgrav_LT_TAGVAR(whole_archive_flag_spec, $1)=
7823b7579f77SDag-Erling Smørgrav_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7824b7579f77SDag-Erling Smørgrav
7825b7579f77SDag-Erling Smørgrav# Source file extension for fc test sources.
7826b7579f77SDag-Erling Smørgravac_ext=${ac_fc_srcext-f}
7827b7579f77SDag-Erling Smørgrav
7828b7579f77SDag-Erling Smørgrav# Object file extension for compiled fc test sources.
7829b7579f77SDag-Erling Smørgravobjext=o
7830b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
7831b7579f77SDag-Erling Smørgrav
7832b7579f77SDag-Erling Smørgrav# No sense in running all these tests if we already determined that
7833b7579f77SDag-Erling Smørgrav# the FC compiler isn't working.  Some variables (like enable_shared)
7834b7579f77SDag-Erling Smørgrav# are currently assumed to apply to all compilers on this platform,
7835b7579f77SDag-Erling Smørgrav# and will be corrupted by setting them based on a non-working compiler.
7836f61ef7f6SDag-Erling Smørgravif test yes != "$_lt_disable_FC"; then
7837b7579f77SDag-Erling Smørgrav  # Code to be used in simple compile tests
7838b7579f77SDag-Erling Smørgrav  lt_simple_compile_test_code="\
7839b7579f77SDag-Erling Smørgrav      subroutine t
7840b7579f77SDag-Erling Smørgrav      return
7841b7579f77SDag-Erling Smørgrav      end
7842b7579f77SDag-Erling Smørgrav"
7843b7579f77SDag-Erling Smørgrav
7844b7579f77SDag-Erling Smørgrav  # Code to be used in simple link tests
7845b7579f77SDag-Erling Smørgrav  lt_simple_link_test_code="\
7846b7579f77SDag-Erling Smørgrav      program t
7847b7579f77SDag-Erling Smørgrav      end
7848b7579f77SDag-Erling Smørgrav"
7849b7579f77SDag-Erling Smørgrav
7850b7579f77SDag-Erling Smørgrav  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7851b7579f77SDag-Erling Smørgrav  _LT_TAG_COMPILER
7852b7579f77SDag-Erling Smørgrav
7853b7579f77SDag-Erling Smørgrav  # save warnings/boilerplate of simple test code
7854b7579f77SDag-Erling Smørgrav  _LT_COMPILER_BOILERPLATE
7855b7579f77SDag-Erling Smørgrav  _LT_LINKER_BOILERPLATE
7856b7579f77SDag-Erling Smørgrav
7857b7579f77SDag-Erling Smørgrav  # Allow CC to be a program name with arguments.
7858f61ef7f6SDag-Erling Smørgrav  lt_save_CC=$CC
7859b7579f77SDag-Erling Smørgrav  lt_save_GCC=$GCC
7860b7579f77SDag-Erling Smørgrav  lt_save_CFLAGS=$CFLAGS
7861b7579f77SDag-Erling Smørgrav  CC=${FC-"f95"}
7862b7579f77SDag-Erling Smørgrav  CFLAGS=$FCFLAGS
7863b7579f77SDag-Erling Smørgrav  compiler=$CC
7864b7579f77SDag-Erling Smørgrav  GCC=$ac_cv_fc_compiler_gnu
7865b7579f77SDag-Erling Smørgrav
7866b7579f77SDag-Erling Smørgrav  _LT_TAGVAR(compiler, $1)=$CC
7867b7579f77SDag-Erling Smørgrav  _LT_CC_BASENAME([$compiler])
7868b7579f77SDag-Erling Smørgrav
7869b7579f77SDag-Erling Smørgrav  if test -n "$compiler"; then
7870b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([if libtool supports shared libraries])
7871b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$can_build_shared])
7872b7579f77SDag-Erling Smørgrav
7873b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build shared libraries])
7874f61ef7f6SDag-Erling Smørgrav    test no = "$can_build_shared" && enable_shared=no
7875b7579f77SDag-Erling Smørgrav
7876b7579f77SDag-Erling Smørgrav    # On AIX, shared libraries and static libraries use the same namespace, and
7877b7579f77SDag-Erling Smørgrav    # are all built from PIC.
7878b7579f77SDag-Erling Smørgrav    case $host_os in
7879b7579f77SDag-Erling Smørgrav      aix3*)
7880f61ef7f6SDag-Erling Smørgrav        test yes = "$enable_shared" && enable_static=no
7881b7579f77SDag-Erling Smørgrav        if test -n "$RANLIB"; then
7882b7579f77SDag-Erling Smørgrav          archive_cmds="$archive_cmds~\$RANLIB \$lib"
7883b7579f77SDag-Erling Smørgrav          postinstall_cmds='$RANLIB $lib'
7884b7579f77SDag-Erling Smørgrav        fi
7885b7579f77SDag-Erling Smørgrav        ;;
7886b7579f77SDag-Erling Smørgrav      aix[[4-9]]*)
7887f61ef7f6SDag-Erling Smørgrav	if test ia64 != "$host_cpu"; then
7888f61ef7f6SDag-Erling Smørgrav	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7889f61ef7f6SDag-Erling Smørgrav	  yes,aix,yes) ;;		# shared object as lib.so file only
7890f61ef7f6SDag-Erling Smørgrav	  yes,svr4,*) ;;		# shared object as lib.so archive member only
7891f61ef7f6SDag-Erling Smørgrav	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
7892f61ef7f6SDag-Erling Smørgrav	  esac
7893b7579f77SDag-Erling Smørgrav	fi
7894b7579f77SDag-Erling Smørgrav        ;;
7895b7579f77SDag-Erling Smørgrav    esac
7896b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_shared])
7897b7579f77SDag-Erling Smørgrav
7898b7579f77SDag-Erling Smørgrav    AC_MSG_CHECKING([whether to build static libraries])
7899b7579f77SDag-Erling Smørgrav    # Make sure either enable_shared or enable_static is yes.
7900f61ef7f6SDag-Erling Smørgrav    test yes = "$enable_shared" || enable_static=yes
7901b7579f77SDag-Erling Smørgrav    AC_MSG_RESULT([$enable_static])
7902b7579f77SDag-Erling Smørgrav
7903f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7904f61ef7f6SDag-Erling Smørgrav    _LT_TAGVAR(LD, $1)=$LD
7905b7579f77SDag-Erling Smørgrav
7906b7579f77SDag-Erling Smørgrav    ## CAVEAT EMPTOR:
7907b7579f77SDag-Erling Smørgrav    ## There is no encapsulation within the following macros, do not change
7908b7579f77SDag-Erling Smørgrav    ## the running order or otherwise move them around unless you know exactly
7909b7579f77SDag-Erling Smørgrav    ## what you are doing...
7910b7579f77SDag-Erling Smørgrav    _LT_SYS_HIDDEN_LIBDEPS($1)
7911b7579f77SDag-Erling Smørgrav    _LT_COMPILER_PIC($1)
7912b7579f77SDag-Erling Smørgrav    _LT_COMPILER_C_O($1)
7913b7579f77SDag-Erling Smørgrav    _LT_COMPILER_FILE_LOCKS($1)
7914b7579f77SDag-Erling Smørgrav    _LT_LINKER_SHLIBS($1)
7915b7579f77SDag-Erling Smørgrav    _LT_SYS_DYNAMIC_LINKER($1)
7916b7579f77SDag-Erling Smørgrav    _LT_LINKER_HARDCODE_LIBPATH($1)
7917b7579f77SDag-Erling Smørgrav
7918b7579f77SDag-Erling Smørgrav    _LT_CONFIG($1)
7919b7579f77SDag-Erling Smørgrav  fi # test -n "$compiler"
7920b7579f77SDag-Erling Smørgrav
7921b7579f77SDag-Erling Smørgrav  GCC=$lt_save_GCC
7922b7579f77SDag-Erling Smørgrav  CC=$lt_save_CC
7923b7579f77SDag-Erling Smørgrav  CFLAGS=$lt_save_CFLAGS
7924f61ef7f6SDag-Erling Smørgravfi # test yes != "$_lt_disable_FC"
7925b7579f77SDag-Erling Smørgrav
7926b7579f77SDag-Erling SmørgravAC_LANG_POP
7927b7579f77SDag-Erling Smørgrav])# _LT_LANG_FC_CONFIG
7928b7579f77SDag-Erling Smørgrav
7929b7579f77SDag-Erling Smørgrav
7930b7579f77SDag-Erling Smørgrav# _LT_LANG_GCJ_CONFIG([TAG])
7931b7579f77SDag-Erling Smørgrav# --------------------------
7932b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Java Compiler compiler
7933b7579f77SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
7934f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
7935b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_GCJ_CONFIG],
7936b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GCJ])dnl
7937b7579f77SDag-Erling SmørgravAC_LANG_SAVE
7938b7579f77SDag-Erling Smørgrav
7939b7579f77SDag-Erling Smørgrav# Source file extension for Java test sources.
7940b7579f77SDag-Erling Smørgravac_ext=java
7941b7579f77SDag-Erling Smørgrav
7942b7579f77SDag-Erling Smørgrav# Object file extension for compiled Java test sources.
7943b7579f77SDag-Erling Smørgravobjext=o
7944b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
7945b7579f77SDag-Erling Smørgrav
7946b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests
7947b7579f77SDag-Erling Smørgravlt_simple_compile_test_code="class foo {}"
7948b7579f77SDag-Erling Smørgrav
7949b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests
7950b7579f77SDag-Erling Smørgravlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7951b7579f77SDag-Erling Smørgrav
7952b7579f77SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7953b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER
7954b7579f77SDag-Erling Smørgrav
7955b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
7956b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
7957b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
7958b7579f77SDag-Erling Smørgrav
7959b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
7960b7579f77SDag-Erling Smørgravlt_save_CC=$CC
7961b7579f77SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
7962b7579f77SDag-Erling Smørgravlt_save_GCC=$GCC
7963b7579f77SDag-Erling SmørgravGCC=yes
7964b7579f77SDag-Erling SmørgravCC=${GCJ-"gcj"}
7965b7579f77SDag-Erling SmørgravCFLAGS=$GCJFLAGS
7966b7579f77SDag-Erling Smørgravcompiler=$CC
7967b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
7968f61ef7f6SDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD
7969b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
7970b7579f77SDag-Erling Smørgrav
7971b7579f77SDag-Erling Smørgrav# GCJ did not exist at the time GCC didn't implicitly link libc in.
7972b7579f77SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7973b7579f77SDag-Erling Smørgrav
7974b7579f77SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7975b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
7976b7579f77SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7977b7579f77SDag-Erling Smørgrav
7978b7579f77SDag-Erling Smørgravif test -n "$compiler"; then
7979b7579f77SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
7980b7579f77SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
7981b7579f77SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
7982b7579f77SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
7983b7579f77SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
7984b7579f77SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
7985b7579f77SDag-Erling Smørgrav
7986b7579f77SDag-Erling Smørgrav  _LT_CONFIG($1)
7987b7579f77SDag-Erling Smørgravfi
7988b7579f77SDag-Erling Smørgrav
7989b7579f77SDag-Erling SmørgravAC_LANG_RESTORE
7990b7579f77SDag-Erling Smørgrav
7991b7579f77SDag-Erling SmørgravGCC=$lt_save_GCC
7992b7579f77SDag-Erling SmørgravCC=$lt_save_CC
7993b7579f77SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
7994b7579f77SDag-Erling Smørgrav])# _LT_LANG_GCJ_CONFIG
7995b7579f77SDag-Erling Smørgrav
7996b7579f77SDag-Erling Smørgrav
79978ed2b524SDag-Erling Smørgrav# _LT_LANG_GO_CONFIG([TAG])
79988ed2b524SDag-Erling Smørgrav# --------------------------
79998ed2b524SDag-Erling Smørgrav# Ensure that the configuration variables for the GNU Go compiler
80008ed2b524SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
8001f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
80028ed2b524SDag-Erling Smørgravm4_defun([_LT_LANG_GO_CONFIG],
80038ed2b524SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_GO])dnl
80048ed2b524SDag-Erling SmørgravAC_LANG_SAVE
80058ed2b524SDag-Erling Smørgrav
80068ed2b524SDag-Erling Smørgrav# Source file extension for Go test sources.
80078ed2b524SDag-Erling Smørgravac_ext=go
80088ed2b524SDag-Erling Smørgrav
80098ed2b524SDag-Erling Smørgrav# Object file extension for compiled Go test sources.
80108ed2b524SDag-Erling Smørgravobjext=o
80118ed2b524SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
80128ed2b524SDag-Erling Smørgrav
80138ed2b524SDag-Erling Smørgrav# Code to be used in simple compile tests
80148ed2b524SDag-Erling Smørgravlt_simple_compile_test_code="package main; func main() { }"
80158ed2b524SDag-Erling Smørgrav
80168ed2b524SDag-Erling Smørgrav# Code to be used in simple link tests
80178ed2b524SDag-Erling Smørgravlt_simple_link_test_code='package main; func main() { }'
80188ed2b524SDag-Erling Smørgrav
80198ed2b524SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
80208ed2b524SDag-Erling Smørgrav_LT_TAG_COMPILER
80218ed2b524SDag-Erling Smørgrav
80228ed2b524SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
80238ed2b524SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
80248ed2b524SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
80258ed2b524SDag-Erling Smørgrav
80268ed2b524SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
80278ed2b524SDag-Erling Smørgravlt_save_CC=$CC
80288ed2b524SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
80298ed2b524SDag-Erling Smørgravlt_save_GCC=$GCC
80308ed2b524SDag-Erling SmørgravGCC=yes
80318ed2b524SDag-Erling SmørgravCC=${GOC-"gccgo"}
80328ed2b524SDag-Erling SmørgravCFLAGS=$GOFLAGS
80338ed2b524SDag-Erling Smørgravcompiler=$CC
80348ed2b524SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
8035f61ef7f6SDag-Erling Smørgrav_LT_TAGVAR(LD, $1)=$LD
80368ed2b524SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
80378ed2b524SDag-Erling Smørgrav
80388ed2b524SDag-Erling Smørgrav# Go did not exist at the time GCC didn't implicitly link libc in.
80398ed2b524SDag-Erling Smørgrav_LT_TAGVAR(archive_cmds_need_lc, $1)=no
80408ed2b524SDag-Erling Smørgrav
80418ed2b524SDag-Erling Smørgrav_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
80428ed2b524SDag-Erling Smørgrav_LT_TAGVAR(reload_flag, $1)=$reload_flag
80438ed2b524SDag-Erling Smørgrav_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
80448ed2b524SDag-Erling Smørgrav
80458ed2b524SDag-Erling Smørgravif test -n "$compiler"; then
80468ed2b524SDag-Erling Smørgrav  _LT_COMPILER_NO_RTTI($1)
80478ed2b524SDag-Erling Smørgrav  _LT_COMPILER_PIC($1)
80488ed2b524SDag-Erling Smørgrav  _LT_COMPILER_C_O($1)
80498ed2b524SDag-Erling Smørgrav  _LT_COMPILER_FILE_LOCKS($1)
80508ed2b524SDag-Erling Smørgrav  _LT_LINKER_SHLIBS($1)
80518ed2b524SDag-Erling Smørgrav  _LT_LINKER_HARDCODE_LIBPATH($1)
80528ed2b524SDag-Erling Smørgrav
80538ed2b524SDag-Erling Smørgrav  _LT_CONFIG($1)
80548ed2b524SDag-Erling Smørgravfi
80558ed2b524SDag-Erling Smørgrav
80568ed2b524SDag-Erling SmørgravAC_LANG_RESTORE
80578ed2b524SDag-Erling Smørgrav
80588ed2b524SDag-Erling SmørgravGCC=$lt_save_GCC
80598ed2b524SDag-Erling SmørgravCC=$lt_save_CC
80608ed2b524SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
80618ed2b524SDag-Erling Smørgrav])# _LT_LANG_GO_CONFIG
80628ed2b524SDag-Erling Smørgrav
80638ed2b524SDag-Erling Smørgrav
8064b7579f77SDag-Erling Smørgrav# _LT_LANG_RC_CONFIG([TAG])
8065b7579f77SDag-Erling Smørgrav# -------------------------
8066b7579f77SDag-Erling Smørgrav# Ensure that the configuration variables for the Windows resource compiler
8067b7579f77SDag-Erling Smørgrav# are suitably defined.  These variables are subsequently used by _LT_CONFIG
8068f61ef7f6SDag-Erling Smørgrav# to write the compiler configuration to 'libtool'.
8069b7579f77SDag-Erling Smørgravm4_defun([_LT_LANG_RC_CONFIG],
8070b7579f77SDag-Erling Smørgrav[AC_REQUIRE([LT_PROG_RC])dnl
8071b7579f77SDag-Erling SmørgravAC_LANG_SAVE
8072b7579f77SDag-Erling Smørgrav
8073b7579f77SDag-Erling Smørgrav# Source file extension for RC test sources.
8074b7579f77SDag-Erling Smørgravac_ext=rc
8075b7579f77SDag-Erling Smørgrav
8076b7579f77SDag-Erling Smørgrav# Object file extension for compiled RC test sources.
8077b7579f77SDag-Erling Smørgravobjext=o
8078b7579f77SDag-Erling Smørgrav_LT_TAGVAR(objext, $1)=$objext
8079b7579f77SDag-Erling Smørgrav
8080b7579f77SDag-Erling Smørgrav# Code to be used in simple compile tests
8081b7579f77SDag-Erling Smørgravlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8082b7579f77SDag-Erling Smørgrav
8083b7579f77SDag-Erling Smørgrav# Code to be used in simple link tests
8084f61ef7f6SDag-Erling Smørgravlt_simple_link_test_code=$lt_simple_compile_test_code
8085b7579f77SDag-Erling Smørgrav
8086b7579f77SDag-Erling Smørgrav# ltmain only uses $CC for tagged configurations so make sure $CC is set.
8087b7579f77SDag-Erling Smørgrav_LT_TAG_COMPILER
8088b7579f77SDag-Erling Smørgrav
8089b7579f77SDag-Erling Smørgrav# save warnings/boilerplate of simple test code
8090b7579f77SDag-Erling Smørgrav_LT_COMPILER_BOILERPLATE
8091b7579f77SDag-Erling Smørgrav_LT_LINKER_BOILERPLATE
8092b7579f77SDag-Erling Smørgrav
8093b7579f77SDag-Erling Smørgrav# Allow CC to be a program name with arguments.
8094f61ef7f6SDag-Erling Smørgravlt_save_CC=$CC
8095b7579f77SDag-Erling Smørgravlt_save_CFLAGS=$CFLAGS
8096b7579f77SDag-Erling Smørgravlt_save_GCC=$GCC
8097b7579f77SDag-Erling SmørgravGCC=
8098b7579f77SDag-Erling SmørgravCC=${RC-"windres"}
8099b7579f77SDag-Erling SmørgravCFLAGS=
8100b7579f77SDag-Erling Smørgravcompiler=$CC
8101b7579f77SDag-Erling Smørgrav_LT_TAGVAR(compiler, $1)=$CC
8102b7579f77SDag-Erling Smørgrav_LT_CC_BASENAME([$compiler])
8103b7579f77SDag-Erling Smørgrav_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8104b7579f77SDag-Erling Smørgrav
8105b7579f77SDag-Erling Smørgravif test -n "$compiler"; then
8106b7579f77SDag-Erling Smørgrav  :
8107b7579f77SDag-Erling Smørgrav  _LT_CONFIG($1)
8108b7579f77SDag-Erling Smørgravfi
8109b7579f77SDag-Erling Smørgrav
8110b7579f77SDag-Erling SmørgravGCC=$lt_save_GCC
8111b7579f77SDag-Erling SmørgravAC_LANG_RESTORE
8112b7579f77SDag-Erling SmørgravCC=$lt_save_CC
8113b7579f77SDag-Erling SmørgravCFLAGS=$lt_save_CFLAGS
8114b7579f77SDag-Erling Smørgrav])# _LT_LANG_RC_CONFIG
8115b7579f77SDag-Erling Smørgrav
8116b7579f77SDag-Erling Smørgrav
8117b7579f77SDag-Erling Smørgrav# LT_PROG_GCJ
8118b7579f77SDag-Erling Smørgrav# -----------
8119b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PROG_GCJ],
8120b7579f77SDag-Erling Smørgrav[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8121b7579f77SDag-Erling Smørgrav  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8122b7579f77SDag-Erling Smørgrav    [AC_CHECK_TOOL(GCJ, gcj,)
8123f61ef7f6SDag-Erling Smørgrav      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8124b7579f77SDag-Erling Smørgrav      AC_SUBST(GCJFLAGS)])])[]dnl
8125b7579f77SDag-Erling Smørgrav])
8126b7579f77SDag-Erling Smørgrav
8127b7579f77SDag-Erling Smørgrav# Old name:
8128b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8129b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8130b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8131b7579f77SDag-Erling Smørgrav
8132b7579f77SDag-Erling Smørgrav
81338ed2b524SDag-Erling Smørgrav# LT_PROG_GO
81348ed2b524SDag-Erling Smørgrav# ----------
81358ed2b524SDag-Erling SmørgravAC_DEFUN([LT_PROG_GO],
81368ed2b524SDag-Erling Smørgrav[AC_CHECK_TOOL(GOC, gccgo,)
81378ed2b524SDag-Erling Smørgrav])
81388ed2b524SDag-Erling Smørgrav
81398ed2b524SDag-Erling Smørgrav
8140b7579f77SDag-Erling Smørgrav# LT_PROG_RC
8141b7579f77SDag-Erling Smørgrav# ----------
8142b7579f77SDag-Erling SmørgravAC_DEFUN([LT_PROG_RC],
8143b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(RC, windres,)
8144b7579f77SDag-Erling Smørgrav])
8145b7579f77SDag-Erling Smørgrav
8146b7579f77SDag-Erling Smørgrav# Old name:
8147b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8148b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8149b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_RC], [])
8150b7579f77SDag-Erling Smørgrav
8151b7579f77SDag-Erling Smørgrav
8152b7579f77SDag-Erling Smørgrav# _LT_DECL_EGREP
8153b7579f77SDag-Erling Smørgrav# --------------
8154b7579f77SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best grep
8155b7579f77SDag-Erling Smørgrav# available, choose the one first in the user's PATH.
8156b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_EGREP],
8157b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_PROG_EGREP])dnl
8158b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_PROG_FGREP])dnl
8159b7579f77SDag-Erling Smørgravtest -z "$GREP" && GREP=grep
8160b7579f77SDag-Erling Smørgrav_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8161b7579f77SDag-Erling Smørgrav_LT_DECL([], [EGREP], [1], [An ERE matcher])
8162b7579f77SDag-Erling Smørgrav_LT_DECL([], [FGREP], [1], [A literal string matcher])
8163b7579f77SDag-Erling Smørgravdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8164b7579f77SDag-Erling SmørgravAC_SUBST([GREP])
8165b7579f77SDag-Erling Smørgrav])
8166b7579f77SDag-Erling Smørgrav
8167b7579f77SDag-Erling Smørgrav
8168b7579f77SDag-Erling Smørgrav# _LT_DECL_OBJDUMP
8169b7579f77SDag-Erling Smørgrav# --------------
8170b7579f77SDag-Erling Smørgrav# If we don't have a new enough Autoconf to choose the best objdump
8171b7579f77SDag-Erling Smørgrav# available, choose the one first in the user's PATH.
8172b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_OBJDUMP],
8173b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(OBJDUMP, objdump, false)
8174b7579f77SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump
8175b7579f77SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8176b7579f77SDag-Erling SmørgravAC_SUBST([OBJDUMP])
8177b7579f77SDag-Erling Smørgrav])
8178b7579f77SDag-Erling Smørgrav
8179b7579f77SDag-Erling Smørgrav# _LT_DECL_DLLTOOL
8180b7579f77SDag-Erling Smørgrav# ----------------
8181b7579f77SDag-Erling Smørgrav# Ensure DLLTOOL variable is set.
8182b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_DLLTOOL],
8183b7579f77SDag-Erling Smørgrav[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8184b7579f77SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool
8185b7579f77SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8186b7579f77SDag-Erling SmørgravAC_SUBST([DLLTOOL])
8187b7579f77SDag-Erling Smørgrav])
8188b7579f77SDag-Erling Smørgrav
8189b7579f77SDag-Erling Smørgrav# _LT_DECL_SED
8190b7579f77SDag-Erling Smørgrav# ------------
8191b7579f77SDag-Erling Smørgrav# Check for a fully-functional sed program, that truncates
8192b7579f77SDag-Erling Smørgrav# as few characters as possible.  Prefer GNU sed if found.
8193b7579f77SDag-Erling Smørgravm4_defun([_LT_DECL_SED],
8194b7579f77SDag-Erling Smørgrav[AC_PROG_SED
8195b7579f77SDag-Erling Smørgravtest -z "$SED" && SED=sed
8196b7579f77SDag-Erling SmørgravXsed="$SED -e 1s/^X//"
8197b7579f77SDag-Erling Smørgrav_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8198b7579f77SDag-Erling Smørgrav_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8199b7579f77SDag-Erling Smørgrav    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8200b7579f77SDag-Erling Smørgrav])# _LT_DECL_SED
8201b7579f77SDag-Erling Smørgrav
8202b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_SED], [
8203b7579f77SDag-Erling Smørgrav# NOTE: This macro has been submitted for inclusion into   #
8204b7579f77SDag-Erling Smørgrav#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
8205b7579f77SDag-Erling Smørgrav#  a released version of Autoconf we should remove this    #
8206b7579f77SDag-Erling Smørgrav#  macro and use it instead.                               #
8207b7579f77SDag-Erling Smørgrav
8208b7579f77SDag-Erling Smørgravm4_defun([AC_PROG_SED],
8209b7579f77SDag-Erling Smørgrav[AC_MSG_CHECKING([for a sed that does not truncate output])
8210b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_path_SED,
8211b7579f77SDag-Erling Smørgrav[# Loop through the user's path and test for sed and gsed.
8212b7579f77SDag-Erling Smørgrav# Then use that list of sed's as ones to test for truncation.
8213b7579f77SDag-Erling Smørgravas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8214b7579f77SDag-Erling Smørgravfor as_dir in $PATH
8215b7579f77SDag-Erling Smørgravdo
8216b7579f77SDag-Erling Smørgrav  IFS=$as_save_IFS
8217b7579f77SDag-Erling Smørgrav  test -z "$as_dir" && as_dir=.
8218b7579f77SDag-Erling Smørgrav  for lt_ac_prog in sed gsed; do
8219b7579f77SDag-Erling Smørgrav    for ac_exec_ext in '' $ac_executable_extensions; do
8220b7579f77SDag-Erling Smørgrav      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8221b7579f77SDag-Erling Smørgrav        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8222b7579f77SDag-Erling Smørgrav      fi
8223b7579f77SDag-Erling Smørgrav    done
8224b7579f77SDag-Erling Smørgrav  done
8225b7579f77SDag-Erling Smørgravdone
8226b7579f77SDag-Erling SmørgravIFS=$as_save_IFS
8227b7579f77SDag-Erling Smørgravlt_ac_max=0
8228b7579f77SDag-Erling Smørgravlt_ac_count=0
8229b7579f77SDag-Erling Smørgrav# Add /usr/xpg4/bin/sed as it is typically found on Solaris
8230b7579f77SDag-Erling Smørgrav# along with /bin/sed that truncates output.
8231b7579f77SDag-Erling Smørgravfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8232f61ef7f6SDag-Erling Smørgrav  test ! -f "$lt_ac_sed" && continue
8233b7579f77SDag-Erling Smørgrav  cat /dev/null > conftest.in
8234b7579f77SDag-Erling Smørgrav  lt_ac_count=0
8235b7579f77SDag-Erling Smørgrav  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8236b7579f77SDag-Erling Smørgrav  # Check for GNU sed and select it if it is found.
8237b7579f77SDag-Erling Smørgrav  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8238b7579f77SDag-Erling Smørgrav    lt_cv_path_SED=$lt_ac_sed
8239b7579f77SDag-Erling Smørgrav    break
8240b7579f77SDag-Erling Smørgrav  fi
8241b7579f77SDag-Erling Smørgrav  while true; do
8242b7579f77SDag-Erling Smørgrav    cat conftest.in conftest.in >conftest.tmp
8243b7579f77SDag-Erling Smørgrav    mv conftest.tmp conftest.in
8244b7579f77SDag-Erling Smørgrav    cp conftest.in conftest.nl
8245b7579f77SDag-Erling Smørgrav    echo >>conftest.nl
8246b7579f77SDag-Erling Smørgrav    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8247b7579f77SDag-Erling Smørgrav    cmp -s conftest.out conftest.nl || break
8248b7579f77SDag-Erling Smørgrav    # 10000 chars as input seems more than enough
8249f61ef7f6SDag-Erling Smørgrav    test 10 -lt "$lt_ac_count" && break
8250b7579f77SDag-Erling Smørgrav    lt_ac_count=`expr $lt_ac_count + 1`
8251f61ef7f6SDag-Erling Smørgrav    if test "$lt_ac_count" -gt "$lt_ac_max"; then
8252b7579f77SDag-Erling Smørgrav      lt_ac_max=$lt_ac_count
8253b7579f77SDag-Erling Smørgrav      lt_cv_path_SED=$lt_ac_sed
8254b7579f77SDag-Erling Smørgrav    fi
8255b7579f77SDag-Erling Smørgrav  done
8256b7579f77SDag-Erling Smørgravdone
8257b7579f77SDag-Erling Smørgrav])
8258b7579f77SDag-Erling SmørgravSED=$lt_cv_path_SED
8259b7579f77SDag-Erling SmørgravAC_SUBST([SED])
8260b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$SED])
8261b7579f77SDag-Erling Smørgrav])#AC_PROG_SED
8262b7579f77SDag-Erling Smørgrav])#m4_ifndef
8263b7579f77SDag-Erling Smørgrav
8264b7579f77SDag-Erling Smørgrav# Old name:
8265b7579f77SDag-Erling SmørgravAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8266b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8267b7579f77SDag-Erling Smørgravdnl AC_DEFUN([LT_AC_PROG_SED], [])
8268b7579f77SDag-Erling Smørgrav
8269b7579f77SDag-Erling Smørgrav
8270b7579f77SDag-Erling Smørgrav# _LT_CHECK_SHELL_FEATURES
8271b7579f77SDag-Erling Smørgrav# ------------------------
8272b7579f77SDag-Erling Smørgrav# Find out whether the shell is Bourne or XSI compatible,
8273b7579f77SDag-Erling Smørgrav# or has some other useful features.
8274b7579f77SDag-Erling Smørgravm4_defun([_LT_CHECK_SHELL_FEATURES],
8275f61ef7f6SDag-Erling Smørgrav[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8276b7579f77SDag-Erling Smørgrav  lt_unset=unset
8277b7579f77SDag-Erling Smørgravelse
8278b7579f77SDag-Erling Smørgrav  lt_unset=false
8279b7579f77SDag-Erling Smørgravfi
8280b7579f77SDag-Erling Smørgrav_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8281b7579f77SDag-Erling Smørgrav
8282b7579f77SDag-Erling Smørgrav# test EBCDIC or ASCII
8283b7579f77SDag-Erling Smørgravcase `echo X|tr X '\101'` in
8284b7579f77SDag-Erling Smørgrav A) # ASCII based system
8285b7579f77SDag-Erling Smørgrav    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8286b7579f77SDag-Erling Smørgrav  lt_SP2NL='tr \040 \012'
8287b7579f77SDag-Erling Smørgrav  lt_NL2SP='tr \015\012 \040\040'
8288b7579f77SDag-Erling Smørgrav  ;;
8289b7579f77SDag-Erling Smørgrav *) # EBCDIC based system
8290b7579f77SDag-Erling Smørgrav  lt_SP2NL='tr \100 \n'
8291b7579f77SDag-Erling Smørgrav  lt_NL2SP='tr \r\n \100\100'
8292b7579f77SDag-Erling Smørgrav  ;;
8293b7579f77SDag-Erling Smørgravesac
8294b7579f77SDag-Erling Smørgrav_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8295b7579f77SDag-Erling Smørgrav_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8296b7579f77SDag-Erling Smørgrav])# _LT_CHECK_SHELL_FEATURES
8297b7579f77SDag-Erling Smørgrav
8298b7579f77SDag-Erling Smørgrav
8299b7579f77SDag-Erling Smørgrav# _LT_PATH_CONVERSION_FUNCTIONS
8300b7579f77SDag-Erling Smørgrav# -----------------------------
8301f61ef7f6SDag-Erling Smørgrav# Determine what file name conversion functions should be used by
8302b7579f77SDag-Erling Smørgrav# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
8303b7579f77SDag-Erling Smørgrav# for certain cross-compile configurations and native mingw.
8304b7579f77SDag-Erling Smørgravm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8305b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8306b7579f77SDag-Erling SmørgravAC_REQUIRE([AC_CANONICAL_BUILD])dnl
8307b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to $host format])
8308b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_host_file_cmd,
8309b7579f77SDag-Erling Smørgrav[case $host in
8310b7579f77SDag-Erling Smørgrav  *-*-mingw* )
8311b7579f77SDag-Erling Smørgrav    case $build in
8312b7579f77SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
8313b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8314b7579f77SDag-Erling Smørgrav        ;;
8315b7579f77SDag-Erling Smørgrav      *-*-cygwin* )
8316b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8317b7579f77SDag-Erling Smørgrav        ;;
8318b7579f77SDag-Erling Smørgrav      * ) # otherwise, assume *nix
8319b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8320b7579f77SDag-Erling Smørgrav        ;;
8321b7579f77SDag-Erling Smørgrav    esac
8322b7579f77SDag-Erling Smørgrav    ;;
8323b7579f77SDag-Erling Smørgrav  *-*-cygwin* )
8324b7579f77SDag-Erling Smørgrav    case $build in
8325b7579f77SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
8326b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8327b7579f77SDag-Erling Smørgrav        ;;
8328b7579f77SDag-Erling Smørgrav      *-*-cygwin* )
8329b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_noop
8330b7579f77SDag-Erling Smørgrav        ;;
8331b7579f77SDag-Erling Smørgrav      * ) # otherwise, assume *nix
8332b7579f77SDag-Erling Smørgrav        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8333b7579f77SDag-Erling Smørgrav        ;;
8334b7579f77SDag-Erling Smørgrav    esac
8335b7579f77SDag-Erling Smørgrav    ;;
8336b7579f77SDag-Erling Smørgrav  * ) # unhandled hosts (and "normal" native builds)
8337b7579f77SDag-Erling Smørgrav    lt_cv_to_host_file_cmd=func_convert_file_noop
8338b7579f77SDag-Erling Smørgrav    ;;
8339b7579f77SDag-Erling Smørgravesac
8340b7579f77SDag-Erling Smørgrav])
8341b7579f77SDag-Erling Smørgravto_host_file_cmd=$lt_cv_to_host_file_cmd
8342b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8343b7579f77SDag-Erling Smørgrav_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8344b7579f77SDag-Erling Smørgrav         [0], [convert $build file names to $host format])dnl
8345b7579f77SDag-Erling Smørgrav
8346b7579f77SDag-Erling SmørgravAC_MSG_CHECKING([how to convert $build file names to toolchain format])
8347b7579f77SDag-Erling SmørgravAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8348b7579f77SDag-Erling Smørgrav[#assume ordinary cross tools, or native build.
8349b7579f77SDag-Erling Smørgravlt_cv_to_tool_file_cmd=func_convert_file_noop
8350b7579f77SDag-Erling Smørgravcase $host in
8351b7579f77SDag-Erling Smørgrav  *-*-mingw* )
8352b7579f77SDag-Erling Smørgrav    case $build in
8353b7579f77SDag-Erling Smørgrav      *-*-mingw* ) # actually msys
8354b7579f77SDag-Erling Smørgrav        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8355b7579f77SDag-Erling Smørgrav        ;;
8356b7579f77SDag-Erling Smørgrav    esac
8357b7579f77SDag-Erling Smørgrav    ;;
8358b7579f77SDag-Erling Smørgravesac
8359b7579f77SDag-Erling Smørgrav])
8360b7579f77SDag-Erling Smørgravto_tool_file_cmd=$lt_cv_to_tool_file_cmd
8361b7579f77SDag-Erling SmørgravAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8362b7579f77SDag-Erling Smørgrav_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8363b7579f77SDag-Erling Smørgrav         [0], [convert $build files to toolchain format])dnl
8364b7579f77SDag-Erling Smørgrav])# _LT_PATH_CONVERSION_FUNCTIONS
8365b7579f77SDag-Erling Smørgrav
8366b7579f77SDag-Erling Smørgrav# Helper functions for option handling.                    -*- Autoconf -*-
8367b7579f77SDag-Erling Smørgrav#
8368*46d2f618SCy Schubert#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
8369*46d2f618SCy Schubert#   Foundation, Inc.
8370b7579f77SDag-Erling Smørgrav#   Written by Gary V. Vaughan, 2004
8371b7579f77SDag-Erling Smørgrav#
8372b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
8373b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
8374b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
8375b7579f77SDag-Erling Smørgrav
8376f61ef7f6SDag-Erling Smørgrav# serial 8 ltoptions.m4
8377b7579f77SDag-Erling Smørgrav
8378b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define.
8379b7579f77SDag-Erling SmørgravAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
8380b7579f77SDag-Erling Smørgrav
8381b7579f77SDag-Erling Smørgrav
8382b7579f77SDag-Erling Smørgrav# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
8383b7579f77SDag-Erling Smørgrav# ------------------------------------------
8384b7579f77SDag-Erling Smørgravm4_define([_LT_MANGLE_OPTION],
8385b7579f77SDag-Erling Smørgrav[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
8386b7579f77SDag-Erling Smørgrav
8387b7579f77SDag-Erling Smørgrav
8388b7579f77SDag-Erling Smørgrav# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
8389b7579f77SDag-Erling Smørgrav# ---------------------------------------
8390b7579f77SDag-Erling Smørgrav# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
8391b7579f77SDag-Erling Smørgrav# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
8392b7579f77SDag-Erling Smørgrav# saved as a flag.
8393b7579f77SDag-Erling Smørgravm4_define([_LT_SET_OPTION],
8394b7579f77SDag-Erling Smørgrav[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
8395b7579f77SDag-Erling Smørgravm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
8396b7579f77SDag-Erling Smørgrav        _LT_MANGLE_DEFUN([$1], [$2]),
8397f61ef7f6SDag-Erling Smørgrav    [m4_warning([Unknown $1 option '$2'])])[]dnl
8398b7579f77SDag-Erling Smørgrav])
8399b7579f77SDag-Erling Smørgrav
8400b7579f77SDag-Erling Smørgrav
8401b7579f77SDag-Erling Smørgrav# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
8402b7579f77SDag-Erling Smørgrav# ------------------------------------------------------------
8403b7579f77SDag-Erling Smørgrav# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8404b7579f77SDag-Erling Smørgravm4_define([_LT_IF_OPTION],
8405b7579f77SDag-Erling Smørgrav[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
8406b7579f77SDag-Erling Smørgrav
8407b7579f77SDag-Erling Smørgrav
8408b7579f77SDag-Erling Smørgrav# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
8409b7579f77SDag-Erling Smørgrav# -------------------------------------------------------
8410b7579f77SDag-Erling Smørgrav# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
8411b7579f77SDag-Erling Smørgrav# are set.
8412b7579f77SDag-Erling Smørgravm4_define([_LT_UNLESS_OPTIONS],
8413b7579f77SDag-Erling Smørgrav[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8414b7579f77SDag-Erling Smørgrav	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
8415b7579f77SDag-Erling Smørgrav		      [m4_define([$0_found])])])[]dnl
8416b7579f77SDag-Erling Smørgravm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
8417b7579f77SDag-Erling Smørgrav])[]dnl
8418b7579f77SDag-Erling Smørgrav])
8419b7579f77SDag-Erling Smørgrav
8420b7579f77SDag-Erling Smørgrav
8421b7579f77SDag-Erling Smørgrav# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
8422b7579f77SDag-Erling Smørgrav# ----------------------------------------
8423b7579f77SDag-Erling Smørgrav# OPTION-LIST is a space-separated list of Libtool options associated
8424b7579f77SDag-Erling Smørgrav# with MACRO-NAME.  If any OPTION has a matching handler declared with
8425b7579f77SDag-Erling Smørgrav# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
8426b7579f77SDag-Erling Smørgrav# the unknown option and exit.
8427b7579f77SDag-Erling Smørgravm4_defun([_LT_SET_OPTIONS],
8428b7579f77SDag-Erling Smørgrav[# Set options
8429b7579f77SDag-Erling Smørgravm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8430b7579f77SDag-Erling Smørgrav    [_LT_SET_OPTION([$1], _LT_Option)])
8431b7579f77SDag-Erling Smørgrav
8432b7579f77SDag-Erling Smørgravm4_if([$1],[LT_INIT],[
8433b7579f77SDag-Erling Smørgrav  dnl
8434b7579f77SDag-Erling Smørgrav  dnl Simply set some default values (i.e off) if boolean options were not
8435b7579f77SDag-Erling Smørgrav  dnl specified:
8436b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
8437b7579f77SDag-Erling Smørgrav  ])
8438b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
8439b7579f77SDag-Erling Smørgrav  ])
8440b7579f77SDag-Erling Smørgrav  dnl
8441b7579f77SDag-Erling Smørgrav  dnl If no reference was made to various pairs of opposing options, then
8442b7579f77SDag-Erling Smørgrav  dnl we run the default mode handler for the pair.  For example, if neither
8443f61ef7f6SDag-Erling Smørgrav  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
8444b7579f77SDag-Erling Smørgrav  dnl archives by default:
8445b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
8446b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
8447b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
8448b7579f77SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8449b7579f77SDag-Erling Smørgrav		   [_LT_ENABLE_FAST_INSTALL])
8450f61ef7f6SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
8451f61ef7f6SDag-Erling Smørgrav		   [_LT_WITH_AIX_SONAME([aix])])
8452b7579f77SDag-Erling Smørgrav  ])
8453b7579f77SDag-Erling Smørgrav])# _LT_SET_OPTIONS
8454b7579f77SDag-Erling Smørgrav
8455b7579f77SDag-Erling Smørgrav
8456b7579f77SDag-Erling Smørgrav
8457b7579f77SDag-Erling Smørgrav# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
8458b7579f77SDag-Erling Smørgrav# -----------------------------------------
8459b7579f77SDag-Erling Smørgravm4_define([_LT_MANGLE_DEFUN],
8460b7579f77SDag-Erling Smørgrav[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
8461b7579f77SDag-Erling Smørgrav
8462b7579f77SDag-Erling Smørgrav
8463b7579f77SDag-Erling Smørgrav# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
8464b7579f77SDag-Erling Smørgrav# -----------------------------------------------
8465b7579f77SDag-Erling Smørgravm4_define([LT_OPTION_DEFINE],
8466b7579f77SDag-Erling Smørgrav[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
8467b7579f77SDag-Erling Smørgrav])# LT_OPTION_DEFINE
8468b7579f77SDag-Erling Smørgrav
8469b7579f77SDag-Erling Smørgrav
8470b7579f77SDag-Erling Smørgrav# dlopen
8471b7579f77SDag-Erling Smørgrav# ------
8472b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
8473b7579f77SDag-Erling Smørgrav])
8474b7579f77SDag-Erling Smørgrav
8475b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_DLOPEN],
8476b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [dlopen])
8477b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
8478b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
8479f61ef7f6SDag-Erling Smørgravput the 'dlopen' option into LT_INIT's first parameter.])
8480b7579f77SDag-Erling Smørgrav])
8481b7579f77SDag-Erling Smørgrav
8482b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8483b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
8484b7579f77SDag-Erling Smørgrav
8485b7579f77SDag-Erling Smørgrav
8486b7579f77SDag-Erling Smørgrav# win32-dll
8487b7579f77SDag-Erling Smørgrav# ---------
8488b7579f77SDag-Erling Smørgrav# Declare package support for building win32 dll's.
8489b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [win32-dll],
8490b7579f77SDag-Erling Smørgrav[enable_win32_dll=yes
8491b7579f77SDag-Erling Smørgrav
8492b7579f77SDag-Erling Smørgravcase $host in
8493b7579f77SDag-Erling Smørgrav*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
8494b7579f77SDag-Erling Smørgrav  AC_CHECK_TOOL(AS, as, false)
8495b7579f77SDag-Erling Smørgrav  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8496b7579f77SDag-Erling Smørgrav  AC_CHECK_TOOL(OBJDUMP, objdump, false)
8497b7579f77SDag-Erling Smørgrav  ;;
8498b7579f77SDag-Erling Smørgravesac
8499b7579f77SDag-Erling Smørgrav
8500b7579f77SDag-Erling Smørgravtest -z "$AS" && AS=as
8501b7579f77SDag-Erling Smørgrav_LT_DECL([], [AS],      [1], [Assembler program])dnl
8502b7579f77SDag-Erling Smørgrav
8503b7579f77SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool
8504b7579f77SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
8505b7579f77SDag-Erling Smørgrav
8506b7579f77SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump
8507b7579f77SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
8508b7579f77SDag-Erling Smørgrav])# win32-dll
8509b7579f77SDag-Erling Smørgrav
8510b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
8511b7579f77SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8512b7579f77SDag-Erling Smørgrav_LT_SET_OPTION([LT_INIT], [win32-dll])
8513b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
8514b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
8515f61ef7f6SDag-Erling Smørgravput the 'win32-dll' option into LT_INIT's first parameter.])
8516b7579f77SDag-Erling Smørgrav])
8517b7579f77SDag-Erling Smørgrav
8518b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8519b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
8520b7579f77SDag-Erling Smørgrav
8521b7579f77SDag-Erling Smørgrav
8522b7579f77SDag-Erling Smørgrav# _LT_ENABLE_SHARED([DEFAULT])
8523b7579f77SDag-Erling Smørgrav# ----------------------------
8524f61ef7f6SDag-Erling Smørgrav# implement the --enable-shared flag, and supports the 'shared' and
8525f61ef7f6SDag-Erling Smørgrav# 'disable-shared' LT_INIT options.
8526f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
8527b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_SHARED],
8528b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
8529b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([shared],
8530b7579f77SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
8531b7579f77SDag-Erling Smørgrav	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
8532b7579f77SDag-Erling Smørgrav    [p=${PACKAGE-default}
8533b7579f77SDag-Erling Smørgrav    case $enableval in
8534b7579f77SDag-Erling Smørgrav    yes) enable_shared=yes ;;
8535b7579f77SDag-Erling Smørgrav    no) enable_shared=no ;;
8536b7579f77SDag-Erling Smørgrav    *)
8537b7579f77SDag-Erling Smørgrav      enable_shared=no
8538b7579f77SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
8539f61ef7f6SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8540b7579f77SDag-Erling Smørgrav      for pkg in $enableval; do
8541f61ef7f6SDag-Erling Smørgrav	IFS=$lt_save_ifs
8542b7579f77SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
8543b7579f77SDag-Erling Smørgrav	  enable_shared=yes
8544b7579f77SDag-Erling Smørgrav	fi
8545b7579f77SDag-Erling Smørgrav      done
8546f61ef7f6SDag-Erling Smørgrav      IFS=$lt_save_ifs
8547b7579f77SDag-Erling Smørgrav      ;;
8548b7579f77SDag-Erling Smørgrav    esac],
8549b7579f77SDag-Erling Smørgrav    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8550b7579f77SDag-Erling Smørgrav
8551b7579f77SDag-Erling Smørgrav    _LT_DECL([build_libtool_libs], [enable_shared], [0],
8552b7579f77SDag-Erling Smørgrav	[Whether or not to build shared libraries])
8553b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_SHARED
8554b7579f77SDag-Erling Smørgrav
8555b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8556b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8557b7579f77SDag-Erling Smørgrav
8558b7579f77SDag-Erling Smørgrav# Old names:
8559b7579f77SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_SHARED],
8560b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8561b7579f77SDag-Erling Smørgrav])
8562b7579f77SDag-Erling Smørgrav
8563b7579f77SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_SHARED],
8564b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-shared])
8565b7579f77SDag-Erling Smørgrav])
8566b7579f77SDag-Erling Smørgrav
8567b7579f77SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8568b7579f77SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8569b7579f77SDag-Erling Smørgrav
8570b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8571b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_SHARED], [])
8572b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_SHARED], [])
8573b7579f77SDag-Erling Smørgrav
8574b7579f77SDag-Erling Smørgrav
8575b7579f77SDag-Erling Smørgrav
8576b7579f77SDag-Erling Smørgrav# _LT_ENABLE_STATIC([DEFAULT])
8577b7579f77SDag-Erling Smørgrav# ----------------------------
8578f61ef7f6SDag-Erling Smørgrav# implement the --enable-static flag, and support the 'static' and
8579f61ef7f6SDag-Erling Smørgrav# 'disable-static' LT_INIT options.
8580f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
8581b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_STATIC],
8582b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8583b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([static],
8584b7579f77SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8585b7579f77SDag-Erling Smørgrav	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8586b7579f77SDag-Erling Smørgrav    [p=${PACKAGE-default}
8587b7579f77SDag-Erling Smørgrav    case $enableval in
8588b7579f77SDag-Erling Smørgrav    yes) enable_static=yes ;;
8589b7579f77SDag-Erling Smørgrav    no) enable_static=no ;;
8590b7579f77SDag-Erling Smørgrav    *)
8591b7579f77SDag-Erling Smørgrav     enable_static=no
8592b7579f77SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
8593f61ef7f6SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8594b7579f77SDag-Erling Smørgrav      for pkg in $enableval; do
8595f61ef7f6SDag-Erling Smørgrav	IFS=$lt_save_ifs
8596b7579f77SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
8597b7579f77SDag-Erling Smørgrav	  enable_static=yes
8598b7579f77SDag-Erling Smørgrav	fi
8599b7579f77SDag-Erling Smørgrav      done
8600f61ef7f6SDag-Erling Smørgrav      IFS=$lt_save_ifs
8601b7579f77SDag-Erling Smørgrav      ;;
8602b7579f77SDag-Erling Smørgrav    esac],
8603b7579f77SDag-Erling Smørgrav    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8604b7579f77SDag-Erling Smørgrav
8605b7579f77SDag-Erling Smørgrav    _LT_DECL([build_old_libs], [enable_static], [0],
8606b7579f77SDag-Erling Smørgrav	[Whether or not to build static libraries])
8607b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_STATIC
8608b7579f77SDag-Erling Smørgrav
8609b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8610b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8611b7579f77SDag-Erling Smørgrav
8612b7579f77SDag-Erling Smørgrav# Old names:
8613b7579f77SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_STATIC],
8614b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8615b7579f77SDag-Erling Smørgrav])
8616b7579f77SDag-Erling Smørgrav
8617b7579f77SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_STATIC],
8618b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-static])
8619b7579f77SDag-Erling Smørgrav])
8620b7579f77SDag-Erling Smørgrav
8621b7579f77SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8622b7579f77SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8623b7579f77SDag-Erling Smørgrav
8624b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8625b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_STATIC], [])
8626b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_STATIC], [])
8627b7579f77SDag-Erling Smørgrav
8628b7579f77SDag-Erling Smørgrav
8629b7579f77SDag-Erling Smørgrav
8630b7579f77SDag-Erling Smørgrav# _LT_ENABLE_FAST_INSTALL([DEFAULT])
8631b7579f77SDag-Erling Smørgrav# ----------------------------------
8632f61ef7f6SDag-Erling Smørgrav# implement the --enable-fast-install flag, and support the 'fast-install'
8633f61ef7f6SDag-Erling Smørgrav# and 'disable-fast-install' LT_INIT options.
8634f61ef7f6SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
8635b7579f77SDag-Erling Smørgravm4_define([_LT_ENABLE_FAST_INSTALL],
8636b7579f77SDag-Erling Smørgrav[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8637b7579f77SDag-Erling SmørgravAC_ARG_ENABLE([fast-install],
8638b7579f77SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8639b7579f77SDag-Erling Smørgrav    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8640b7579f77SDag-Erling Smørgrav    [p=${PACKAGE-default}
8641b7579f77SDag-Erling Smørgrav    case $enableval in
8642b7579f77SDag-Erling Smørgrav    yes) enable_fast_install=yes ;;
8643b7579f77SDag-Erling Smørgrav    no) enable_fast_install=no ;;
8644b7579f77SDag-Erling Smørgrav    *)
8645b7579f77SDag-Erling Smørgrav      enable_fast_install=no
8646b7579f77SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
8647f61ef7f6SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
8648b7579f77SDag-Erling Smørgrav      for pkg in $enableval; do
8649f61ef7f6SDag-Erling Smørgrav	IFS=$lt_save_ifs
8650b7579f77SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
8651b7579f77SDag-Erling Smørgrav	  enable_fast_install=yes
8652b7579f77SDag-Erling Smørgrav	fi
8653b7579f77SDag-Erling Smørgrav      done
8654f61ef7f6SDag-Erling Smørgrav      IFS=$lt_save_ifs
8655b7579f77SDag-Erling Smørgrav      ;;
8656b7579f77SDag-Erling Smørgrav    esac],
8657b7579f77SDag-Erling Smørgrav    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8658b7579f77SDag-Erling Smørgrav
8659b7579f77SDag-Erling Smørgrav_LT_DECL([fast_install], [enable_fast_install], [0],
8660b7579f77SDag-Erling Smørgrav	 [Whether or not to optimize for fast installation])dnl
8661b7579f77SDag-Erling Smørgrav])# _LT_ENABLE_FAST_INSTALL
8662b7579f77SDag-Erling Smørgrav
8663b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8664b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8665b7579f77SDag-Erling Smørgrav
8666b7579f77SDag-Erling Smørgrav# Old names:
8667b7579f77SDag-Erling SmørgravAU_DEFUN([AC_ENABLE_FAST_INSTALL],
8668b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8669b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
8670b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8671f61ef7f6SDag-Erling Smørgravthe 'fast-install' option into LT_INIT's first parameter.])
8672b7579f77SDag-Erling Smørgrav])
8673b7579f77SDag-Erling Smørgrav
8674b7579f77SDag-Erling SmørgravAU_DEFUN([AC_DISABLE_FAST_INSTALL],
8675b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8676b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
8677b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8678f61ef7f6SDag-Erling Smørgravthe 'disable-fast-install' option into LT_INIT's first parameter.])
8679b7579f77SDag-Erling Smørgrav])
8680b7579f77SDag-Erling Smørgrav
8681b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8682b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8683b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8684b7579f77SDag-Erling Smørgrav
8685b7579f77SDag-Erling Smørgrav
8686f61ef7f6SDag-Erling Smørgrav# _LT_WITH_AIX_SONAME([DEFAULT])
8687f61ef7f6SDag-Erling Smørgrav# ----------------------------------
8688f61ef7f6SDag-Erling Smørgrav# implement the --with-aix-soname flag, and support the `aix-soname=aix'
8689f61ef7f6SDag-Erling Smørgrav# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
8690f61ef7f6SDag-Erling Smørgrav# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
8691f61ef7f6SDag-Erling Smørgravm4_define([_LT_WITH_AIX_SONAME],
8692f61ef7f6SDag-Erling Smørgrav[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
8693f61ef7f6SDag-Erling Smørgravshared_archive_member_spec=
8694f61ef7f6SDag-Erling Smørgravcase $host,$enable_shared in
8695f61ef7f6SDag-Erling Smørgravpower*-*-aix[[5-9]]*,yes)
8696f61ef7f6SDag-Erling Smørgrav  AC_MSG_CHECKING([which variant of shared library versioning to provide])
8697f61ef7f6SDag-Erling Smørgrav  AC_ARG_WITH([aix-soname],
8698f61ef7f6SDag-Erling Smørgrav    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
8699f61ef7f6SDag-Erling Smørgrav      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
8700f61ef7f6SDag-Erling Smørgrav    [case $withval in
8701f61ef7f6SDag-Erling Smørgrav    aix|svr4|both)
8702f61ef7f6SDag-Erling Smørgrav      ;;
8703f61ef7f6SDag-Erling Smørgrav    *)
8704f61ef7f6SDag-Erling Smørgrav      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
8705f61ef7f6SDag-Erling Smørgrav      ;;
8706f61ef7f6SDag-Erling Smørgrav    esac
8707f61ef7f6SDag-Erling Smørgrav    lt_cv_with_aix_soname=$with_aix_soname],
8708f61ef7f6SDag-Erling Smørgrav    [AC_CACHE_VAL([lt_cv_with_aix_soname],
8709f61ef7f6SDag-Erling Smørgrav      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
8710f61ef7f6SDag-Erling Smørgrav    with_aix_soname=$lt_cv_with_aix_soname])
8711f61ef7f6SDag-Erling Smørgrav  AC_MSG_RESULT([$with_aix_soname])
8712f61ef7f6SDag-Erling Smørgrav  if test aix != "$with_aix_soname"; then
8713f61ef7f6SDag-Erling Smørgrav    # For the AIX way of multilib, we name the shared archive member
8714f61ef7f6SDag-Erling Smørgrav    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
8715f61ef7f6SDag-Erling Smørgrav    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
8716f61ef7f6SDag-Erling Smørgrav    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
8717f61ef7f6SDag-Erling Smørgrav    # the AIX toolchain works better with OBJECT_MODE set (default 32).
8718f61ef7f6SDag-Erling Smørgrav    if test 64 = "${OBJECT_MODE-32}"; then
8719f61ef7f6SDag-Erling Smørgrav      shared_archive_member_spec=shr_64
8720f61ef7f6SDag-Erling Smørgrav    else
8721f61ef7f6SDag-Erling Smørgrav      shared_archive_member_spec=shr
8722f61ef7f6SDag-Erling Smørgrav    fi
8723f61ef7f6SDag-Erling Smørgrav  fi
8724f61ef7f6SDag-Erling Smørgrav  ;;
8725f61ef7f6SDag-Erling Smørgrav*)
8726f61ef7f6SDag-Erling Smørgrav  with_aix_soname=aix
8727f61ef7f6SDag-Erling Smørgrav  ;;
8728f61ef7f6SDag-Erling Smørgravesac
8729f61ef7f6SDag-Erling Smørgrav
8730f61ef7f6SDag-Erling Smørgrav_LT_DECL([], [shared_archive_member_spec], [0],
8731f61ef7f6SDag-Erling Smørgrav    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
8732f61ef7f6SDag-Erling Smørgrav])# _LT_WITH_AIX_SONAME
8733f61ef7f6SDag-Erling Smørgrav
8734f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
8735f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
8736f61ef7f6SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
8737f61ef7f6SDag-Erling Smørgrav
8738f61ef7f6SDag-Erling Smørgrav
8739b7579f77SDag-Erling Smørgrav# _LT_WITH_PIC([MODE])
8740b7579f77SDag-Erling Smørgrav# --------------------
8741f61ef7f6SDag-Erling Smørgrav# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
8742b7579f77SDag-Erling Smørgrav# LT_INIT options.
8743f61ef7f6SDag-Erling Smørgrav# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
8744b7579f77SDag-Erling Smørgravm4_define([_LT_WITH_PIC],
8745b7579f77SDag-Erling Smørgrav[AC_ARG_WITH([pic],
87468ed2b524SDag-Erling Smørgrav    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
8747b7579f77SDag-Erling Smørgrav	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
87488ed2b524SDag-Erling Smørgrav    [lt_p=${PACKAGE-default}
87498ed2b524SDag-Erling Smørgrav    case $withval in
87508ed2b524SDag-Erling Smørgrav    yes|no) pic_mode=$withval ;;
87518ed2b524SDag-Erling Smørgrav    *)
87528ed2b524SDag-Erling Smørgrav      pic_mode=default
87538ed2b524SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
8754f61ef7f6SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
87558ed2b524SDag-Erling Smørgrav      for lt_pkg in $withval; do
8756f61ef7f6SDag-Erling Smørgrav	IFS=$lt_save_ifs
87578ed2b524SDag-Erling Smørgrav	if test "X$lt_pkg" = "X$lt_p"; then
87588ed2b524SDag-Erling Smørgrav	  pic_mode=yes
87598ed2b524SDag-Erling Smørgrav	fi
87608ed2b524SDag-Erling Smørgrav      done
8761f61ef7f6SDag-Erling Smørgrav      IFS=$lt_save_ifs
87628ed2b524SDag-Erling Smørgrav      ;;
87638ed2b524SDag-Erling Smørgrav    esac],
8764f61ef7f6SDag-Erling Smørgrav    [pic_mode=m4_default([$1], [default])])
8765b7579f77SDag-Erling Smørgrav
8766b7579f77SDag-Erling Smørgrav_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8767b7579f77SDag-Erling Smørgrav])# _LT_WITH_PIC
8768b7579f77SDag-Erling Smørgrav
8769b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8770b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8771b7579f77SDag-Erling Smørgrav
8772b7579f77SDag-Erling Smørgrav# Old name:
8773b7579f77SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_PICMODE],
8774b7579f77SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [pic-only])
8775b7579f77SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
8776b7579f77SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
8777f61ef7f6SDag-Erling Smørgravput the 'pic-only' option into LT_INIT's first parameter.])
8778b7579f77SDag-Erling Smørgrav])
8779b7579f77SDag-Erling Smørgrav
8780b7579f77SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
8781b7579f77SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8782b7579f77SDag-Erling Smørgrav
8783b7579f77SDag-Erling Smørgrav
8784b7579f77SDag-Erling Smørgravm4_define([_LTDL_MODE], [])
8785b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8786b7579f77SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [nonrecursive])])
8787b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [recursive],
8788b7579f77SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [recursive])])
8789b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [subproject],
8790b7579f77SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [subproject])])
8791b7579f77SDag-Erling Smørgrav
8792b7579f77SDag-Erling Smørgravm4_define([_LTDL_TYPE], [])
8793b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [installable],
8794b7579f77SDag-Erling Smørgrav		 [m4_define([_LTDL_TYPE], [installable])])
8795b7579f77SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [convenience],
8796b7579f77SDag-Erling Smørgrav		 [m4_define([_LTDL_TYPE], [convenience])])
8797b7579f77SDag-Erling Smørgrav
8798b7579f77SDag-Erling Smørgrav# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
8799b7579f77SDag-Erling Smørgrav#
8800*46d2f618SCy Schubert# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
8801f61ef7f6SDag-Erling Smørgrav# Foundation, Inc.
8802b7579f77SDag-Erling Smørgrav# Written by Gary V. Vaughan, 2004
8803b7579f77SDag-Erling Smørgrav#
8804b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
8805b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
8806b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
8807b7579f77SDag-Erling Smørgrav
8808b7579f77SDag-Erling Smørgrav# serial 6 ltsugar.m4
8809b7579f77SDag-Erling Smørgrav
8810b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define.
8811b7579f77SDag-Erling SmørgravAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8812b7579f77SDag-Erling Smørgrav
8813b7579f77SDag-Erling Smørgrav
8814b7579f77SDag-Erling Smørgrav# lt_join(SEP, ARG1, [ARG2...])
8815b7579f77SDag-Erling Smørgrav# -----------------------------
8816b7579f77SDag-Erling Smørgrav# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8817b7579f77SDag-Erling Smørgrav# associated separator.
8818b7579f77SDag-Erling Smørgrav# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8819b7579f77SDag-Erling Smørgrav# versions in m4sugar had bugs.
8820b7579f77SDag-Erling Smørgravm4_define([lt_join],
8821b7579f77SDag-Erling Smørgrav[m4_if([$#], [1], [],
8822b7579f77SDag-Erling Smørgrav       [$#], [2], [[$2]],
8823b7579f77SDag-Erling Smørgrav       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8824b7579f77SDag-Erling Smørgravm4_define([_lt_join],
8825b7579f77SDag-Erling Smørgrav[m4_if([$#$2], [2], [],
8826b7579f77SDag-Erling Smørgrav       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8827b7579f77SDag-Erling Smørgrav
8828b7579f77SDag-Erling Smørgrav
8829b7579f77SDag-Erling Smørgrav# lt_car(LIST)
8830b7579f77SDag-Erling Smørgrav# lt_cdr(LIST)
8831b7579f77SDag-Erling Smørgrav# ------------
8832b7579f77SDag-Erling Smørgrav# Manipulate m4 lists.
8833b7579f77SDag-Erling Smørgrav# These macros are necessary as long as will still need to support
8834f61ef7f6SDag-Erling Smørgrav# Autoconf-2.59, which quotes differently.
8835b7579f77SDag-Erling Smørgravm4_define([lt_car], [[$1]])
8836b7579f77SDag-Erling Smørgravm4_define([lt_cdr],
8837b7579f77SDag-Erling Smørgrav[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8838b7579f77SDag-Erling Smørgrav       [$#], 1, [],
8839b7579f77SDag-Erling Smørgrav       [m4_dquote(m4_shift($@))])])
8840b7579f77SDag-Erling Smørgravm4_define([lt_unquote], $1)
8841b7579f77SDag-Erling Smørgrav
8842b7579f77SDag-Erling Smørgrav
8843b7579f77SDag-Erling Smørgrav# lt_append(MACRO-NAME, STRING, [SEPARATOR])
8844b7579f77SDag-Erling Smørgrav# ------------------------------------------
8845f61ef7f6SDag-Erling Smørgrav# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
8846b7579f77SDag-Erling Smørgrav# Note that neither SEPARATOR nor STRING are expanded; they are appended
8847b7579f77SDag-Erling Smørgrav# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8848b7579f77SDag-Erling Smørgrav# No SEPARATOR is output if MACRO-NAME was previously undefined (different
8849b7579f77SDag-Erling Smørgrav# than defined and empty).
8850b7579f77SDag-Erling Smørgrav#
8851b7579f77SDag-Erling Smørgrav# This macro is needed until we can rely on Autoconf 2.62, since earlier
8852b7579f77SDag-Erling Smørgrav# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8853b7579f77SDag-Erling Smørgravm4_define([lt_append],
8854b7579f77SDag-Erling Smørgrav[m4_define([$1],
8855b7579f77SDag-Erling Smørgrav	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8856b7579f77SDag-Erling Smørgrav
8857b7579f77SDag-Erling Smørgrav
8858b7579f77SDag-Erling Smørgrav
8859b7579f77SDag-Erling Smørgrav# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8860b7579f77SDag-Erling Smørgrav# ----------------------------------------------------------
8861b7579f77SDag-Erling Smørgrav# Produce a SEP delimited list of all paired combinations of elements of
8862b7579f77SDag-Erling Smørgrav# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
8863b7579f77SDag-Erling Smørgrav# has the form PREFIXmINFIXSUFFIXn.
8864b7579f77SDag-Erling Smørgrav# Needed until we can rely on m4_combine added in Autoconf 2.62.
8865b7579f77SDag-Erling Smørgravm4_define([lt_combine],
8866b7579f77SDag-Erling Smørgrav[m4_if(m4_eval([$# > 3]), [1],
8867b7579f77SDag-Erling Smørgrav       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8868b7579f77SDag-Erling Smørgrav[[m4_foreach([_Lt_prefix], [$2],
8869b7579f77SDag-Erling Smørgrav	     [m4_foreach([_Lt_suffix],
8870b7579f77SDag-Erling Smørgrav		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8871b7579f77SDag-Erling Smørgrav	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8872b7579f77SDag-Erling Smørgrav
8873b7579f77SDag-Erling Smørgrav
8874b7579f77SDag-Erling Smørgrav# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8875b7579f77SDag-Erling Smørgrav# -----------------------------------------------------------------------
8876b7579f77SDag-Erling Smørgrav# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8877b7579f77SDag-Erling Smørgrav# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8878b7579f77SDag-Erling Smørgravm4_define([lt_if_append_uniq],
8879b7579f77SDag-Erling Smørgrav[m4_ifdef([$1],
8880b7579f77SDag-Erling Smørgrav	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8881b7579f77SDag-Erling Smørgrav		 [lt_append([$1], [$2], [$3])$4],
8882b7579f77SDag-Erling Smørgrav		 [$5])],
8883b7579f77SDag-Erling Smørgrav	  [lt_append([$1], [$2], [$3])$4])])
8884b7579f77SDag-Erling Smørgrav
8885b7579f77SDag-Erling Smørgrav
8886b7579f77SDag-Erling Smørgrav# lt_dict_add(DICT, KEY, VALUE)
8887b7579f77SDag-Erling Smørgrav# -----------------------------
8888b7579f77SDag-Erling Smørgravm4_define([lt_dict_add],
8889b7579f77SDag-Erling Smørgrav[m4_define([$1($2)], [$3])])
8890b7579f77SDag-Erling Smørgrav
8891b7579f77SDag-Erling Smørgrav
8892b7579f77SDag-Erling Smørgrav# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8893b7579f77SDag-Erling Smørgrav# --------------------------------------------
8894b7579f77SDag-Erling Smørgravm4_define([lt_dict_add_subkey],
8895b7579f77SDag-Erling Smørgrav[m4_define([$1($2:$3)], [$4])])
8896b7579f77SDag-Erling Smørgrav
8897b7579f77SDag-Erling Smørgrav
8898b7579f77SDag-Erling Smørgrav# lt_dict_fetch(DICT, KEY, [SUBKEY])
8899b7579f77SDag-Erling Smørgrav# ----------------------------------
8900b7579f77SDag-Erling Smørgravm4_define([lt_dict_fetch],
8901b7579f77SDag-Erling Smørgrav[m4_ifval([$3],
8902b7579f77SDag-Erling Smørgrav	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8903b7579f77SDag-Erling Smørgrav    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8904b7579f77SDag-Erling Smørgrav
8905b7579f77SDag-Erling Smørgrav
8906b7579f77SDag-Erling Smørgrav# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8907b7579f77SDag-Erling Smørgrav# -----------------------------------------------------------------
8908b7579f77SDag-Erling Smørgravm4_define([lt_if_dict_fetch],
8909b7579f77SDag-Erling Smørgrav[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8910b7579f77SDag-Erling Smørgrav	[$5],
8911b7579f77SDag-Erling Smørgrav    [$6])])
8912b7579f77SDag-Erling Smørgrav
8913b7579f77SDag-Erling Smørgrav
8914b7579f77SDag-Erling Smørgrav# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8915b7579f77SDag-Erling Smørgrav# --------------------------------------------------------------
8916b7579f77SDag-Erling Smørgravm4_define([lt_dict_filter],
8917b7579f77SDag-Erling Smørgrav[m4_if([$5], [], [],
8918b7579f77SDag-Erling Smørgrav  [lt_join(m4_quote(m4_default([$4], [[, ]])),
8919b7579f77SDag-Erling Smørgrav           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8920b7579f77SDag-Erling Smørgrav		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8921b7579f77SDag-Erling Smørgrav])
8922b7579f77SDag-Erling Smørgrav
8923b7579f77SDag-Erling Smørgrav# ltversion.m4 -- version numbers			-*- Autoconf -*-
8924b7579f77SDag-Erling Smørgrav#
8925*46d2f618SCy Schubert#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
8926b7579f77SDag-Erling Smørgrav#   Written by Scott James Remnant, 2004
8927b7579f77SDag-Erling Smørgrav#
8928b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
8929b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
8930b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
8931b7579f77SDag-Erling Smørgrav
8932b7579f77SDag-Erling Smørgrav# @configure_input@
8933b7579f77SDag-Erling Smørgrav
8934*46d2f618SCy Schubert# serial 4179 ltversion.m4
8935b7579f77SDag-Erling Smørgrav# This file is part of GNU Libtool
8936b7579f77SDag-Erling Smørgrav
8937*46d2f618SCy Schubertm4_define([LT_PACKAGE_VERSION], [2.4.6])
8938*46d2f618SCy Schubertm4_define([LT_PACKAGE_REVISION], [2.4.6])
8939b7579f77SDag-Erling Smørgrav
8940b7579f77SDag-Erling SmørgravAC_DEFUN([LTVERSION_VERSION],
8941*46d2f618SCy Schubert[macro_version='2.4.6'
8942*46d2f618SCy Schubertmacro_revision='2.4.6'
8943b7579f77SDag-Erling Smørgrav_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8944b7579f77SDag-Erling Smørgrav_LT_DECL(, macro_revision, 0)
8945b7579f77SDag-Erling Smørgrav])
8946b7579f77SDag-Erling Smørgrav
8947b7579f77SDag-Erling Smørgrav# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
8948b7579f77SDag-Erling Smørgrav#
8949*46d2f618SCy Schubert#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
8950*46d2f618SCy Schubert#   Foundation, Inc.
8951b7579f77SDag-Erling Smørgrav#   Written by Scott James Remnant, 2004.
8952b7579f77SDag-Erling Smørgrav#
8953b7579f77SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
8954b7579f77SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
8955b7579f77SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
8956b7579f77SDag-Erling Smørgrav
8957b7579f77SDag-Erling Smørgrav# serial 5 lt~obsolete.m4
8958b7579f77SDag-Erling Smørgrav
8959b7579f77SDag-Erling Smørgrav# These exist entirely to fool aclocal when bootstrapping libtool.
8960b7579f77SDag-Erling Smørgrav#
8961f61ef7f6SDag-Erling Smørgrav# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
8962b7579f77SDag-Erling Smørgrav# which have later been changed to m4_define as they aren't part of the
8963b7579f77SDag-Erling Smørgrav# exported API, or moved to Autoconf or Automake where they belong.
8964b7579f77SDag-Erling Smørgrav#
8965b7579f77SDag-Erling Smørgrav# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
8966b7579f77SDag-Erling Smørgrav# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8967b7579f77SDag-Erling Smørgrav# using a macro with the same name in our local m4/libtool.m4 it'll
8968b7579f77SDag-Erling Smørgrav# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8969b7579f77SDag-Erling Smørgrav# and doesn't know about Autoconf macros at all.)
8970b7579f77SDag-Erling Smørgrav#
8971b7579f77SDag-Erling Smørgrav# So we provide this file, which has a silly filename so it's always
8972b7579f77SDag-Erling Smørgrav# included after everything else.  This provides aclocal with the
8973b7579f77SDag-Erling Smørgrav# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8974b7579f77SDag-Erling Smørgrav# because those macros already exist, or will be overwritten later.
8975b7579f77SDag-Erling Smørgrav# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
8976b7579f77SDag-Erling Smørgrav#
8977b7579f77SDag-Erling Smørgrav# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8978b7579f77SDag-Erling Smørgrav# Yes, that means every name once taken will need to remain here until
8979b7579f77SDag-Erling Smørgrav# we give up compatibility with versions before 1.7, at which point
8980b7579f77SDag-Erling Smørgrav# we need to keep only those names which we still refer to.
8981b7579f77SDag-Erling Smørgrav
8982b7579f77SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define.
8983b7579f77SDag-Erling SmørgravAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8984b7579f77SDag-Erling Smørgrav
8985b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8986b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
8987b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8988b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
8989b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8990b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
8991b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
8992b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8993b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
8994b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
8995b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
8996b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8997b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8998b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8999b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
9000b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
9001b7579f77SDag-Erling Smørgravm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
9002b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
9003b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
9004b7579f77SDag-Erling Smørgravm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
9005b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
9006b7579f77SDag-Erling Smørgravm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
9007b7579f77SDag-Erling Smørgravm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
9008b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
9009b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
9010b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
9011b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
9012b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
9013b7579f77SDag-Erling Smørgravm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
9014b7579f77SDag-Erling Smørgravm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
9015b7579f77SDag-Erling Smørgravm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
9016b7579f77SDag-Erling Smørgravm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
9017b7579f77SDag-Erling Smørgravm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
9018b7579f77SDag-Erling Smørgravm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
9019b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
9020b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
9021b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
9022b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
9023b7579f77SDag-Erling Smørgravm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
9024b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
9025b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
9026b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
9027b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
9028b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
9029b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
9030b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
9031b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
9032b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
9033b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
9034b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
9035b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
9036b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
9037b7579f77SDag-Erling Smørgravm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
9038b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
9039b7579f77SDag-Erling Smørgravm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
9040b7579f77SDag-Erling Smørgravm4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
9041b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
9042b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
9043b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
9044b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
9045b7579f77SDag-Erling Smørgravm4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
9046b7579f77SDag-Erling Smørgrav
9047*46d2f618SCy Schubert# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
9048*46d2f618SCy Schubert# serial 11 (pkg-config-0.29.1)
9049091e9e46SCy Schubert
90503005e0a3SDag-Erling Smørgravdnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
90513005e0a3SDag-Erling Smørgravdnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
90523005e0a3SDag-Erling Smørgravdnl
90533005e0a3SDag-Erling Smørgravdnl This program is free software; you can redistribute it and/or modify
90543005e0a3SDag-Erling Smørgravdnl it under the terms of the GNU General Public License as published by
90553005e0a3SDag-Erling Smørgravdnl the Free Software Foundation; either version 2 of the License, or
90563005e0a3SDag-Erling Smørgravdnl (at your option) any later version.
90573005e0a3SDag-Erling Smørgravdnl
90583005e0a3SDag-Erling Smørgravdnl This program is distributed in the hope that it will be useful, but
90593005e0a3SDag-Erling Smørgravdnl WITHOUT ANY WARRANTY; without even the implied warranty of
90603005e0a3SDag-Erling Smørgravdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
90613005e0a3SDag-Erling Smørgravdnl General Public License for more details.
90623005e0a3SDag-Erling Smørgravdnl
90633005e0a3SDag-Erling Smørgravdnl You should have received a copy of the GNU General Public License
90643005e0a3SDag-Erling Smørgravdnl along with this program; if not, write to the Free Software
90653005e0a3SDag-Erling Smørgravdnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
90663005e0a3SDag-Erling Smørgravdnl 02111-1307, USA.
90673005e0a3SDag-Erling Smørgravdnl
90683005e0a3SDag-Erling Smørgravdnl As a special exception to the GNU General Public License, if you
90693005e0a3SDag-Erling Smørgravdnl distribute this file as part of a program that contains a
90703005e0a3SDag-Erling Smørgravdnl configuration script generated by Autoconf, you may include it under
90713005e0a3SDag-Erling Smørgravdnl the same distribution terms that you use for the rest of that
90723005e0a3SDag-Erling Smørgravdnl program.
90733005e0a3SDag-Erling Smørgrav
90743005e0a3SDag-Erling Smørgravdnl PKG_PREREQ(MIN-VERSION)
90753005e0a3SDag-Erling Smørgravdnl -----------------------
90763005e0a3SDag-Erling Smørgravdnl Since: 0.29
90773005e0a3SDag-Erling Smørgravdnl
90783005e0a3SDag-Erling Smørgravdnl Verify that the version of the pkg-config macros are at least
90793005e0a3SDag-Erling Smørgravdnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
90803005e0a3SDag-Erling Smørgravdnl installed version of pkg-config, this checks the developer's version
90813005e0a3SDag-Erling Smørgravdnl of pkg.m4 when generating configure.
90823005e0a3SDag-Erling Smørgravdnl
90833005e0a3SDag-Erling Smørgravdnl To ensure that this macro is defined, also add:
90843005e0a3SDag-Erling Smørgravdnl m4_ifndef([PKG_PREREQ],
90853005e0a3SDag-Erling Smørgravdnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
90863005e0a3SDag-Erling Smørgravdnl
90873005e0a3SDag-Erling Smørgravdnl See the "Since" comment for each macro you use to see what version
90883005e0a3SDag-Erling Smørgravdnl of the macros you require.
90893005e0a3SDag-Erling Smørgravm4_defun([PKG_PREREQ],
9090*46d2f618SCy Schubert[m4_define([PKG_MACROS_VERSION], [0.29.1])
90913005e0a3SDag-Erling Smørgravm4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
90923005e0a3SDag-Erling Smørgrav    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
90933005e0a3SDag-Erling Smørgrav])dnl PKG_PREREQ
90943005e0a3SDag-Erling Smørgrav
90953005e0a3SDag-Erling Smørgravdnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
90963005e0a3SDag-Erling Smørgravdnl ----------------------------------
90973005e0a3SDag-Erling Smørgravdnl Since: 0.16
90983005e0a3SDag-Erling Smørgravdnl
90993005e0a3SDag-Erling Smørgravdnl Search for the pkg-config tool and set the PKG_CONFIG variable to
91003005e0a3SDag-Erling Smørgravdnl first found in the path. Checks that the version of pkg-config found
91013005e0a3SDag-Erling Smørgravdnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
91023005e0a3SDag-Erling Smørgravdnl used since that's the first version where most current features of
91033005e0a3SDag-Erling Smørgravdnl pkg-config existed.
91043005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_PROG_PKG_CONFIG],
91053005e0a3SDag-Erling Smørgrav[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
91063005e0a3SDag-Erling Smørgravm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
91073005e0a3SDag-Erling Smørgravm4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
91083005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
91093005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
91103005e0a3SDag-Erling SmørgravAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
91113005e0a3SDag-Erling Smørgrav
91123005e0a3SDag-Erling Smørgravif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
91133005e0a3SDag-Erling Smørgrav	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
91143005e0a3SDag-Erling Smørgravfi
91153005e0a3SDag-Erling Smørgravif test -n "$PKG_CONFIG"; then
91163005e0a3SDag-Erling Smørgrav	_pkg_min_version=m4_default([$1], [0.9.0])
91173005e0a3SDag-Erling Smørgrav	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
91183005e0a3SDag-Erling Smørgrav	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
91193005e0a3SDag-Erling Smørgrav		AC_MSG_RESULT([yes])
91203005e0a3SDag-Erling Smørgrav	else
91213005e0a3SDag-Erling Smørgrav		AC_MSG_RESULT([no])
91223005e0a3SDag-Erling Smørgrav		PKG_CONFIG=""
91233005e0a3SDag-Erling Smørgrav	fi
91243005e0a3SDag-Erling Smørgravfi[]dnl
91253005e0a3SDag-Erling Smørgrav])dnl PKG_PROG_PKG_CONFIG
91263005e0a3SDag-Erling Smørgrav
91273005e0a3SDag-Erling Smørgravdnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
91283005e0a3SDag-Erling Smørgravdnl -------------------------------------------------------------------
91293005e0a3SDag-Erling Smørgravdnl Since: 0.18
91303005e0a3SDag-Erling Smørgravdnl
91313005e0a3SDag-Erling Smørgravdnl Check to see whether a particular set of modules exists. Similar to
91323005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES(), but does not set variables or print errors.
91333005e0a3SDag-Erling Smørgravdnl
91343005e0a3SDag-Erling Smørgravdnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
9135*46d2f618SCy Schubertdnl only at the first occurence in configure.ac, so if the first place
91363005e0a3SDag-Erling Smørgravdnl it's called might be skipped (such as if it is within an "if", you
91373005e0a3SDag-Erling Smørgravdnl have to call PKG_CHECK_EXISTS manually
91383005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_EXISTS],
91393005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
91403005e0a3SDag-Erling Smørgravif test -n "$PKG_CONFIG" && \
91413005e0a3SDag-Erling Smørgrav    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
91423005e0a3SDag-Erling Smørgrav  m4_default([$2], [:])
91433005e0a3SDag-Erling Smørgravm4_ifvaln([$3], [else
91443005e0a3SDag-Erling Smørgrav  $3])dnl
91453005e0a3SDag-Erling Smørgravfi])
91463005e0a3SDag-Erling Smørgrav
91473005e0a3SDag-Erling Smørgravdnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
91483005e0a3SDag-Erling Smørgravdnl ---------------------------------------------
91493005e0a3SDag-Erling Smørgravdnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
91503005e0a3SDag-Erling Smørgravdnl pkg_failed based on the result.
91513005e0a3SDag-Erling Smørgravm4_define([_PKG_CONFIG],
91523005e0a3SDag-Erling Smørgrav[if test -n "$$1"; then
91533005e0a3SDag-Erling Smørgrav    pkg_cv_[]$1="$$1"
91543005e0a3SDag-Erling Smørgrav elif test -n "$PKG_CONFIG"; then
91553005e0a3SDag-Erling Smørgrav    PKG_CHECK_EXISTS([$3],
91563005e0a3SDag-Erling Smørgrav                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
91573005e0a3SDag-Erling Smørgrav		      test "x$?" != "x0" && pkg_failed=yes ],
91583005e0a3SDag-Erling Smørgrav		     [pkg_failed=yes])
91593005e0a3SDag-Erling Smørgrav else
91603005e0a3SDag-Erling Smørgrav    pkg_failed=untried
91613005e0a3SDag-Erling Smørgravfi[]dnl
91623005e0a3SDag-Erling Smørgrav])dnl _PKG_CONFIG
91633005e0a3SDag-Erling Smørgrav
91643005e0a3SDag-Erling Smørgravdnl _PKG_SHORT_ERRORS_SUPPORTED
91653005e0a3SDag-Erling Smørgravdnl ---------------------------
91663005e0a3SDag-Erling Smørgravdnl Internal check to see if pkg-config supports short errors.
91673005e0a3SDag-Erling SmørgravAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
91683005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
91693005e0a3SDag-Erling Smørgravif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
91703005e0a3SDag-Erling Smørgrav        _pkg_short_errors_supported=yes
91713005e0a3SDag-Erling Smørgravelse
91723005e0a3SDag-Erling Smørgrav        _pkg_short_errors_supported=no
91733005e0a3SDag-Erling Smørgravfi[]dnl
91743005e0a3SDag-Erling Smørgrav])dnl _PKG_SHORT_ERRORS_SUPPORTED
91753005e0a3SDag-Erling Smørgrav
91763005e0a3SDag-Erling Smørgrav
91773005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
91783005e0a3SDag-Erling Smørgravdnl   [ACTION-IF-NOT-FOUND])
91793005e0a3SDag-Erling Smørgravdnl --------------------------------------------------------------
91803005e0a3SDag-Erling Smørgravdnl Since: 0.4.0
91813005e0a3SDag-Erling Smørgravdnl
91823005e0a3SDag-Erling Smørgravdnl Note that if there is a possibility the first call to
91833005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES might not happen, you should be sure to include an
91843005e0a3SDag-Erling Smørgravdnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
91853005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_MODULES],
91863005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
91873005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
91883005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
91893005e0a3SDag-Erling Smørgrav
91903005e0a3SDag-Erling Smørgravpkg_failed=no
9191*46d2f618SCy SchubertAC_MSG_CHECKING([for $1])
91923005e0a3SDag-Erling Smørgrav
91933005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
91943005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1][_LIBS], [libs], [$2])
91953005e0a3SDag-Erling Smørgrav
91963005e0a3SDag-Erling Smørgravm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
91973005e0a3SDag-Erling Smørgravand $1[]_LIBS to avoid the need to call pkg-config.
91983005e0a3SDag-Erling SmørgravSee the pkg-config man page for more details.])
91993005e0a3SDag-Erling Smørgrav
92003005e0a3SDag-Erling Smørgravif test $pkg_failed = yes; then
92013005e0a3SDag-Erling Smørgrav   	AC_MSG_RESULT([no])
92023005e0a3SDag-Erling Smørgrav        _PKG_SHORT_ERRORS_SUPPORTED
92033005e0a3SDag-Erling Smørgrav        if test $_pkg_short_errors_supported = yes; then
92043005e0a3SDag-Erling Smørgrav	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
92053005e0a3SDag-Erling Smørgrav        else
92063005e0a3SDag-Erling Smørgrav	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
92073005e0a3SDag-Erling Smørgrav        fi
92083005e0a3SDag-Erling Smørgrav	# Put the nasty error message in config.log where it belongs
92093005e0a3SDag-Erling Smørgrav	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
92103005e0a3SDag-Erling Smørgrav
92113005e0a3SDag-Erling Smørgrav	m4_default([$4], [AC_MSG_ERROR(
92123005e0a3SDag-Erling Smørgrav[Package requirements ($2) were not met:
92133005e0a3SDag-Erling Smørgrav
92143005e0a3SDag-Erling Smørgrav$$1_PKG_ERRORS
92153005e0a3SDag-Erling Smørgrav
92163005e0a3SDag-Erling SmørgravConsider adjusting the PKG_CONFIG_PATH environment variable if you
92173005e0a3SDag-Erling Smørgravinstalled software in a non-standard prefix.
92183005e0a3SDag-Erling Smørgrav
92193005e0a3SDag-Erling Smørgrav_PKG_TEXT])[]dnl
92203005e0a3SDag-Erling Smørgrav        ])
92213005e0a3SDag-Erling Smørgravelif test $pkg_failed = untried; then
92223005e0a3SDag-Erling Smørgrav     	AC_MSG_RESULT([no])
92233005e0a3SDag-Erling Smørgrav	m4_default([$4], [AC_MSG_FAILURE(
92243005e0a3SDag-Erling Smørgrav[The pkg-config script could not be found or is too old.  Make sure it
92253005e0a3SDag-Erling Smørgravis in your PATH or set the PKG_CONFIG environment variable to the full
92263005e0a3SDag-Erling Smørgravpath to pkg-config.
92273005e0a3SDag-Erling Smørgrav
92283005e0a3SDag-Erling Smørgrav_PKG_TEXT
92293005e0a3SDag-Erling Smørgrav
92303005e0a3SDag-Erling SmørgravTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
92313005e0a3SDag-Erling Smørgrav        ])
92323005e0a3SDag-Erling Smørgravelse
92333005e0a3SDag-Erling Smørgrav	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
92343005e0a3SDag-Erling Smørgrav	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
92353005e0a3SDag-Erling Smørgrav        AC_MSG_RESULT([yes])
92363005e0a3SDag-Erling Smørgrav	$3
92373005e0a3SDag-Erling Smørgravfi[]dnl
92383005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_MODULES
92393005e0a3SDag-Erling Smørgrav
92403005e0a3SDag-Erling Smørgrav
92413005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
92423005e0a3SDag-Erling Smørgravdnl   [ACTION-IF-NOT-FOUND])
92433005e0a3SDag-Erling Smørgravdnl ---------------------------------------------------------------------
92443005e0a3SDag-Erling Smørgravdnl Since: 0.29
92453005e0a3SDag-Erling Smørgravdnl
92463005e0a3SDag-Erling Smørgravdnl Checks for existence of MODULES and gathers its build flags with
92473005e0a3SDag-Erling Smørgravdnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
92483005e0a3SDag-Erling Smørgravdnl and VARIABLE-PREFIX_LIBS from --libs.
92493005e0a3SDag-Erling Smørgravdnl
92503005e0a3SDag-Erling Smørgravdnl Note that if there is a possibility the first call to
92513005e0a3SDag-Erling Smørgravdnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
92523005e0a3SDag-Erling Smørgravdnl include an explicit call to PKG_PROG_PKG_CONFIG in your
92533005e0a3SDag-Erling Smørgravdnl configure.ac.
92543005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_MODULES_STATIC],
92553005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
92563005e0a3SDag-Erling Smørgrav_save_PKG_CONFIG=$PKG_CONFIG
92573005e0a3SDag-Erling SmørgravPKG_CONFIG="$PKG_CONFIG --static"
92583005e0a3SDag-Erling SmørgravPKG_CHECK_MODULES($@)
92593005e0a3SDag-Erling SmørgravPKG_CONFIG=$_save_PKG_CONFIG[]dnl
92603005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_MODULES_STATIC
92613005e0a3SDag-Erling Smørgrav
92623005e0a3SDag-Erling Smørgrav
92633005e0a3SDag-Erling Smørgravdnl PKG_INSTALLDIR([DIRECTORY])
92643005e0a3SDag-Erling Smørgravdnl -------------------------
92653005e0a3SDag-Erling Smørgravdnl Since: 0.27
92663005e0a3SDag-Erling Smørgravdnl
92673005e0a3SDag-Erling Smørgravdnl Substitutes the variable pkgconfigdir as the location where a module
92683005e0a3SDag-Erling Smørgravdnl should install pkg-config .pc files. By default the directory is
92693005e0a3SDag-Erling Smørgravdnl $libdir/pkgconfig, but the default can be changed by passing
92703005e0a3SDag-Erling Smørgravdnl DIRECTORY. The user can override through the --with-pkgconfigdir
92713005e0a3SDag-Erling Smørgravdnl parameter.
92723005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_INSTALLDIR],
92733005e0a3SDag-Erling Smørgrav[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
92743005e0a3SDag-Erling Smørgravm4_pushdef([pkg_description],
92753005e0a3SDag-Erling Smørgrav    [pkg-config installation directory @<:@]pkg_default[@:>@])
92763005e0a3SDag-Erling SmørgravAC_ARG_WITH([pkgconfigdir],
92773005e0a3SDag-Erling Smørgrav    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
92783005e0a3SDag-Erling Smørgrav    [with_pkgconfigdir=]pkg_default)
92793005e0a3SDag-Erling SmørgravAC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
92803005e0a3SDag-Erling Smørgravm4_popdef([pkg_default])
92813005e0a3SDag-Erling Smørgravm4_popdef([pkg_description])
92823005e0a3SDag-Erling Smørgrav])dnl PKG_INSTALLDIR
92833005e0a3SDag-Erling Smørgrav
92843005e0a3SDag-Erling Smørgrav
92853005e0a3SDag-Erling Smørgravdnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
92863005e0a3SDag-Erling Smørgravdnl --------------------------------
92873005e0a3SDag-Erling Smørgravdnl Since: 0.27
92883005e0a3SDag-Erling Smørgravdnl
92893005e0a3SDag-Erling Smørgravdnl Substitutes the variable noarch_pkgconfigdir as the location where a
92903005e0a3SDag-Erling Smørgravdnl module should install arch-independent pkg-config .pc files. By
92913005e0a3SDag-Erling Smørgravdnl default the directory is $datadir/pkgconfig, but the default can be
92923005e0a3SDag-Erling Smørgravdnl changed by passing DIRECTORY. The user can override through the
92933005e0a3SDag-Erling Smørgravdnl --with-noarch-pkgconfigdir parameter.
92943005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_NOARCH_INSTALLDIR],
92953005e0a3SDag-Erling Smørgrav[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
92963005e0a3SDag-Erling Smørgravm4_pushdef([pkg_description],
92973005e0a3SDag-Erling Smørgrav    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
92983005e0a3SDag-Erling SmørgravAC_ARG_WITH([noarch-pkgconfigdir],
92993005e0a3SDag-Erling Smørgrav    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
93003005e0a3SDag-Erling Smørgrav    [with_noarch_pkgconfigdir=]pkg_default)
93013005e0a3SDag-Erling SmørgravAC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
93023005e0a3SDag-Erling Smørgravm4_popdef([pkg_default])
93033005e0a3SDag-Erling Smørgravm4_popdef([pkg_description])
93043005e0a3SDag-Erling Smørgrav])dnl PKG_NOARCH_INSTALLDIR
93053005e0a3SDag-Erling Smørgrav
93063005e0a3SDag-Erling Smørgrav
93073005e0a3SDag-Erling Smørgravdnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
93083005e0a3SDag-Erling Smørgravdnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
93093005e0a3SDag-Erling Smørgravdnl -------------------------------------------
93103005e0a3SDag-Erling Smørgravdnl Since: 0.28
93113005e0a3SDag-Erling Smørgravdnl
93123005e0a3SDag-Erling Smørgravdnl Retrieves the value of the pkg-config variable for the given module.
93133005e0a3SDag-Erling SmørgravAC_DEFUN([PKG_CHECK_VAR],
93143005e0a3SDag-Erling Smørgrav[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
93153005e0a3SDag-Erling SmørgravAC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
93163005e0a3SDag-Erling Smørgrav
93173005e0a3SDag-Erling Smørgrav_PKG_CONFIG([$1], [variable="][$3]["], [$2])
93183005e0a3SDag-Erling SmørgravAS_VAR_COPY([$1], [pkg_cv_][$1])
93193005e0a3SDag-Erling Smørgrav
93203005e0a3SDag-Erling SmørgravAS_VAR_IF([$1], [""], [$5], [$4])dnl
93213005e0a3SDag-Erling Smørgrav])dnl PKG_CHECK_VAR
93223005e0a3SDag-Erling Smørgrav
9323091e9e46SCy Schubertdnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
9324091e9e46SCy Schubertdnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
9325091e9e46SCy Schubertdnl   [DESCRIPTION], [DEFAULT])
9326091e9e46SCy Schubertdnl ------------------------------------------
9327091e9e46SCy Schubertdnl
9328091e9e46SCy Schubertdnl Prepare a "--with-" configure option using the lowercase
9329091e9e46SCy Schubertdnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
9330091e9e46SCy Schubertdnl PKG_CHECK_MODULES in a single macro.
9331091e9e46SCy SchubertAC_DEFUN([PKG_WITH_MODULES],
9332091e9e46SCy Schubert[
9333091e9e46SCy Schubertm4_pushdef([with_arg], m4_tolower([$1]))
9334091e9e46SCy Schubert
9335091e9e46SCy Schubertm4_pushdef([description],
9336091e9e46SCy Schubert           [m4_default([$5], [build with ]with_arg[ support])])
9337091e9e46SCy Schubert
9338091e9e46SCy Schubertm4_pushdef([def_arg], [m4_default([$6], [auto])])
9339091e9e46SCy Schubertm4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
9340091e9e46SCy Schubertm4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
9341091e9e46SCy Schubert
9342091e9e46SCy Schubertm4_case(def_arg,
9343091e9e46SCy Schubert            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
9344091e9e46SCy Schubert            [m4_pushdef([with_without],[--with-]with_arg)])
9345091e9e46SCy Schubert
9346091e9e46SCy SchubertAC_ARG_WITH(with_arg,
9347091e9e46SCy Schubert     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
9348091e9e46SCy Schubert    [AS_TR_SH([with_]with_arg)=def_arg])
9349091e9e46SCy Schubert
9350091e9e46SCy SchubertAS_CASE([$AS_TR_SH([with_]with_arg)],
9351091e9e46SCy Schubert            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
9352091e9e46SCy Schubert            [auto],[PKG_CHECK_MODULES([$1],[$2],
9353091e9e46SCy Schubert                                        [m4_n([def_action_if_found]) $3],
9354091e9e46SCy Schubert                                        [m4_n([def_action_if_not_found]) $4])])
9355091e9e46SCy Schubert
9356091e9e46SCy Schubertm4_popdef([with_arg])
9357091e9e46SCy Schubertm4_popdef([description])
9358091e9e46SCy Schubertm4_popdef([def_arg])
9359091e9e46SCy Schubert
9360091e9e46SCy Schubert])dnl PKG_WITH_MODULES
9361091e9e46SCy Schubert
9362091e9e46SCy Schubertdnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
9363091e9e46SCy Schubertdnl   [DESCRIPTION], [DEFAULT])
9364091e9e46SCy Schubertdnl -----------------------------------------------
9365091e9e46SCy Schubertdnl
9366091e9e46SCy Schubertdnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
9367091e9e46SCy Schubertdnl check._[VARIABLE-PREFIX] is exported as make variable.
9368091e9e46SCy SchubertAC_DEFUN([PKG_HAVE_WITH_MODULES],
9369091e9e46SCy Schubert[
9370091e9e46SCy SchubertPKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
9371091e9e46SCy Schubert
9372091e9e46SCy SchubertAM_CONDITIONAL([HAVE_][$1],
9373091e9e46SCy Schubert               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
9374091e9e46SCy Schubert])dnl PKG_HAVE_WITH_MODULES
9375091e9e46SCy Schubert
9376091e9e46SCy Schubertdnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
9377091e9e46SCy Schubertdnl   [DESCRIPTION], [DEFAULT])
9378091e9e46SCy Schubertdnl ------------------------------------------------------
9379091e9e46SCy Schubertdnl
9380091e9e46SCy Schubertdnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
9381091e9e46SCy Schubertdnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
9382091e9e46SCy Schubertdnl and preprocessor variable.
9383091e9e46SCy SchubertAC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
9384091e9e46SCy Schubert[
9385091e9e46SCy SchubertPKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
9386091e9e46SCy Schubert
9387091e9e46SCy SchubertAS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
9388091e9e46SCy Schubert        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
9389091e9e46SCy Schubert])dnl PKG_HAVE_DEFINE_WITH_MODULES
9390091e9e46SCy Schubert
93913005e0a3SDag-Erling Smørgrav# AM_CONDITIONAL                                            -*- Autoconf -*-
93923005e0a3SDag-Erling Smørgrav
9393*46d2f618SCy Schubert# Copyright (C) 1997-2020 Free Software Foundation, Inc.
93943005e0a3SDag-Erling Smørgrav#
93953005e0a3SDag-Erling Smørgrav# This file is free software; the Free Software Foundation
93963005e0a3SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it,
93973005e0a3SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved.
93983005e0a3SDag-Erling Smørgrav
93993005e0a3SDag-Erling Smørgrav# AM_CONDITIONAL(NAME, SHELL-CONDITION)
94003005e0a3SDag-Erling Smørgrav# -------------------------------------
94013005e0a3SDag-Erling Smørgrav# Define a conditional.
94023005e0a3SDag-Erling SmørgravAC_DEFUN([AM_CONDITIONAL],
94033005e0a3SDag-Erling Smørgrav[AC_PREREQ([2.52])dnl
94043005e0a3SDag-Erling Smørgrav m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
94053005e0a3SDag-Erling Smørgrav       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
94063005e0a3SDag-Erling SmørgravAC_SUBST([$1_TRUE])dnl
94073005e0a3SDag-Erling SmørgravAC_SUBST([$1_FALSE])dnl
94083005e0a3SDag-Erling Smørgrav_AM_SUBST_NOTMAKE([$1_TRUE])dnl
94093005e0a3SDag-Erling Smørgrav_AM_SUBST_NOTMAKE([$1_FALSE])dnl
94103005e0a3SDag-Erling Smørgravm4_define([_AM_COND_VALUE_$1], [$2])dnl
94113005e0a3SDag-Erling Smørgravif $2; then
94123005e0a3SDag-Erling Smørgrav  $1_TRUE=
94133005e0a3SDag-Erling Smørgrav  $1_FALSE='#'
94143005e0a3SDag-Erling Smørgravelse
94153005e0a3SDag-Erling Smørgrav  $1_TRUE='#'
94163005e0a3SDag-Erling Smørgrav  $1_FALSE=
94173005e0a3SDag-Erling Smørgravfi
94183005e0a3SDag-Erling SmørgravAC_CONFIG_COMMANDS_PRE(
94193005e0a3SDag-Erling Smørgrav[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
94203005e0a3SDag-Erling Smørgrav  AC_MSG_ERROR([[conditional "$1" was never defined.
94213005e0a3SDag-Erling SmørgravUsually this means the macro was only invoked conditionally.]])
94223005e0a3SDag-Erling Smørgravfi])])
94233005e0a3SDag-Erling Smørgrav
9424*46d2f618SCy Schubert# Copyright (C) 2006-2020 Free Software Foundation, Inc.
94253005e0a3SDag-Erling Smørgrav#
94263005e0a3SDag-Erling Smørgrav# This file is free software; the Free Software Foundation
94273005e0a3SDag-Erling Smørgrav# gives unlimited permission to copy and/or distribute it,
94283005e0a3SDag-Erling Smørgrav# with or without modifications, as long as this notice is preserved.
94293005e0a3SDag-Erling Smørgrav
94303005e0a3SDag-Erling Smørgrav# _AM_SUBST_NOTMAKE(VARIABLE)
94313005e0a3SDag-Erling Smørgrav# ---------------------------
94323005e0a3SDag-Erling Smørgrav# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
94333005e0a3SDag-Erling Smørgrav# This macro is traced by Automake.
94343005e0a3SDag-Erling SmørgravAC_DEFUN([_AM_SUBST_NOTMAKE])
94353005e0a3SDag-Erling Smørgrav
94363005e0a3SDag-Erling Smørgrav# AM_SUBST_NOTMAKE(VARIABLE)
94373005e0a3SDag-Erling Smørgrav# --------------------------
94383005e0a3SDag-Erling Smørgrav# Public sister of _AM_SUBST_NOTMAKE.
94393005e0a3SDag-Erling SmørgravAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
94403005e0a3SDag-Erling Smørgrav
9441