blob: 27bc57cf431877883c2381fea4e1ae0cf0a8b947 [file] [log] [blame]
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001# generated automatically by aclocal 1.11 -*- Autoconf -*-
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06004# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06005# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050014m4_ifndef([AC_AUTOCONF_VERSION],
15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -050016m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
17[m4_warning([this file was generated for autoconf 2.65.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050018You have another version of autoconf. It may work, but is not guaranteed to.
19If you have problems, you may need to regenerate the build system entirely.
20To do so, use the procedure documented by the package, typically `autoreconf'.])])
21
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -060022# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050023#
24# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -050025# 2006, 2007, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050026# Written by Gordon Matzigkeit, 1996
27#
28# This file is free software; the Free Software Foundation gives
29# unlimited permission to copy and/or distribute it, with or without
30# modifications, as long as this notice is preserved.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -060031
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050032m4_define([_LT_COPYING], [dnl
33# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -050034# 2006, 2007, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050035# Written by Gordon Matzigkeit, 1996
36#
37# This file is part of GNU Libtool.
38#
39# GNU Libtool is free software; you can redistribute it and/or
40# modify it under the terms of the GNU General Public License as
41# published by the Free Software Foundation; either version 2 of
42# the License, or (at your option) any later version.
43#
44# As a special exception to the GNU General Public License,
45# if you distribute this file as part of a program or library that
46# is built using GNU Libtool, you may include this file under the
47# same distribution terms that you use for the rest of that program.
48#
49# GNU Libtool is distributed in the hope that it will be useful,
50# but WITHOUT ANY WARRANTY; without even the implied warranty of
51# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
52# GNU General Public License for more details.
53#
54# You should have received a copy of the GNU General Public License
55# along with GNU Libtool; see the file COPYING. If not, a copy
56# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
57# obtained by writing to the Free Software Foundation, Inc.,
58# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
59])
60
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -050061# serial 56 LT_INIT
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -060062
63
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050064# LT_PREREQ(VERSION)
65# ------------------
66# Complain and exit if this libtool version is less that VERSION.
67m4_defun([LT_PREREQ],
68[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
69 [m4_default([$3],
70 [m4_fatal([Libtool version $1 or higher is required],
71 63)])],
72 [$2])])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -060073
74
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050075# _LT_CHECK_BUILDDIR
76# ------------------
77# Complain if the absolute build directory name contains unusual characters
78m4_defun([_LT_CHECK_BUILDDIR],
79[case `pwd` in
80 *\ * | *\ *)
81 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
82esac
83])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -060084
85
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -050086# LT_INIT([OPTIONS])
87# ------------------
88AC_DEFUN([LT_INIT],
89[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
90AC_BEFORE([$0], [LT_LANG])dnl
91AC_BEFORE([$0], [LT_OUTPUT])dnl
92AC_BEFORE([$0], [LTDL_INIT])dnl
93m4_require([_LT_CHECK_BUILDDIR])dnl
94
95dnl Autoconf doesn't catch unexpanded LT_ macros by default:
96m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
97m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
98dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
99dnl unless we require an AC_DEFUNed macro:
100AC_REQUIRE([LTOPTIONS_VERSION])dnl
101AC_REQUIRE([LTSUGAR_VERSION])dnl
102AC_REQUIRE([LTVERSION_VERSION])dnl
103AC_REQUIRE([LTOBSOLETE_VERSION])dnl
104m4_require([_LT_PROG_LTMAIN])dnl
105
106dnl Parse OPTIONS
107_LT_SET_OPTIONS([$0], [$1])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600108
109# This can be used to rebuild libtool when needed
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500110LIBTOOL_DEPS="$ltmain"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600111
112# Always use our own libtool.
113LIBTOOL='$(SHELL) $(top_builddir)/libtool'
114AC_SUBST(LIBTOOL)dnl
115
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500116_LT_SETUP
117
118# Only expand once:
119m4_define([LT_INIT])
120])# LT_INIT
121
122# Old names:
123AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
124AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
125dnl aclocal-1.4 backwards compatibility:
126dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
127dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600128
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600129
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500130# _LT_CC_BASENAME(CC)
131# -------------------
132# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
133m4_defun([_LT_CC_BASENAME],
134[for cc_temp in $1""; do
135 case $cc_temp in
136 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
137 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
138 \-*) ;;
139 *) break;;
140 esac
141done
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500142cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500143])
144
145
146# _LT_FILEUTILS_DEFAULTS
147# ----------------------
148# It is okay to use these file commands and assume they have been set
149# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
150m4_defun([_LT_FILEUTILS_DEFAULTS],
151[: ${CP="cp -f"}
152: ${MV="mv -f"}
153: ${RM="rm -f"}
154])# _LT_FILEUTILS_DEFAULTS
155
156
157# _LT_SETUP
158# ---------
159m4_defun([_LT_SETUP],
160[AC_REQUIRE([AC_CANONICAL_HOST])dnl
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600161AC_REQUIRE([AC_CANONICAL_BUILD])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500162_LT_DECL([], [host_alias], [0], [The host system])dnl
163_LT_DECL([], [host], [0])dnl
164_LT_DECL([], [host_os], [0])dnl
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600165dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500166_LT_DECL([], [build_alias], [0], [The build system])dnl
167_LT_DECL([], [build], [0])dnl
168_LT_DECL([], [build_os], [0])dnl
169dnl
170AC_REQUIRE([AC_PROG_CC])dnl
171AC_REQUIRE([LT_PATH_LD])dnl
172AC_REQUIRE([LT_PATH_NM])dnl
173dnl
174AC_REQUIRE([AC_PROG_LN_S])dnl
175test -z "$LN_S" && LN_S="ln -s"
176_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177dnl
178AC_REQUIRE([LT_CMD_MAX_LEN])dnl
179_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181dnl
182m4_require([_LT_FILEUTILS_DEFAULTS])dnl
183m4_require([_LT_CHECK_SHELL_FEATURES])dnl
184m4_require([_LT_CMD_RELOAD])dnl
185m4_require([_LT_CHECK_MAGIC_METHOD])dnl
186m4_require([_LT_CMD_OLD_ARCHIVE])dnl
187m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600188
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500189_LT_CONFIG_LIBTOOL_INIT([
190# See if we are running on zsh, and set the options which allow our
191# commands through without removal of \ escapes INIT.
192if test -n "\${ZSH_VERSION+set}" ; then
193 setopt NO_GLOB_SUBST
194fi
195])
196if test -n "${ZSH_VERSION+set}" ; then
197 setopt NO_GLOB_SUBST
198fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600199
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500200_LT_CHECK_OBJDIR
201
202m4_require([_LT_TAG_COMPILER])dnl
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500203_LT_PROG_ECHO_BACKSLASH
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600204
205case $host_os in
206aix3*)
207 # AIX sometimes has problems with the GCC collect2 program. For some
208 # reason, if we set the COLLECT_NAMES environment variable, the problems
209 # vanish in a puff of smoke.
210 if test "X${COLLECT_NAMES+set}" != Xset; then
211 COLLECT_NAMES=
212 export COLLECT_NAMES
213 fi
214 ;;
215esac
216
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500217# Sed substitution that helps us do robust quoting. It backslashifies
218# metacharacters that are still active within double-quoted strings.
219sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
220
221# Same as above, but do not quote variable references.
222double_quote_subst='s/\([["`\\]]\)/\\\1/g'
223
224# Sed substitution to delay expansion of an escaped shell variable in a
225# double_quote_subst'ed string.
226delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
227
228# Sed substitution to delay expansion of an escaped single quote.
229delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
230
231# Sed substitution to avoid accidental globbing in evaled expressions
232no_glob_subst='s/\*/\\\*/g'
233
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600234# Global variables:
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500235ofile=libtool
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600236can_build_shared=yes
237
238# All known linkers require a `.a' archive for static linking (except MSVC,
239# which needs '.lib').
240libext=a
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600241
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500242with_gnu_ld="$lt_cv_prog_gnu_ld"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600243
244old_CC="$CC"
245old_CFLAGS="$CFLAGS"
246
247# Set sane defaults for various variables
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600248test -z "$CC" && CC=cc
249test -z "$LTCC" && LTCC=$CC
250test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600251test -z "$LD" && LD=ld
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600252test -z "$ac_objext" && ac_objext=o
253
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600254_LT_CC_BASENAME([$compiler])
255
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600256# Only perform the check for file, if the check method requires it
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500257test -z "$MAGIC_CMD" && MAGIC_CMD=file
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600258case $deplibs_check_method in
259file_magic*)
260 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500261 _LT_PATH_MAGIC
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600262 fi
263 ;;
264esac
265
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600266# Use C for the default configuration in the libtool script
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500267LT_SUPPORTED_TAG([CC])
268_LT_LANG_C_CONFIG
269_LT_LANG_DEFAULT_CONFIG
270_LT_CONFIG_COMMANDS
271])# _LT_SETUP
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600272
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600273
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500274# _LT_PROG_LTMAIN
275# ---------------
276# Note that this code is called both from `configure', and `config.status'
277# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
278# `config.status' has no value for ac_aux_dir unless we are using Automake,
279# so we pass a copy along to make sure it has a sensible value anyway.
280m4_defun([_LT_PROG_LTMAIN],
281[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
282_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
283ltmain="$ac_aux_dir/ltmain.sh"
284])# _LT_PROG_LTMAIN
285
286
287
288# So that we can recreate a full libtool script including additional
289# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
290# in macros and then make a single call at the end using the `libtool'
291# label.
292
293
294# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
295# ----------------------------------------
296# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
297m4_define([_LT_CONFIG_LIBTOOL_INIT],
298[m4_ifval([$1],
299 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
300 [$1
301])])])
302
303# Initialize.
304m4_define([_LT_OUTPUT_LIBTOOL_INIT])
305
306
307# _LT_CONFIG_LIBTOOL([COMMANDS])
308# ------------------------------
309# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
310m4_define([_LT_CONFIG_LIBTOOL],
311[m4_ifval([$1],
312 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
313 [$1
314])])])
315
316# Initialize.
317m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
318
319
320# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
321# -----------------------------------------------------
322m4_defun([_LT_CONFIG_SAVE_COMMANDS],
323[_LT_CONFIG_LIBTOOL([$1])
324_LT_CONFIG_LIBTOOL_INIT([$2])
325])
326
327
328# _LT_FORMAT_COMMENT([COMMENT])
329# -----------------------------
330# Add leading comment marks to the start of each line, and a trailing
331# full-stop to the whole comment if one is not present already.
332m4_define([_LT_FORMAT_COMMENT],
333[m4_ifval([$1], [
334m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
335 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
336)])
337
338
339
340
341
342# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
343# -------------------------------------------------------------------
344# CONFIGNAME is the name given to the value in the libtool script.
345# VARNAME is the (base) name used in the configure script.
346# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
347# VARNAME. Any other value will be used directly.
348m4_define([_LT_DECL],
349[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
350 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
351 [m4_ifval([$1], [$1], [$2])])
352 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
353 m4_ifval([$4],
354 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
355 lt_dict_add_subkey([lt_decl_dict], [$2],
356 [tagged?], [m4_ifval([$5], [yes], [no])])])
357])
358
359
360# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
361# --------------------------------------------------------
362m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
363
364
365# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
366# ------------------------------------------------
367m4_define([lt_decl_tag_varnames],
368[_lt_decl_filter([tagged?], [yes], $@)])
369
370
371# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
372# ---------------------------------------------------------
373m4_define([_lt_decl_filter],
374[m4_case([$#],
375 [0], [m4_fatal([$0: too few arguments: $#])],
376 [1], [m4_fatal([$0: too few arguments: $#: $1])],
377 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
378 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
379 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
380])
381
382
383# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
384# --------------------------------------------------
385m4_define([lt_decl_quote_varnames],
386[_lt_decl_filter([value], [1], $@)])
387
388
389# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
390# ---------------------------------------------------
391m4_define([lt_decl_dquote_varnames],
392[_lt_decl_filter([value], [2], $@)])
393
394
395# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
396# ---------------------------------------------------
397m4_define([lt_decl_varnames_tagged],
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -0500398[m4_assert([$# <= 2])dnl
399_$0(m4_quote(m4_default([$1], [[, ]])),
400 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
401 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
402m4_define([_lt_decl_varnames_tagged],
403[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500404
405
406# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
407# ------------------------------------------------
408m4_define([lt_decl_all_varnames],
409[_$0(m4_quote(m4_default([$1], [[, ]])),
410 m4_if([$2], [],
411 m4_quote(lt_decl_varnames),
412 m4_quote(m4_shift($@))))[]dnl
413])
414m4_define([_lt_decl_all_varnames],
415[lt_join($@, lt_decl_varnames_tagged([$1],
416 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
417])
418
419
420# _LT_CONFIG_STATUS_DECLARE([VARNAME])
421# ------------------------------------
422# Quote a variable value, and forward it to `config.status' so that its
423# declaration there will have the same value as in `configure'. VARNAME
424# must have a single quote delimited value for this to work.
425m4_define([_LT_CONFIG_STATUS_DECLARE],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500426[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500427
428
429# _LT_CONFIG_STATUS_DECLARATIONS
430# ------------------------------
431# We delimit libtool config variables with single quotes, so when
432# we write them to config.status, we have to be sure to quote all
433# embedded single quotes properly. In configure, this macro expands
434# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
435#
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500436# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500437m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
438[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
439 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
440
441
442# _LT_LIBTOOL_TAGS
443# ----------------
444# Output comment and list of tags supported by the script
445m4_defun([_LT_LIBTOOL_TAGS],
446[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
447available_tags="_LT_TAGS"dnl
448])
449
450
451# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
452# -----------------------------------
453# Extract the dictionary values for VARNAME (optionally with TAG) and
454# expand to a commented shell variable setting:
455#
456# # Some comment about what VAR is for.
457# visible_name=$lt_internal_name
458m4_define([_LT_LIBTOOL_DECLARE],
459[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
460 [description])))[]dnl
461m4_pushdef([_libtool_name],
462 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
463m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
464 [0], [_libtool_name=[$]$1],
465 [1], [_libtool_name=$lt_[]$1],
466 [2], [_libtool_name=$lt_[]$1],
467 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
468m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
469])
470
471
472# _LT_LIBTOOL_CONFIG_VARS
473# -----------------------
474# Produce commented declarations of non-tagged libtool config variables
475# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
476# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
477# section) are produced by _LT_LIBTOOL_TAG_VARS.
478m4_defun([_LT_LIBTOOL_CONFIG_VARS],
479[m4_foreach([_lt_var],
480 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
481 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
482
483
484# _LT_LIBTOOL_TAG_VARS(TAG)
485# -------------------------
486m4_define([_LT_LIBTOOL_TAG_VARS],
487[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
488 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
489
490
491# _LT_TAGVAR(VARNAME, [TAGNAME])
492# ------------------------------
493m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
494
495
496# _LT_CONFIG_COMMANDS
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600497# -------------------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500498# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
499# variables for single and double quote escaping we saved from calls
500# to _LT_DECL, we can put quote escaped variables declarations
501# into `config.status', and then the shell code to quote escape them in
502# for loops in `config.status'. Finally, any additional code accumulated
503# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
504m4_defun([_LT_CONFIG_COMMANDS],
505[AC_PROVIDE_IFELSE([LT_OUTPUT],
506 dnl If the libtool generation code has been placed in $CONFIG_LT,
507 dnl instead of duplicating it all over again into config.status,
508 dnl then we will have config.status run $CONFIG_LT later, so it
509 dnl needs to know what name is stored there:
510 [AC_CONFIG_COMMANDS([libtool],
511 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
512 dnl If the libtool generation code is destined for config.status,
513 dnl expand the accumulated commands and init code now:
514 [AC_CONFIG_COMMANDS([libtool],
515 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
516])#_LT_CONFIG_COMMANDS
517
518
519# Initialize.
520m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
521[
522
523# The HP-UX ksh and POSIX shell print the target directory to stdout
524# if CDPATH is set.
525(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
526
527sed_quote_subst='$sed_quote_subst'
528double_quote_subst='$double_quote_subst'
529delay_variable_subst='$delay_variable_subst'
530_LT_CONFIG_STATUS_DECLARATIONS
531LTCC='$LTCC'
532LTCFLAGS='$LTCFLAGS'
533compiler='$compiler_DEFAULT'
534
535# Quote evaled strings.
536for var in lt_decl_all_varnames([[ \
537]], lt_decl_quote_varnames); do
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500538 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500539 *[[\\\\\\\`\\"\\\$]]*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500540 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500541 ;;
542 *)
543 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
544 ;;
545 esac
546done
547
548# Double-quote double-evaled strings.
549for var in lt_decl_all_varnames([[ \
550]], lt_decl_dquote_varnames); do
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500551 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500552 *[[\\\\\\\`\\"\\\$]]*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500553 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500554 ;;
555 *)
556 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
557 ;;
558 esac
559done
560
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500561# Fix-up fallback echo if it was mangled by the above quoting rules.
562case \$lt_ECHO in
563*'\\\[$]0 --fallback-echo"')dnl "
564 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
565 ;;
566esac
567
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500568_LT_OUTPUT_LIBTOOL_INIT
569])
570
571
572# LT_OUTPUT
573# ---------
574# This macro allows early generation of the libtool script (before
575# AC_OUTPUT is called), incase it is used in configure for compilation
576# tests.
577AC_DEFUN([LT_OUTPUT],
578[: ${CONFIG_LT=./config.lt}
579AC_MSG_NOTICE([creating $CONFIG_LT])
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500580cat >"$CONFIG_LT" <<_LTEOF
581#! $SHELL
582# Generated by $as_me.
583# Run this file to recreate a libtool stub with the current configuration.
584
585lt_cl_silent=false
586SHELL=\${CONFIG_SHELL-$SHELL}
587_LTEOF
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500588
589cat >>"$CONFIG_LT" <<\_LTEOF
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500590AS_SHELL_SANITIZE
591_AS_PREPARE
592
593exec AS_MESSAGE_FD>&1
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500594exec AS_MESSAGE_LOG_FD>>config.log
595{
596 echo
597 AS_BOX([Running $as_me.])
598} >&AS_MESSAGE_LOG_FD
599
600lt_cl_help="\
601\`$as_me' creates a local libtool stub from the current configuration,
602for use in further configure time tests before the real libtool is
603generated.
604
605Usage: $[0] [[OPTIONS]]
606
607 -h, --help print this help, then exit
608 -V, --version print version number, then exit
609 -q, --quiet do not print progress messages
610 -d, --debug don't remove temporary files
611
612Report bugs to <bug-libtool@gnu.org>."
613
614lt_cl_version="\
615m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
616m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
617configured by $[0], generated by m4_PACKAGE_STRING.
618
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500619Copyright (C) 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500620This config.lt script is free software; the Free Software Foundation
621gives unlimited permision to copy, distribute and modify it."
622
623while test $[#] != 0
624do
625 case $[1] in
626 --version | --v* | -V )
627 echo "$lt_cl_version"; exit 0 ;;
628 --help | --h* | -h )
629 echo "$lt_cl_help"; exit 0 ;;
630 --debug | --d* | -d )
631 debug=: ;;
632 --quiet | --q* | --silent | --s* | -q )
633 lt_cl_silent=: ;;
634
635 -*) AC_MSG_ERROR([unrecognized option: $[1]
636Try \`$[0] --help' for more information.]) ;;
637
638 *) AC_MSG_ERROR([unrecognized argument: $[1]
639Try \`$[0] --help' for more information.]) ;;
640 esac
641 shift
642done
643
644if $lt_cl_silent; then
645 exec AS_MESSAGE_FD>/dev/null
646fi
647_LTEOF
648
649cat >>"$CONFIG_LT" <<_LTEOF
650_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
651_LTEOF
652
653cat >>"$CONFIG_LT" <<\_LTEOF
654AC_MSG_NOTICE([creating $ofile])
655_LT_OUTPUT_LIBTOOL_COMMANDS
656AS_EXIT(0)
657_LTEOF
658chmod +x "$CONFIG_LT"
659
660# configure is writing to config.log, but config.lt does its own redirection,
661# appending to config.log, which fails on DOS, as config.log is still kept
662# open by configure. Here we exec the FD to /dev/null, effectively closing
663# config.log, so it can be properly (re)opened and appended to by config.lt.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500664if test "$no_create" != yes; then
665 lt_cl_success=:
666 test "$silent" = yes &&
667 lt_config_lt_args="$lt_config_lt_args --quiet"
668 exec AS_MESSAGE_LOG_FD>/dev/null
669 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
670 exec AS_MESSAGE_LOG_FD>>config.log
671 $lt_cl_success || AS_EXIT(1)
672fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500673])# LT_OUTPUT
674
675
676# _LT_CONFIG(TAG)
677# ---------------
678# If TAG is the built-in tag, create an initial libtool script with a
679# default configuration from the untagged config vars. Otherwise add code
680# to config.status for appending the configuration named by TAG from the
681# matching tagged config vars.
682m4_defun([_LT_CONFIG],
683[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
684_LT_CONFIG_SAVE_COMMANDS([
685 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
686 m4_if(_LT_TAG, [C], [
687 # See if we are running on zsh, and set the options which allow our
688 # commands through without removal of \ escapes.
689 if test -n "${ZSH_VERSION+set}" ; then
690 setopt NO_GLOB_SUBST
691 fi
692
693 cfgfile="${ofile}T"
694 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
695 $RM "$cfgfile"
696
697 cat <<_LT_EOF >> "$cfgfile"
698#! $SHELL
699
700# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
701# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
702# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
703# NOTE: Changes made to this file will be lost: look at ltmain.sh.
704#
705_LT_COPYING
706_LT_LIBTOOL_TAGS
707
708# ### BEGIN LIBTOOL CONFIG
709_LT_LIBTOOL_CONFIG_VARS
710_LT_LIBTOOL_TAG_VARS
711# ### END LIBTOOL CONFIG
712
713_LT_EOF
714
715 case $host_os in
716 aix3*)
717 cat <<\_LT_EOF >> "$cfgfile"
718# AIX sometimes has problems with the GCC collect2 program. For some
719# reason, if we set the COLLECT_NAMES environment variable, the problems
720# vanish in a puff of smoke.
721if test "X${COLLECT_NAMES+set}" != Xset; then
722 COLLECT_NAMES=
723 export COLLECT_NAMES
724fi
725_LT_EOF
726 ;;
727 esac
728
729 _LT_PROG_LTMAIN
730
731 # We use sed instead of cat because bash on DJGPP gets confused if
732 # if finds mixed CR/LF and LF-only lines. Since sed operates in
733 # text mode, it properly converts lines to CR/LF. This bash problem
734 # is reportedly fixed, but why not run on old versions too?
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500735 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
736 || (rm -f "$cfgfile"; exit 1)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500737
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500738 _LT_PROG_XSI_SHELLFNS
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500739
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500740 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
741 || (rm -f "$cfgfile"; exit 1)
742
743 mv -f "$cfgfile" "$ofile" ||
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500744 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
745 chmod +x "$ofile"
746],
747[cat <<_LT_EOF >> "$ofile"
748
749dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
750dnl in a comment (ie after a #).
751# ### BEGIN LIBTOOL TAG CONFIG: $1
752_LT_LIBTOOL_TAG_VARS(_LT_TAG)
753# ### END LIBTOOL TAG CONFIG: $1
754_LT_EOF
755])dnl /m4_if
756],
757[m4_if([$1], [], [
758 PACKAGE='$PACKAGE'
759 VERSION='$VERSION'
760 TIMESTAMP='$TIMESTAMP'
761 RM='$RM'
762 ofile='$ofile'], [])
763])dnl /_LT_CONFIG_SAVE_COMMANDS
764])# _LT_CONFIG
765
766
767# LT_SUPPORTED_TAG(TAG)
768# ---------------------
769# Trace this macro to discover what tags are supported by the libtool
770# --tag option, using:
771# autoconf --trace 'LT_SUPPORTED_TAG:$1'
772AC_DEFUN([LT_SUPPORTED_TAG], [])
773
774
775# C support is built-in for now
776m4_define([_LT_LANG_C_enabled], [])
777m4_define([_LT_TAGS], [])
778
779
780# LT_LANG(LANG)
781# -------------
782# Enable libtool support for the given language if not already enabled.
783AC_DEFUN([LT_LANG],
784[AC_BEFORE([$0], [LT_OUTPUT])dnl
785m4_case([$1],
786 [C], [_LT_LANG(C)],
787 [C++], [_LT_LANG(CXX)],
788 [Java], [_LT_LANG(GCJ)],
789 [Fortran 77], [_LT_LANG(F77)],
790 [Fortran], [_LT_LANG(FC)],
791 [Windows Resource], [_LT_LANG(RC)],
792 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
793 [_LT_LANG($1)],
794 [m4_fatal([$0: unsupported language: "$1"])])])dnl
795])# LT_LANG
796
797
798# _LT_LANG(LANGNAME)
799# ------------------
800m4_defun([_LT_LANG],
801[m4_ifdef([_LT_LANG_]$1[_enabled], [],
802 [LT_SUPPORTED_TAG([$1])dnl
803 m4_append([_LT_TAGS], [$1 ])dnl
804 m4_define([_LT_LANG_]$1[_enabled], [])dnl
805 _LT_LANG_$1_CONFIG($1)])dnl
806])# _LT_LANG
807
808
809# _LT_LANG_DEFAULT_CONFIG
810# -----------------------
811m4_defun([_LT_LANG_DEFAULT_CONFIG],
812[AC_PROVIDE_IFELSE([AC_PROG_CXX],
813 [LT_LANG(CXX)],
814 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
815
816AC_PROVIDE_IFELSE([AC_PROG_F77],
817 [LT_LANG(F77)],
818 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
819
820AC_PROVIDE_IFELSE([AC_PROG_FC],
821 [LT_LANG(FC)],
822 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
823
824dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
825dnl pulling things in needlessly.
826AC_PROVIDE_IFELSE([AC_PROG_GCJ],
827 [LT_LANG(GCJ)],
828 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
829 [LT_LANG(GCJ)],
830 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
831 [LT_LANG(GCJ)],
832 [m4_ifdef([AC_PROG_GCJ],
833 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
834 m4_ifdef([A][M_PROG_GCJ],
835 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
836 m4_ifdef([LT_PROG_GCJ],
837 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
838
839AC_PROVIDE_IFELSE([LT_PROG_RC],
840 [LT_LANG(RC)],
841 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
842])# _LT_LANG_DEFAULT_CONFIG
843
844# Obsolete macros:
845AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
846AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
847AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
848AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
849dnl aclocal-1.4 backwards compatibility:
850dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
851dnl AC_DEFUN([AC_LIBTOOL_F77], [])
852dnl AC_DEFUN([AC_LIBTOOL_FC], [])
853dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
854
855
856# _LT_TAG_COMPILER
857# ----------------
858m4_defun([_LT_TAG_COMPILER],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600859[AC_REQUIRE([AC_PROG_CC])dnl
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600860
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500861_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
862_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
863_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
864_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
865
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600866# If no C compiler was specified, use CC.
867LTCC=${LTCC-"$CC"}
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600868
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600869# If no C compiler flags were specified, use CFLAGS.
870LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600871
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600872# Allow CC to be a program name with arguments.
873compiler=$CC
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500874])# _LT_TAG_COMPILER
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -0600875
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600876
877# _LT_COMPILER_BOILERPLATE
878# ------------------------
879# Check for compiler boilerplate output or warnings with
880# the simple compiler test code.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500881m4_defun([_LT_COMPILER_BOILERPLATE],
882[m4_require([_LT_DECL_SED])dnl
883ac_outfile=conftest.$ac_objext
884echo "$lt_simple_compile_test_code" >conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600885eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
886_lt_compiler_boilerplate=`cat conftest.err`
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500887$RM conftest*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600888])# _LT_COMPILER_BOILERPLATE
889
890
891# _LT_LINKER_BOILERPLATE
892# ----------------------
893# Check for linker boilerplate output or warnings with
894# the simple link test code.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500895m4_defun([_LT_LINKER_BOILERPLATE],
896[m4_require([_LT_DECL_SED])dnl
897ac_outfile=conftest.$ac_objext
898echo "$lt_simple_link_test_code" >conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600899eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
900_lt_linker_boilerplate=`cat conftest.err`
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500901$RM -r conftest*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600902])# _LT_LINKER_BOILERPLATE
903
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500904# _LT_REQUIRED_DARWIN_CHECKS
905# -------------------------
906m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
907 case $host_os in
908 rhapsody* | darwin*)
909 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
910 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
911 AC_CHECK_TOOL([LIPO], [lipo], [:])
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -0500912 AC_CHECK_TOOL([OTOOL], [otool], [:])
913 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500914 _LT_DECL([], [DSYMUTIL], [1],
915 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
916 _LT_DECL([], [NMEDIT], [1],
917 [Tool to change global to local symbols on Mac OS X])
918 _LT_DECL([], [LIPO], [1],
919 [Tool to manipulate fat objects and archives on Mac OS X])
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -0500920 _LT_DECL([], [OTOOL], [1],
921 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
922 _LT_DECL([], [OTOOL64], [1],
923 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -0600924
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500925 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
926 [lt_cv_apple_cc_single_mod=no
927 if test -z "${LT_MULTI_MODULE}"; then
928 # By default we will add the -single_module flag. You can override
929 # by either setting the environment variable LT_MULTI_MODULE
930 # non-empty at configure time, or by adding -multi_module to the
931 # link flags.
932 rm -rf libconftest.dylib*
933 echo "int foo(void){return 1;}" > conftest.c
934 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
935-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
936 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
937 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
938 _lt_result=$?
939 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
940 lt_cv_apple_cc_single_mod=yes
941 else
942 cat conftest.err >&AS_MESSAGE_LOG_FD
943 fi
944 rm -rf libconftest.dylib*
945 rm -f conftest.*
946 fi])
947 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
948 [lt_cv_ld_exported_symbols_list],
949 [lt_cv_ld_exported_symbols_list=no
950 save_LDFLAGS=$LDFLAGS
951 echo "_main" > conftest.sym
952 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
953 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
954 [lt_cv_ld_exported_symbols_list=yes],
955 [lt_cv_ld_exported_symbols_list=no])
956 LDFLAGS="$save_LDFLAGS"
957 ])
958 case $host_os in
959 rhapsody* | darwin1.[[012]])
960 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
961 darwin1.*)
962 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -0500963 darwin*) # darwin 5.x on
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500964 # if running on 10.5 or later, the deployment target defaults
965 # to the OS version, if on x86, and 10.4, the deployment
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -0500966 # target defaults to 10.4. Don't you love it?
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500967 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
968 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
969 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
970 10.[[012]]*)
971 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
972 10.*)
973 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
974 esac
975 ;;
976 esac
977 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
978 _lt_dar_single_mod='$single_module'
979 fi
980 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
981 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
982 else
983 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
984 fi
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -0500985 if test "$DSYMUTIL" != ":"; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -0500986 _lt_dsymutil='~$DSYMUTIL $lib || :'
987 else
988 _lt_dsymutil=
989 fi
990 ;;
991 esac
992])
993
994
995# _LT_DARWIN_LINKER_FEATURES
996# --------------------------
997# Checks for linker and compiler features on darwin
998m4_defun([_LT_DARWIN_LINKER_FEATURES],
999[
1000 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1001 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1002 _LT_TAGVAR(hardcode_direct, $1)=no
1003 _LT_TAGVAR(hardcode_automatic, $1)=yes
1004 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001005 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001006 _LT_TAGVAR(link_all_deplibs, $1)=yes
1007 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05001008 case $cc_basename in
1009 ifort*) _lt_dar_can_shared=yes ;;
1010 *) _lt_dar_can_shared=$GCC ;;
1011 esac
1012 if test "$_lt_dar_can_shared" = "yes"; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001013 output_verbose_link_cmd=echo
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001014 _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}"
1015 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1016 _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}"
1017 _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}"
1018 m4_if([$1], [CXX],
1019[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1020 _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}"
1021 _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}"
1022 fi
1023],[])
1024 else
1025 _LT_TAGVAR(ld_shlibs, $1)=no
1026 fi
1027])
1028
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001029# _LT_SYS_MODULE_PATH_AIX
1030# -----------------------
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001031# Links a minimal program and checks the executable
1032# for the system default hardcoded library path. In most cases,
1033# this is /usr/lib:/lib, but when the MPI compilers are used
1034# the location of the communication and MPI libs are included too.
1035# If we don't find anything, use the default library path according
1036# to the aix ld manual.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001037m4_defun([_LT_SYS_MODULE_PATH_AIX],
1038[m4_require([_LT_DECL_SED])dnl
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001039AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1040lt_aix_libpath_sed='
1041 /Import File Strings/,/^$/ {
1042 /^0/ {
1043 s/^0 *\(.*\)$/\1/
1044 p
1045 }
1046 }'
1047aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1048# Check for a 64-bit object if we didn't find anything.
1049if test -z "$aix_libpath"; then
1050 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1051fi],[])
1052if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001053])# _LT_SYS_MODULE_PATH_AIX
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001054
1055
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001056# _LT_SHELL_INIT(ARG)
1057# -------------------
1058m4_define([_LT_SHELL_INIT],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001059[ifdef([AC_DIVERSION_NOTICE],
1060 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1061 [AC_DIVERT_PUSH(NOTICE)])
1062$1
1063AC_DIVERT_POP
1064])# _LT_SHELL_INIT
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001065
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001066
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001067# _LT_PROG_ECHO_BACKSLASH
1068# -----------------------
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001069# Add some code to the start of the generated configure script which
1070# will find an echo command which doesn't interpret backslashes.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001071m4_defun([_LT_PROG_ECHO_BACKSLASH],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001072[_LT_SHELL_INIT([
1073# Check that we are running under the correct shell.
1074SHELL=${CONFIG_SHELL-/bin/sh}
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001075
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001076case X$lt_ECHO in
1077X*--fallback-echo)
1078 # Remove one level of quotation (which was required for Make).
1079 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1080 ;;
1081esac
1082
1083ECHO=${lt_ECHO-echo}
1084if test "X[$]1" = X--no-reexec; then
1085 # Discard the --no-reexec flag, and continue.
1086 shift
1087elif test "X[$]1" = X--fallback-echo; then
1088 # Avoid inline document here, it may be left over
1089 :
1090elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1091 # Yippee, $ECHO works!
1092 :
Glenn Randers-Pehrson70c8d322010-08-17 13:19:56 -05001093else
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001094 # Restart under the correct shell.
1095 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
Glenn Randers-Pehrson70c8d322010-08-17 13:19:56 -05001096fi
1097
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001098if test "X[$]1" = X--fallback-echo; then
1099 # used as fallback echo
1100 shift
1101 cat <<_LT_EOF
1102[$]*
1103_LT_EOF
1104 exit 0
1105fi
Glenn Randers-Pehrson70c8d322010-08-17 13:19:56 -05001106
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001107# The HP-UX ksh and POSIX shell print the target directory to stdout
1108# if CDPATH is set.
1109(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001110
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001111if test -z "$lt_ECHO"; then
1112 if test "X${echo_test_string+set}" != Xset; then
1113 # find a string as large as possible, as long as the shell can cope with it
1114 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1115 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1116 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1117 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1118 then
1119 break
1120 fi
1121 done
1122 fi
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001123
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001124 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1125 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1126 test "X$echo_testing_string" = "X$echo_test_string"; then
1127 :
1128 else
1129 # The Solaris, AIX, and Digital Unix default echo programs unquote
1130 # backslashes. This makes it impossible to quote backslashes using
1131 # echo "$something" | sed 's/\\/\\\\/g'
1132 #
1133 # So, first we look for a working echo in the user's PATH.
1134
1135 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1136 for dir in $PATH /usr/ucb; do
1137 IFS="$lt_save_ifs"
1138 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1139 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1140 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1141 test "X$echo_testing_string" = "X$echo_test_string"; then
1142 ECHO="$dir/echo"
1143 break
1144 fi
1145 done
1146 IFS="$lt_save_ifs"
1147
1148 if test "X$ECHO" = Xecho; then
1149 # We didn't find a better echo, so look for alternatives.
1150 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1151 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1152 test "X$echo_testing_string" = "X$echo_test_string"; then
1153 # This shell has a builtin print -r that does the trick.
1154 ECHO='print -r'
1155 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1156 test "X$CONFIG_SHELL" != X/bin/ksh; then
1157 # If we have ksh, try running configure again with it.
1158 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1159 export ORIGINAL_CONFIG_SHELL
1160 CONFIG_SHELL=/bin/ksh
1161 export CONFIG_SHELL
1162 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1163 else
1164 # Try using printf.
1165 ECHO='printf %s\n'
1166 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1167 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1168 test "X$echo_testing_string" = "X$echo_test_string"; then
1169 # Cool, printf works
1170 :
1171 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1172 test "X$echo_testing_string" = 'X\t' &&
1173 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1174 test "X$echo_testing_string" = "X$echo_test_string"; then
1175 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1176 export CONFIG_SHELL
1177 SHELL="$CONFIG_SHELL"
1178 export SHELL
1179 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1180 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1181 test "X$echo_testing_string" = 'X\t' &&
1182 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1183 test "X$echo_testing_string" = "X$echo_test_string"; then
1184 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1185 else
1186 # maybe with a smaller string...
1187 prev=:
1188
1189 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1190 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1191 then
1192 break
1193 fi
1194 prev="$cmd"
1195 done
1196
1197 if test "$prev" != 'sed 50q "[$]0"'; then
1198 echo_test_string=`eval $prev`
1199 export echo_test_string
1200 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1201 else
1202 # Oops. We lost completely, so just stick with echo.
1203 ECHO=echo
1204 fi
1205 fi
1206 fi
1207 fi
1208 fi
1209fi
1210
1211# Copy echo and quote the copy suitably for passing to libtool from
1212# the Makefile, instead of quoting the original, which is used later.
1213lt_ECHO=$ECHO
1214if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1215 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1216fi
1217
1218AC_SUBST(lt_ECHO)
1219])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001220_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001221_LT_DECL([], [ECHO], [1],
1222 [An echo program that does not interpret backslashes])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001223])# _LT_PROG_ECHO_BACKSLASH
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001224
1225
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001226# _LT_ENABLE_LOCK
1227# ---------------
1228m4_defun([_LT_ENABLE_LOCK],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001229[AC_ARG_ENABLE([libtool-lock],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001230 [AS_HELP_STRING([--disable-libtool-lock],
1231 [avoid locking (might break parallel builds)])])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001232test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1233
1234# Some flags need to be propagated to the compiler or linker for good
1235# libtool support.
1236case $host in
1237ia64-*-hpux*)
1238 # Find out which ABI we are using.
1239 echo 'int i;' > conftest.$ac_ext
1240 if AC_TRY_EVAL(ac_compile); then
1241 case `/usr/bin/file conftest.$ac_objext` in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001242 *ELF-32*)
1243 HPUX_IA64_MODE="32"
1244 ;;
1245 *ELF-64*)
1246 HPUX_IA64_MODE="64"
1247 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001248 esac
1249 fi
1250 rm -rf conftest*
1251 ;;
1252*-*-irix6*)
1253 # Find out which ABI we are using.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001254 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001255 if AC_TRY_EVAL(ac_compile); then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001256 if test "$lt_cv_prog_gnu_ld" = yes; then
1257 case `/usr/bin/file conftest.$ac_objext` in
1258 *32-bit*)
1259 LD="${LD-ld} -melf32bsmip"
1260 ;;
1261 *N32*)
1262 LD="${LD-ld} -melf32bmipn32"
1263 ;;
1264 *64-bit*)
1265 LD="${LD-ld} -melf64bmip"
1266 ;;
1267 esac
1268 else
1269 case `/usr/bin/file conftest.$ac_objext` in
1270 *32-bit*)
1271 LD="${LD-ld} -32"
1272 ;;
1273 *N32*)
1274 LD="${LD-ld} -n32"
1275 ;;
1276 *64-bit*)
1277 LD="${LD-ld} -64"
1278 ;;
1279 esac
1280 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001281 fi
1282 rm -rf conftest*
1283 ;;
1284
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001285x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1286s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001287 # Find out which ABI we are using.
1288 echo 'int i;' > conftest.$ac_ext
1289 if AC_TRY_EVAL(ac_compile); then
1290 case `/usr/bin/file conftest.o` in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001291 *32-bit*)
1292 case $host in
1293 x86_64-*kfreebsd*-gnu)
1294 LD="${LD-ld} -m elf_i386_fbsd"
1295 ;;
1296 x86_64-*linux*)
1297 LD="${LD-ld} -m elf_i386"
1298 ;;
1299 ppc64-*linux*|powerpc64-*linux*)
1300 LD="${LD-ld} -m elf32ppclinux"
1301 ;;
1302 s390x-*linux*)
1303 LD="${LD-ld} -m elf_s390"
1304 ;;
1305 sparc64-*linux*)
1306 LD="${LD-ld} -m elf32_sparc"
1307 ;;
1308 esac
1309 ;;
1310 *64-bit*)
1311 case $host in
1312 x86_64-*kfreebsd*-gnu)
1313 LD="${LD-ld} -m elf_x86_64_fbsd"
1314 ;;
1315 x86_64-*linux*)
1316 LD="${LD-ld} -m elf_x86_64"
1317 ;;
1318 ppc*-*linux*|powerpc*-*linux*)
1319 LD="${LD-ld} -m elf64ppc"
1320 ;;
1321 s390*-*linux*|s390*-*tpf*)
1322 LD="${LD-ld} -m elf64_s390"
1323 ;;
1324 sparc*-*linux*)
1325 LD="${LD-ld} -m elf64_sparc"
1326 ;;
1327 esac
1328 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001329 esac
1330 fi
1331 rm -rf conftest*
1332 ;;
1333
1334*-*-sco3.2v5*)
1335 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1336 SAVE_CFLAGS="$CFLAGS"
1337 CFLAGS="$CFLAGS -belf"
1338 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1339 [AC_LANG_PUSH(C)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001340 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001341 AC_LANG_POP])
1342 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1343 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1344 CFLAGS="$SAVE_CFLAGS"
1345 fi
1346 ;;
1347sparc*-*solaris*)
1348 # Find out which ABI we are using.
1349 echo 'int i;' > conftest.$ac_ext
1350 if AC_TRY_EVAL(ac_compile); then
1351 case `/usr/bin/file conftest.o` in
1352 *64-bit*)
1353 case $lt_cv_prog_gnu_ld in
1354 yes*) LD="${LD-ld} -m elf64_sparc" ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001355 *)
1356 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1357 LD="${LD-ld} -64"
1358 fi
1359 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001360 esac
1361 ;;
1362 esac
1363 fi
1364 rm -rf conftest*
1365 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001366esac
1367
1368need_locks="$enable_libtool_lock"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001369])# _LT_ENABLE_LOCK
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001370
1371
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001372# _LT_CMD_OLD_ARCHIVE
1373# -------------------
1374m4_defun([_LT_CMD_OLD_ARCHIVE],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001375[AC_CHECK_TOOL(AR, ar, false)
1376test -z "$AR" && AR=ar
1377test -z "$AR_FLAGS" && AR_FLAGS=cru
1378_LT_DECL([], [AR], [1], [The archiver])
1379_LT_DECL([], [AR_FLAGS], [1])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001380
1381AC_CHECK_TOOL(STRIP, strip, :)
1382test -z "$STRIP" && STRIP=:
1383_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1384
1385AC_CHECK_TOOL(RANLIB, ranlib, :)
1386test -z "$RANLIB" && RANLIB=:
1387_LT_DECL([], [RANLIB], [1],
1388 [Commands used to install an old-style archive])
1389
1390# Determine commands to create old-style static archives.
1391old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1392old_postinstall_cmds='chmod 644 $oldlib'
1393old_postuninstall_cmds=
1394
1395if test -n "$RANLIB"; then
1396 case $host_os in
1397 openbsd*)
1398 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1399 ;;
1400 *)
1401 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1402 ;;
1403 esac
1404 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1405fi
1406_LT_DECL([], [old_postinstall_cmds], [2])
1407_LT_DECL([], [old_postuninstall_cmds], [2])
1408_LT_TAGDECL([], [old_archive_cmds], [2],
1409 [Commands used to build an old-style archive])
1410])# _LT_CMD_OLD_ARCHIVE
1411
1412
1413# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001414# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1415# ----------------------------------------------------------------
1416# Check whether the given compiler option works
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001417AC_DEFUN([_LT_COMPILER_OPTION],
1418[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1419m4_require([_LT_DECL_SED])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001420AC_CACHE_CHECK([$1], [$2],
1421 [$2=no
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001422 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1423 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001424 lt_compiler_flag="$3"
1425 # Insert the option either (1) after the last *FLAGS variable, or
1426 # (2) before a word containing "conftest.", or (3) at the end.
1427 # Note that $ac_compile itself does not contain backslashes and begins
1428 # with a dollar sign (not a hyphen), so the echo should work correctly.
1429 # The option is referenced via a variable to avoid confusing sed.
1430 lt_compile=`echo "$ac_compile" | $SED \
1431 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1432 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1433 -e 's:$: $lt_compiler_flag:'`
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001434 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001435 (eval "$lt_compile" 2>conftest.err)
1436 ac_status=$?
1437 cat conftest.err >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001438 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001439 if (exit $ac_status) && test -s "$ac_outfile"; then
1440 # The compiler can only warn and ignore the option if not recognized
1441 # So say no if there are warnings other than the usual output.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001442 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001443 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1444 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1445 $2=yes
1446 fi
1447 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001448 $RM conftest*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001449])
1450
1451if test x"[$]$2" = xyes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001452 m4_if([$5], , :, [$5])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001453else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001454 m4_if([$6], , :, [$6])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001455fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001456])# _LT_COMPILER_OPTION
1457
1458# Old name:
1459AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1460dnl aclocal-1.4 backwards compatibility:
1461dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001462
1463
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001464# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1465# [ACTION-SUCCESS], [ACTION-FAILURE])
1466# ----------------------------------------------------
1467# Check whether the given linker option works
1468AC_DEFUN([_LT_LINKER_OPTION],
1469[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1470m4_require([_LT_DECL_SED])dnl
1471AC_CACHE_CHECK([$1], [$2],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001472 [$2=no
1473 save_LDFLAGS="$LDFLAGS"
1474 LDFLAGS="$LDFLAGS $3"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001475 echo "$lt_simple_link_test_code" > conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001476 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1477 # The linker can only warn and ignore the option if not recognized
1478 # So say no if there are warnings
1479 if test -s conftest.err; then
1480 # Append any errors to the config.log.
1481 cat conftest.err 1>&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001482 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001483 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1484 if diff conftest.exp conftest.er2 >/dev/null; then
1485 $2=yes
1486 fi
1487 else
1488 $2=yes
1489 fi
1490 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001491 $RM -r conftest*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001492 LDFLAGS="$save_LDFLAGS"
1493])
1494
1495if test x"[$]$2" = xyes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001496 m4_if([$4], , :, [$4])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001497else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001498 m4_if([$5], , :, [$5])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001499fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001500])# _LT_LINKER_OPTION
1501
1502# Old name:
1503AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1504dnl aclocal-1.4 backwards compatibility:
1505dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001506
1507
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001508# LT_CMD_MAX_LEN
1509#---------------
1510AC_DEFUN([LT_CMD_MAX_LEN],
1511[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1512# find the maximum length of command line arguments
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001513AC_MSG_CHECKING([the maximum length of command line arguments])
1514AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1515 i=0
1516 teststring="ABCD"
1517
1518 case $build_os in
1519 msdosdjgpp*)
1520 # On DJGPP, this test can blow up pretty badly due to problems in libc
1521 # (any single argument exceeding 2000 bytes causes a buffer overrun
1522 # during glob expansion). Even if it were fixed, the result of this
1523 # check would be larger than it should be.
1524 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1525 ;;
1526
1527 gnu*)
1528 # Under GNU Hurd, this test is not required because there is
1529 # no limit to the length of command line arguments.
1530 # Libtool will interpret -1 as no limit whatsoever
1531 lt_cv_sys_max_cmd_len=-1;
1532 ;;
1533
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05001534 cygwin* | mingw* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001535 # On Win9x/ME, this test blows up -- it succeeds, but takes
1536 # about 5 minutes as the teststring grows exponentially.
1537 # Worse, since 9x/ME are not pre-emptively multitasking,
1538 # you end up with a "frozen" computer, even though with patience
1539 # the test eventually succeeds (with a max line length of 256k).
1540 # Instead, let's just punt: use the minimum linelength reported by
1541 # all of the supported platforms: 8192 (on NT/2K/XP).
1542 lt_cv_sys_max_cmd_len=8192;
1543 ;;
1544
1545 amigaos*)
1546 # On AmigaOS with pdksh, this test takes hours, literally.
1547 # So we just punt and use a minimum line length of 8192.
1548 lt_cv_sys_max_cmd_len=8192;
1549 ;;
1550
1551 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1552 # This has been around since 386BSD, at least. Likely further.
1553 if test -x /sbin/sysctl; then
1554 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1555 elif test -x /usr/sbin/sysctl; then
1556 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1557 else
1558 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1559 fi
1560 # And add a safety zone
1561 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1562 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1563 ;;
1564
1565 interix*)
1566 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1567 lt_cv_sys_max_cmd_len=196608
1568 ;;
1569
1570 osf*)
1571 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1572 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1573 # nice to cause kernel panics so lets avoid the loop below.
1574 # First set a reasonable default.
1575 lt_cv_sys_max_cmd_len=16384
1576 #
1577 if test -x /sbin/sysconfig; then
1578 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1579 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1580 esac
1581 fi
1582 ;;
1583 sco3.2v5*)
1584 lt_cv_sys_max_cmd_len=102400
1585 ;;
1586 sysv5* | sco5v6* | sysv4.2uw2*)
1587 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1588 if test -n "$kargmax"; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001589 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001590 else
1591 lt_cv_sys_max_cmd_len=32768
1592 fi
1593 ;;
1594 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001595 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1596 if test -n "$lt_cv_sys_max_cmd_len"; then
1597 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1598 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1599 else
1600 # Make teststring a little bigger before we do anything with it.
1601 # a 1K string should be a reasonable start.
1602 for i in 1 2 3 4 5 6 7 8 ; do
1603 teststring=$teststring$teststring
1604 done
1605 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1606 # If test is not a shell built-in, we'll probably end up computing a
1607 # maximum length that is only half of the actual maximum length, but
1608 # we can't tell.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001609 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1610 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001611 test $i != 17 # 1/2 MB should be enough
1612 do
1613 i=`expr $i + 1`
1614 teststring=$teststring$teststring
1615 done
1616 # Only check the string length outside the loop.
1617 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1618 teststring=
1619 # Add a significant safety factor because C++ compilers can tack on
1620 # massive amounts of additional arguments before passing them to the
1621 # linker. It appears as though 1/2 is a usable value.
1622 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1623 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001624 ;;
1625 esac
1626])
1627if test -n $lt_cv_sys_max_cmd_len ; then
1628 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1629else
1630 AC_MSG_RESULT(none)
1631fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001632max_cmd_len=$lt_cv_sys_max_cmd_len
1633_LT_DECL([], [max_cmd_len], [0],
1634 [What is the maximum length of a command?])
1635])# LT_CMD_MAX_LEN
1636
1637# Old name:
1638AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1639dnl aclocal-1.4 backwards compatibility:
1640dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001641
1642
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001643# _LT_HEADER_DLFCN
1644# ----------------
1645m4_defun([_LT_HEADER_DLFCN],
1646[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1647])# _LT_HEADER_DLFCN
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001648
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001649
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001650# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1651# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1652# ----------------------------------------------------------------
1653m4_defun([_LT_TRY_DLOPEN_SELF],
1654[m4_require([_LT_HEADER_DLFCN])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001655if test "$cross_compiling" = yes; then :
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001656 [$4]
1657else
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001658 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1659 lt_status=$lt_dlunknown
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001660 cat > conftest.$ac_ext <<_LT_EOF
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001661[#line __oline__ "configure"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001662#include "confdefs.h"
1663
1664#if HAVE_DLFCN_H
1665#include <dlfcn.h>
1666#endif
1667
1668#include <stdio.h>
1669
1670#ifdef RTLD_GLOBAL
1671# define LT_DLGLOBAL RTLD_GLOBAL
1672#else
1673# ifdef DL_GLOBAL
1674# define LT_DLGLOBAL DL_GLOBAL
1675# else
1676# define LT_DLGLOBAL 0
1677# endif
1678#endif
1679
1680/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1681 find out it does not work in some platform. */
1682#ifndef LT_DLLAZY_OR_NOW
1683# ifdef RTLD_LAZY
1684# define LT_DLLAZY_OR_NOW RTLD_LAZY
1685# else
1686# ifdef DL_LAZY
1687# define LT_DLLAZY_OR_NOW DL_LAZY
1688# else
1689# ifdef RTLD_NOW
1690# define LT_DLLAZY_OR_NOW RTLD_NOW
1691# else
1692# ifdef DL_NOW
1693# define LT_DLLAZY_OR_NOW DL_NOW
1694# else
1695# define LT_DLLAZY_OR_NOW 0
1696# endif
1697# endif
1698# endif
1699# endif
1700#endif
1701
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001702void fnord() { int i=42;}
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001703int main ()
1704{
1705 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1706 int status = $lt_dlunknown;
1707
1708 if (self)
1709 {
1710 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001711 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001712 /* dlclose (self); */
1713 }
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001714 else
1715 puts (dlerror ());
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001716
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05001717 return status;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001718}]
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001719_LT_EOF
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001720 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001721 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001722 lt_status=$?
1723 case x$lt_status in
1724 x$lt_dlno_uscore) $1 ;;
1725 x$lt_dlneed_uscore) $2 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001726 x$lt_dlunknown|x*) $3 ;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001727 esac
1728 else :
1729 # compilation failed
1730 $3
1731 fi
1732fi
1733rm -fr conftest*
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001734])# _LT_TRY_DLOPEN_SELF
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001735
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001736
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001737# LT_SYS_DLOPEN_SELF
1738# ------------------
1739AC_DEFUN([LT_SYS_DLOPEN_SELF],
1740[m4_require([_LT_HEADER_DLFCN])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001741if test "x$enable_dlopen" != xyes; then
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001742 enable_dlopen=unknown
1743 enable_dlopen_self=unknown
1744 enable_dlopen_self_static=unknown
1745else
1746 lt_cv_dlopen=no
1747 lt_cv_dlopen_libs=
1748
1749 case $host_os in
1750 beos*)
1751 lt_cv_dlopen="load_add_on"
1752 lt_cv_dlopen_libs=
1753 lt_cv_dlopen_self=yes
1754 ;;
1755
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05001756 mingw* | pw32* | cegcc*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001757 lt_cv_dlopen="LoadLibrary"
1758 lt_cv_dlopen_libs=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001759 ;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001760
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001761 cygwin*)
1762 lt_cv_dlopen="dlopen"
1763 lt_cv_dlopen_libs=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001764 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001765
1766 darwin*)
1767 # if libdl is installed we need to link against it
1768 AC_CHECK_LIB([dl], [dlopen],
1769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1770 lt_cv_dlopen="dyld"
1771 lt_cv_dlopen_libs=
1772 lt_cv_dlopen_self=yes
1773 ])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001774 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001775
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001776 *)
1777 AC_CHECK_FUNC([shl_load],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001778 [lt_cv_dlopen="shl_load"],
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001779 [AC_CHECK_LIB([dld], [shl_load],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001780 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001781 [AC_CHECK_FUNC([dlopen],
1782 [lt_cv_dlopen="dlopen"],
1783 [AC_CHECK_LIB([dl], [dlopen],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001784 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001785 [AC_CHECK_LIB([svld], [dlopen],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001786 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001787 [AC_CHECK_LIB([dld], [dld_link],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001788 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001789 ])
1790 ])
1791 ])
1792 ])
1793 ])
1794 ;;
1795 esac
1796
1797 if test "x$lt_cv_dlopen" != xno; then
1798 enable_dlopen=yes
1799 else
1800 enable_dlopen=no
1801 fi
1802
1803 case $lt_cv_dlopen in
1804 dlopen)
1805 save_CPPFLAGS="$CPPFLAGS"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001806 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1807
1808 save_LDFLAGS="$LDFLAGS"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001809 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001810
1811 save_LIBS="$LIBS"
1812 LIBS="$lt_cv_dlopen_libs $LIBS"
1813
1814 AC_CACHE_CHECK([whether a program can dlopen itself],
1815 lt_cv_dlopen_self, [dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001816 _LT_TRY_DLOPEN_SELF(
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001817 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1818 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1819 ])
1820
1821 if test "x$lt_cv_dlopen_self" = xyes; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001822 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001823 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001824 lt_cv_dlopen_self_static, [dnl
1825 _LT_TRY_DLOPEN_SELF(
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001826 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1827 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1828 ])
1829 fi
1830
1831 CPPFLAGS="$save_CPPFLAGS"
1832 LDFLAGS="$save_LDFLAGS"
1833 LIBS="$save_LIBS"
1834 ;;
1835 esac
1836
1837 case $lt_cv_dlopen_self in
1838 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1839 *) enable_dlopen_self=unknown ;;
1840 esac
1841
1842 case $lt_cv_dlopen_self_static in
1843 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1844 *) enable_dlopen_self_static=unknown ;;
1845 esac
1846fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001847_LT_DECL([dlopen_support], [enable_dlopen], [0],
1848 [Whether dlopen is supported])
1849_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1850 [Whether dlopen of programs is supported])
1851_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1852 [Whether dlopen of statically linked programs is supported])
1853])# LT_SYS_DLOPEN_SELF
1854
1855# Old name:
1856AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1857dnl aclocal-1.4 backwards compatibility:
1858dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001859
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001860
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001861# _LT_COMPILER_C_O([TAGNAME])
1862# ---------------------------
1863# Check to see if options -c and -o are simultaneously supported by compiler.
1864# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1865m4_defun([_LT_COMPILER_C_O],
1866[m4_require([_LT_DECL_SED])dnl
1867m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1868m4_require([_LT_TAG_COMPILER])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001869AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001870 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1871 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1872 $RM -r conftest 2>/dev/null
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001873 mkdir conftest
1874 cd conftest
1875 mkdir out
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001876 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001877
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001878 lt_compiler_flag="-o out/conftest2.$ac_objext"
1879 # Insert the option either (1) after the last *FLAGS variable, or
1880 # (2) before a word containing "conftest.", or (3) at the end.
1881 # Note that $ac_compile itself does not contain backslashes and begins
1882 # with a dollar sign (not a hyphen), so the echo should work correctly.
1883 lt_compile=`echo "$ac_compile" | $SED \
1884 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1885 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1886 -e 's:$: $lt_compiler_flag:'`
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001887 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001888 (eval "$lt_compile" 2>out/conftest.err)
1889 ac_status=$?
1890 cat out/conftest.err >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001891 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001892 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1893 then
1894 # The compiler can only warn and ignore the option if not recognized
1895 # So say no if there are warnings
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05001896 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001897 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1898 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001899 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001900 fi
1901 fi
1902 chmod u+w . 2>&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001903 $RM conftest*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001904 # SGI C++ compiler will create directory out/ii_files/ for
1905 # template instantiation
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001906 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1907 $RM out/* && rmdir out
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001908 cd ..
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001909 $RM -r conftest
1910 $RM conftest*
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001911])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001912_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1913 [Does compiler simultaneously support -c and -o options?])
1914])# _LT_COMPILER_C_O
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001915
1916
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001917# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1918# ----------------------------------
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001919# Check to see if we can do hard links to lock some files if needed
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001920m4_defun([_LT_COMPILER_FILE_LOCKS],
1921[m4_require([_LT_ENABLE_LOCK])dnl
1922m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1923_LT_COMPILER_C_O([$1])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001924
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001925hard_links="nottested"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001926if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001927 # do not overwrite the value of need_locks provided by the user
1928 AC_MSG_CHECKING([if we can lock with hard links])
1929 hard_links=yes
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001930 $RM conftest*
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001931 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932 touch conftest.a
1933 ln conftest.a conftest.b 2>&5 || hard_links=no
1934 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1935 AC_MSG_RESULT([$hard_links])
1936 if test "$hard_links" = no; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001937 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001938 need_locks=warn
1939 fi
1940else
1941 need_locks=no
1942fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001943_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1944])# _LT_COMPILER_FILE_LOCKS
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001945
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001946
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001947# _LT_CHECK_OBJDIR
1948# ----------------
1949m4_defun([_LT_CHECK_OBJDIR],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001950[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1951[rm -f .libs 2>/dev/null
1952mkdir .libs 2>/dev/null
1953if test -d .libs; then
1954 lt_cv_objdir=.libs
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001955else
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001956 # MS-DOS does not allow filenames that begin with a dot.
1957 lt_cv_objdir=_libs
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001958fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001959rmdir .libs 2>/dev/null])
1960objdir=$lt_cv_objdir
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001961_LT_DECL([], [objdir], [0],
1962 [The name of the directory that contains temporary libtool files])dnl
1963m4_pattern_allow([LT_OBJDIR])dnl
1964AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1965 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1966])# _LT_CHECK_OBJDIR
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001967
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001968
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001969# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1970# --------------------------------------
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001971# Check hardcoding attributes.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001972m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06001973[AC_MSG_CHECKING([how to hardcode library paths into programs])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001974_LT_TAGVAR(hardcode_action, $1)=
1975if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1976 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1977 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001978
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001979 # We can hardcode non-existent directories.
1980 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001981 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1982 # have to relink, otherwise we might link with an installed library
1983 # when we should be linking with a yet-to-be-installed one
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001984 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1985 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001986 # Linking always hardcodes the temporary library directory.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001987 _LT_TAGVAR(hardcode_action, $1)=relink
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001988 else
1989 # We can link without hardcoding, and we can hardcode nonexisting dirs.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001990 _LT_TAGVAR(hardcode_action, $1)=immediate
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001991 fi
1992else
1993 # We cannot hardcode anything, or else we can only hardcode existing
1994 # directories.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001995 _LT_TAGVAR(hardcode_action, $1)=unsupported
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001996fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001997AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06001998
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05001999if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2000 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002001 # Fast installation is not supported
2002 enable_fast_install=no
2003elif test "$shlibpath_overrides_runpath" = yes ||
2004 test "$enable_shared" = no; then
2005 # Fast installation is not necessary
2006 enable_fast_install=needless
2007fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002008_LT_TAGDECL([], [hardcode_action], [0],
2009 [How to hardcode a shared library path into an executable])
2010])# _LT_LINKER_HARDCODE_LIBPATH
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002011
2012
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002013# _LT_CMD_STRIPLIB
2014# ----------------
2015m4_defun([_LT_CMD_STRIPLIB],
2016[m4_require([_LT_DECL_EGREP])
2017striplib=
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002018old_striplib=
2019AC_MSG_CHECKING([whether stripping libraries is possible])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002020if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002021 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2022 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2023 AC_MSG_RESULT([yes])
2024else
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002025# FIXME - insert some real tests, host_os isn't really good enough
2026 case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002027 darwin*)
2028 if test -n "$STRIP" ; then
2029 striplib="$STRIP -x"
2030 old_striplib="$STRIP -S"
2031 AC_MSG_RESULT([yes])
2032 else
2033 AC_MSG_RESULT([no])
2034 fi
2035 ;;
2036 *)
2037 AC_MSG_RESULT([no])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002038 ;;
2039 esac
2040fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002041_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2042_LT_DECL([], [striplib], [1])
2043])# _LT_CMD_STRIPLIB
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002044
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002045
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002046# _LT_SYS_DYNAMIC_LINKER([TAG])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002047# -----------------------------
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002048# PORTME Fill in your ld.so characteristics
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002049m4_defun([_LT_SYS_DYNAMIC_LINKER],
2050[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2051m4_require([_LT_DECL_EGREP])dnl
2052m4_require([_LT_FILEUTILS_DEFAULTS])dnl
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002053m4_require([_LT_DECL_OBJDUMP])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002054m4_require([_LT_DECL_SED])dnl
2055AC_MSG_CHECKING([dynamic linker characteristics])
2056m4_if([$1],
2057 [], [
2058if test "$GCC" = yes; then
2059 case $host_os in
2060 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2061 *) lt_awk_arg="/^libraries:/" ;;
2062 esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002063 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2064 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002065 # if the path contains ";" then we assume it to be the separator
2066 # otherwise default to the standard path separator (i.e. ":") - it is
2067 # assumed that no part of a normal pathname contains ";" but that should
2068 # okay in the real world where ";" in dirpaths is itself problematic.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002069 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2070 else
2071 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2072 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002073 # Ok, now we have the path, separated by spaces, we can step through it
2074 # and add multilib dir if necessary.
2075 lt_tmp_lt_search_path_spec=
2076 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2077 for lt_sys_path in $lt_search_path_spec; do
2078 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2079 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2080 else
2081 test -d "$lt_sys_path" && \
2082 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2083 fi
2084 done
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002085 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002086BEGIN {RS=" "; FS="/|\n";} {
2087 lt_foo="";
2088 lt_count=0;
2089 for (lt_i = NF; lt_i > 0; lt_i--) {
2090 if ($lt_i != "" && $lt_i != ".") {
2091 if ($lt_i == "..") {
2092 lt_count++;
2093 } else {
2094 if (lt_count == 0) {
2095 lt_foo="/" $lt_i lt_foo;
2096 } else {
2097 lt_count--;
2098 }
2099 }
2100 }
2101 }
2102 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2103 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2104}'`
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002105 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002106else
2107 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2108fi])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002109library_names_spec=
2110libname_spec='lib$name'
2111soname_spec=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002112shrext_cmds=".so"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002113postinstall_cmds=
2114postuninstall_cmds=
2115finish_cmds=
2116finish_eval=
2117shlibpath_var=
2118shlibpath_overrides_runpath=unknown
2119version_type=none
2120dynamic_linker="$host_os ld.so"
2121sys_lib_dlsearch_path_spec="/lib /usr/lib"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002122need_lib_prefix=unknown
2123hardcode_into_libs=no
2124
2125# when you set need_version to no, make sure it does not cause -set_version
2126# flags to be left without arguments
2127need_version=unknown
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002128
2129case $host_os in
2130aix3*)
2131 version_type=linux
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002132 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002133 shlibpath_var=LIBPATH
2134
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002135 # AIX 3 has no versioning support, so we append a major version to the name.
2136 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002137 ;;
2138
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002139aix[[4-9]]*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002140 version_type=linux
2141 need_lib_prefix=no
2142 need_version=no
2143 hardcode_into_libs=yes
2144 if test "$host_cpu" = ia64; then
2145 # AIX 5 supports IA64
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002146 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002147 shlibpath_var=LD_LIBRARY_PATH
2148 else
2149 # With GCC up to 2.95.x, collect2 would create an import file
2150 # for dependence libraries. The import file would start with
2151 # the line `#! .'. This would cause the generated library to
2152 # depend on `.', always an invalid library. This was fixed in
2153 # development snapshots of GCC prior to 3.0.
2154 case $host_os in
2155 aix4 | aix4.[[01]] | aix4.[[01]].*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002156 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2157 echo ' yes '
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002158 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002159 :
2160 else
2161 can_build_shared=no
2162 fi
2163 ;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002164 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002165 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2166 # soname into executable. Probably we can add versioning support to
2167 # collect2, so additional links can be useful in future.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002168 if test "$aix_use_runtimelinking" = yes; then
2169 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2170 # instead of lib<name>.a to let people know that these are not
2171 # typical AIX shared libraries.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002172 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002173 else
2174 # We preserve .a as extension for shared libraries through AIX4.2
2175 # and later when we are not doing run time linking.
2176 library_names_spec='${libname}${release}.a $libname.a'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002177 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002178 fi
2179 shlibpath_var=LIBPATH
2180 fi
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002181 ;;
2182
2183amigaos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002184 case $host_cpu in
2185 powerpc)
2186 # Since July 2007 AmigaOS4 officially supports .so libraries.
2187 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2188 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2189 ;;
2190 m68k)
2191 library_names_spec='$libname.ixlibrary $libname.a'
2192 # Create ${libname}_ixlibrary.a entries in /sys/libs.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002193 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $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'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002194 ;;
2195 esac
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002196 ;;
2197
2198beos*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002199 library_names_spec='${libname}${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002200 dynamic_linker="$host_os ld.so"
2201 shlibpath_var=LIBRARY_PATH
2202 ;;
2203
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002204bsdi[[45]]*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002205 version_type=linux
2206 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002207 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2208 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002209 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2210 shlibpath_var=LD_LIBRARY_PATH
2211 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2212 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002213 # the default ld.so.conf also contains /usr/contrib/lib and
2214 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2215 # libtool to hard-code these into programs
2216 ;;
2217
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002218cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002219 version_type=windows
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002220 shrext_cmds=".dll"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002221 need_version=no
2222 need_lib_prefix=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002223
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002224 case $GCC,$host_os in
2225 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002226 library_names_spec='$libname.dll.a'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002227 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2228 postinstall_cmds='base_file=`basename \${file}`~
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002229 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002230 dldir=$destdir/`dirname \$dlpath`~
2231 test -d \$dldir || mkdir -p \$dldir~
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002232 $install_prog $dir/$dlname \$dldir/$dlname~
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002233 chmod a+x \$dldir/$dlname~
2234 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2235 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2236 fi'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002237 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002238 dlpath=$dir/\$dldll~
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002239 $RM \$dlpath'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002240 shlibpath_overrides_runpath=yes
2241
2242 case $host_os in
2243 cygwin*)
2244 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2245 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002246 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002247 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002248 mingw* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002249 # MinGW DLLs use traditional 'lib' prefix
2250 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002251 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2252 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2253 # It is most probably a Windows format PATH printed by
2254 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2255 # path with ; separators, and with drive letters. We can handle the
2256 # drive letters (cygwin fileutils understands them), so leave them,
2257 # especially as we might pass files found there to a mingw objdump,
2258 # which wouldn't understand a cygwinified path. Ahh.
2259 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2260 else
2261 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2262 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002263 ;;
2264 pw32*)
2265 # pw32 DLLs use 'pw' prefix rather than 'lib'
2266 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2267 ;;
2268 esac
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002269 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002270
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002271 *)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002272 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002273 ;;
2274 esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002275 dynamic_linker='Win32 ld.exe'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002276 # FIXME: first we should search . and the directory the executable is in
2277 shlibpath_var=PATH
2278 ;;
2279
2280darwin* | rhapsody*)
2281 dynamic_linker="$host_os dyld"
2282 version_type=darwin
2283 need_lib_prefix=no
2284 need_version=no
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002285 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002286 soname_spec='${libname}${release}${major}$shared_ext'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002287 shlibpath_overrides_runpath=yes
2288 shlibpath_var=DYLD_LIBRARY_PATH
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002289 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002290m4_if([$1], [],[
2291 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002292 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2293 ;;
2294
2295dgux*)
2296 version_type=linux
2297 need_lib_prefix=no
2298 need_version=no
2299 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2300 soname_spec='${libname}${release}${shared_ext}$major'
2301 shlibpath_var=LD_LIBRARY_PATH
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002302 ;;
2303
2304freebsd1*)
2305 dynamic_linker=no
2306 ;;
2307
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002308freebsd* | dragonfly*)
2309 # DragonFly does not have aout. When/if they implement a new
2310 # versioning mechanism, adjust this.
2311 if test -x /usr/bin/objformat; then
2312 objformat=`/usr/bin/objformat`
2313 else
2314 case $host_os in
2315 freebsd[[123]]*) objformat=aout ;;
2316 *) objformat=elf ;;
2317 esac
2318 fi
Glenn Randers-Pehrsonb511b602006-04-16 19:45:31 -05002319 version_type=freebsd-$objformat
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002320 case $version_type in
2321 freebsd-elf*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002322 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002323 need_version=no
2324 need_lib_prefix=no
2325 ;;
2326 freebsd-*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002327 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002328 need_version=yes
2329 ;;
2330 esac
2331 shlibpath_var=LD_LIBRARY_PATH
2332 case $host_os in
2333 freebsd2*)
2334 shlibpath_overrides_runpath=yes
2335 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002336 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2337 shlibpath_overrides_runpath=yes
2338 hardcode_into_libs=yes
2339 ;;
2340 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2341 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002342 shlibpath_overrides_runpath=no
2343 hardcode_into_libs=yes
2344 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002345 *) # from 4.6 on, and DragonFly
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002346 shlibpath_overrides_runpath=yes
2347 hardcode_into_libs=yes
2348 ;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002349 esac
2350 ;;
2351
2352gnu*)
2353 version_type=linux
2354 need_lib_prefix=no
2355 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002356 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2357 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002358 shlibpath_var=LD_LIBRARY_PATH
2359 hardcode_into_libs=yes
2360 ;;
2361
2362hpux9* | hpux10* | hpux11*)
2363 # Give a soname corresponding to the major version so that dld.sl refuses to
2364 # link against other versions.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002365 version_type=sunos
2366 need_lib_prefix=no
2367 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002368 case $host_cpu in
2369 ia64*)
2370 shrext_cmds='.so'
2371 hardcode_into_libs=yes
2372 dynamic_linker="$host_os dld.so"
2373 shlibpath_var=LD_LIBRARY_PATH
2374 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2375 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2376 soname_spec='${libname}${release}${shared_ext}$major'
2377 if test "X$HPUX_IA64_MODE" = X32; then
2378 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2379 else
2380 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2381 fi
2382 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2383 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002384 hppa*64*)
2385 shrext_cmds='.sl'
2386 hardcode_into_libs=yes
2387 dynamic_linker="$host_os dld.sl"
2388 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2389 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2390 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2391 soname_spec='${libname}${release}${shared_ext}$major'
2392 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2393 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2394 ;;
2395 *)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002396 shrext_cmds='.sl'
2397 dynamic_linker="$host_os dld.sl"
2398 shlibpath_var=SHLIB_PATH
2399 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2400 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2401 soname_spec='${libname}${release}${shared_ext}$major'
2402 ;;
2403 esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002404 # HP-UX runs *really* slowly unless shared libraries are mode 555.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002405 postinstall_cmds='chmod 555 $lib'
2406 ;;
2407
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002408interix[[3-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002409 version_type=linux
2410 need_lib_prefix=no
2411 need_version=no
2412 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2413 soname_spec='${libname}${release}${shared_ext}$major'
2414 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2415 shlibpath_var=LD_LIBRARY_PATH
2416 shlibpath_overrides_runpath=no
2417 hardcode_into_libs=yes
2418 ;;
2419
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002420irix5* | irix6* | nonstopux*)
2421 case $host_os in
2422 nonstopux*) version_type=nonstopux ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002423 *)
2424 if test "$lt_cv_prog_gnu_ld" = yes; then
2425 version_type=linux
2426 else
2427 version_type=irix
2428 fi ;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002429 esac
2430 need_lib_prefix=no
2431 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002432 soname_spec='${libname}${release}${shared_ext}$major'
2433 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002434 case $host_os in
2435 irix5* | nonstopux*)
2436 libsuff= shlibsuff=
2437 ;;
2438 *)
2439 case $LD in # libtool.m4 will add one of these switches to LD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002440 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2441 libsuff= shlibsuff= libmagic=32-bit;;
2442 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2443 libsuff=32 shlibsuff=N32 libmagic=N32;;
2444 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2445 libsuff=64 shlibsuff=64 libmagic=64-bit;;
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002446 *) libsuff= shlibsuff= libmagic=never-match;;
2447 esac
2448 ;;
2449 esac
2450 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2451 shlibpath_overrides_runpath=no
2452 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2453 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002454 hardcode_into_libs=yes
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002455 ;;
2456
2457# No shared lib support for Linux oldld, aout, or coff.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002458linux*oldld* | linux*aout* | linux*coff*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002459 dynamic_linker=no
2460 ;;
2461
2462# This must be Linux ELF.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002463linux* | k*bsd*-gnu)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002464 version_type=linux
2465 need_lib_prefix=no
2466 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002467 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2468 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002469 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2470 shlibpath_var=LD_LIBRARY_PATH
2471 shlibpath_overrides_runpath=no
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002472 # Some binutils ld are patched to set DT_RUNPATH
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002473 save_LDFLAGS=$LDFLAGS
2474 save_libdir=$libdir
2475 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2476 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2477 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2478 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2479 [shlibpath_overrides_runpath=yes])])
2480 LDFLAGS=$save_LDFLAGS
2481 libdir=$save_libdir
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002482
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002483 # This implies no fast_install, which is unacceptable.
2484 # Some rework will be needed to allow for fast_install
2485 # before this can be enabled.
2486 hardcode_into_libs=yes
2487
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002488 # Append ld.so.conf contents to the search path
2489 if test -f /etc/ld.so.conf; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002490 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;/^$/d' | tr '\n' ' '`
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002491 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2492 fi
2493
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002494 # We used to test for /lib/ld.so.1 and disable shared libraries on
2495 # powerpc, because MkLinux only supported shared libraries with the
2496 # GNU dynamic linker. Since this was broken with cross compilers,
2497 # most powerpc-linux boxes support dynamic linking these days and
2498 # people can always --disable-shared, the test was removed, and we
2499 # assume the GNU/Linux dynamic linker is in use.
2500 dynamic_linker='GNU/Linux ld.so'
2501 ;;
2502
2503netbsd*)
2504 version_type=sunos
2505 need_lib_prefix=no
2506 need_version=no
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002507 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002508 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002509 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2510 dynamic_linker='NetBSD (a.out) ld.so'
2511 else
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002512 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2513 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002514 dynamic_linker='NetBSD ld.elf_so'
2515 fi
2516 shlibpath_var=LD_LIBRARY_PATH
2517 shlibpath_overrides_runpath=yes
2518 hardcode_into_libs=yes
2519 ;;
2520
2521newsos6)
2522 version_type=linux
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002523 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2524 shlibpath_var=LD_LIBRARY_PATH
2525 shlibpath_overrides_runpath=yes
2526 ;;
2527
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002528*nto* | *qnx*)
2529 version_type=qnx
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002530 need_lib_prefix=no
2531 need_version=no
2532 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2533 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002534 shlibpath_var=LD_LIBRARY_PATH
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002535 shlibpath_overrides_runpath=no
2536 hardcode_into_libs=yes
2537 dynamic_linker='ldqnx.so'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002538 ;;
2539
2540openbsd*)
2541 version_type=sunos
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002542 sys_lib_dlsearch_path_spec="/usr/lib"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002543 need_lib_prefix=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002544 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2545 case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002546 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2547 *) need_version=no ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002548 esac
2549 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2550 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2551 shlibpath_var=LD_LIBRARY_PATH
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002552 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002553 case $host_os in
2554 openbsd2.[[89]] | openbsd2.[[89]].*)
2555 shlibpath_overrides_runpath=no
2556 ;;
2557 *)
2558 shlibpath_overrides_runpath=yes
2559 ;;
2560 esac
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002561 else
2562 shlibpath_overrides_runpath=yes
2563 fi
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002564 ;;
2565
2566os2*)
2567 libname_spec='$name'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002568 shrext_cmds=".dll"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002569 need_lib_prefix=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002570 library_names_spec='$libname${shared_ext} $libname.a'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002571 dynamic_linker='OS/2 ld.exe'
2572 shlibpath_var=LIBPATH
2573 ;;
2574
2575osf3* | osf4* | osf5*)
2576 version_type=osf
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002577 need_lib_prefix=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002578 need_version=no
2579 soname_spec='${libname}${release}${shared_ext}$major'
2580 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002581 shlibpath_var=LD_LIBRARY_PATH
2582 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2583 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002584 ;;
2585
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002586rdos*)
2587 dynamic_linker=no
2588 ;;
2589
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002590solaris*)
2591 version_type=linux
2592 need_lib_prefix=no
2593 need_version=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002594 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2595 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002596 shlibpath_var=LD_LIBRARY_PATH
2597 shlibpath_overrides_runpath=yes
2598 hardcode_into_libs=yes
2599 # ldd complains unless libraries are executable
2600 postinstall_cmds='chmod +x $lib'
2601 ;;
2602
2603sunos4*)
2604 version_type=sunos
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002605 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002606 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2607 shlibpath_var=LD_LIBRARY_PATH
2608 shlibpath_overrides_runpath=yes
2609 if test "$with_gnu_ld" = yes; then
2610 need_lib_prefix=no
2611 fi
2612 need_version=yes
2613 ;;
2614
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002615sysv4 | sysv4.3*)
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002616 version_type=linux
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002617 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2618 soname_spec='${libname}${release}${shared_ext}$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002619 shlibpath_var=LD_LIBRARY_PATH
2620 case $host_vendor in
2621 sni)
2622 shlibpath_overrides_runpath=no
2623 need_lib_prefix=no
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002624 runpath_var=LD_RUN_PATH
2625 ;;
2626 siemens)
2627 need_lib_prefix=no
2628 ;;
2629 motorola)
2630 need_lib_prefix=no
2631 need_version=no
2632 shlibpath_overrides_runpath=no
2633 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2634 ;;
2635 esac
2636 ;;
2637
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002638sysv4*MP*)
2639 if test -d /usr/nec ;then
2640 version_type=linux
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002641 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2642 soname_spec='$libname${shared_ext}.$major'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002643 shlibpath_var=LD_LIBRARY_PATH
2644 fi
2645 ;;
2646
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002647sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2648 version_type=freebsd-elf
2649 need_lib_prefix=no
2650 need_version=no
2651 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2652 soname_spec='${libname}${release}${shared_ext}$major'
2653 shlibpath_var=LD_LIBRARY_PATH
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002654 shlibpath_overrides_runpath=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002655 hardcode_into_libs=yes
2656 if test "$with_gnu_ld" = yes; then
2657 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002658 else
2659 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002660 case $host_os in
2661 sco3.2v5*)
2662 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2663 ;;
2664 esac
2665 fi
2666 sys_lib_dlsearch_path_spec='/usr/lib'
2667 ;;
2668
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002669tpf*)
2670 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2671 version_type=linux
2672 need_lib_prefix=no
2673 need_version=no
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002674 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002675 shlibpath_var=LD_LIBRARY_PATH
2676 shlibpath_overrides_runpath=no
2677 hardcode_into_libs=yes
2678 ;;
2679
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002680uts4*)
2681 version_type=linux
2682 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2683 soname_spec='${libname}${release}${shared_ext}$major'
2684 shlibpath_var=LD_LIBRARY_PATH
2685 ;;
2686
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06002687*)
2688 dynamic_linker=no
2689 ;;
2690esac
2691AC_MSG_RESULT([$dynamic_linker])
2692test "$dynamic_linker" = no && can_build_shared=no
2693
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002694variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2695if test "$GCC" = yes; then
2696 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2697fi
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002698
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002699if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2700 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002701fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002702if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2703 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2704fi
2705
2706_LT_DECL([], [variables_saved_for_relink], [1],
2707 [Variables whose values should be saved in libtool wrapper scripts and
2708 restored at link time])
2709_LT_DECL([], [need_lib_prefix], [0],
2710 [Do we need the "lib" prefix for modules?])
2711_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2712_LT_DECL([], [version_type], [0], [Library versioning type])
2713_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2714_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2715_LT_DECL([], [shlibpath_overrides_runpath], [0],
2716 [Is shlibpath searched before the hard-coded library search path?])
2717_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2718_LT_DECL([], [library_names_spec], [1],
2719 [[List of archive names. First name is the real one, the rest are links.
2720 The last name is the one that the linker finds with -lNAME]])
2721_LT_DECL([], [soname_spec], [1],
2722 [[The coded name of the library, if different from the real name]])
2723_LT_DECL([], [postinstall_cmds], [2],
2724 [Command to use after installation of a shared archive])
2725_LT_DECL([], [postuninstall_cmds], [2],
2726 [Command to use after uninstallation of a shared archive])
2727_LT_DECL([], [finish_cmds], [2],
2728 [Commands used to finish a libtool library installation in a directory])
2729_LT_DECL([], [finish_eval], [1],
2730 [[As "finish_cmds", except a single script fragment to be evaled but
2731 not shown]])
2732_LT_DECL([], [hardcode_into_libs], [0],
2733 [Whether we should hardcode library paths into libraries])
2734_LT_DECL([], [sys_lib_search_path_spec], [2],
2735 [Compile-time system search path for libraries])
2736_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2737 [Run-time system search path for libraries])
2738])# _LT_SYS_DYNAMIC_LINKER
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002739
2740
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002741# _LT_PATH_TOOL_PREFIX(TOOL)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002742# --------------------------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002743# find a file program which can recognize shared library
2744AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2745[m4_require([_LT_DECL_EGREP])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002746AC_MSG_CHECKING([for $1])
2747AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2748[case $MAGIC_CMD in
2749[[\\/*] | ?:[\\/]*])
2750 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2751 ;;
2752*)
2753 lt_save_MAGIC_CMD="$MAGIC_CMD"
2754 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2755dnl $ac_dummy forces splitting on constant user-supplied paths.
2756dnl POSIX.2 word splitting is done only on the output of word expansions,
2757dnl not every word. This closes a longstanding sh security hole.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002758 ac_dummy="m4_if([$2], , $PATH, [$2])"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002759 for ac_dir in $ac_dummy; do
2760 IFS="$lt_save_ifs"
2761 test -z "$ac_dir" && ac_dir=.
2762 if test -f $ac_dir/$1; then
2763 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2764 if test -n "$file_magic_test_file"; then
2765 case $deplibs_check_method in
2766 "file_magic "*)
2767 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2768 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2769 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2770 $EGREP "$file_magic_regex" > /dev/null; then
2771 :
2772 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002773 cat <<_LT_EOF 1>&2
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002774
2775*** Warning: the command libtool uses to detect shared libraries,
2776*** $file_magic_cmd, produces output that libtool cannot recognize.
2777*** The result is that libtool may fail to recognize shared libraries
2778*** as such. This will affect the creation of libtool libraries that
2779*** depend on shared libraries, but programs linked with such libtool
2780*** libraries will work regardless of this problem. Nevertheless, you
2781*** may want to report the problem to your system manager and/or to
2782*** bug-libtool@gnu.org
2783
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002784_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002785 fi ;;
2786 esac
2787 fi
2788 break
2789 fi
2790 done
2791 IFS="$lt_save_ifs"
2792 MAGIC_CMD="$lt_save_MAGIC_CMD"
2793 ;;
2794esac])
2795MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2796if test -n "$MAGIC_CMD"; then
2797 AC_MSG_RESULT($MAGIC_CMD)
2798else
2799 AC_MSG_RESULT(no)
2800fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002801_LT_DECL([], [MAGIC_CMD], [0],
2802 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2803])# _LT_PATH_TOOL_PREFIX
2804
2805# Old name:
2806AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2807dnl aclocal-1.4 backwards compatibility:
2808dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002809
2810
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002811# _LT_PATH_MAGIC
2812# --------------
2813# find a file program which can recognize a shared library
2814m4_defun([_LT_PATH_MAGIC],
2815[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002816if test -z "$lt_cv_path_MAGIC_CMD"; then
2817 if test -n "$ac_tool_prefix"; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002818 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002819 else
2820 MAGIC_CMD=:
2821 fi
2822fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002823])# _LT_PATH_MAGIC
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002824
2825
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002826# LT_PATH_LD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002827# ----------
2828# find the pathname to the GNU or non-GNU linker
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002829AC_DEFUN([LT_PATH_LD],
2830[AC_REQUIRE([AC_PROG_CC])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002831AC_REQUIRE([AC_CANONICAL_HOST])dnl
2832AC_REQUIRE([AC_CANONICAL_BUILD])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002833m4_require([_LT_DECL_SED])dnl
2834m4_require([_LT_DECL_EGREP])dnl
2835
2836AC_ARG_WITH([gnu-ld],
2837 [AS_HELP_STRING([--with-gnu-ld],
2838 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2839 [test "$withval" = no || with_gnu_ld=yes],
2840 [with_gnu_ld=no])dnl
2841
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002842ac_prog=ld
2843if test "$GCC" = yes; then
2844 # Check if gcc -print-prog-name=ld gives a path.
2845 AC_MSG_CHECKING([for ld used by $CC])
2846 case $host in
2847 *-*-mingw*)
2848 # gcc leaves a trailing carriage return which upsets mingw
2849 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2850 *)
2851 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2852 esac
2853 case $ac_prog in
2854 # Accept absolute paths.
2855 [[\\/]]* | ?:[[\\/]]*)
2856 re_direlt='/[[^/]][[^/]]*/\.\./'
2857 # Canonicalize the pathname of ld
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002858 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2859 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2860 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002861 done
2862 test -z "$LD" && LD="$ac_prog"
2863 ;;
2864 "")
2865 # If it fails, then pretend we aren't using GCC.
2866 ac_prog=ld
2867 ;;
2868 *)
2869 # If it is relative, then search for the first ld in PATH.
2870 with_gnu_ld=unknown
2871 ;;
2872 esac
2873elif test "$with_gnu_ld" = yes; then
2874 AC_MSG_CHECKING([for GNU ld])
2875else
2876 AC_MSG_CHECKING([for non-GNU ld])
2877fi
2878AC_CACHE_VAL(lt_cv_path_LD,
2879[if test -z "$LD"; then
2880 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2881 for ac_dir in $PATH; do
2882 IFS="$lt_save_ifs"
2883 test -z "$ac_dir" && ac_dir=.
2884 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2885 lt_cv_path_LD="$ac_dir/$ac_prog"
2886 # Check to see if the program is GNU ld. I'd rather use --version,
2887 # but apparently some variants of GNU ld only accept -v.
2888 # Break only if it was the GNU/non-GNU ld that we prefer.
2889 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2890 *GNU* | *'with BFD'*)
2891 test "$with_gnu_ld" != no && break
2892 ;;
2893 *)
2894 test "$with_gnu_ld" != yes && break
2895 ;;
2896 esac
2897 fi
2898 done
2899 IFS="$lt_save_ifs"
2900else
2901 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2902fi])
2903LD="$lt_cv_path_LD"
2904if test -n "$LD"; then
2905 AC_MSG_RESULT($LD)
2906else
2907 AC_MSG_RESULT(no)
2908fi
2909test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002910_LT_PATH_LD_GNU
2911AC_SUBST([LD])
2912
2913_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2914])# LT_PATH_LD
2915
2916# Old names:
2917AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2918AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2919dnl aclocal-1.4 backwards compatibility:
2920dnl AC_DEFUN([AM_PROG_LD], [])
2921dnl AC_DEFUN([AC_PROG_LD], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002922
2923
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002924# _LT_PATH_LD_GNU
2925#- --------------
2926m4_defun([_LT_PATH_LD_GNU],
2927[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002928[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2929case `$LD -v 2>&1 </dev/null` in
2930*GNU* | *'with BFD'*)
2931 lt_cv_prog_gnu_ld=yes
2932 ;;
2933*)
2934 lt_cv_prog_gnu_ld=no
2935 ;;
2936esac])
2937with_gnu_ld=$lt_cv_prog_gnu_ld
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002938])# _LT_PATH_LD_GNU
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002939
2940
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002941# _LT_CMD_RELOAD
2942# --------------
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002943# find reload flag for linker
2944# -- PORTME Some linkers may need a different reload flag.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002945m4_defun([_LT_CMD_RELOAD],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002946[AC_CACHE_CHECK([for $LD option to reload object files],
2947 lt_cv_ld_reload_flag,
2948 [lt_cv_ld_reload_flag='-r'])
2949reload_flag=$lt_cv_ld_reload_flag
2950case $reload_flag in
2951"" | " "*) ;;
2952*) reload_flag=" $reload_flag" ;;
2953esac
2954reload_cmds='$LD$reload_flag -o $output$reload_objs'
2955case $host_os in
2956 darwin*)
2957 if test "$GCC" = yes; then
2958 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2959 else
2960 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2961 fi
2962 ;;
2963esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05002964_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2965_LT_DECL([], [reload_cmds], [2])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002966])# _LT_CMD_RELOAD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002967
2968
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002969# _LT_CHECK_MAGIC_METHOD
2970# ----------------------
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002971# how to check for library dependencies
2972# -- PORTME fill in with the dynamic library characteristics
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002973m4_defun([_LT_CHECK_MAGIC_METHOD],
2974[m4_require([_LT_DECL_EGREP])
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05002975m4_require([_LT_DECL_OBJDUMP])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002976AC_CACHE_CHECK([how to recognize dependent libraries],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002977lt_cv_deplibs_check_method,
2978[lt_cv_file_magic_cmd='$MAGIC_CMD'
2979lt_cv_file_magic_test_file=
2980lt_cv_deplibs_check_method='unknown'
2981# Need to set the preceding variable on all platforms that support
2982# interlibrary dependencies.
2983# 'none' -- dependencies not supported.
2984# `unknown' -- same as none, but documents that we really don't know.
2985# 'pass_all' -- all dependencies passed with no checks.
2986# 'test_compile' -- check by making test program.
2987# 'file_magic [[regex]]' -- check by looking for files in library path
2988# which responds to the $file_magic_cmd with a given extended regex.
2989# If you have `file' or equivalent on your system and you're not sure
2990# whether `pass_all' will *always* work, you probably want this one.
2991
2992case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05002993aix[[4-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06002994 lt_cv_deplibs_check_method=pass_all
2995 ;;
2996
2997beos*)
2998 lt_cv_deplibs_check_method=pass_all
2999 ;;
3000
3001bsdi[[45]]*)
3002 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3003 lt_cv_file_magic_cmd='/usr/bin/file -L'
3004 lt_cv_file_magic_test_file=/shlib/libc.so
3005 ;;
3006
3007cygwin*)
3008 # func_win32_libid is a shell function defined in ltmain.sh
3009 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3010 lt_cv_file_magic_cmd='func_win32_libid'
3011 ;;
3012
3013mingw* | pw32*)
3014 # Base MSYS/MinGW do not provide the 'file' command needed by
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003015 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3016 # unless we find 'file', for example because we are cross-compiling.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003017 if ( file / ) >/dev/null 2>&1; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003018 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3019 lt_cv_file_magic_cmd='func_win32_libid'
3020 else
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003021 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003022 lt_cv_file_magic_cmd='$OBJDUMP -f'
3023 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003024 ;;
3025
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003026cegcc)
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003027 # use the weaker test based on 'objdump'. See mingw*.
3028 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3029 lt_cv_file_magic_cmd='$OBJDUMP -f'
3030 ;;
3031
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003032darwin* | rhapsody*)
3033 lt_cv_deplibs_check_method=pass_all
3034 ;;
3035
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003036freebsd* | dragonfly*)
3037 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003038 case $host_cpu in
3039 i*86 )
3040 # Not sure whether the presence of OpenBSD here was a mistake.
3041 # Let's accept both of them until this is cleared up.
3042 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3043 lt_cv_file_magic_cmd=/usr/bin/file
3044 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3045 ;;
3046 esac
3047 else
3048 lt_cv_deplibs_check_method=pass_all
3049 fi
3050 ;;
3051
3052gnu*)
3053 lt_cv_deplibs_check_method=pass_all
3054 ;;
3055
3056hpux10.20* | hpux11*)
3057 lt_cv_file_magic_cmd=/usr/bin/file
3058 case $host_cpu in
3059 ia64*)
3060 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3061 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3062 ;;
3063 hppa*64*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003064 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003065 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3066 ;;
3067 *)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003068 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003069 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3070 ;;
3071 esac
3072 ;;
3073
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003074interix[[3-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003075 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3076 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3077 ;;
3078
3079irix5* | irix6* | nonstopux*)
3080 case $LD in
3081 *-32|*"-32 ") libmagic=32-bit;;
3082 *-n32|*"-n32 ") libmagic=N32;;
3083 *-64|*"-64 ") libmagic=64-bit;;
3084 *) libmagic=never-match;;
3085 esac
3086 lt_cv_deplibs_check_method=pass_all
3087 ;;
3088
3089# This must be Linux ELF.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003090linux* | k*bsd*-gnu)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003091 lt_cv_deplibs_check_method=pass_all
3092 ;;
3093
3094netbsd*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003095 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003096 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3097 else
3098 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3099 fi
3100 ;;
3101
3102newos6*)
3103 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3104 lt_cv_file_magic_cmd=/usr/bin/file
3105 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3106 ;;
3107
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003108*nto* | *qnx*)
3109 lt_cv_deplibs_check_method=pass_all
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003110 ;;
3111
3112openbsd*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003113 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003114 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3115 else
3116 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3117 fi
3118 ;;
3119
3120osf3* | osf4* | osf5*)
3121 lt_cv_deplibs_check_method=pass_all
3122 ;;
3123
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003124rdos*)
3125 lt_cv_deplibs_check_method=pass_all
3126 ;;
3127
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003128solaris*)
3129 lt_cv_deplibs_check_method=pass_all
3130 ;;
3131
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003132sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3133 lt_cv_deplibs_check_method=pass_all
3134 ;;
3135
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003136sysv4 | sysv4.3*)
3137 case $host_vendor in
3138 motorola)
3139 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]]'
3140 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3141 ;;
3142 ncr)
3143 lt_cv_deplibs_check_method=pass_all
3144 ;;
3145 sequent)
3146 lt_cv_file_magic_cmd='/bin/file'
3147 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3148 ;;
3149 sni)
3150 lt_cv_file_magic_cmd='/bin/file'
3151 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3152 lt_cv_file_magic_test_file=/lib/libc.so
3153 ;;
3154 siemens)
3155 lt_cv_deplibs_check_method=pass_all
3156 ;;
3157 pc)
3158 lt_cv_deplibs_check_method=pass_all
3159 ;;
3160 esac
3161 ;;
3162
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003163tpf*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003164 lt_cv_deplibs_check_method=pass_all
3165 ;;
3166esac
3167])
3168file_magic_cmd=$lt_cv_file_magic_cmd
3169deplibs_check_method=$lt_cv_deplibs_check_method
3170test -z "$deplibs_check_method" && deplibs_check_method=unknown
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003171
3172_LT_DECL([], [deplibs_check_method], [1],
3173 [Method to check whether dependent libraries are shared objects])
3174_LT_DECL([], [file_magic_cmd], [1],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003175 [Command to use when deplibs_check_method == "file_magic"])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003176])# _LT_CHECK_MAGIC_METHOD
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003177
3178
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003179# LT_PATH_NM
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003180# ----------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003181# find the pathname to a BSD- or MS-compatible name lister
3182AC_DEFUN([LT_PATH_NM],
3183[AC_REQUIRE([AC_PROG_CC])dnl
3184AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003185[if test -n "$NM"; then
3186 # Let the user override the test.
3187 lt_cv_path_NM="$NM"
3188else
3189 lt_nm_to_check="${ac_tool_prefix}nm"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003190 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003191 lt_nm_to_check="$lt_nm_to_check nm"
3192 fi
3193 for lt_tmp_nm in $lt_nm_to_check; do
3194 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3195 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3196 IFS="$lt_save_ifs"
3197 test -z "$ac_dir" && ac_dir=.
3198 tmp_nm="$ac_dir/$lt_tmp_nm"
3199 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3200 # Check to see if the nm accepts a BSD-compat flag.
3201 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3202 # nm: unknown option "B" ignored
3203 # Tru64's nm complains that /dev/null is an invalid object file
3204 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3205 */dev/null* | *'Invalid file or object type'*)
3206 lt_cv_path_NM="$tmp_nm -B"
3207 break
3208 ;;
3209 *)
3210 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3211 */dev/null*)
3212 lt_cv_path_NM="$tmp_nm -p"
3213 break
3214 ;;
3215 *)
3216 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3217 continue # so that we can try to find one that supports BSD flags
3218 ;;
3219 esac
3220 ;;
3221 esac
3222 fi
3223 done
3224 IFS="$lt_save_ifs"
3225 done
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003226 : ${lt_cv_path_NM=no}
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003227fi])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003228if test "$lt_cv_path_NM" != "no"; then
3229 NM="$lt_cv_path_NM"
3230else
3231 # Didn't find any BSD compatible name lister, look for dumpbin.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003232 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003233 AC_SUBST([DUMPBIN])
3234 if test "$DUMPBIN" != ":"; then
3235 NM="$DUMPBIN"
3236 fi
3237fi
3238test -z "$NM" && NM=nm
3239AC_SUBST([NM])
3240_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3241
3242AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3243 [lt_cv_nm_interface="BSD nm"
3244 echo "int some_variable = 0;" > conftest.$ac_ext
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003245 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003246 (eval "$ac_compile" 2>conftest.err)
3247 cat conftest.err >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003248 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003249 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3250 cat conftest.err >&AS_MESSAGE_LOG_FD
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003251 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003252 cat conftest.out >&AS_MESSAGE_LOG_FD
3253 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3254 lt_cv_nm_interface="MS dumpbin"
3255 fi
3256 rm -f conftest*])
3257])# LT_PATH_NM
3258
3259# Old names:
3260AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3261AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3262dnl aclocal-1.4 backwards compatibility:
3263dnl AC_DEFUN([AM_PROG_NM], [])
3264dnl AC_DEFUN([AC_PROG_NM], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003265
3266
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003267# LT_LIB_M
3268# --------
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003269# check for math library
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003270AC_DEFUN([LT_LIB_M],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003271[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3272LIBM=
3273case $host in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003274*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003275 # These system don't have libm, or don't need it
3276 ;;
3277*-ncr-sysv4.3*)
3278 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3279 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3280 ;;
3281*)
3282 AC_CHECK_LIB(m, cos, LIBM="-lm")
3283 ;;
3284esac
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003285AC_SUBST([LIBM])
3286])# LT_LIB_M
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003287
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003288# Old name:
3289AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3290dnl aclocal-1.4 backwards compatibility:
3291dnl AC_DEFUN([AC_CHECK_LIBM], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003292
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003293
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003294# _LT_COMPILER_NO_RTTI([TAGNAME])
3295# -------------------------------
3296m4_defun([_LT_COMPILER_NO_RTTI],
3297[m4_require([_LT_TAG_COMPILER])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003298
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003299_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003300
3301if test "$GCC" = yes; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003302 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003303
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003304 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003305 lt_cv_prog_compiler_rtti_exceptions,
3306 [-fno-rtti -fno-exceptions], [],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003307 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003308fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003309_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3310 [Compiler flag to turn off builtin functions])
3311])# _LT_COMPILER_NO_RTTI
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003312
3313
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003314# _LT_CMD_GLOBAL_SYMBOLS
3315# ----------------------
3316m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3317[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3318AC_REQUIRE([AC_PROG_CC])dnl
3319AC_REQUIRE([LT_PATH_NM])dnl
3320AC_REQUIRE([LT_PATH_LD])dnl
3321m4_require([_LT_DECL_SED])dnl
3322m4_require([_LT_DECL_EGREP])dnl
3323m4_require([_LT_TAG_COMPILER])dnl
3324
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003325# Check for command to grab the raw symbol name followed by C symbol from nm.
3326AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3327AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3328[
3329# These are sane defaults that work on at least a few old systems.
3330# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3331
3332# Character class describing NM global symbol codes.
3333symcode='[[BCDEGRST]]'
3334
3335# Regexp to match symbols that can be accessed directly from C.
3336sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3337
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003338# Define system-specific variables.
3339case $host_os in
3340aix*)
3341 symcode='[[BCDT]]'
3342 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003343cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003344 symcode='[[ABCDGISTW]]'
3345 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003346hpux*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003347 if test "$host_cpu" = ia64; then
3348 symcode='[[ABCDEGRST]]'
3349 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003350 ;;
3351irix* | nonstopux*)
3352 symcode='[[BCDEGRST]]'
3353 ;;
3354osf*)
3355 symcode='[[BCDEGQRST]]'
3356 ;;
3357solaris*)
3358 symcode='[[BDRT]]'
3359 ;;
3360sco3.2v5*)
3361 symcode='[[DT]]'
3362 ;;
3363sysv4.2uw2*)
3364 symcode='[[DT]]'
3365 ;;
3366sysv5* | sco5v6* | unixware* | OpenUNIX*)
3367 symcode='[[ABDT]]'
3368 ;;
3369sysv4)
3370 symcode='[[DFNSTU]]'
3371 ;;
3372esac
3373
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003374# If we're using GNU nm, then use its standard symbol codes.
3375case `$NM -V 2>&1` in
3376*GNU* | *'with BFD'*)
3377 symcode='[[ABCDGIRSTW]]' ;;
3378esac
3379
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003380# Transform an extracted symbol line into a proper C declaration.
3381# Some systems (esp. on ia64) link data and code symbols differently,
3382# so use this general approach.
3383lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3384
3385# Transform an extracted symbol line into symbol name and symbol address
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003386lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3387lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003388
3389# Handle CRLF in mingw tool chain
3390opt_cr=
3391case $build_os in
3392mingw*)
3393 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3394 ;;
3395esac
3396
3397# Try without a prefix underscore, then with it.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003398for ac_symprfx in "" "_"; do
3399
3400 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3401 symxfrm="\\1 $ac_symprfx\\2 \\2"
3402
3403 # Write the raw and C identifiers.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003404 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3405 # Fake it for dumpbin and say T for any non-static function
3406 # and D for any global variable.
3407 # Also find C++ and __fastcall symbols from MSVC++,
3408 # which start with @ or ?.
3409 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3410" {last_section=section; section=\$ 3};"\
3411" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3412" \$ 0!~/External *\|/{next};"\
3413" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3414" {if(hide[section]) next};"\
3415" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3416" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3417" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3418" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3419" ' prfx=^$ac_symprfx]"
3420 else
3421 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3422 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003423
3424 # Check to see that the pipe works correctly.
3425 pipe_works=no
3426
3427 rm -f conftest*
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003428 cat > conftest.$ac_ext <<_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003429#ifdef __cplusplus
3430extern "C" {
3431#endif
3432char nm_test_var;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003433void nm_test_func(void);
3434void nm_test_func(void){}
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003435#ifdef __cplusplus
3436}
3437#endif
3438int main(){nm_test_var='a';nm_test_func();return(0);}
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003439_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003440
3441 if AC_TRY_EVAL(ac_compile); then
3442 # Now try to grab the symbols.
3443 nlist=conftest.nm
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003444 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003445 # Try sorting and uniquifying the output.
3446 if sort "$nlist" | uniq > "$nlist"T; then
3447 mv -f "$nlist"T "$nlist"
3448 else
3449 rm -f "$nlist"T
3450 fi
3451
3452 # Make sure that we snagged all the symbols we need.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003453 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3454 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3455 cat <<_LT_EOF > conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003456#ifdef __cplusplus
3457extern "C" {
3458#endif
3459
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003460_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003461 # Now generate the symbol file.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003462 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003463
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003464 cat <<_LT_EOF >> conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003465
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003466/* The mapping between symbol names and symbols. */
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003467const struct {
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003468 const char *name;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003469 void *address;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003470}
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003471lt__PROGRAM__LTX_preloaded_symbols[[]] =
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003472{
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003473 { "@PROGRAM@", (void *) 0 },
3474_LT_EOF
3475 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3476 cat <<\_LT_EOF >> conftest.$ac_ext
3477 {0, (void *) 0}
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003478};
3479
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003480/* This works around a problem in FreeBSD linker */
3481#ifdef FREEBSD_WORKAROUND
3482static const void *lt_preloaded_setup() {
3483 return lt__PROGRAM__LTX_preloaded_symbols;
3484}
3485#endif
3486
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003487#ifdef __cplusplus
3488}
3489#endif
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003490_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003491 # Now try linking the two files.
3492 mv conftest.$ac_objext conftstm.$ac_objext
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003493 lt_save_LIBS="$LIBS"
3494 lt_save_CFLAGS="$CFLAGS"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003495 LIBS="conftstm.$ac_objext"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003496 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003497 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3498 pipe_works=yes
3499 fi
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003500 LIBS="$lt_save_LIBS"
3501 CFLAGS="$lt_save_CFLAGS"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003502 else
3503 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3504 fi
3505 else
3506 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3507 fi
3508 else
3509 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3510 fi
3511 else
3512 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3513 cat conftest.$ac_ext >&5
3514 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003515 rm -rf conftest* conftst*
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003516
3517 # Do not use the global_symbol_pipe unless it works.
3518 if test "$pipe_works" = yes; then
3519 break
3520 else
3521 lt_cv_sys_global_symbol_pipe=
3522 fi
3523done
3524])
3525if test -z "$lt_cv_sys_global_symbol_pipe"; then
3526 lt_cv_sys_global_symbol_to_cdecl=
3527fi
3528if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3529 AC_MSG_RESULT(failed)
3530else
3531 AC_MSG_RESULT(ok)
3532fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003533
3534_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3535 [Take the output of nm and produce a listing of raw symbols and C names])
3536_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3537 [Transform the output of nm in a proper C declaration])
3538_LT_DECL([global_symbol_to_c_name_address],
3539 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3540 [Transform the output of nm in a C name address pair])
3541_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3542 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3543 [Transform the output of nm in a C name address pair when lib prefix is needed])
3544]) # _LT_CMD_GLOBAL_SYMBOLS
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003545
3546
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003547# _LT_COMPILER_PIC([TAGNAME])
3548# ---------------------------
3549m4_defun([_LT_COMPILER_PIC],
3550[m4_require([_LT_TAG_COMPILER])dnl
3551_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3552_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3553_LT_TAGVAR(lt_prog_compiler_static, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003554
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003555AC_MSG_CHECKING([for $compiler option to produce PIC])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003556m4_if([$1], [CXX], [
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003557 # C++ specific cases for pic, static, wl, etc.
3558 if test "$GXX" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003559 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3560 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003561
3562 case $host_os in
3563 aix*)
3564 # All AIX code is PIC.
3565 if test "$host_cpu" = ia64; then
3566 # AIX 5 now supports IA64 processor
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003567 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003568 fi
3569 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003570
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003571 amigaos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003572 case $host_cpu in
3573 powerpc)
3574 # see comment about AmigaOS4 .so support
3575 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3576 ;;
3577 m68k)
3578 # FIXME: we need at least 68020 code to build shared libraries, but
3579 # adding the `-m68020' flag to GCC prevents building anything better,
3580 # like `-m68040'.
3581 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3582 ;;
3583 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003584 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003585
3586 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003587 # PIC is the default for these OSes.
3588 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003589 mingw* | cygwin* | os2* | pw32* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003590 # This hack is so that the source file can tell whether it is being
3591 # built for inclusion in a dll (and should export symbols for example).
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003592 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3593 # (--disable-auto-import) libraries
3594 m4_if([$1], [GCJ], [],
3595 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003596 ;;
3597 darwin* | rhapsody*)
3598 # PIC is the default on this platform
3599 # Common symbols not allowed in MH_DYLIB files
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003600 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003601 ;;
3602 *djgpp*)
3603 # DJGPP does not support shared libraries at all
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003604 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003605 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003606 interix[[3-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003607 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3608 # Instead, we relocate shared libraries at runtime.
3609 ;;
3610 sysv4*MP*)
3611 if test -d /usr/nec; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003612 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003613 fi
3614 ;;
3615 hpux*)
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003616 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3617 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3618 # sets the default TLS model and affects inlining.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003619 case $host_cpu in
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003620 hppa*64*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003621 ;;
3622 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003623 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003624 ;;
3625 esac
3626 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003627 *qnx* | *nto*)
3628 # QNX uses GNU C++, but need to define -shared option too, otherwise
3629 # it will coredump.
3630 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3631 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003632 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003633 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003634 ;;
3635 esac
3636 else
3637 case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003638 aix[[4-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003639 # All AIX code is PIC.
3640 if test "$host_cpu" = ia64; then
3641 # AIX 5 now supports IA64 processor
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003642 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003643 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003644 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003645 fi
3646 ;;
3647 chorus*)
3648 case $cc_basename in
3649 cxch68*)
3650 # Green Hills C++ Compiler
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003651 # _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"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003652 ;;
3653 esac
3654 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003655 dgux*)
3656 case $cc_basename in
3657 ec++*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003659 ;;
3660 ghcx*)
3661 # Green Hills C++ Compiler
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003662 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003663 ;;
3664 *)
3665 ;;
3666 esac
3667 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003668 freebsd* | dragonfly*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003669 # FreeBSD uses GNU C++
3670 ;;
3671 hpux9* | hpux10* | hpux11*)
3672 case $cc_basename in
3673 CC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003674 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3675 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003676 if test "$host_cpu" != ia64; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003677 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003678 fi
3679 ;;
3680 aCC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003681 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3682 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003683 case $host_cpu in
3684 hppa*64*|ia64*)
3685 # +Z the default
3686 ;;
3687 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003688 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003689 ;;
3690 esac
3691 ;;
3692 *)
3693 ;;
3694 esac
3695 ;;
3696 interix*)
3697 # This is c89, which is MS Visual C++ (no shared libs)
3698 # Anyone wants to do a port?
3699 ;;
3700 irix5* | irix6* | nonstopux*)
3701 case $cc_basename in
3702 CC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3704 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003705 # CC pic flag -KPIC is the default.
3706 ;;
3707 *)
3708 ;;
3709 esac
3710 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003711 linux* | k*bsd*-gnu)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003712 case $cc_basename in
3713 KCC*)
3714 # KAI C++ Compiler
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003715 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3716 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003717 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003718 ecpc* )
3719 # old Intel C++ for x86_64 which still supported -KPIC.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003720 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3721 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3722 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003723 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003724 icpc* )
3725 # Intel C++, used to be incompatible with GCC.
3726 # ICC 10 doesn't accept -KPIC any more.
3727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3730 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003731 pgCC* | pgcpp*)
3732 # Portland Group C++ compiler
3733 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3734 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3735 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003736 ;;
3737 cxx*)
3738 # Compaq C++
3739 # Make sure the PIC flag is empty. It appears that all Alpha
3740 # Linux and Compaq Tru64 Unix objects are PIC.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003741 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3742 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3743 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003744 xlc* | xlC*)
3745 # IBM XL 8.0 on PPC
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003746 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3747 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3748 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003749 ;;
3750 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003751 case `$CC -V 2>&1 | sed 5q` in
3752 *Sun\ C*)
3753 # Sun C++ 5.9
3754 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3755 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3756 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3757 ;;
3758 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003759 ;;
3760 esac
3761 ;;
3762 lynxos*)
3763 ;;
3764 m88k*)
3765 ;;
3766 mvs*)
3767 case $cc_basename in
3768 cxx*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003769 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003770 ;;
3771 *)
3772 ;;
3773 esac
3774 ;;
3775 netbsd*)
3776 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003777 *qnx* | *nto*)
3778 # QNX uses GNU C++, but need to define -shared option too, otherwise
3779 # it will coredump.
3780 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3781 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003782 osf3* | osf4* | osf5*)
3783 case $cc_basename in
3784 KCC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003785 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003786 ;;
3787 RCC*)
3788 # Rational C++ 2.4.1
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003789 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003790 ;;
3791 cxx*)
3792 # Digital/Compaq C++
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003793 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003794 # Make sure the PIC flag is empty. It appears that all Alpha
3795 # Linux and Compaq Tru64 Unix objects are PIC.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003796 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3797 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003798 ;;
3799 *)
3800 ;;
3801 esac
3802 ;;
3803 psos*)
3804 ;;
3805 solaris*)
3806 case $cc_basename in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003807 CC*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003808 # Sun C++ 4.2, 5.x and Centerline C++
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003809 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3810 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3811 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003812 ;;
3813 gcx*)
3814 # Green Hills C++ Compiler
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003815 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003816 ;;
3817 *)
3818 ;;
3819 esac
3820 ;;
3821 sunos4*)
3822 case $cc_basename in
3823 CC*)
3824 # Sun C++ 4.x
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003825 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3826 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003827 ;;
3828 lcc*)
3829 # Lucid
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003830 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003831 ;;
3832 *)
3833 ;;
3834 esac
3835 ;;
3836 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3837 case $cc_basename in
3838 CC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003839 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3840 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3841 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3842 ;;
3843 esac
3844 ;;
3845 tandem*)
3846 case $cc_basename in
3847 NCC*)
3848 # NonStop-UX NCC 3.20
3849 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3850 ;;
3851 *)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003852 ;;
3853 esac
3854 ;;
3855 vxworks*)
3856 ;;
3857 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003858 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003859 ;;
3860 esac
3861 fi
3862],
3863[
3864 if test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003865 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3866 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003867
3868 case $host_os in
3869 aix*)
3870 # All AIX code is PIC.
3871 if test "$host_cpu" = ia64; then
3872 # AIX 5 now supports IA64 processor
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003873 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003874 fi
3875 ;;
3876
3877 amigaos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003878 case $host_cpu in
3879 powerpc)
3880 # see comment about AmigaOS4 .so support
3881 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3882 ;;
3883 m68k)
3884 # FIXME: we need at least 68020 code to build shared libraries, but
3885 # adding the `-m68020' flag to GCC prevents building anything better,
3886 # like `-m68040'.
3887 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3888 ;;
3889 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003890 ;;
3891
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003892 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003893 # PIC is the default for these OSes.
3894 ;;
3895
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003896 mingw* | cygwin* | pw32* | os2* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003897 # This hack is so that the source file can tell whether it is being
3898 # built for inclusion in a dll (and should export symbols for example).
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003899 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3900 # (--disable-auto-import) libraries
3901 m4_if([$1], [GCJ], [],
3902 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003903 ;;
3904
3905 darwin* | rhapsody*)
3906 # PIC is the default on this platform
3907 # Common symbols not allowed in MH_DYLIB files
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003908 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003909 ;;
3910
3911 hpux*)
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003912 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3913 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3914 # sets the default TLS model and affects inlining.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003915 case $host_cpu in
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003916 hppa*64*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003917 # +Z the default
3918 ;;
3919 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003921 ;;
3922 esac
3923 ;;
3924
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003925 interix[[3-9]]*)
3926 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3927 # Instead, we relocate shared libraries at runtime.
3928 ;;
3929
3930 msdosdjgpp*)
3931 # Just because we use GCC doesn't mean we suddenly get shared libraries
3932 # on systems that don't support them.
3933 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3934 enable_shared=no
3935 ;;
3936
3937 *nto* | *qnx*)
3938 # QNX uses GNU C++, but need to define -shared option too, otherwise
3939 # it will coredump.
3940 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3941 ;;
3942
3943 sysv4*MP*)
3944 if test -d /usr/nec; then
3945 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3946 fi
3947 ;;
3948
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003949 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003950 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003951 ;;
3952 esac
3953 else
3954 # PORTME Check for flag to pass linker flags through the system compiler.
3955 case $host_os in
3956 aix*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003957 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003958 if test "$host_cpu" = ia64; then
3959 # AIX 5 now supports IA64 processor
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003960 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003961 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003962 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003963 fi
3964 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003965
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003966 mingw* | cygwin* | pw32* | os2* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003967 # This hack is so that the source file can tell whether it is being
3968 # built for inclusion in a dll (and should export symbols for example).
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003969 m4_if([$1], [GCJ], [],
3970 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003971 ;;
3972
3973 hpux9* | hpux10* | hpux11*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003974 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003975 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3976 # not for PA HP-UX.
3977 case $host_cpu in
3978 hppa*64*|ia64*)
3979 # +Z the default
3980 ;;
3981 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003982 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003983 ;;
3984 esac
3985 # Is there a better lt_prog_compiler_static that works with the bundled CC?
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003986 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003987 ;;
3988
3989 irix5* | irix6* | nonstopux*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003991 # PIC (with -KPIC) is the default.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003993 ;;
3994
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05003995 linux* | k*bsd*-gnu)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06003996 case $cc_basename in
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05003997 # old Intel for x86_64 which still supported -KPIC.
3998 ecc*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05003999 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4000 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4001 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004002 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004003 # icc used to be incompatible with GCC.
4004 # ICC 10 doesn't accept -KPIC any more.
4005 icc* | ifort*)
4006 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4008 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4009 ;;
4010 # Lahey Fortran 8.1.
4011 lf95*)
4012 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4013 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4014 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4015 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004016 pgcc* | pgf77* | pgf90* | pgf95*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004017 # Portland Group compilers (*not* the Pentium gcc compiler,
4018 # which looks to be a dead project)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004019 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4020 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4021 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004022 ;;
4023 ccc*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004024 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004025 # All Alpha code is PIC.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004026 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004027 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004028 xl*)
4029 # IBM XL C 8.0/Fortran 10.1 on PPC
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004030 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4031 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4032 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4033 ;;
4034 *)
4035 case `$CC -V 2>&1 | sed 5q` in
4036 *Sun\ C*)
4037 # Sun C 5.9
4038 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4039 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4040 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4041 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004042 *Sun\ F*)
4043 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4044 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4045 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4046 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4047 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004048 esac
4049 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004050 esac
4051 ;;
4052
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004053 newsos6)
4054 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4055 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4056 ;;
4057
4058 *nto* | *qnx*)
4059 # QNX uses GNU C++, but need to define -shared option too, otherwise
4060 # it will coredump.
4061 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4062 ;;
4063
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004064 osf3* | osf4* | osf5*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004065 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004066 # All OSF/1 code is PIC.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004067 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4068 ;;
4069
4070 rdos*)
4071 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004072 ;;
4073
4074 solaris*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004075 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4076 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004077 case $cc_basename in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004078 f77* | f90* | f95*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004079 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004080 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004081 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004082 esac
4083 ;;
4084
4085 sunos4*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004086 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4087 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4088 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004089 ;;
4090
4091 sysv4 | sysv4.2uw2* | sysv4.3*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004092 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4093 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4094 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004095 ;;
4096
4097 sysv4*MP*)
4098 if test -d /usr/nec ;then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004099 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4100 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004101 fi
4102 ;;
4103
4104 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004105 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4106 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4107 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004108 ;;
4109
4110 unicos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004111 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4112 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004113 ;;
4114
4115 uts4*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004116 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4117 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004118 ;;
4119
4120 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004121 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004122 ;;
4123 esac
4124 fi
4125])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004126case $host_os in
4127 # For platforms which do not support PIC, -DPIC is meaningless:
4128 *djgpp*)
4129 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4130 ;;
4131 *)
4132 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4133 ;;
4134esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004135AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4136_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4137 [How to pass a linker flag through the compiler])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004138
4139#
4140# Check to make sure the PIC flag actually works.
4141#
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004142if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4143 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4144 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4145 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4146 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004147 "" | " "*) ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004148 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004149 esac],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004150 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4151 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004152fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004153_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4154 [Additional compiler flags for building library objects])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004155
4156#
4157# Check to make sure the static flag actually works.
4158#
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004159wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4160_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4161 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004162 $lt_tmp_static_flag,
4163 [],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004164 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4165_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4166 [Compiler flag to prevent dynamic linking])
4167])# _LT_COMPILER_PIC
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004168
4169
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004170# _LT_LINKER_SHLIBS([TAGNAME])
4171# ----------------------------
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004172# See if the linker supports building shared libraries.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004173m4_defun([_LT_LINKER_SHLIBS],
4174[AC_REQUIRE([LT_PATH_LD])dnl
4175AC_REQUIRE([LT_PATH_NM])dnl
4176m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4177m4_require([_LT_DECL_EGREP])dnl
4178m4_require([_LT_DECL_SED])dnl
4179m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4180m4_require([_LT_TAG_COMPILER])dnl
4181AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4182m4_if([$1], [CXX], [
4183 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06004184 case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004185 aix[[4-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004186 # If we're using GNU nm, then we don't want the "-C" option.
4187 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004188 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004189 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004190 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004191 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004192 fi
4193 ;;
4194 pw32*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004195 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004196 ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004197 cygwin* | mingw* | cegcc*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004198 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4199 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004200 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004201 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004202 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004203 esac
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004205], [
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004206 runpath_var=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004207 _LT_TAGVAR(allow_undefined_flag, $1)=
4208 _LT_TAGVAR(always_export_symbols, $1)=no
4209 _LT_TAGVAR(archive_cmds, $1)=
4210 _LT_TAGVAR(archive_expsym_cmds, $1)=
4211 _LT_TAGVAR(compiler_needs_object, $1)=no
4212 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4213 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4214 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4215 _LT_TAGVAR(hardcode_automatic, $1)=no
4216 _LT_TAGVAR(hardcode_direct, $1)=no
4217 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4218 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4219 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4220 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4221 _LT_TAGVAR(hardcode_minus_L, $1)=no
4222 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4223 _LT_TAGVAR(inherit_rpath, $1)=no
4224 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4225 _LT_TAGVAR(module_cmds, $1)=
4226 _LT_TAGVAR(module_expsym_cmds, $1)=
4227 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4228 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4229 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4230 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004231 # include_expsyms should be a list of space-separated symbols to be *always*
4232 # included in the symbol list
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004233 _LT_TAGVAR(include_expsyms, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004234 # exclude_expsyms can be an extended regexp of symbols to exclude
4235 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4236 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4237 # as well as any symbol that contains `d'.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004238 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004239 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4240 # platforms (ab)use it in PIC code, but their linkers get confused if
4241 # the symbol is explicitly referenced. Since portable code cannot
4242 # rely on this symbol name, it's probably fine to never include it in
4243 # preloaded symbol tables.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004244 # Exclude shared library initialization/finalization symbols.
4245dnl Note also adjust exclude_expsyms for C++ above.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004246 extract_expsyms_cmds=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004247
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004248 case $host_os in
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004249 cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004250 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4251 # When not using gcc, we currently assume that we are using
4252 # Microsoft Visual C++.
4253 if test "$GCC" != yes; then
4254 with_gnu_ld=no
4255 fi
4256 ;;
4257 interix*)
4258 # we just hope/assume this is gcc and not c89 (= MSVC++)
4259 with_gnu_ld=yes
4260 ;;
4261 openbsd*)
4262 with_gnu_ld=no
4263 ;;
4264 esac
4265
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004266 _LT_TAGVAR(ld_shlibs, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004267 if test "$with_gnu_ld" = yes; then
4268 # If archive_cmds runs LD, not CC, wlarc should be empty
4269 wlarc='${wl}'
4270
4271 # Set some defaults for GNU ld with shared library support. These
4272 # are reset later if shared libraries are not supported. Putting them
4273 # here allows them to be overridden if necessary.
4274 runpath_var=LD_RUN_PATH
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004275 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4276 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004277 # ancient GNU ld didn't support --whole-archive et. al.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004278 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4279 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4280 else
4281 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004282 fi
4283 supports_anon_versioning=no
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004284 case `$LD -v 2>&1` in
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004285 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4286 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4287 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4288 *\ 2.11.*) ;; # other 2.11 versions
4289 *) supports_anon_versioning=yes ;;
4290 esac
4291
4292 # See if GNU ld supports shared libraries.
4293 case $host_os in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004294 aix[[3-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004295 # On AIX/PPC, the GNU linker is very broken
4296 if test "$host_cpu" != ia64; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004297 _LT_TAGVAR(ld_shlibs, $1)=no
4298 cat <<_LT_EOF 1>&2
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004299
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004300*** Warning: the GNU linker, at least up to release 2.9.1, is reported
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004301*** to be unable to reliably create shared libraries on AIX.
4302*** Therefore, libtool is disabling shared libraries support. If you
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004303*** really care for shared libraries, you may want to modify your PATH
4304*** so that a non-GNU linker is found, and then restart.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004305
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004306_LT_EOF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004307 fi
4308 ;;
4309
4310 amigaos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004311 case $host_cpu in
4312 powerpc)
4313 # see comment about AmigaOS4 .so support
4314 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4315 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4316 ;;
4317 m68k)
4318 _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)'
4319 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4320 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4321 ;;
4322 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004323 ;;
4324
4325 beos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004326 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4327 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004328 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4329 # support --undefined. This deserves some investigation. FIXME
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004330 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004331 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004332 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004333 fi
4334 ;;
4335
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004336 cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004337 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004338 # as there is no search path for DLLs.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004339 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4340 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4341 _LT_TAGVAR(always_export_symbols, $1)=no
4342 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004343 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004344
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004345 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4346 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004347 # If the export-symbols file already is a .def file (1st line
4348 # is EXPORTS), use it as is; otherwise, prepend...
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004349 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004350 cp $export_symbols $output_objdir/$soname.def;
4351 else
4352 echo EXPORTS > $output_objdir/$soname.def;
4353 cat $export_symbols >> $output_objdir/$soname.def;
4354 fi~
4355 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4356 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004357 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004358 fi
4359 ;;
4360
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004361 interix[[3-9]]*)
4362 _LT_TAGVAR(hardcode_direct, $1)=no
4363 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4364 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4365 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004366 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4367 # Instead, shared libraries are loaded at an image base (0x10000000 by
4368 # default) and relocated if they conflict, which is a slow very memory
4369 # consuming and fragmenting process. To avoid this, we pick a random,
4370 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4371 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004372 _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'
4373 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004374 ;;
4375
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004376 gnu* | linux* | tpf* | k*bsd*-gnu)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004377 tmp_diet=no
4378 if test "$host_os" = linux-dietlibc; then
4379 case $cc_basename in
4380 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4381 esac
4382 fi
4383 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4384 && test "$tmp_diet" = no
4385 then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004386 tmp_addflag=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004387 tmp_sharedflag='-shared'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004388 case $cc_basename,$host_cpu in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004389 pgcc*) # Portland Group C compiler
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004390 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004391 tmp_addflag=' $pic_flag'
4392 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004393 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4394 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004395 tmp_addflag=' $pic_flag -Mnomain' ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004396 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004397 tmp_addflag=' -i_dynamic' ;;
4398 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4399 tmp_addflag=' -i_dynamic -nofor_main' ;;
4400 ifc* | ifort*) # Intel Fortran compiler
4401 tmp_addflag=' -nofor_main' ;;
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004402 lf95*) # Lahey Fortran 8.1
4403 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4404 tmp_sharedflag='--shared' ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004405 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004406 tmp_sharedflag='-qmkshrobj'
4407 tmp_addflag= ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004408 esac
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004409 case `$CC -V 2>&1 | sed 5q` in
4410 *Sun\ C*) # Sun C 5.9
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004411 _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004412 _LT_TAGVAR(compiler_needs_object, $1)=yes
4413 tmp_sharedflag='-G' ;;
4414 *Sun\ F*) # Sun Fortran 8.3
4415 tmp_sharedflag='-G' ;;
4416 esac
4417 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004418
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004419 if test "x$supports_anon_versioning" = xyes; then
4420 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4421 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4422 echo "local: *; };" >> $output_objdir/$libname.ver~
4423 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4424 fi
4425
4426 case $cc_basename in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004427 xlf*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004428 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4429 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4430 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4431 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004432 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004433 if test "x$supports_anon_versioning" = xyes; then
4434 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4435 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4436 echo "local: *; };" >> $output_objdir/$libname.ver~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004437 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004438 fi
4439 ;;
4440 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004441 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004442 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004443 fi
4444 ;;
4445
4446 netbsd*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004447 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4448 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004449 wlarc=
4450 else
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004451 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4452 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004453 fi
4454 ;;
4455
4456 solaris*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004457 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4458 _LT_TAGVAR(ld_shlibs, $1)=no
4459 cat <<_LT_EOF 1>&2
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004460
4461*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4462*** create shared libraries on Solaris systems. Therefore, libtool
4463*** is disabling shared libraries support. We urge you to upgrade GNU
4464*** binutils to release 2.9.1 or newer. Another option is to modify
4465*** your PATH or compiler configuration so that the native linker is
4466*** used, and then restart.
4467
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004468_LT_EOF
4469 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004470 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4471 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004472 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004473 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004474 fi
4475 ;;
4476
4477 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4478 case `$LD -v 2>&1` in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004479 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4480 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004481 cat <<_LT_EOF 1>&2
4482
4483*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4484*** reliably create shared libraries on SCO systems. Therefore, libtool
4485*** is disabling shared libraries support. We urge you to upgrade GNU
4486*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4487*** your PATH or compiler configuration so that the native linker is
4488*** used, and then restart.
4489
4490_LT_EOF
4491 ;;
4492 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004493 # For security reasons, it is highly recommended that you always
4494 # use absolute paths for naming shared libraries, and exclude the
4495 # DT_RUNPATH tag from executables and libraries. But doing so
4496 # requires that you compile everything twice, which is a pain.
4497 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4498 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4499 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4500 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004501 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004502 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004503 fi
4504 ;;
4505 esac
4506 ;;
4507
4508 sunos4*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004509 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004510 wlarc=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004511 _LT_TAGVAR(hardcode_direct, $1)=yes
4512 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004513 ;;
4514
4515 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004516 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004517 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4518 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004519 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004520 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004521 fi
4522 ;;
4523 esac
4524
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004525 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004526 runpath_var=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004527 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4528 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4529 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004530 fi
4531 else
4532 # PORTME fill in a description of your system's linker (not GNU ld)
4533 case $host_os in
4534 aix3*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004535 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4536 _LT_TAGVAR(always_export_symbols, $1)=yes
4537 _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'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004538 # Note: this linker hardcodes the directories in LIBPATH if there
4539 # are no directories specified by -L.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004540 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004541 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4542 # Neither direct hardcoding nor static linking is supported with a
4543 # broken collect2.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004544 _LT_TAGVAR(hardcode_direct, $1)=unsupported
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004545 fi
4546 ;;
4547
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004548 aix[[4-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004549 if test "$host_cpu" = ia64; then
4550 # On IA64, the linker does run time linking by default, so we don't
4551 # have to do anything special.
4552 aix_use_runtimelinking=no
4553 exp_sym_flag='-Bexport'
4554 no_entry_flag=""
4555 else
4556 # If we're using GNU nm, then we don't want the "-C" option.
4557 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004558 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004559 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004560 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004561 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004562 fi
4563 aix_use_runtimelinking=no
4564
4565 # Test if we are trying to use run time linking or normal
4566 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4567 # need to do runtime linking.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004568 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004569 for ld_flag in $LDFLAGS; do
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004570 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4571 aix_use_runtimelinking=yes
4572 break
4573 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004574 done
4575 ;;
4576 esac
4577
4578 exp_sym_flag='-bexport'
4579 no_entry_flag='-bnoentry'
4580 fi
4581
4582 # When large executables or shared objects are built, AIX ld can
4583 # have problems creating the table of contents. If linking a library
4584 # or program results in "error TOC overflow" add -mminimal-toc to
4585 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4586 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4587
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004588 _LT_TAGVAR(archive_cmds, $1)=''
4589 _LT_TAGVAR(hardcode_direct, $1)=yes
4590 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4591 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4592 _LT_TAGVAR(link_all_deplibs, $1)=yes
4593 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004594
4595 if test "$GCC" = yes; then
4596 case $host_os in aix4.[[012]]|aix4.[[012]].*)
4597 # We only want to do this on AIX 4.2 and lower, the check
4598 # below for broken collect2 doesn't work under 4.3+
4599 collect2name=`${CC} -print-prog-name=collect2`
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004600 if test -f "$collect2name" &&
4601 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004602 then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004603 # We have reworked collect2
4604 :
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004605 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004606 # We have old collect2
4607 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4608 # It fails to find uninstalled libraries when the uninstalled
4609 # path is not listed in the libpath. Setting hardcode_minus_L
4610 # to unsupported forces relinking
4611 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4612 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4613 _LT_TAGVAR(hardcode_libdir_separator, $1)=
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004614 fi
4615 ;;
4616 esac
4617 shared_flag='-shared'
4618 if test "$aix_use_runtimelinking" = yes; then
4619 shared_flag="$shared_flag "'${wl}-G'
4620 fi
4621 else
4622 # not using gcc
4623 if test "$host_cpu" = ia64; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004624 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4625 # chokes on -Wl,-G. The following line is correct:
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004626 shared_flag='-G'
4627 else
4628 if test "$aix_use_runtimelinking" = yes; then
4629 shared_flag='${wl}-G'
4630 else
4631 shared_flag='${wl}-bM:SRE'
4632 fi
4633 fi
4634 fi
4635
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004636 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004637 # It seems that -bexpall does not export symbols beginning with
4638 # underscore (_), so it is better to generate a list of symbols to export.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004639 _LT_TAGVAR(always_export_symbols, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004640 if test "$aix_use_runtimelinking" = yes; then
4641 # Warning - without using the other runtime loading flags (-brtl),
4642 # -berok will link without error, but may produce a broken library.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004643 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4644 # Determine the default libpath from the value encoded in an
4645 # empty executable.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004646 _LT_SYS_MODULE_PATH_AIX
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004648 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004649 else
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004650 if test "$host_cpu" = ia64; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004651 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4652 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4653 _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"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004654 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004655 # Determine the default libpath from the value encoded in an
4656 # empty executable.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004657 _LT_SYS_MODULE_PATH_AIX
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004658 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004659 # Warning - without using the other run time loading flags,
4660 # -berok will link without error, but may produce a broken library.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004661 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4662 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004663 # Exported symbols can be pulled into shared objects from archives
4664 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004665 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004666 # This is similar to how AIX traditionally builds its shared libraries.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004667 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004668 fi
4669 fi
4670 ;;
4671
4672 amigaos*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004673 case $host_cpu in
4674 powerpc)
4675 # see comment about AmigaOS4 .so support
4676 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4677 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4678 ;;
4679 m68k)
4680 _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)'
4681 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4682 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4683 ;;
4684 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004685 ;;
4686
4687 bsdi[[45]]*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004688 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004689 ;;
4690
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05004691 cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004692 # When not using gcc, we currently assume that we are using
4693 # Microsoft Visual C++.
4694 # hardcode_libdir_flag_spec is actually meaningless, as there is
4695 # no search path for DLLs.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004696 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4697 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4698 # Tell ltmain to make .lib files, not .a files.
4699 libext=lib
4700 # Tell ltmain to make .dll files, not .so files.
4701 shrext_cmds=".dll"
4702 # FIXME: Setting linknames here is a bad hack.
4703 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4704 # The linker will automatically build a .lib file if we build a DLL.
4705 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4706 # FIXME: Should let the user specify the lib program.
4707 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4708 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4709 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004710 ;;
4711
4712 darwin* | rhapsody*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004713 _LT_DARWIN_LINKER_FEATURES($1)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004714 ;;
4715
4716 dgux*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004717 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4718 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4719 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004720 ;;
4721
4722 freebsd1*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004723 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004724 ;;
4725
4726 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4727 # support. Future versions do this automatically, but an explicit c++rt0.o
4728 # does not break anything, and helps significantly (at the cost of a little
4729 # extra space).
4730 freebsd2.2*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004731 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4733 _LT_TAGVAR(hardcode_direct, $1)=yes
4734 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004735 ;;
4736
4737 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4738 freebsd2*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004739 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4740 _LT_TAGVAR(hardcode_direct, $1)=yes
4741 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4742 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004743 ;;
4744
4745 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004746 freebsd* | dragonfly*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004747 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004748 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4749 _LT_TAGVAR(hardcode_direct, $1)=yes
4750 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004751 ;;
4752
4753 hpux9*)
4754 if test "$GCC" = yes; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004755 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004756 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004757 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004758 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004759 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4760 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4761 _LT_TAGVAR(hardcode_direct, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004762
4763 # hardcode_minus_L: Not really in the search PATH,
4764 # but as the default location of the library.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004765 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4766 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004767 ;;
4768
4769 hpux10*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004770 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4771 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004772 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004773 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004774 fi
4775 if test "$with_gnu_ld" = no; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004776 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4777 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4778 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4779 _LT_TAGVAR(hardcode_direct, $1)=yes
4780 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4781 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004782 # hardcode_minus_L: Not really in the search PATH,
4783 # but as the default location of the library.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004784 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004785 fi
4786 ;;
4787
4788 hpux11*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004789 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004790 case $host_cpu in
4791 hppa*64*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004792 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004793 ;;
4794 ia64*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004796 ;;
4797 *)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004798 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004799 ;;
4800 esac
4801 else
4802 case $host_cpu in
4803 hppa*64*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004804 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004805 ;;
4806 ia64*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004807 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004808 ;;
4809 *)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004810 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004811 ;;
4812 esac
4813 fi
4814 if test "$with_gnu_ld" = no; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004815 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4816 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004817
4818 case $host_cpu in
4819 hppa*64*|ia64*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004820 _LT_TAGVAR(hardcode_direct, $1)=no
4821 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004822 ;;
4823 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004824 _LT_TAGVAR(hardcode_direct, $1)=yes
4825 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4826 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004827
4828 # hardcode_minus_L: Not really in the search PATH,
4829 # but as the default location of the library.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004830 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004831 ;;
4832 esac
4833 fi
4834 ;;
4835
4836 irix5* | irix6* | nonstopux*)
4837 if test "$GCC" = yes; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004838 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004839 # Try to use the -exported_symbol ld option, if it does not
4840 # work, assume that -exports_file does not work either and
4841 # implicitly export all symbols.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004842 save_LDFLAGS="$LDFLAGS"
4843 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4844 AC_LINK_IFELSE(int foo(void) {},
4845 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4846 )
4847 LDFLAGS="$save_LDFLAGS"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004848 else
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004849 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004851 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004852 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4853 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4854 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4855 _LT_TAGVAR(inherit_rpath, $1)=yes
4856 _LT_TAGVAR(link_all_deplibs, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004857 ;;
4858
4859 netbsd*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004860 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4861 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004862 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004863 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004864 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004865 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4866 _LT_TAGVAR(hardcode_direct, $1)=yes
4867 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004868 ;;
4869
4870 newsos6)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004871 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4872 _LT_TAGVAR(hardcode_direct, $1)=yes
4873 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4874 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4875 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4876 ;;
4877
4878 *nto* | *qnx*)
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004879 ;;
4880
4881 openbsd*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004882 if test -f /usr/libexec/ld.so; then
4883 _LT_TAGVAR(hardcode_direct, $1)=yes
4884 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4885 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4886 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4888 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4889 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4890 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4891 else
4892 case $host_os in
4893 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4894 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4895 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4896 ;;
4897 *)
4898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4899 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4900 ;;
4901 esac
4902 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004903 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004904 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004905 fi
4906 ;;
4907
4908 os2*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004909 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4910 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4911 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004912 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004913 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004914 ;;
4915
4916 osf3*)
4917 if test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004918 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004919 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004920 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004921 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004922 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004923 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004924 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4925 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4926 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004927 ;;
4928
4929 osf4* | osf5*) # as osf3* with the addition of -msym flag
4930 if test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004931 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004932 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004933 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004934 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004935 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004936 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004937 _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~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004938 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004939
4940 # Both c and cxx compiler support -rpath directly
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004941 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004942 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004943 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4944 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004945 ;;
4946
4947 solaris*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004948 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004949 if test "$GCC" = yes; then
4950 wlarc='${wl}'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004951 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004952 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05004953 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004954 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004955 case `$CC -V 2>&1` in
4956 *"Compilers 5.0"*)
4957 wlarc=''
4958 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4959 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4960 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4961 ;;
4962 *)
4963 wlarc='${wl}'
4964 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4965 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4966 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4967 ;;
4968 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004969 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004970 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4971 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004972 case $host_os in
4973 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4974 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004975 # The compiler driver will combine and reorder linker options,
4976 # but understands `-z linker_flag'. GCC discards it without `$wl',
4977 # but is careful enough not to reorder.
4978 # Supported since Solaris 2.6 (maybe 2.5.1?)
4979 if test "$GCC" = yes; then
4980 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4981 else
4982 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4983 fi
4984 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004985 esac
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004986 _LT_TAGVAR(link_all_deplibs, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004987 ;;
4988
4989 sunos4*)
4990 if test "x$host_vendor" = xsequent; then
4991 # Use $CC to link under sequent, because it throws in some extra .o
4992 # files that make .init and .fini sections work.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004993 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004994 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004995 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06004996 fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05004997 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4998 _LT_TAGVAR(hardcode_direct, $1)=yes
4999 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5000 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005001 ;;
5002
5003 sysv4)
5004 case $host_vendor in
5005 sni)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005006 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5007 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005008 ;;
5009 siemens)
5010 ## LD is ld it makes a PLAMLIB
5011 ## CC just makes a GrossModule.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005012 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5013 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5014 _LT_TAGVAR(hardcode_direct, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005015 ;;
5016 motorola)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005017 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5018 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005019 ;;
5020 esac
5021 runpath_var='LD_RUN_PATH'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005022 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005023 ;;
5024
5025 sysv4.3*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005026 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5027 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5028 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005029 ;;
5030
5031 sysv4*MP*)
5032 if test -d /usr/nec; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005033 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5034 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005035 runpath_var=LD_RUN_PATH
5036 hardcode_runpath_var=yes
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005037 _LT_TAGVAR(ld_shlibs, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005038 fi
5039 ;;
5040
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005041 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5042 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5043 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5044 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005045 runpath_var='LD_RUN_PATH'
5046
5047 if test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005048 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5049 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005050 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005051 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5052 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005053 fi
5054 ;;
5055
5056 sysv5* | sco3.2v5* | sco5v6*)
5057 # Note: We can NOT use -z defs as we might desire, because we do not
5058 # link with -lc, and that would cause any symbols used from libc to
5059 # always be unresolved, which means just about no library would
5060 # ever link correctly. If we're not using GNU ld we use -z text
5061 # though, which does catch some bad symbols but isn't as heavy-handed
5062 # as -z defs.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005063 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5064 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5065 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5066 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5067 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5068 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5069 _LT_TAGVAR(link_all_deplibs, $1)=yes
5070 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005071 runpath_var='LD_RUN_PATH'
5072
5073 if test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005074 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5075 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005076 else
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005077 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5078 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005079 fi
5080 ;;
5081
5082 uts4*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005083 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5084 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5085 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005086 ;;
5087
5088 *)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005089 _LT_TAGVAR(ld_shlibs, $1)=no
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005090 ;;
5091 esac
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005092
5093 if test x$host_vendor = xsni; then
5094 case $host in
5095 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5096 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5097 ;;
5098 esac
5099 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005100 fi
5101])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005102AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5103test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5104
5105_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5106
5107_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5108_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5109_LT_DECL([], [extract_expsyms_cmds], [2],
5110 [The commands to extract the exported symbol list from a shared archive])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005111
5112#
5113# Do we need to explicitly link libc?
5114#
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005115case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005116x|xyes)
5117 # Assume -lc should be added
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005118 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005119
5120 if test "$enable_shared" = yes && test "$GCC" = yes; then
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005121 case $_LT_TAGVAR(archive_cmds, $1) in
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005122 *'~'*)
5123 # FIXME: we may have to deal with multi-command sequences.
5124 ;;
5125 '$CC '*)
5126 # Test whether the compiler implicitly links with -lc since on some
5127 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5128 # to ld, don't add -lc before -lgcc.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005129 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5130 $RM conftest*
5131 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005132
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005133 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5134 soname=conftest
5135 lib=conftest
5136 libobjs=conftest.$ac_objext
5137 deplibs=
5138 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5139 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5140 compiler_flags=-v
5141 linker_flags=-v
5142 verstring=
5143 output_objdir=.
5144 libname=conftest
5145 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5146 _LT_TAGVAR(allow_undefined_flag, $1)=
5147 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5148 then
5149 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5150 else
5151 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5152 fi
5153 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5154 else
5155 cat conftest.err 1>&5
5156 fi
5157 $RM conftest*
5158 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005159 ;;
5160 esac
5161 fi
5162 ;;
5163esac
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005164
5165_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5166 [Whether or not to add -lc for building shared libraries])
5167_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5168 [enable_shared_with_static_runtimes], [0],
5169 [Whether or not to disallow shared libs when runtime libs are static])
5170_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5171 [Compiler flag to allow reflexive dlopens])
5172_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5173 [Compiler flag to generate shared objects directly from archives])
5174_LT_TAGDECL([], [compiler_needs_object], [1],
5175 [Whether the compiler copes with passing no objects directly])
5176_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5177 [Create an old-style archive from a shared archive])
5178_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5179 [Create a temporary old-style archive to link instead of a shared archive])
5180_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5181_LT_TAGDECL([], [archive_expsym_cmds], [2])
5182_LT_TAGDECL([], [module_cmds], [2],
5183 [Commands used to build a loadable module if different from building
5184 a shared archive.])
5185_LT_TAGDECL([], [module_expsym_cmds], [2])
5186_LT_TAGDECL([], [with_gnu_ld], [1],
5187 [Whether we are building with GNU ld or not])
5188_LT_TAGDECL([], [allow_undefined_flag], [1],
5189 [Flag that allows shared libraries with undefined symbols to be built])
5190_LT_TAGDECL([], [no_undefined_flag], [1],
5191 [Flag that enforces no undefined symbols])
5192_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5193 [Flag to hardcode $libdir into a binary during linking.
5194 This must work even if $libdir does not exist])
5195_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5196 [[If ld is used when linking, flag to hardcode $libdir into a binary
5197 during linking. This must work even if $libdir does not exist]])
5198_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5199 [Whether we need a single "-rpath" flag with a separated argument])
5200_LT_TAGDECL([], [hardcode_direct], [0],
5201 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5202 DIR into the resulting binary])
5203_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5204 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5205 DIR into the resulting binary and the resulting library dependency is
5206 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5207 library is relocated])
5208_LT_TAGDECL([], [hardcode_minus_L], [0],
5209 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5210 into the resulting binary])
5211_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5212 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5213 into the resulting binary])
5214_LT_TAGDECL([], [hardcode_automatic], [0],
5215 [Set to "yes" if building a shared library automatically hardcodes DIR
5216 into the library and all subsequent libraries and executables linked
5217 against it])
5218_LT_TAGDECL([], [inherit_rpath], [0],
5219 [Set to yes if linker adds runtime paths of dependent libraries
5220 to runtime path list])
5221_LT_TAGDECL([], [link_all_deplibs], [0],
5222 [Whether libtool must link a program against all its dependency libraries])
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005223_LT_TAGDECL([], [fix_srcfile_path], [1],
5224 [Fix the shell variable $srcfile for the compiler])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005225_LT_TAGDECL([], [always_export_symbols], [0],
5226 [Set to "yes" if exported symbols are required])
5227_LT_TAGDECL([], [export_symbols_cmds], [2],
5228 [The commands to list exported symbols])
5229_LT_TAGDECL([], [exclude_expsyms], [1],
5230 [Symbols that should not be listed in the preloaded symbols])
5231_LT_TAGDECL([], [include_expsyms], [1],
5232 [Symbols that must always be exported])
5233_LT_TAGDECL([], [prelink_cmds], [2],
5234 [Commands necessary for linking programs (against libraries) with templates])
5235_LT_TAGDECL([], [file_list_spec], [1],
5236 [Specify filename containing input files])
5237dnl FIXME: Not yet implemented
5238dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5239dnl [Compiler flag to generate thread safe objects])
5240])# _LT_LINKER_SHLIBS
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06005241
5242
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005243# _LT_LANG_C_CONFIG([TAG])
5244# ------------------------
5245# Ensure that the configuration variables for a C compiler are suitably
5246# defined. These variables are subsequently used by _LT_CONFIG to write
5247# the compiler configuration to `libtool'.
5248m4_defun([_LT_LANG_C_CONFIG],
5249[m4_require([_LT_DECL_EGREP])dnl
5250lt_save_CC="$CC"
5251AC_LANG_PUSH(C)
5252
5253# Source file extension for C test sources.
5254ac_ext=c
5255
5256# Object file extension for compiled C test sources.
5257objext=o
5258_LT_TAGVAR(objext, $1)=$objext
5259
5260# Code to be used in simple compile tests
5261lt_simple_compile_test_code="int some_variable = 0;"
5262
5263# Code to be used in simple link tests
5264lt_simple_link_test_code='int main(){return(0);}'
5265
5266_LT_TAG_COMPILER
5267# Save the default compiler, since it gets overwritten when the other
5268# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5269compiler_DEFAULT=$CC
5270
5271# save warnings/boilerplate of simple test code
5272_LT_COMPILER_BOILERPLATE
5273_LT_LINKER_BOILERPLATE
5274
5275if test -n "$compiler"; then
5276 _LT_COMPILER_NO_RTTI($1)
5277 _LT_COMPILER_PIC($1)
5278 _LT_COMPILER_C_O($1)
5279 _LT_COMPILER_FILE_LOCKS($1)
5280 _LT_LINKER_SHLIBS($1)
5281 _LT_SYS_DYNAMIC_LINKER($1)
5282 _LT_LINKER_HARDCODE_LIBPATH($1)
5283 LT_SYS_DLOPEN_SELF
5284 _LT_CMD_STRIPLIB
5285
5286 # Report which library types will actually be built
5287 AC_MSG_CHECKING([if libtool supports shared libraries])
5288 AC_MSG_RESULT([$can_build_shared])
5289
5290 AC_MSG_CHECKING([whether to build shared libraries])
5291 test "$can_build_shared" = "no" && enable_shared=no
5292
5293 # On AIX, shared libraries and static libraries use the same namespace, and
5294 # are all built from PIC.
5295 case $host_os in
5296 aix3*)
5297 test "$enable_shared" = yes && enable_static=no
5298 if test -n "$RANLIB"; then
5299 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5300 postinstall_cmds='$RANLIB $lib'
5301 fi
5302 ;;
5303
5304 aix[[4-9]]*)
5305 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5306 test "$enable_shared" = yes && enable_static=no
5307 fi
5308 ;;
5309 esac
5310 AC_MSG_RESULT([$enable_shared])
5311
5312 AC_MSG_CHECKING([whether to build static libraries])
5313 # Make sure either enable_shared or enable_static is yes.
5314 test "$enable_shared" = yes || enable_static=yes
5315 AC_MSG_RESULT([$enable_static])
5316
5317 _LT_CONFIG($1)
5318fi
5319AC_LANG_POP
5320CC="$lt_save_CC"
5321])# _LT_LANG_C_CONFIG
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06005322
5323
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005324# _LT_PROG_CXX
5325# ------------
5326# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5327# compiler, we have our own version here.
5328m4_defun([_LT_PROG_CXX],
5329[
5330pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5331AC_PROG_CXX
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005332if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5333 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5334 (test "X$CXX" != "Xg++"))) ; then
5335 AC_PROG_CXXCPP
5336else
5337 _lt_caught_CXX_error=yes
5338fi
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005339popdef([AC_MSG_ERROR])
5340])# _LT_PROG_CXX
5341
5342dnl aclocal-1.4 backwards compatibility:
5343dnl AC_DEFUN([_LT_PROG_CXX], [])
5344
5345
5346# _LT_LANG_CXX_CONFIG([TAG])
5347# --------------------------
5348# Ensure that the configuration variables for a C++ compiler are suitably
5349# defined. These variables are subsequently used by _LT_CONFIG to write
5350# the compiler configuration to `libtool'.
5351m4_defun([_LT_LANG_CXX_CONFIG],
5352[AC_REQUIRE([_LT_PROG_CXX])dnl
5353m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5354m4_require([_LT_DECL_EGREP])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005355
5356AC_LANG_PUSH(C++)
5357_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5358_LT_TAGVAR(allow_undefined_flag, $1)=
5359_LT_TAGVAR(always_export_symbols, $1)=no
5360_LT_TAGVAR(archive_expsym_cmds, $1)=
5361_LT_TAGVAR(compiler_needs_object, $1)=no
5362_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5363_LT_TAGVAR(hardcode_direct, $1)=no
5364_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5365_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5366_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5367_LT_TAGVAR(hardcode_libdir_separator, $1)=
5368_LT_TAGVAR(hardcode_minus_L, $1)=no
5369_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5370_LT_TAGVAR(hardcode_automatic, $1)=no
5371_LT_TAGVAR(inherit_rpath, $1)=no
5372_LT_TAGVAR(module_cmds, $1)=
5373_LT_TAGVAR(module_expsym_cmds, $1)=
5374_LT_TAGVAR(link_all_deplibs, $1)=unknown
5375_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5376_LT_TAGVAR(no_undefined_flag, $1)=
5377_LT_TAGVAR(whole_archive_flag_spec, $1)=
5378_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5379
5380# Source file extension for C++ test sources.
5381ac_ext=cpp
5382
5383# Object file extension for compiled C++ test sources.
5384objext=o
5385_LT_TAGVAR(objext, $1)=$objext
5386
5387# No sense in running all these tests if we already determined that
5388# the CXX compiler isn't working. Some variables (like enable_shared)
5389# are currently assumed to apply to all compilers on this platform,
5390# and will be corrupted by setting them based on a non-working compiler.
5391if test "$_lt_caught_CXX_error" != yes; then
5392 # Code to be used in simple compile tests
5393 lt_simple_compile_test_code="int some_variable = 0;"
5394
5395 # Code to be used in simple link tests
5396 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5397
5398 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5399 _LT_TAG_COMPILER
5400
5401 # save warnings/boilerplate of simple test code
5402 _LT_COMPILER_BOILERPLATE
5403 _LT_LINKER_BOILERPLATE
5404
5405 # Allow CC to be a program name with arguments.
5406 lt_save_CC=$CC
5407 lt_save_LD=$LD
5408 lt_save_GCC=$GCC
5409 GCC=$GXX
5410 lt_save_with_gnu_ld=$with_gnu_ld
5411 lt_save_path_LD=$lt_cv_path_LD
5412 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5413 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5414 else
5415 $as_unset lt_cv_prog_gnu_ld
5416 fi
5417 if test -n "${lt_cv_path_LDCXX+set}"; then
5418 lt_cv_path_LD=$lt_cv_path_LDCXX
5419 else
5420 $as_unset lt_cv_path_LD
5421 fi
5422 test -z "${LDCXX+set}" || LD=$LDCXX
5423 CC=${CXX-"c++"}
5424 compiler=$CC
5425 _LT_TAGVAR(compiler, $1)=$CC
5426 _LT_CC_BASENAME([$compiler])
5427
5428 if test -n "$compiler"; then
5429 # We don't want -fno-exception when compiling C++ code, so set the
5430 # no_builtin_flag separately
5431 if test "$GXX" = yes; then
5432 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5433 else
5434 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5435 fi
5436
5437 if test "$GXX" = yes; then
5438 # Set up default GNU C++ configuration
5439
5440 LT_PATH_LD
5441
5442 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5443 # archiving commands below assume that GNU ld is being used.
5444 if test "$with_gnu_ld" = yes; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005445 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5446 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005447
5448 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5449 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5450
5451 # If archive_cmds runs LD, not CC, wlarc should be empty
5452 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5453 # investigate it a little bit more. (MM)
5454 wlarc='${wl}'
5455
5456 # ancient GNU ld didn't support --whole-archive et. al.
5457 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5458 $GREP 'no-whole-archive' > /dev/null; then
5459 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5460 else
5461 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5462 fi
5463 else
5464 with_gnu_ld=no
5465 wlarc=
5466
5467 # A generic and very simple default shared library creation
5468 # command for GNU C++ for the case where it uses the native
5469 # linker, instead of GNU ld. If possible, this setting should
5470 # overridden to take advantage of the native linker features on
5471 # the platform it is being used on.
5472 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5473 fi
5474
5475 # Commands to make compiler produce verbose output that lists
5476 # what "hidden" libraries, object files and flags are used when
5477 # linking a shared library.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005478 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005479
5480 else
5481 GXX=no
5482 with_gnu_ld=no
5483 wlarc=
5484 fi
5485
5486 # PORTME: fill in a description of your system's C++ link characteristics
5487 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5488 _LT_TAGVAR(ld_shlibs, $1)=yes
5489 case $host_os in
5490 aix3*)
5491 # FIXME: insert proper C++ library support
5492 _LT_TAGVAR(ld_shlibs, $1)=no
5493 ;;
5494 aix[[4-9]]*)
5495 if test "$host_cpu" = ia64; then
5496 # On IA64, the linker does run time linking by default, so we don't
5497 # have to do anything special.
5498 aix_use_runtimelinking=no
5499 exp_sym_flag='-Bexport'
5500 no_entry_flag=""
5501 else
5502 aix_use_runtimelinking=no
5503
5504 # Test if we are trying to use run time linking or normal
5505 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5506 # need to do runtime linking.
5507 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5508 for ld_flag in $LDFLAGS; do
5509 case $ld_flag in
5510 *-brtl*)
5511 aix_use_runtimelinking=yes
5512 break
5513 ;;
5514 esac
5515 done
5516 ;;
5517 esac
5518
5519 exp_sym_flag='-bexport'
5520 no_entry_flag='-bnoentry'
5521 fi
5522
5523 # When large executables or shared objects are built, AIX ld can
5524 # have problems creating the table of contents. If linking a library
5525 # or program results in "error TOC overflow" add -mminimal-toc to
5526 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5527 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5528
5529 _LT_TAGVAR(archive_cmds, $1)=''
5530 _LT_TAGVAR(hardcode_direct, $1)=yes
5531 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5532 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5533 _LT_TAGVAR(link_all_deplibs, $1)=yes
5534 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5535
5536 if test "$GXX" = yes; then
5537 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5538 # We only want to do this on AIX 4.2 and lower, the check
5539 # below for broken collect2 doesn't work under 4.3+
5540 collect2name=`${CC} -print-prog-name=collect2`
5541 if test -f "$collect2name" &&
5542 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5543 then
5544 # We have reworked collect2
5545 :
5546 else
5547 # We have old collect2
5548 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5549 # It fails to find uninstalled libraries when the uninstalled
5550 # path is not listed in the libpath. Setting hardcode_minus_L
5551 # to unsupported forces relinking
5552 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5553 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5554 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5555 fi
5556 esac
5557 shared_flag='-shared'
5558 if test "$aix_use_runtimelinking" = yes; then
5559 shared_flag="$shared_flag "'${wl}-G'
5560 fi
5561 else
5562 # not using gcc
5563 if test "$host_cpu" = ia64; then
5564 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5565 # chokes on -Wl,-G. The following line is correct:
5566 shared_flag='-G'
5567 else
5568 if test "$aix_use_runtimelinking" = yes; then
5569 shared_flag='${wl}-G'
5570 else
5571 shared_flag='${wl}-bM:SRE'
5572 fi
5573 fi
5574 fi
5575
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05005576 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005577 # It seems that -bexpall does not export symbols beginning with
5578 # underscore (_), so it is better to generate a list of symbols to
5579 # export.
5580 _LT_TAGVAR(always_export_symbols, $1)=yes
5581 if test "$aix_use_runtimelinking" = yes; then
5582 # Warning - without using the other runtime loading flags (-brtl),
5583 # -berok will link without error, but may produce a broken library.
5584 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5585 # Determine the default libpath from the value encoded in an empty
5586 # executable.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005587 _LT_SYS_MODULE_PATH_AIX
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005588 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5589
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005590 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005591 else
5592 if test "$host_cpu" = ia64; then
5593 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5594 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5595 _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"
5596 else
5597 # Determine the default libpath from the value encoded in an
5598 # empty executable.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005599 _LT_SYS_MODULE_PATH_AIX
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005600 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5601 # Warning - without using the other run time loading flags,
5602 # -berok will link without error, but may produce a broken library.
5603 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5604 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005605 # Exported symbols can be pulled into shared objects from archives
5606 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005607 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5608 # This is similar to how AIX traditionally builds its shared
5609 # libraries.
5610 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5611 fi
5612 fi
5613 ;;
5614
5615 beos*)
5616 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5617 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5618 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5619 # support --undefined. This deserves some investigation. FIXME
5620 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5621 else
5622 _LT_TAGVAR(ld_shlibs, $1)=no
5623 fi
5624 ;;
5625
5626 chorus*)
5627 case $cc_basename in
5628 *)
5629 # FIXME: insert proper C++ library support
5630 _LT_TAGVAR(ld_shlibs, $1)=no
5631 ;;
5632 esac
5633 ;;
5634
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05005635 cygwin* | mingw* | pw32* | cegcc*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005636 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5637 # as there is no search path for DLLs.
5638 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5639 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5640 _LT_TAGVAR(always_export_symbols, $1)=no
5641 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005642
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005643 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5644 _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'
5645 # If the export-symbols file already is a .def file (1st line
5646 # is EXPORTS), use it as is; otherwise, prepend...
5647 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5648 cp $export_symbols $output_objdir/$soname.def;
5649 else
5650 echo EXPORTS > $output_objdir/$soname.def;
5651 cat $export_symbols >> $output_objdir/$soname.def;
5652 fi~
5653 $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'
5654 else
5655 _LT_TAGVAR(ld_shlibs, $1)=no
5656 fi
5657 ;;
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005658 darwin* | rhapsody*)
5659 _LT_DARWIN_LINKER_FEATURES($1)
5660 ;;
5661
5662 dgux*)
5663 case $cc_basename in
5664 ec++*)
5665 # FIXME: insert proper C++ library support
5666 _LT_TAGVAR(ld_shlibs, $1)=no
5667 ;;
5668 ghcx*)
5669 # Green Hills C++ Compiler
5670 # FIXME: insert proper C++ library support
5671 _LT_TAGVAR(ld_shlibs, $1)=no
5672 ;;
5673 *)
5674 # FIXME: insert proper C++ library support
5675 _LT_TAGVAR(ld_shlibs, $1)=no
5676 ;;
5677 esac
5678 ;;
5679
5680 freebsd[[12]]*)
5681 # C++ shared libraries reported to be fairly broken before
5682 # switch to ELF
5683 _LT_TAGVAR(ld_shlibs, $1)=no
5684 ;;
5685
5686 freebsd-elf*)
5687 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5688 ;;
5689
5690 freebsd* | dragonfly*)
5691 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5692 # conventions
5693 _LT_TAGVAR(ld_shlibs, $1)=yes
5694 ;;
5695
5696 gnu*)
5697 ;;
5698
5699 hpux9*)
5700 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5701 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5702 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5703 _LT_TAGVAR(hardcode_direct, $1)=yes
5704 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5705 # but as the default
5706 # location of the library.
5707
5708 case $cc_basename in
5709 CC*)
5710 # FIXME: insert proper C++ library support
5711 _LT_TAGVAR(ld_shlibs, $1)=no
5712 ;;
5713 aCC*)
5714 _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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5715 # Commands to make compiler produce verbose output that lists
5716 # what "hidden" libraries, object files and flags are used when
5717 # linking a shared library.
5718 #
5719 # There doesn't appear to be a way to prevent this compiler from
5720 # explicitly linking system object files so we need to strip them
5721 # from the output so that they don't get included in the library
5722 # dependencies.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005723 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; $ECHO "X$list" | $Xsed'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005724 ;;
5725 *)
5726 if test "$GXX" = yes; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005727 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005728 else
5729 # FIXME: insert proper C++ library support
5730 _LT_TAGVAR(ld_shlibs, $1)=no
5731 fi
5732 ;;
5733 esac
5734 ;;
5735
5736 hpux10*|hpux11*)
5737 if test $with_gnu_ld = no; then
5738 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5739 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5740
5741 case $host_cpu in
5742 hppa*64*|ia64*)
5743 ;;
5744 *)
5745 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5746 ;;
5747 esac
5748 fi
5749 case $host_cpu in
5750 hppa*64*|ia64*)
5751 _LT_TAGVAR(hardcode_direct, $1)=no
5752 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5753 ;;
5754 *)
5755 _LT_TAGVAR(hardcode_direct, $1)=yes
5756 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5757 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5758 # but as the default
5759 # location of the library.
5760 ;;
5761 esac
5762
5763 case $cc_basename in
5764 CC*)
5765 # FIXME: insert proper C++ library support
5766 _LT_TAGVAR(ld_shlibs, $1)=no
5767 ;;
5768 aCC*)
5769 case $host_cpu in
5770 hppa*64*)
5771 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5772 ;;
5773 ia64*)
5774 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5775 ;;
5776 *)
5777 _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'
5778 ;;
5779 esac
5780 # Commands to make compiler produce verbose output that lists
5781 # what "hidden" libraries, object files and flags are used when
5782 # linking a shared library.
5783 #
5784 # There doesn't appear to be a way to prevent this compiler from
5785 # explicitly linking system object files so we need to strip them
5786 # from the output so that they don't get included in the library
5787 # dependencies.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005788 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; $ECHO "X$list" | $Xsed'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005789 ;;
5790 *)
5791 if test "$GXX" = yes; then
5792 if test $with_gnu_ld = no; then
5793 case $host_cpu in
5794 hppa*64*)
5795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5796 ;;
5797 ia64*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005798 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005799 ;;
5800 *)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005801 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005802 ;;
5803 esac
5804 fi
5805 else
5806 # FIXME: insert proper C++ library support
5807 _LT_TAGVAR(ld_shlibs, $1)=no
5808 fi
5809 ;;
5810 esac
5811 ;;
5812
5813 interix[[3-9]]*)
5814 _LT_TAGVAR(hardcode_direct, $1)=no
5815 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5816 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5817 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5818 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5819 # Instead, shared libraries are loaded at an image base (0x10000000 by
5820 # default) and relocated if they conflict, which is a slow very memory
5821 # consuming and fragmenting process. To avoid this, we pick a random,
5822 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5823 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5824 _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'
5825 _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'
5826 ;;
5827 irix5* | irix6*)
5828 case $cc_basename in
5829 CC*)
5830 # SGI C++
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005831 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005832
5833 # Archives containing C++ object files must be created using
5834 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5835 # necessary to make sure instantiated templates are included
5836 # in the archive.
5837 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5838 ;;
5839 *)
5840 if test "$GXX" = yes; then
5841 if test "$with_gnu_ld" = no; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005842 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005843 else
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005844 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005845 fi
5846 fi
5847 _LT_TAGVAR(link_all_deplibs, $1)=yes
5848 ;;
5849 esac
5850 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5851 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5852 _LT_TAGVAR(inherit_rpath, $1)=yes
5853 ;;
5854
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005855 linux* | k*bsd*-gnu)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005856 case $cc_basename in
5857 KCC*)
5858 # Kuck and Associates, Inc. (KAI) C++ Compiler
5859
5860 # KCC will only create a shared library if the output file
5861 # ends with ".so" (or ".sl" for HP-UX), so rename the library
5862 # to its proper name (with version) after linking.
5863 _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'
5864 _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'
5865 # Commands to make compiler produce verbose output that lists
5866 # what "hidden" libraries, object files and flags are used when
5867 # linking a shared library.
5868 #
5869 # There doesn't appear to be a way to prevent this compiler from
5870 # explicitly linking system object files so we need to strip them
5871 # from the output so that they don't get included in the library
5872 # dependencies.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005873 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; $ECHO "X$list" | $Xsed'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005874
5875 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5876 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5877
5878 # Archives containing C++ object files must be created using
5879 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5880 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5881 ;;
5882 icpc* | ecpc* )
5883 # Intel C++
5884 with_gnu_ld=yes
5885 # version 8.0 and above of icpc choke on multiply defined symbols
5886 # if we add $predep_objects and $postdep_objects, however 7.1 and
5887 # earlier do not add the objects themselves.
5888 case `$CC -V 2>&1` in
5889 *"Version 7."*)
5890 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5891 _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'
5892 ;;
5893 *) # Version 8.0 or newer
5894 tmp_idyn=
5895 case $host_cpu in
5896 ia64*) tmp_idyn=' -i_dynamic';;
5897 esac
5898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5899 _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'
5900 ;;
5901 esac
5902 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5903 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5904 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5905 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5906 ;;
5907 pgCC* | pgcpp*)
5908 # Portland Group C++ compiler
5909 case `$CC -V` in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005910 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005911 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5912 rm -rf $tpldir~
5913 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005914 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005915 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5916 rm -rf $tpldir~
5917 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005918 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005919 $RANLIB $oldlib'
5920 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5921 rm -rf $tpldir~
5922 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005923 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005924 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5925 rm -rf $tpldir~
5926 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005927 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005928 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005929 *) # Version 6 will use weak symbols
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005930 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5931 _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'
5932 ;;
5933 esac
5934
5935 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5936 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005937 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005938 ;;
5939 cxx*)
5940 # Compaq C++
5941 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5942 _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'
5943
5944 runpath_var=LD_RUN_PATH
5945 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5946 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5947
5948 # Commands to make compiler produce verbose output that lists
5949 # what "hidden" libraries, object files and flags are used when
5950 # linking a shared library.
5951 #
5952 # There doesn't appear to be a way to prevent this compiler from
5953 # explicitly linking system object files so we need to strip them
5954 # from the output so that they don't get included in the library
5955 # dependencies.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005956 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005957 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005958 xl*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005959 # IBM XL 8.0 on PPC, with GNU ld
5960 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5961 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5962 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5963 if test "x$supports_anon_versioning" = xyes; then
5964 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5965 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5966 echo "local: *; };" >> $output_objdir/$libname.ver~
5967 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5968 fi
5969 ;;
5970 *)
5971 case `$CC -V 2>&1 | sed 5q` in
5972 *Sun\ C*)
5973 # Sun C++ 5.9
5974 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5975 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5976 _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'
5977 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005978 _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005979 _LT_TAGVAR(compiler_needs_object, $1)=yes
5980
5981 # Not sure whether something based on
5982 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5983 # would be better.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05005984 output_verbose_link_cmd='echo'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05005985
5986 # Archives containing C++ object files must be created using
5987 # "CC -xar", where "CC" is the Sun C++ compiler. This is
5988 # necessary to make sure instantiated templates are included
5989 # in the archive.
5990 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
5991 ;;
5992 esac
5993 ;;
5994 esac
5995 ;;
5996
5997 lynxos*)
5998 # FIXME: insert proper C++ library support
5999 _LT_TAGVAR(ld_shlibs, $1)=no
6000 ;;
6001
6002 m88k*)
6003 # FIXME: insert proper C++ library support
6004 _LT_TAGVAR(ld_shlibs, $1)=no
6005 ;;
6006
6007 mvs*)
6008 case $cc_basename in
6009 cxx*)
6010 # FIXME: insert proper C++ library support
6011 _LT_TAGVAR(ld_shlibs, $1)=no
6012 ;;
6013 *)
6014 # FIXME: insert proper C++ library support
6015 _LT_TAGVAR(ld_shlibs, $1)=no
6016 ;;
6017 esac
6018 ;;
6019
6020 netbsd*)
6021 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6022 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6023 wlarc=
6024 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6025 _LT_TAGVAR(hardcode_direct, $1)=yes
6026 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6027 fi
6028 # Workaround some broken pre-1.5 toolchains
6029 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6030 ;;
6031
6032 *nto* | *qnx*)
6033 _LT_TAGVAR(ld_shlibs, $1)=yes
6034 ;;
6035
6036 openbsd2*)
6037 # C++ shared libraries are fairly broken
6038 _LT_TAGVAR(ld_shlibs, $1)=no
6039 ;;
6040
6041 openbsd*)
6042 if test -f /usr/libexec/ld.so; then
6043 _LT_TAGVAR(hardcode_direct, $1)=yes
6044 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6045 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6046 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6047 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6048 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6049 _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'
6050 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6051 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6052 fi
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006053 output_verbose_link_cmd=echo
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006054 else
6055 _LT_TAGVAR(ld_shlibs, $1)=no
6056 fi
6057 ;;
6058
6059 osf3* | osf4* | osf5*)
6060 case $cc_basename in
6061 KCC*)
6062 # Kuck and Associates, Inc. (KAI) C++ Compiler
6063
6064 # KCC will only create a shared library if the output file
6065 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6066 # to its proper name (with version) after linking.
6067 _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'
6068
6069 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6070 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6071
6072 # Archives containing C++ object files must be created using
6073 # the KAI C++ compiler.
6074 case $host in
6075 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6076 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6077 esac
6078 ;;
6079 RCC*)
6080 # Rational C++ 2.4.1
6081 # FIXME: insert proper C++ library support
6082 _LT_TAGVAR(ld_shlibs, $1)=no
6083 ;;
6084 cxx*)
6085 case $host in
6086 osf3*)
6087 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006088 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006089 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6090 ;;
6091 *)
6092 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006093 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006094 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6095 echo "-hidden">> $lib.exp~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006096 $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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006097 $RM $lib.exp'
6098 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6099 ;;
6100 esac
6101
6102 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6103
6104 # Commands to make compiler produce verbose output that lists
6105 # what "hidden" libraries, object files and flags are used when
6106 # linking a shared library.
6107 #
6108 # There doesn't appear to be a way to prevent this compiler from
6109 # explicitly linking system object files so we need to strip them
6110 # from the output so that they don't get included in the library
6111 # dependencies.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006112 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006113 ;;
6114 *)
6115 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6116 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6117 case $host in
6118 osf3*)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006119 _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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006120 ;;
6121 *)
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006122 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006123 ;;
6124 esac
6125
6126 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6127 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6128
6129 # Commands to make compiler produce verbose output that lists
6130 # what "hidden" libraries, object files and flags are used when
6131 # linking a shared library.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006132 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006133
6134 else
6135 # FIXME: insert proper C++ library support
6136 _LT_TAGVAR(ld_shlibs, $1)=no
6137 fi
6138 ;;
6139 esac
6140 ;;
6141
6142 psos*)
6143 # FIXME: insert proper C++ library support
6144 _LT_TAGVAR(ld_shlibs, $1)=no
6145 ;;
6146
6147 sunos4*)
6148 case $cc_basename in
6149 CC*)
6150 # Sun C++ 4.x
6151 # FIXME: insert proper C++ library support
6152 _LT_TAGVAR(ld_shlibs, $1)=no
6153 ;;
6154 lcc*)
6155 # Lucid
6156 # FIXME: insert proper C++ library support
6157 _LT_TAGVAR(ld_shlibs, $1)=no
6158 ;;
6159 *)
6160 # FIXME: insert proper C++ library support
6161 _LT_TAGVAR(ld_shlibs, $1)=no
6162 ;;
6163 esac
6164 ;;
6165
6166 solaris*)
6167 case $cc_basename in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006168 CC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006169 # Sun C++ 4.2, 5.x and Centerline C++
6170 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6171 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6172 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6173 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6174 $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'
6175
6176 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6177 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6178 case $host_os in
6179 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6180 *)
6181 # The compiler driver will combine and reorder linker options,
6182 # but understands `-z linker_flag'.
6183 # Supported since Solaris 2.6 (maybe 2.5.1?)
6184 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6185 ;;
6186 esac
6187 _LT_TAGVAR(link_all_deplibs, $1)=yes
6188
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006189 output_verbose_link_cmd='echo'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006190
6191 # Archives containing C++ object files must be created using
6192 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6193 # necessary to make sure instantiated templates are included
6194 # in the archive.
6195 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6196 ;;
6197 gcx*)
6198 # Green Hills C++ Compiler
6199 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6200
6201 # The C++ compiler must be used to create the archive.
6202 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6203 ;;
6204 *)
6205 # GNU C++ compiler with Solaris linker
6206 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6207 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6208 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006209 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006210 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006211 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006212
6213 # Commands to make compiler produce verbose output that lists
6214 # what "hidden" libraries, object files and flags are used when
6215 # linking a shared library.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006216 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006217 else
6218 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6219 # platform.
6220 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6221 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6222 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6223
6224 # Commands to make compiler produce verbose output that lists
6225 # what "hidden" libraries, object files and flags are used when
6226 # linking a shared library.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006227 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006228 fi
6229
6230 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6231 case $host_os in
6232 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6233 *)
6234 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6235 ;;
6236 esac
6237 fi
6238 ;;
6239 esac
6240 ;;
6241
6242 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6243 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6244 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6245 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6246 runpath_var='LD_RUN_PATH'
6247
6248 case $cc_basename in
6249 CC*)
6250 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6251 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6252 ;;
6253 *)
6254 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6255 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6256 ;;
6257 esac
6258 ;;
6259
6260 sysv5* | sco3.2v5* | sco5v6*)
6261 # Note: We can NOT use -z defs as we might desire, because we do not
6262 # link with -lc, and that would cause any symbols used from libc to
6263 # always be unresolved, which means just about no library would
6264 # ever link correctly. If we're not using GNU ld we use -z text
6265 # though, which does catch some bad symbols but isn't as heavy-handed
6266 # as -z defs.
6267 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6268 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6269 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6270 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6271 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6272 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6273 _LT_TAGVAR(link_all_deplibs, $1)=yes
6274 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6275 runpath_var='LD_RUN_PATH'
6276
6277 case $cc_basename in
6278 CC*)
6279 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6280 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6281 ;;
6282 *)
6283 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6284 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6285 ;;
6286 esac
6287 ;;
6288
6289 tandem*)
6290 case $cc_basename in
6291 NCC*)
6292 # NonStop-UX NCC 3.20
6293 # FIXME: insert proper C++ library support
6294 _LT_TAGVAR(ld_shlibs, $1)=no
6295 ;;
6296 *)
6297 # FIXME: insert proper C++ library support
6298 _LT_TAGVAR(ld_shlibs, $1)=no
6299 ;;
6300 esac
6301 ;;
6302
6303 vxworks*)
6304 # FIXME: insert proper C++ library support
6305 _LT_TAGVAR(ld_shlibs, $1)=no
6306 ;;
6307
6308 *)
6309 # FIXME: insert proper C++ library support
6310 _LT_TAGVAR(ld_shlibs, $1)=no
6311 ;;
6312 esac
6313
6314 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6315 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6316
6317 _LT_TAGVAR(GCC, $1)="$GXX"
6318 _LT_TAGVAR(LD, $1)="$LD"
6319
6320 ## CAVEAT EMPTOR:
6321 ## There is no encapsulation within the following macros, do not change
6322 ## the running order or otherwise move them around unless you know exactly
6323 ## what you are doing...
6324 _LT_SYS_HIDDEN_LIBDEPS($1)
6325 _LT_COMPILER_PIC($1)
6326 _LT_COMPILER_C_O($1)
6327 _LT_COMPILER_FILE_LOCKS($1)
6328 _LT_LINKER_SHLIBS($1)
6329 _LT_SYS_DYNAMIC_LINKER($1)
6330 _LT_LINKER_HARDCODE_LIBPATH($1)
6331
6332 _LT_CONFIG($1)
6333 fi # test -n "$compiler"
6334
6335 CC=$lt_save_CC
6336 LDCXX=$LD
6337 LD=$lt_save_LD
6338 GCC=$lt_save_GCC
6339 with_gnu_ld=$lt_save_with_gnu_ld
6340 lt_cv_path_LDCXX=$lt_cv_path_LD
6341 lt_cv_path_LD=$lt_save_path_LD
6342 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6343 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6344fi # test "$_lt_caught_CXX_error" != yes
6345
6346AC_LANG_POP
6347])# _LT_LANG_CXX_CONFIG
6348
6349
6350# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06006351# ---------------------------------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006352# Figure out "hidden" library dependencies from verbose
6353# compiler output when linking a shared library.
6354# Parse the compiler output and extract the necessary
6355# objects, libraries and library flags.
6356m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6357[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6358# Dependencies to place before and after the object being linked:
6359_LT_TAGVAR(predep_objects, $1)=
6360_LT_TAGVAR(postdep_objects, $1)=
6361_LT_TAGVAR(predeps, $1)=
6362_LT_TAGVAR(postdeps, $1)=
6363_LT_TAGVAR(compiler_lib_search_path, $1)=
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06006364
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006365dnl we can't use the lt_simple_compile_test_code here,
6366dnl because it contains code intended for an executable,
6367dnl not a library. It's possible we should let each
6368dnl tag define a new lt_????_link_test_code variable,
6369dnl but it's only used here...
6370m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6371int a;
6372void foo (void) { a = 0; }
6373_LT_EOF
6374], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6375class Foo
6376{
6377public:
6378 Foo (void) { a = 0; }
6379private:
6380 int a;
6381};
6382_LT_EOF
6383], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6384 subroutine foo
6385 implicit none
6386 integer*4 a
6387 a=0
6388 return
6389 end
6390_LT_EOF
6391], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6392 subroutine foo
6393 implicit none
6394 integer a
6395 a=0
6396 return
6397 end
6398_LT_EOF
6399], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6400public class foo {
6401 private int a;
6402 public void bar (void) {
6403 a = 0;
6404 }
6405};
6406_LT_EOF
6407])
6408dnl Parse the compiler output and extract the necessary
6409dnl objects, libraries and library flags.
6410if AC_TRY_EVAL(ac_compile); then
6411 # Parse the compiler output and extract the necessary
6412 # objects, libraries and library flags.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06006413
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006414 # Sentinel used to keep track of whether or not we are before
6415 # the conftest object file.
6416 pre_test_object_deps_done=no
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06006417
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006418 for p in `eval "$output_verbose_link_cmd"`; do
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006419 case $p in
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06006420
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006421 -L* | -R* | -l*)
6422 # Some compilers place space between "-{L,R}" and the path.
6423 # Remove the space.
6424 if test $p = "-L" ||
6425 test $p = "-R"; then
6426 prev=$p
6427 continue
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006428 else
6429 prev=
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006430 fi
6431
6432 if test "$pre_test_object_deps_done" = no; then
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006433 case $p in
6434 -L* | -R*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006435 # Internal compiler library paths should come after those
6436 # provided the user. The postdeps already come after the
6437 # user supplied libs so there is no need to process them.
6438 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6439 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6440 else
6441 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6442 fi
6443 ;;
6444 # The "-l" case would never come before the object being
6445 # linked, so don't bother handling this case.
6446 esac
6447 else
6448 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6449 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6450 else
6451 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6452 fi
6453 fi
6454 ;;
6455
6456 *.$objext)
6457 # This assumes that the test object file only shows up
6458 # once in the compiler output.
6459 if test "$p" = "conftest.$objext"; then
6460 pre_test_object_deps_done=yes
6461 continue
6462 fi
6463
6464 if test "$pre_test_object_deps_done" = no; then
6465 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6466 _LT_TAGVAR(predep_objects, $1)="$p"
6467 else
6468 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6469 fi
6470 else
6471 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6472 _LT_TAGVAR(postdep_objects, $1)="$p"
6473 else
6474 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6475 fi
6476 fi
6477 ;;
6478
6479 *) ;; # Ignore the rest.
6480
6481 esac
6482 done
6483
6484 # Clean up.
6485 rm -f a.out a.exe
6486else
6487 echo "libtool.m4: error: problem compiling $1 test program"
6488fi
6489
6490$RM -f confest.$objext
6491
6492# PORTME: override above test on systems where it is broken
6493m4_if([$1], [CXX],
6494[case $host_os in
6495interix[[3-9]]*)
6496 # Interix 3.5 installs completely hosed .la files for C++, so rather than
6497 # hack all around it, let's just trust "g++" to DTRT.
6498 _LT_TAGVAR(predep_objects,$1)=
6499 _LT_TAGVAR(postdep_objects,$1)=
6500 _LT_TAGVAR(postdeps,$1)=
6501 ;;
6502
6503linux*)
6504 case `$CC -V 2>&1 | sed 5q` in
6505 *Sun\ C*)
6506 # Sun C++ 5.9
6507
6508 # The more standards-conforming stlport4 library is
6509 # incompatible with the Cstd library. Avoid specifying
6510 # it if it's in CXXFLAGS. Ignore libCrun as
6511 # -library=stlport4 depends on it.
6512 case " $CXX $CXXFLAGS " in
6513 *" -library=stlport4 "*)
6514 solaris_use_stlport4=yes
6515 ;;
6516 esac
6517
6518 if test "$solaris_use_stlport4" != yes; then
6519 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6520 fi
6521 ;;
6522 esac
6523 ;;
6524
6525solaris*)
6526 case $cc_basename in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006527 CC*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006528 # The more standards-conforming stlport4 library is
6529 # incompatible with the Cstd library. Avoid specifying
6530 # it if it's in CXXFLAGS. Ignore libCrun as
6531 # -library=stlport4 depends on it.
6532 case " $CXX $CXXFLAGS " in
6533 *" -library=stlport4 "*)
6534 solaris_use_stlport4=yes
6535 ;;
6536 esac
6537
6538 # Adding this requires a known-good setup of shared libraries for
6539 # Sun compiler versions before 5.6, else PIC objects from an old
6540 # archive will be linked into the output, leading to subtle bugs.
6541 if test "$solaris_use_stlport4" != yes; then
6542 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6543 fi
6544 ;;
6545 esac
6546 ;;
6547esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06006548])
6549
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006550case " $_LT_TAGVAR(postdeps, $1) " in
6551*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6552esac
6553 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6554if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6555 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6556fi
6557_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6558 [The directories searched by this compiler when creating a shared library])
6559_LT_TAGDECL([], [predep_objects], [1],
6560 [Dependencies to place before and after the objects being linked to
6561 create a shared library])
6562_LT_TAGDECL([], [postdep_objects], [1])
6563_LT_TAGDECL([], [predeps], [1])
6564_LT_TAGDECL([], [postdeps], [1])
6565_LT_TAGDECL([], [compiler_lib_search_path], [1],
6566 [The library search path used internally by the compiler when linking
6567 a shared library])
6568])# _LT_SYS_HIDDEN_LIBDEPS
6569
6570
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006571# _LT_PROG_F77
6572# ------------
6573# Since AC_PROG_F77 is broken, in that it returns the empty string
6574# if there is no fortran compiler, we have our own version here.
6575m4_defun([_LT_PROG_F77],
6576[
6577pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6578AC_PROG_F77
6579if test -z "$F77" || test "X$F77" = "Xno"; then
6580 _lt_disable_F77=yes
6581fi
6582popdef([AC_MSG_ERROR])
6583])# _LT_PROG_F77
6584
6585dnl aclocal-1.4 backwards compatibility:
6586dnl AC_DEFUN([_LT_PROG_F77], [])
6587
6588
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006589# _LT_LANG_F77_CONFIG([TAG])
6590# --------------------------
6591# Ensure that the configuration variables for a Fortran 77 compiler are
6592# suitably defined. These variables are subsequently used by _LT_CONFIG
6593# to write the compiler configuration to `libtool'.
6594m4_defun([_LT_LANG_F77_CONFIG],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006595[AC_REQUIRE([_LT_PROG_F77])dnl
6596AC_LANG_PUSH(Fortran 77)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006597
6598_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6599_LT_TAGVAR(allow_undefined_flag, $1)=
6600_LT_TAGVAR(always_export_symbols, $1)=no
6601_LT_TAGVAR(archive_expsym_cmds, $1)=
6602_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6603_LT_TAGVAR(hardcode_direct, $1)=no
6604_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6605_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6606_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6607_LT_TAGVAR(hardcode_libdir_separator, $1)=
6608_LT_TAGVAR(hardcode_minus_L, $1)=no
6609_LT_TAGVAR(hardcode_automatic, $1)=no
6610_LT_TAGVAR(inherit_rpath, $1)=no
6611_LT_TAGVAR(module_cmds, $1)=
6612_LT_TAGVAR(module_expsym_cmds, $1)=
6613_LT_TAGVAR(link_all_deplibs, $1)=unknown
6614_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6615_LT_TAGVAR(no_undefined_flag, $1)=
6616_LT_TAGVAR(whole_archive_flag_spec, $1)=
6617_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6618
6619# Source file extension for f77 test sources.
6620ac_ext=f
6621
6622# Object file extension for compiled f77 test sources.
6623objext=o
6624_LT_TAGVAR(objext, $1)=$objext
6625
6626# No sense in running all these tests if we already determined that
6627# the F77 compiler isn't working. Some variables (like enable_shared)
6628# are currently assumed to apply to all compilers on this platform,
6629# and will be corrupted by setting them based on a non-working compiler.
6630if test "$_lt_disable_F77" != yes; then
6631 # Code to be used in simple compile tests
6632 lt_simple_compile_test_code="\
6633 subroutine t
6634 return
6635 end
6636"
6637
6638 # Code to be used in simple link tests
6639 lt_simple_link_test_code="\
6640 program t
6641 end
6642"
6643
6644 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6645 _LT_TAG_COMPILER
6646
6647 # save warnings/boilerplate of simple test code
6648 _LT_COMPILER_BOILERPLATE
6649 _LT_LINKER_BOILERPLATE
6650
6651 # Allow CC to be a program name with arguments.
6652 lt_save_CC="$CC"
6653 lt_save_GCC=$GCC
6654 CC=${F77-"f77"}
6655 compiler=$CC
6656 _LT_TAGVAR(compiler, $1)=$CC
6657 _LT_CC_BASENAME([$compiler])
6658 GCC=$G77
6659 if test -n "$compiler"; then
6660 AC_MSG_CHECKING([if libtool supports shared libraries])
6661 AC_MSG_RESULT([$can_build_shared])
6662
6663 AC_MSG_CHECKING([whether to build shared libraries])
6664 test "$can_build_shared" = "no" && enable_shared=no
6665
6666 # On AIX, shared libraries and static libraries use the same namespace, and
6667 # are all built from PIC.
6668 case $host_os in
6669 aix3*)
6670 test "$enable_shared" = yes && enable_static=no
6671 if test -n "$RANLIB"; then
6672 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6673 postinstall_cmds='$RANLIB $lib'
6674 fi
6675 ;;
6676 aix[[4-9]]*)
6677 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6678 test "$enable_shared" = yes && enable_static=no
6679 fi
6680 ;;
6681 esac
6682 AC_MSG_RESULT([$enable_shared])
6683
6684 AC_MSG_CHECKING([whether to build static libraries])
6685 # Make sure either enable_shared or enable_static is yes.
6686 test "$enable_shared" = yes || enable_static=yes
6687 AC_MSG_RESULT([$enable_static])
6688
6689 _LT_TAGVAR(GCC, $1)="$G77"
6690 _LT_TAGVAR(LD, $1)="$LD"
6691
6692 ## CAVEAT EMPTOR:
6693 ## There is no encapsulation within the following macros, do not change
6694 ## the running order or otherwise move them around unless you know exactly
6695 ## what you are doing...
6696 _LT_COMPILER_PIC($1)
6697 _LT_COMPILER_C_O($1)
6698 _LT_COMPILER_FILE_LOCKS($1)
6699 _LT_LINKER_SHLIBS($1)
6700 _LT_SYS_DYNAMIC_LINKER($1)
6701 _LT_LINKER_HARDCODE_LIBPATH($1)
6702
6703 _LT_CONFIG($1)
6704 fi # test -n "$compiler"
6705
6706 GCC=$lt_save_GCC
6707 CC="$lt_save_CC"
6708fi # test "$_lt_disable_F77" != yes
6709
6710AC_LANG_POP
6711])# _LT_LANG_F77_CONFIG
6712
6713
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006714# _LT_PROG_FC
6715# -----------
6716# Since AC_PROG_FC is broken, in that it returns the empty string
6717# if there is no fortran compiler, we have our own version here.
6718m4_defun([_LT_PROG_FC],
6719[
6720pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6721AC_PROG_FC
6722if test -z "$FC" || test "X$FC" = "Xno"; then
6723 _lt_disable_FC=yes
6724fi
6725popdef([AC_MSG_ERROR])
6726])# _LT_PROG_FC
6727
6728dnl aclocal-1.4 backwards compatibility:
6729dnl AC_DEFUN([_LT_PROG_FC], [])
6730
6731
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006732# _LT_LANG_FC_CONFIG([TAG])
6733# -------------------------
6734# Ensure that the configuration variables for a Fortran compiler are
6735# suitably defined. These variables are subsequently used by _LT_CONFIG
6736# to write the compiler configuration to `libtool'.
6737m4_defun([_LT_LANG_FC_CONFIG],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006738[AC_REQUIRE([_LT_PROG_FC])dnl
6739AC_LANG_PUSH(Fortran)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006740
6741_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6742_LT_TAGVAR(allow_undefined_flag, $1)=
6743_LT_TAGVAR(always_export_symbols, $1)=no
6744_LT_TAGVAR(archive_expsym_cmds, $1)=
6745_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6746_LT_TAGVAR(hardcode_direct, $1)=no
6747_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6748_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6749_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6750_LT_TAGVAR(hardcode_libdir_separator, $1)=
6751_LT_TAGVAR(hardcode_minus_L, $1)=no
6752_LT_TAGVAR(hardcode_automatic, $1)=no
6753_LT_TAGVAR(inherit_rpath, $1)=no
6754_LT_TAGVAR(module_cmds, $1)=
6755_LT_TAGVAR(module_expsym_cmds, $1)=
6756_LT_TAGVAR(link_all_deplibs, $1)=unknown
6757_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6758_LT_TAGVAR(no_undefined_flag, $1)=
6759_LT_TAGVAR(whole_archive_flag_spec, $1)=
6760_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6761
6762# Source file extension for fc test sources.
6763ac_ext=${ac_fc_srcext-f}
6764
6765# Object file extension for compiled fc test sources.
6766objext=o
6767_LT_TAGVAR(objext, $1)=$objext
6768
6769# No sense in running all these tests if we already determined that
6770# the FC compiler isn't working. Some variables (like enable_shared)
6771# are currently assumed to apply to all compilers on this platform,
6772# and will be corrupted by setting them based on a non-working compiler.
6773if test "$_lt_disable_FC" != yes; then
6774 # Code to be used in simple compile tests
6775 lt_simple_compile_test_code="\
6776 subroutine t
6777 return
6778 end
6779"
6780
6781 # Code to be used in simple link tests
6782 lt_simple_link_test_code="\
6783 program t
6784 end
6785"
6786
6787 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6788 _LT_TAG_COMPILER
6789
6790 # save warnings/boilerplate of simple test code
6791 _LT_COMPILER_BOILERPLATE
6792 _LT_LINKER_BOILERPLATE
6793
6794 # Allow CC to be a program name with arguments.
6795 lt_save_CC="$CC"
6796 lt_save_GCC=$GCC
6797 CC=${FC-"f95"}
6798 compiler=$CC
6799 GCC=$ac_cv_fc_compiler_gnu
6800
6801 _LT_TAGVAR(compiler, $1)=$CC
6802 _LT_CC_BASENAME([$compiler])
6803
6804 if test -n "$compiler"; then
6805 AC_MSG_CHECKING([if libtool supports shared libraries])
6806 AC_MSG_RESULT([$can_build_shared])
6807
6808 AC_MSG_CHECKING([whether to build shared libraries])
6809 test "$can_build_shared" = "no" && enable_shared=no
6810
6811 # On AIX, shared libraries and static libraries use the same namespace, and
6812 # are all built from PIC.
6813 case $host_os in
6814 aix3*)
6815 test "$enable_shared" = yes && enable_static=no
6816 if test -n "$RANLIB"; then
6817 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6818 postinstall_cmds='$RANLIB $lib'
6819 fi
6820 ;;
6821 aix[[4-9]]*)
6822 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6823 test "$enable_shared" = yes && enable_static=no
6824 fi
6825 ;;
6826 esac
6827 AC_MSG_RESULT([$enable_shared])
6828
6829 AC_MSG_CHECKING([whether to build static libraries])
6830 # Make sure either enable_shared or enable_static is yes.
6831 test "$enable_shared" = yes || enable_static=yes
6832 AC_MSG_RESULT([$enable_static])
6833
6834 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6835 _LT_TAGVAR(LD, $1)="$LD"
6836
6837 ## CAVEAT EMPTOR:
6838 ## There is no encapsulation within the following macros, do not change
6839 ## the running order or otherwise move them around unless you know exactly
6840 ## what you are doing...
6841 _LT_SYS_HIDDEN_LIBDEPS($1)
6842 _LT_COMPILER_PIC($1)
6843 _LT_COMPILER_C_O($1)
6844 _LT_COMPILER_FILE_LOCKS($1)
6845 _LT_LINKER_SHLIBS($1)
6846 _LT_SYS_DYNAMIC_LINKER($1)
6847 _LT_LINKER_HARDCODE_LIBPATH($1)
6848
6849 _LT_CONFIG($1)
6850 fi # test -n "$compiler"
6851
6852 GCC=$lt_save_GCC
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006853 CC="$lt_save_CC"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006854fi # test "$_lt_disable_FC" != yes
6855
6856AC_LANG_POP
6857])# _LT_LANG_FC_CONFIG
6858
6859
6860# _LT_LANG_GCJ_CONFIG([TAG])
6861# --------------------------
6862# Ensure that the configuration variables for the GNU Java Compiler compiler
6863# are suitably defined. These variables are subsequently used by _LT_CONFIG
6864# to write the compiler configuration to `libtool'.
6865m4_defun([_LT_LANG_GCJ_CONFIG],
6866[AC_REQUIRE([LT_PROG_GCJ])dnl
6867AC_LANG_SAVE
6868
6869# Source file extension for Java test sources.
6870ac_ext=java
6871
6872# Object file extension for compiled Java test sources.
6873objext=o
6874_LT_TAGVAR(objext, $1)=$objext
6875
6876# Code to be used in simple compile tests
6877lt_simple_compile_test_code="class foo {}"
6878
6879# Code to be used in simple link tests
6880lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6881
6882# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6883_LT_TAG_COMPILER
6884
6885# save warnings/boilerplate of simple test code
6886_LT_COMPILER_BOILERPLATE
6887_LT_LINKER_BOILERPLATE
6888
6889# Allow CC to be a program name with arguments.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006890lt_save_CC="$CC"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006891lt_save_GCC=$GCC
6892GCC=yes
6893CC=${GCJ-"gcj"}
6894compiler=$CC
6895_LT_TAGVAR(compiler, $1)=$CC
6896_LT_TAGVAR(LD, $1)="$LD"
6897_LT_CC_BASENAME([$compiler])
6898
6899# GCJ did not exist at the time GCC didn't implicitly link libc in.
6900_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6901
6902_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6903
6904if test -n "$compiler"; then
6905 _LT_COMPILER_NO_RTTI($1)
6906 _LT_COMPILER_PIC($1)
6907 _LT_COMPILER_C_O($1)
6908 _LT_COMPILER_FILE_LOCKS($1)
6909 _LT_LINKER_SHLIBS($1)
6910 _LT_LINKER_HARDCODE_LIBPATH($1)
6911
6912 _LT_CONFIG($1)
6913fi
6914
6915AC_LANG_RESTORE
6916
6917GCC=$lt_save_GCC
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006918CC="$lt_save_CC"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006919])# _LT_LANG_GCJ_CONFIG
6920
6921
6922# _LT_LANG_RC_CONFIG([TAG])
6923# -------------------------
6924# Ensure that the configuration variables for the Windows resource compiler
6925# are suitably defined. These variables are subsequently used by _LT_CONFIG
6926# to write the compiler configuration to `libtool'.
6927m4_defun([_LT_LANG_RC_CONFIG],
6928[AC_REQUIRE([LT_PROG_RC])dnl
6929AC_LANG_SAVE
6930
6931# Source file extension for RC test sources.
6932ac_ext=rc
6933
6934# Object file extension for compiled RC test sources.
6935objext=o
6936_LT_TAGVAR(objext, $1)=$objext
6937
6938# Code to be used in simple compile tests
6939lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6940
6941# Code to be used in simple link tests
6942lt_simple_link_test_code="$lt_simple_compile_test_code"
6943
6944# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6945_LT_TAG_COMPILER
6946
6947# save warnings/boilerplate of simple test code
6948_LT_COMPILER_BOILERPLATE
6949_LT_LINKER_BOILERPLATE
6950
6951# Allow CC to be a program name with arguments.
6952lt_save_CC="$CC"
6953lt_save_GCC=$GCC
6954GCC=
6955CC=${RC-"windres"}
6956compiler=$CC
6957_LT_TAGVAR(compiler, $1)=$CC
6958_LT_CC_BASENAME([$compiler])
6959_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6960
6961if test -n "$compiler"; then
6962 :
6963 _LT_CONFIG($1)
6964fi
6965
6966GCC=$lt_save_GCC
6967AC_LANG_RESTORE
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05006968CC="$lt_save_CC"
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006969])# _LT_LANG_RC_CONFIG
6970
6971
6972# LT_PROG_GCJ
6973# -----------
6974AC_DEFUN([LT_PROG_GCJ],
6975[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6976 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6977 [AC_CHECK_TOOL(GCJ, gcj,)
6978 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6979 AC_SUBST(GCJFLAGS)])])[]dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06006980])
6981
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05006982# Old name:
6983AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
6984dnl aclocal-1.4 backwards compatibility:
6985dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
6986
6987
6988# LT_PROG_RC
6989# ----------
6990AC_DEFUN([LT_PROG_RC],
6991[AC_CHECK_TOOL(RC, windres,)
6992])
6993
6994# Old name:
6995AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
6996dnl aclocal-1.4 backwards compatibility:
6997dnl AC_DEFUN([LT_AC_PROG_RC], [])
6998
6999
7000# _LT_DECL_EGREP
7001# --------------
7002# If we don't have a new enough Autoconf to choose the best grep
7003# available, choose the one first in the user's PATH.
7004m4_defun([_LT_DECL_EGREP],
7005[AC_REQUIRE([AC_PROG_EGREP])dnl
7006AC_REQUIRE([AC_PROG_FGREP])dnl
7007test -z "$GREP" && GREP=grep
7008_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7009_LT_DECL([], [EGREP], [1], [An ERE matcher])
7010_LT_DECL([], [FGREP], [1], [A literal string matcher])
7011dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7012AC_SUBST([GREP])
7013])
7014
7015
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007016# _LT_DECL_OBJDUMP
7017# --------------
7018# If we don't have a new enough Autoconf to choose the best objdump
7019# available, choose the one first in the user's PATH.
7020m4_defun([_LT_DECL_OBJDUMP],
7021[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7022test -z "$OBJDUMP" && OBJDUMP=objdump
7023_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7024AC_SUBST([OBJDUMP])
7025])
7026
7027
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007028# _LT_DECL_SED
7029# ------------
7030# Check for a fully-functional sed program, that truncates
7031# as few characters as possible. Prefer GNU sed if found.
7032m4_defun([_LT_DECL_SED],
7033[AC_PROG_SED
7034test -z "$SED" && SED=sed
7035Xsed="$SED -e 1s/^X//"
7036_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7037_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7038 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7039])# _LT_DECL_SED
7040
7041m4_ifndef([AC_PROG_SED], [
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007042# NOTE: This macro has been submitted for inclusion into #
7043# GNU Autoconf as AC_PROG_SED. When it is available in #
7044# a released version of Autoconf we should remove this #
7045# macro and use it instead. #
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007046
7047m4_defun([AC_PROG_SED],
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007048[AC_MSG_CHECKING([for a sed that does not truncate output])
7049AC_CACHE_VAL(lt_cv_path_SED,
7050[# Loop through the user's path and test for sed and gsed.
7051# Then use that list of sed's as ones to test for truncation.
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007052as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7053for as_dir in $PATH
7054do
7055 IFS=$as_save_IFS
7056 test -z "$as_dir" && as_dir=.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007057 for lt_ac_prog in sed gsed; do
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007058 for ac_exec_ext in '' $ac_executable_extensions; do
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007059 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7060 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007061 fi
7062 done
7063 done
7064done
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007065IFS=$as_save_IFS
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007066lt_ac_max=0
7067lt_ac_count=0
7068# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7069# along with /bin/sed that truncates output.
7070for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7071 test ! -f $lt_ac_sed && continue
7072 cat /dev/null > conftest.in
7073 lt_ac_count=0
7074 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7075 # Check for GNU sed and select it if it is found.
7076 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7077 lt_cv_path_SED=$lt_ac_sed
7078 break
7079 fi
7080 while true; do
7081 cat conftest.in conftest.in >conftest.tmp
7082 mv conftest.tmp conftest.in
7083 cp conftest.in conftest.nl
7084 echo >>conftest.nl
7085 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7086 cmp -s conftest.out conftest.nl || break
7087 # 10000 chars as input seems more than enough
7088 test $lt_ac_count -gt 10 && break
7089 lt_ac_count=`expr $lt_ac_count + 1`
7090 if test $lt_ac_count -gt $lt_ac_max; then
7091 lt_ac_max=$lt_ac_count
7092 lt_cv_path_SED=$lt_ac_sed
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007093 fi
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007094 done
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007095done
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007096])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007097SED=$lt_cv_path_SED
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007098AC_SUBST([SED])
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007099AC_MSG_RESULT([$SED])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007100])#AC_PROG_SED
7101])#m4_ifndef
7102
7103# Old name:
7104AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7105dnl aclocal-1.4 backwards compatibility:
7106dnl AC_DEFUN([LT_AC_PROG_SED], [])
7107
7108
7109# _LT_CHECK_SHELL_FEATURES
7110# ------------------------
7111# Find out whether the shell is Bourne or XSI compatible,
7112# or has some other useful features.
7113m4_defun([_LT_CHECK_SHELL_FEATURES],
7114[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7115# Try some XSI features
7116xsi_shell=no
7117( _lt_dummy="a/b/c"
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007118 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7119 = c,a/b,, \
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007120 && eval 'test $(( 1 + 1 )) -eq 2 \
7121 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7122 && xsi_shell=yes
7123AC_MSG_RESULT([$xsi_shell])
7124_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7125
7126AC_MSG_CHECKING([whether the shell understands "+="])
7127lt_shell_append=no
7128( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7129 >/dev/null 2>&1 \
7130 && lt_shell_append=yes
7131AC_MSG_RESULT([$lt_shell_append])
7132_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7133
7134if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7135 lt_unset=unset
7136else
7137 lt_unset=false
7138fi
7139_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7140
7141# test EBCDIC or ASCII
7142case `echo X|tr X '\101'` in
7143 A) # ASCII based system
7144 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7145 lt_SP2NL='tr \040 \012'
7146 lt_NL2SP='tr \015\012 \040\040'
7147 ;;
7148 *) # EBCDIC based system
7149 lt_SP2NL='tr \100 \n'
7150 lt_NL2SP='tr \r\n \100\100'
7151 ;;
7152esac
7153_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7154_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7155])# _LT_CHECK_SHELL_FEATURES
7156
7157
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007158# _LT_PROG_XSI_SHELLFNS
7159# ---------------------
7160# Bourne and XSI compatible variants of some useful shell functions.
7161m4_defun([_LT_PROG_XSI_SHELLFNS],
7162[case $xsi_shell in
7163 yes)
7164 cat << \_LT_EOF >> "$cfgfile"
Glenn Randers-Pehrson917648e2004-12-02 18:14:51 -06007165
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007166# func_dirname file append nondir_replacement
7167# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7168# otherwise set result to NONDIR_REPLACEMENT.
7169func_dirname ()
7170{
7171 case ${1} in
7172 */*) func_dirname_result="${1%/*}${2}" ;;
7173 * ) func_dirname_result="${3}" ;;
7174 esac
7175}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007176
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007177# func_basename file
7178func_basename ()
7179{
7180 func_basename_result="${1##*/}"
7181}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007182
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007183# func_dirname_and_basename file append nondir_replacement
7184# perform func_basename and func_dirname in a single function
7185# call:
7186# dirname: Compute the dirname of FILE. If nonempty,
7187# add APPEND to the result, otherwise set result
7188# to NONDIR_REPLACEMENT.
7189# value returned in "$func_dirname_result"
7190# basename: Compute filename of FILE.
7191# value retuned in "$func_basename_result"
7192# Implementation must be kept synchronized with func_dirname
7193# and func_basename. For efficiency, we do not delegate to
7194# those functions but instead duplicate the functionality here.
7195func_dirname_and_basename ()
7196{
7197 case ${1} in
7198 */*) func_dirname_result="${1%/*}${2}" ;;
7199 * ) func_dirname_result="${3}" ;;
7200 esac
7201 func_basename_result="${1##*/}"
7202}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007203
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007204# func_stripname prefix suffix name
7205# strip PREFIX and SUFFIX off of NAME.
7206# PREFIX and SUFFIX must not contain globbing or regex special
7207# characters, hashes, percent signs, but SUFFIX may contain a leading
7208# dot (in which case that matches only a dot).
7209func_stripname ()
7210{
7211 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7212 # positional parameters, so assign one to ordinary parameter first.
7213 func_stripname_result=${3}
7214 func_stripname_result=${func_stripname_result#"${1}"}
7215 func_stripname_result=${func_stripname_result%"${2}"}
7216}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007217
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007218# func_opt_split
7219func_opt_split ()
7220{
7221 func_opt_split_opt=${1%%=*}
7222 func_opt_split_arg=${1#*=}
7223}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007224
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007225# func_lo2o object
7226func_lo2o ()
7227{
7228 case ${1} in
7229 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7230 *) func_lo2o_result=${1} ;;
7231 esac
7232}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007233
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007234# func_xform libobj-or-source
7235func_xform ()
7236{
7237 func_xform_result=${1%.*}.lo
7238}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007239
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007240# func_arith arithmetic-term...
7241func_arith ()
7242{
7243 func_arith_result=$(( $[*] ))
7244}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007245
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007246# func_len string
7247# STRING may not start with a hyphen.
7248func_len ()
7249{
7250 func_len_result=${#1}
7251}
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007252
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007253_LT_EOF
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007254 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007255 *) # Bourne compatible functions.
7256 cat << \_LT_EOF >> "$cfgfile"
7257
7258# func_dirname file append nondir_replacement
7259# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7260# otherwise set result to NONDIR_REPLACEMENT.
7261func_dirname ()
7262{
7263 # Extract subdirectory from the argument.
7264 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7265 if test "X$func_dirname_result" = "X${1}"; then
7266 func_dirname_result="${3}"
7267 else
7268 func_dirname_result="$func_dirname_result${2}"
7269 fi
7270}
7271
7272# func_basename file
7273func_basename ()
7274{
7275 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7276}
7277
7278dnl func_dirname_and_basename
7279dnl A portable version of this function is already defined in general.m4sh
7280dnl so there is no need for it here.
7281
7282# func_stripname prefix suffix name
7283# strip PREFIX and SUFFIX off of NAME.
7284# PREFIX and SUFFIX must not contain globbing or regex special
7285# characters, hashes, percent signs, but SUFFIX may contain a leading
7286# dot (in which case that matches only a dot).
7287# func_strip_suffix prefix name
7288func_stripname ()
7289{
7290 case ${2} in
7291 .*) func_stripname_result=`$ECHO "X${3}" \
7292 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7293 *) func_stripname_result=`$ECHO "X${3}" \
7294 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7295 esac
7296}
7297
7298# sed scripts:
7299my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7300my_sed_long_arg='1s/^-[[^=]]*=//'
7301
7302# func_opt_split
7303func_opt_split ()
7304{
7305 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7306 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7307}
7308
7309# func_lo2o object
7310func_lo2o ()
7311{
7312 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7313}
7314
7315# func_xform libobj-or-source
7316func_xform ()
7317{
7318 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7319}
7320
7321# func_arith arithmetic-term...
7322func_arith ()
7323{
7324 func_arith_result=`expr "$[@]"`
7325}
7326
7327# func_len string
7328# STRING may not start with a hyphen.
7329func_len ()
7330{
7331 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7332}
7333
7334_LT_EOF
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007335esac
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007336
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007337case $lt_shell_append in
7338 yes)
7339 cat << \_LT_EOF >> "$cfgfile"
7340
7341# func_append var value
7342# Append VALUE to the end of shell variable VAR.
7343func_append ()
7344{
7345 eval "$[1]+=\$[2]"
7346}
7347_LT_EOF
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007348 ;;
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007349 *)
7350 cat << \_LT_EOF >> "$cfgfile"
7351
7352# func_append var value
7353# Append VALUE to the end of shell variable VAR.
7354func_append ()
7355{
7356 eval "$[1]=\$$[1]\$[2]"
7357}
7358
7359_LT_EOF
7360 ;;
7361 esac
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007362])
Glenn Randers-Pehrsonbab8df82010-10-04 10:07:18 -05007363
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007364# Helper functions for option handling. -*- Autoconf -*-
7365#
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007366# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007367# Written by Gary V. Vaughan, 2004
7368#
7369# This file is free software; the Free Software Foundation gives
7370# unlimited permission to copy and/or distribute it, with or without
7371# modifications, as long as this notice is preserved.
7372
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007373# serial 6 ltoptions.m4
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007374
7375# This is to help aclocal find these macros, as it can't see m4_define.
7376AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7377
7378
7379# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7380# ------------------------------------------
7381m4_define([_LT_MANGLE_OPTION],
7382[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7383
7384
7385# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7386# ---------------------------------------
7387# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7388# matching handler defined, dispatch to it. Other OPTION-NAMEs are
7389# saved as a flag.
7390m4_define([_LT_SET_OPTION],
7391[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7392m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7393 _LT_MANGLE_DEFUN([$1], [$2]),
7394 [m4_warning([Unknown $1 option `$2'])])[]dnl
7395])
7396
7397
7398# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7399# ------------------------------------------------------------
7400# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7401m4_define([_LT_IF_OPTION],
7402[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7403
7404
7405# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7406# -------------------------------------------------------
7407# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7408# are set.
7409m4_define([_LT_UNLESS_OPTIONS],
7410[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7411 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7412 [m4_define([$0_found])])])[]dnl
7413m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7414])[]dnl
7415])
7416
7417
7418# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7419# ----------------------------------------
7420# OPTION-LIST is a space-separated list of Libtool options associated
7421# with MACRO-NAME. If any OPTION has a matching handler declared with
7422# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7423# the unknown option and exit.
7424m4_defun([_LT_SET_OPTIONS],
7425[# Set options
7426m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7427 [_LT_SET_OPTION([$1], _LT_Option)])
7428
7429m4_if([$1],[LT_INIT],[
7430 dnl
7431 dnl Simply set some default values (i.e off) if boolean options were not
7432 dnl specified:
7433 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7434 ])
7435 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7436 ])
7437 dnl
7438 dnl If no reference was made to various pairs of opposing options, then
7439 dnl we run the default mode handler for the pair. For example, if neither
7440 dnl `shared' nor `disable-shared' was passed, we enable building of shared
7441 dnl archives by default:
7442 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7443 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7444 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7445 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7446 [_LT_ENABLE_FAST_INSTALL])
7447 ])
7448])# _LT_SET_OPTIONS
7449
7450
7451
7452# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7453# -----------------------------------------
7454m4_define([_LT_MANGLE_DEFUN],
7455[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7456
7457
7458# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7459# -----------------------------------------------
7460m4_define([LT_OPTION_DEFINE],
7461[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7462])# LT_OPTION_DEFINE
7463
7464
7465# dlopen
7466# ------
7467LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7468])
7469
7470AU_DEFUN([AC_LIBTOOL_DLOPEN],
7471[_LT_SET_OPTION([LT_INIT], [dlopen])
7472AC_DIAGNOSE([obsolete],
7473[$0: Remove this warning and the call to _LT_SET_OPTION when you
7474put the `dlopen' option into LT_INIT's first parameter.])
7475])
7476
7477dnl aclocal-1.4 backwards compatibility:
7478dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7479
7480
7481# win32-dll
7482# ---------
7483# Declare package support for building win32 dll's.
7484LT_OPTION_DEFINE([LT_INIT], [win32-dll],
7485[enable_win32_dll=yes
7486
7487case $host in
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007488*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007489 AC_CHECK_TOOL(AS, as, false)
7490 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7491 AC_CHECK_TOOL(OBJDUMP, objdump, false)
7492 ;;
7493esac
7494
7495test -z "$AS" && AS=as
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007496_LT_DECL([], [AS], [0], [Assembler program])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007497
7498test -z "$DLLTOOL" && DLLTOOL=dlltool
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007499_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007500
7501test -z "$OBJDUMP" && OBJDUMP=objdump
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007502_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007503])# win32-dll
7504
7505AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7506[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7507_LT_SET_OPTION([LT_INIT], [win32-dll])
7508AC_DIAGNOSE([obsolete],
7509[$0: Remove this warning and the call to _LT_SET_OPTION when you
7510put the `win32-dll' option into LT_INIT's first parameter.])
7511])
7512
7513dnl aclocal-1.4 backwards compatibility:
7514dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7515
7516
7517# _LT_ENABLE_SHARED([DEFAULT])
7518# ----------------------------
7519# implement the --enable-shared flag, and supports the `shared' and
7520# `disable-shared' LT_INIT options.
7521# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7522m4_define([_LT_ENABLE_SHARED],
7523[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7524AC_ARG_ENABLE([shared],
7525 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7526 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7527 [p=${PACKAGE-default}
7528 case $enableval in
7529 yes) enable_shared=yes ;;
7530 no) enable_shared=no ;;
7531 *)
7532 enable_shared=no
7533 # Look at the argument we got. We use all the common list separators.
7534 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7535 for pkg in $enableval; do
7536 IFS="$lt_save_ifs"
7537 if test "X$pkg" = "X$p"; then
7538 enable_shared=yes
7539 fi
7540 done
7541 IFS="$lt_save_ifs"
7542 ;;
7543 esac],
7544 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7545
7546 _LT_DECL([build_libtool_libs], [enable_shared], [0],
7547 [Whether or not to build shared libraries])
7548])# _LT_ENABLE_SHARED
7549
7550LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7551LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7552
7553# Old names:
7554AC_DEFUN([AC_ENABLE_SHARED],
7555[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7556])
7557
7558AC_DEFUN([AC_DISABLE_SHARED],
7559[_LT_SET_OPTION([LT_INIT], [disable-shared])
7560])
7561
7562AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7563AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7564
7565dnl aclocal-1.4 backwards compatibility:
7566dnl AC_DEFUN([AM_ENABLE_SHARED], [])
7567dnl AC_DEFUN([AM_DISABLE_SHARED], [])
7568
7569
7570
7571# _LT_ENABLE_STATIC([DEFAULT])
7572# ----------------------------
7573# implement the --enable-static flag, and support the `static' and
7574# `disable-static' LT_INIT options.
7575# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7576m4_define([_LT_ENABLE_STATIC],
7577[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7578AC_ARG_ENABLE([static],
7579 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7580 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7581 [p=${PACKAGE-default}
7582 case $enableval in
7583 yes) enable_static=yes ;;
7584 no) enable_static=no ;;
7585 *)
7586 enable_static=no
7587 # Look at the argument we got. We use all the common list separators.
7588 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7589 for pkg in $enableval; do
7590 IFS="$lt_save_ifs"
7591 if test "X$pkg" = "X$p"; then
7592 enable_static=yes
7593 fi
7594 done
7595 IFS="$lt_save_ifs"
7596 ;;
7597 esac],
7598 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7599
7600 _LT_DECL([build_old_libs], [enable_static], [0],
7601 [Whether or not to build static libraries])
7602])# _LT_ENABLE_STATIC
7603
7604LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7605LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7606
7607# Old names:
7608AC_DEFUN([AC_ENABLE_STATIC],
7609[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7610])
7611
7612AC_DEFUN([AC_DISABLE_STATIC],
7613[_LT_SET_OPTION([LT_INIT], [disable-static])
7614])
7615
7616AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7617AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7618
7619dnl aclocal-1.4 backwards compatibility:
7620dnl AC_DEFUN([AM_ENABLE_STATIC], [])
7621dnl AC_DEFUN([AM_DISABLE_STATIC], [])
7622
7623
7624
7625# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7626# ----------------------------------
7627# implement the --enable-fast-install flag, and support the `fast-install'
7628# and `disable-fast-install' LT_INIT options.
7629# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7630m4_define([_LT_ENABLE_FAST_INSTALL],
7631[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7632AC_ARG_ENABLE([fast-install],
7633 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7634 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7635 [p=${PACKAGE-default}
7636 case $enableval in
7637 yes) enable_fast_install=yes ;;
7638 no) enable_fast_install=no ;;
7639 *)
7640 enable_fast_install=no
7641 # Look at the argument we got. We use all the common list separators.
7642 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7643 for pkg in $enableval; do
7644 IFS="$lt_save_ifs"
7645 if test "X$pkg" = "X$p"; then
7646 enable_fast_install=yes
7647 fi
7648 done
7649 IFS="$lt_save_ifs"
7650 ;;
7651 esac],
7652 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7653
7654_LT_DECL([fast_install], [enable_fast_install], [0],
7655 [Whether or not to optimize for fast installation])dnl
7656])# _LT_ENABLE_FAST_INSTALL
7657
7658LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7659LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7660
7661# Old names:
7662AU_DEFUN([AC_ENABLE_FAST_INSTALL],
7663[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7664AC_DIAGNOSE([obsolete],
7665[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7666the `fast-install' option into LT_INIT's first parameter.])
7667])
7668
7669AU_DEFUN([AC_DISABLE_FAST_INSTALL],
7670[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7671AC_DIAGNOSE([obsolete],
7672[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7673the `disable-fast-install' option into LT_INIT's first parameter.])
7674])
7675
7676dnl aclocal-1.4 backwards compatibility:
7677dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7678dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7679
7680
7681# _LT_WITH_PIC([MODE])
7682# --------------------
7683# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7684# LT_INIT options.
7685# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
7686m4_define([_LT_WITH_PIC],
7687[AC_ARG_WITH([pic],
7688 [AS_HELP_STRING([--with-pic],
7689 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7690 [pic_mode="$withval"],
7691 [pic_mode=default])
7692
7693test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7694
7695_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7696])# _LT_WITH_PIC
7697
7698LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7699LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7700
7701# Old name:
7702AU_DEFUN([AC_LIBTOOL_PICMODE],
7703[_LT_SET_OPTION([LT_INIT], [pic-only])
7704AC_DIAGNOSE([obsolete],
7705[$0: Remove this warning and the call to _LT_SET_OPTION when you
7706put the `pic-only' option into LT_INIT's first parameter.])
7707])
7708
7709dnl aclocal-1.4 backwards compatibility:
7710dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7711
7712
7713m4_define([_LTDL_MODE], [])
7714LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7715 [m4_define([_LTDL_MODE], [nonrecursive])])
7716LT_OPTION_DEFINE([LTDL_INIT], [recursive],
7717 [m4_define([_LTDL_MODE], [recursive])])
7718LT_OPTION_DEFINE([LTDL_INIT], [subproject],
7719 [m4_define([_LTDL_MODE], [subproject])])
7720
7721m4_define([_LTDL_TYPE], [])
7722LT_OPTION_DEFINE([LTDL_INIT], [installable],
7723 [m4_define([_LTDL_TYPE], [installable])])
7724LT_OPTION_DEFINE([LTDL_INIT], [convenience],
7725 [m4_define([_LTDL_TYPE], [convenience])])
7726
7727# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
7728#
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007729# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7730# Written by Gary V. Vaughan, 2004
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007731#
7732# This file is free software; the Free Software Foundation gives
7733# unlimited permission to copy and/or distribute it, with or without
7734# modifications, as long as this notice is preserved.
7735
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007736# serial 6 ltsugar.m4
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007737
7738# This is to help aclocal find these macros, as it can't see m4_define.
7739AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7740
7741
7742# lt_join(SEP, ARG1, [ARG2...])
7743# -----------------------------
7744# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7745# associated separator.
7746# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7747# versions in m4sugar had bugs.
7748m4_define([lt_join],
7749[m4_if([$#], [1], [],
7750 [$#], [2], [[$2]],
7751 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7752m4_define([_lt_join],
7753[m4_if([$#$2], [2], [],
7754 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7755
7756
7757# lt_car(LIST)
7758# lt_cdr(LIST)
7759# ------------
7760# Manipulate m4 lists.
7761# These macros are necessary as long as will still need to support
7762# Autoconf-2.59 which quotes differently.
7763m4_define([lt_car], [[$1]])
7764m4_define([lt_cdr],
7765[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7766 [$#], 1, [],
7767 [m4_dquote(m4_shift($@))])])
7768m4_define([lt_unquote], $1)
7769
7770
7771# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7772# ------------------------------------------
7773# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7774# Note that neither SEPARATOR nor STRING are expanded; they are appended
7775# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7776# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7777# than defined and empty).
7778#
7779# This macro is needed until we can rely on Autoconf 2.62, since earlier
7780# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7781m4_define([lt_append],
7782[m4_define([$1],
7783 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7784
7785
7786
7787# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7788# ----------------------------------------------------------
7789# Produce a SEP delimited list of all paired combinations of elements of
7790# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
7791# has the form PREFIXmINFIXSUFFIXn.
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007792# Needed until we can rely on m4_combine added in Autoconf 2.62.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007793m4_define([lt_combine],
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007794[m4_if(m4_eval([$# > 3]), [1],
7795 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
7796[[m4_foreach([_Lt_prefix], [$2],
7797 [m4_foreach([_Lt_suffix],
7798 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
7799 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007800
7801
7802# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7803# -----------------------------------------------------------------------
7804# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7805# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7806m4_define([lt_if_append_uniq],
7807[m4_ifdef([$1],
7808 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7809 [lt_append([$1], [$2], [$3])$4],
7810 [$5])],
7811 [lt_append([$1], [$2], [$3])$4])])
7812
7813
7814# lt_dict_add(DICT, KEY, VALUE)
7815# -----------------------------
7816m4_define([lt_dict_add],
7817[m4_define([$1($2)], [$3])])
7818
7819
7820# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7821# --------------------------------------------
7822m4_define([lt_dict_add_subkey],
7823[m4_define([$1($2:$3)], [$4])])
7824
7825
7826# lt_dict_fetch(DICT, KEY, [SUBKEY])
7827# ----------------------------------
7828m4_define([lt_dict_fetch],
7829[m4_ifval([$3],
7830 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7831 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7832
7833
7834# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7835# -----------------------------------------------------------------
7836m4_define([lt_if_dict_fetch],
7837[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7838 [$5],
7839 [$6])])
7840
7841
7842# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7843# --------------------------------------------------------------
7844m4_define([lt_dict_filter],
7845[m4_if([$5], [], [],
7846 [lt_join(m4_quote(m4_default([$4], [[, ]])),
7847 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7848 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7849])
7850
7851# ltversion.m4 -- version numbers -*- Autoconf -*-
7852#
7853# Copyright (C) 2004 Free Software Foundation, Inc.
7854# Written by Scott James Remnant, 2004
7855#
7856# This file is free software; the Free Software Foundation gives
7857# unlimited permission to copy and/or distribute it, with or without
7858# modifications, as long as this notice is preserved.
7859
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007860# Generated from ltversion.in.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007861
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007862# serial 3017 ltversion.m4
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007863# This file is part of GNU Libtool
7864
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007865m4_define([LT_PACKAGE_VERSION], [2.2.6b])
7866m4_define([LT_PACKAGE_REVISION], [1.3017])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007867
7868AC_DEFUN([LTVERSION_VERSION],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007869[macro_version='2.2.6b'
7870macro_revision='1.3017'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007871_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7872_LT_DECL(, macro_revision, 0)
7873])
7874
7875# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
7876#
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007877# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007878# Written by Scott James Remnant, 2004.
7879#
7880# This file is free software; the Free Software Foundation gives
7881# unlimited permission to copy and/or distribute it, with or without
7882# modifications, as long as this notice is preserved.
7883
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007884# serial 4 lt~obsolete.m4
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007885
7886# These exist entirely to fool aclocal when bootstrapping libtool.
7887#
7888# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7889# which have later been changed to m4_define as they aren't part of the
7890# exported API, or moved to Autoconf or Automake where they belong.
7891#
7892# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
7893# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7894# using a macro with the same name in our local m4/libtool.m4 it'll
7895# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7896# and doesn't know about Autoconf macros at all.)
7897#
7898# So we provide this file, which has a silly filename so it's always
7899# included after everything else. This provides aclocal with the
7900# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7901# because those macros already exist, or will be overwritten later.
7902# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
7903#
7904# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7905# Yes, that means every name once taken will need to remain here until
7906# we give up compatibility with versions before 1.7, at which point
7907# we need to keep only those names which we still refer to.
7908
7909# This is to help aclocal find these macros, as it can't see m4_define.
7910AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7911
7912m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7913m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
7914m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7915m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
7916m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7917m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
7918m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
7919m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7920m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
7921m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
7922m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
7923m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7924m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7925m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7926m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7927m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7928m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
7929m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7930m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7931m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
7932m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
7933m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7934m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7935m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
7936m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
7937m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
7938m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
7939m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
7940m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
7941m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
7942m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
7943m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
7944m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
7945m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
7946m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
7947m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
7948m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
7949m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
7950m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
7951m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
7952m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
7953m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007954m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007955m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
7956m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
7957m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
7958m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
7959m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
7960m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
7961m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
7962m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
7963m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
7964m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
7965m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
7966m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
7967
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007968# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007969#
7970# This file is free software; the Free Software Foundation
7971# gives unlimited permission to copy and/or distribute it,
7972# with or without modifications, as long as this notice is preserved.
7973
7974# AM_AUTOMAKE_VERSION(VERSION)
7975# ----------------------------
7976# Automake X.Y traces this macro to ensure aclocal.m4 has been
7977# generated from the m4 files accompanying Automake X.Y.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007978# (This private macro should not be called outside this file.)
7979AC_DEFUN([AM_AUTOMAKE_VERSION],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06007980[am__api_version='1.11'
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007981dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
7982dnl require some minimum version. Point them to the right macro.
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007983m4_if([$1], [1.11], [],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007984 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
7985])
7986
7987# _AM_AUTOCONF_VERSION(VERSION)
7988# -----------------------------
7989# aclocal traces this macro to find the Autoconf version.
7990# This is a private macro too. Using m4_define simplifies
7991# the logic in aclocal, which can simply ignore this definition.
7992m4_define([_AM_AUTOCONF_VERSION], [])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007993
7994# AM_SET_CURRENT_AUTOMAKE_VERSION
7995# -------------------------------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05007996# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05007997# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06007998AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
Glenn Randers-Pehrson110c9362010-10-04 17:42:14 -05007999[AM_AUTOMAKE_VERSION([1.11])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008000m4_ifndef([AC_AUTOCONF_VERSION],
8001 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05008002_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008003
8004# AM_AUX_DIR_EXPAND -*- Autoconf -*-
8005
8006# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8007#
8008# This file is free software; the Free Software Foundation
8009# gives unlimited permission to copy and/or distribute it,
8010# with or without modifications, as long as this notice is preserved.
8011
8012# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
8013# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
8014# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
8015#
8016# Of course, Automake must honor this variable whenever it calls a
8017# tool from the auxiliary directory. The problem is that $srcdir (and
8018# therefore $ac_aux_dir as well) can be either absolute or relative,
8019# depending on how configure is run. This is pretty annoying, since
8020# it makes $ac_aux_dir quite unusable in subdirectories: in the top
8021# source directory, any form will work fine, but in subdirectories a
8022# relative path needs to be adjusted first.
8023#
8024# $ac_aux_dir/missing
8025# fails when called from a subdirectory if $ac_aux_dir is relative
8026# $top_srcdir/$ac_aux_dir/missing
8027# fails if $ac_aux_dir is absolute,
8028# fails when called from a subdirectory in a VPATH build with
8029# a relative $ac_aux_dir
8030#
8031# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
8032# are both prefixed by $srcdir. In an in-source build this is usually
8033# harmless because $srcdir is `.', but things will broke when you
8034# start a VPATH build or use an absolute $srcdir.
8035#
8036# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
8037# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
8038# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
8039# and then we would define $MISSING as
8040# MISSING="\${SHELL} $am_aux_dir/missing"
8041# This will work as long as MISSING is not called from configure, because
8042# unfortunately $(top_srcdir) has no meaning in configure.
8043# However there are other variables, like CC, which are often used in
8044# configure, and could therefore not use this "fixed" $ac_aux_dir.
8045#
8046# Another solution, used here, is to always expand $ac_aux_dir to an
8047# absolute PATH. The drawback is that using absolute paths prevent a
8048# configured tree to be moved without reconfiguration.
8049
8050AC_DEFUN([AM_AUX_DIR_EXPAND],
8051[dnl Rely on autoconf to set up CDPATH properly.
8052AC_PREREQ([2.50])dnl
8053# expand $ac_aux_dir to an absolute path
8054am_aux_dir=`cd $ac_aux_dir && pwd`
8055])
8056
8057# AM_CONDITIONAL -*- Autoconf -*-
8058
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008059# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008060# Free Software Foundation, Inc.
8061#
8062# This file is free software; the Free Software Foundation
8063# gives unlimited permission to copy and/or distribute it,
8064# with or without modifications, as long as this notice is preserved.
8065
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008066# serial 9
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008067
8068# AM_CONDITIONAL(NAME, SHELL-CONDITION)
8069# -------------------------------------
8070# Define a conditional.
8071AC_DEFUN([AM_CONDITIONAL],
8072[AC_PREREQ(2.52)dnl
8073 ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
8074 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008075AC_SUBST([$1_TRUE])dnl
8076AC_SUBST([$1_FALSE])dnl
8077_AM_SUBST_NOTMAKE([$1_TRUE])dnl
8078_AM_SUBST_NOTMAKE([$1_FALSE])dnl
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008079m4_define([_AM_COND_VALUE_$1], [$2])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008080if $2; then
8081 $1_TRUE=
8082 $1_FALSE='#'
8083else
8084 $1_TRUE='#'
8085 $1_FALSE=
8086fi
8087AC_CONFIG_COMMANDS_PRE(
8088[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
8089 AC_MSG_ERROR([[conditional "$1" was never defined.
8090Usually this means the macro was only invoked conditionally.]])
8091fi])])
8092
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008093# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008094# Free Software Foundation, Inc.
8095#
8096# This file is free software; the Free Software Foundation
8097# gives unlimited permission to copy and/or distribute it,
8098# with or without modifications, as long as this notice is preserved.
8099
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008100# serial 10
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008101
8102# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
8103# written in clear, in which case automake, when reading aclocal.m4,
8104# will think it sees a *use*, and therefore will trigger all it's
8105# C support machinery. Also note that it means that autoscan, seeing
8106# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
8107
8108
8109# _AM_DEPENDENCIES(NAME)
8110# ----------------------
8111# See how the compiler implements dependency checking.
8112# NAME is "CC", "CXX", "GCJ", or "OBJC".
8113# We try a few techniques and use that to set a single cache variable.
8114#
8115# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
8116# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
8117# dependency, and given that the user is not expected to run this macro,
8118# just rely on AC_PROG_CC.
8119AC_DEFUN([_AM_DEPENDENCIES],
8120[AC_REQUIRE([AM_SET_DEPDIR])dnl
8121AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
8122AC_REQUIRE([AM_MAKE_INCLUDE])dnl
8123AC_REQUIRE([AM_DEP_TRACK])dnl
8124
8125ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
8126 [$1], CXX, [depcc="$CXX" am_compiler_list=],
8127 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008128 [$1], UPC, [depcc="$UPC" am_compiler_list=],
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008129 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
8130 [depcc="$$1" am_compiler_list=])
8131
8132AC_CACHE_CHECK([dependency style of $depcc],
8133 [am_cv_$1_dependencies_compiler_type],
8134[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
8135 # We make a subdir and do the tests there. Otherwise we can end up
8136 # making bogus files that we don't know about and never remove. For
8137 # instance it was reported that on HP-UX the gcc test will end up
8138 # making a dummy file named `D' -- because `-MD' means `put the output
8139 # in D'.
8140 mkdir conftest.dir
8141 # Copy depcomp to subdir because otherwise we won't find it if we're
8142 # using a relative directory.
8143 cp "$am_depcomp" conftest.dir
8144 cd conftest.dir
8145 # We will build objects and dependencies in a subdirectory because
8146 # it helps to detect inapplicable dependency modes. For instance
8147 # both Tru64's cc and ICC support -MD to output dependencies as a
8148 # side effect of compilation, but ICC will put the dependencies in
8149 # the current directory while Tru64 will put them in the object
8150 # directory.
8151 mkdir sub
8152
8153 am_cv_$1_dependencies_compiler_type=none
8154 if test "$am_compiler_list" = ""; then
8155 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
8156 fi
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008157 am__universal=false
8158 m4_case([$1], [CC],
8159 [case " $depcc " in #(
8160 *\ -arch\ *\ -arch\ *) am__universal=true ;;
8161 esac],
8162 [CXX],
8163 [case " $depcc " in #(
8164 *\ -arch\ *\ -arch\ *) am__universal=true ;;
8165 esac])
8166
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008167 for depmode in $am_compiler_list; do
8168 # Setup a source with many dependencies, because some compilers
8169 # like to wrap large dependency lists on column 80 (with \), and
8170 # we should not choose a depcomp mode which is confused by this.
8171 #
8172 # We need to recreate these files for each test, as the compiler may
8173 # overwrite some of them when testing with obscure command lines.
8174 # This happens at least with the AIX C compiler.
8175 : > sub/conftest.c
8176 for i in 1 2 3 4 5 6; do
8177 echo '#include "conftst'$i'.h"' >> sub/conftest.c
8178 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
8179 # Solaris 8's {/usr,}/bin/sh.
8180 touch sub/conftst$i.h
8181 done
8182 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
8183
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008184 # We check with `-c' and `-o' for the sake of the "dashmstdout"
8185 # mode. It turns out that the SunPro C++ compiler does not properly
8186 # handle `-M -o', and we need to detect this. Also, some Intel
8187 # versions had trouble with output in subdirs
8188 am__obj=sub/conftest.${OBJEXT-o}
8189 am__minus_obj="-o $am__obj"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008190 case $depmode in
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008191 gcc)
8192 # This depmode causes a compiler race in universal mode.
8193 test "$am__universal" = false || continue
8194 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008195 nosideeffect)
8196 # after this tag, mechanisms are not by side-effect, so they'll
8197 # only be used when explicitly requested
8198 if test "x$enable_dependency_tracking" = xyes; then
8199 continue
8200 else
8201 break
8202 fi
8203 ;;
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008204 msvisualcpp | msvcmsys)
8205 # This compiler won't grok `-c -o', but also, the minuso test has
8206 # not run yet. These depmodes are late enough in the game, and
8207 # so weak that their functioning should not be impacted.
8208 am__obj=conftest.${OBJEXT-o}
8209 am__minus_obj=
8210 ;;
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008211 none) break ;;
8212 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008213 if depmode=$depmode \
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008214 source=sub/conftest.c object=$am__obj \
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008215 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008216 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008217 >/dev/null 2>conftest.err &&
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008218 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008219 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008220 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008221 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
8222 # icc doesn't choke on unknown options, it will just issue warnings
8223 # or remarks (even with -Werror). So we grep stderr for any message
8224 # that says an option was ignored or not supported.
8225 # When given -MP, icc 7.0 and 7.1 complain thusly:
8226 # icc: Command line warning: ignoring option '-M'; no argument required
8227 # The diagnosis changed in icc 8.0:
8228 # icc: Command line remark: option '-MP' not supported
8229 if (grep 'ignoring option' conftest.err ||
8230 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
8231 am_cv_$1_dependencies_compiler_type=$depmode
8232 break
8233 fi
8234 fi
8235 done
8236
8237 cd ..
8238 rm -rf conftest.dir
8239else
8240 am_cv_$1_dependencies_compiler_type=none
8241fi
8242])
8243AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
8244AM_CONDITIONAL([am__fastdep$1], [
8245 test "x$enable_dependency_tracking" != xno \
8246 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
8247])
8248
8249
8250# AM_SET_DEPDIR
8251# -------------
8252# Choose a directory name for dependency files.
8253# This macro is AC_REQUIREd in _AM_DEPENDENCIES
8254AC_DEFUN([AM_SET_DEPDIR],
8255[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8256AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
8257])
8258
8259
8260# AM_DEP_TRACK
8261# ------------
8262AC_DEFUN([AM_DEP_TRACK],
8263[AC_ARG_ENABLE(dependency-tracking,
8264[ --disable-dependency-tracking speeds up one-time build
8265 --enable-dependency-tracking do not reject slow dependency extractors])
8266if test "x$enable_dependency_tracking" != xno; then
8267 am_depcomp="$ac_aux_dir/depcomp"
8268 AMDEPBACKSLASH='\'
8269fi
8270AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008271AC_SUBST([AMDEPBACKSLASH])dnl
8272_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008273])
8274
8275# Generate code to set up dependency tracking. -*- Autoconf -*-
8276
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05008277# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008278# Free Software Foundation, Inc.
8279#
8280# This file is free software; the Free Software Foundation
8281# gives unlimited permission to copy and/or distribute it,
8282# with or without modifications, as long as this notice is preserved.
8283
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008284#serial 5
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008285
8286# _AM_OUTPUT_DEPENDENCY_COMMANDS
8287# ------------------------------
8288AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008289[{
8290 # Autoconf 2.62 quotes --file arguments for eval, but not when files
8291 # are listed without --file. Let's play safe and only enable the eval
8292 # if we detect the quoting.
8293 case $CONFIG_FILES in
8294 *\'*) eval set x "$CONFIG_FILES" ;;
8295 *) set x $CONFIG_FILES ;;
8296 esac
8297 shift
8298 for mf
8299 do
8300 # Strip MF so we end up with the name of the file.
8301 mf=`echo "$mf" | sed -e 's/:.*$//'`
8302 # Check whether this is an Automake generated Makefile or not.
8303 # We used to match only the files named `Makefile.in', but
8304 # some people rename them; so instead we look at the file content.
8305 # Grep'ing the first line is not enough: some people post-process
8306 # each Makefile.in and add a new line on top of each file to say so.
8307 # Grep'ing the whole file is not good either: AIX grep has a line
8308 # limit of 2048, but all sed's we know have understand at least 4000.
8309 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
8310 dirpart=`AS_DIRNAME("$mf")`
8311 else
8312 continue
8313 fi
8314 # Extract the definition of DEPDIR, am__include, and am__quote
8315 # from the Makefile without running `make'.
8316 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
8317 test -z "$DEPDIR" && continue
8318 am__include=`sed -n 's/^am__include = //p' < "$mf"`
8319 test -z "am__include" && continue
8320 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
8321 # When using ansi2knr, U may be empty or an underscore; expand it
8322 U=`sed -n 's/^U = //p' < "$mf"`
8323 # Find all dependency output files, they are included files with
8324 # $(DEPDIR) in their names. We invoke sed twice because it is the
8325 # simplest approach to changing $(DEPDIR) to its actual value in the
8326 # expansion.
8327 for file in `sed -n "
8328 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
8329 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
8330 # Make sure the directory exists.
8331 test -f "$dirpart/$file" && continue
8332 fdir=`AS_DIRNAME(["$file"])`
8333 AS_MKDIR_P([$dirpart/$fdir])
8334 # echo "creating $dirpart/$file"
8335 echo '# dummy' > "$dirpart/$file"
8336 done
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008337 done
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008338}
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008339])# _AM_OUTPUT_DEPENDENCY_COMMANDS
8340
8341
8342# AM_OUTPUT_DEPENDENCY_COMMANDS
8343# -----------------------------
8344# This macro should only be invoked once -- use via AC_REQUIRE.
8345#
8346# This code is only required when automatic dependency tracking
8347# is enabled. FIXME. This creates each `.P' file that we will
8348# need in order to bootstrap the dependency handling code.
8349AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
8350[AC_CONFIG_COMMANDS([depfiles],
8351 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
8352 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
8353])
8354
8355# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
8356# Free Software Foundation, Inc.
8357#
8358# This file is free software; the Free Software Foundation
8359# gives unlimited permission to copy and/or distribute it,
8360# with or without modifications, as long as this notice is preserved.
8361
8362# serial 8
8363
8364# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
8365AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
8366
8367# Do all the work for Automake. -*- Autoconf -*-
8368
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008369# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008370# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008371#
8372# This file is free software; the Free Software Foundation
8373# gives unlimited permission to copy and/or distribute it,
8374# with or without modifications, as long as this notice is preserved.
8375
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008376# serial 16
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008377
8378# This macro actually does too much. Some checks are only needed if
8379# your package does certain things. But this isn't really a big deal.
8380
8381# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
8382# AM_INIT_AUTOMAKE([OPTIONS])
8383# -----------------------------------------------
8384# The call with PACKAGE and VERSION arguments is the old style
8385# call (pre autoconf-2.50), which is being phased out. PACKAGE
8386# and VERSION should now be passed to AC_INIT and removed from
8387# the call to AM_INIT_AUTOMAKE.
8388# We support both call styles for the transition. After
8389# the next Automake release, Autoconf can make the AC_INIT
8390# arguments mandatory, and then we can depend on a new Autoconf
8391# release and drop the old call support.
8392AC_DEFUN([AM_INIT_AUTOMAKE],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008393[AC_PREREQ([2.62])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008394dnl Autoconf wants to disallow AM_ names. We explicitly allow
8395dnl the ones we care about.
8396m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
8397AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
8398AC_REQUIRE([AC_PROG_INSTALL])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008399if test "`cd $srcdir && pwd`" != "`pwd`"; then
8400 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
8401 # is not polluted with repeated "-I."
8402 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
8403 # test to see if srcdir already configured
8404 if test -f $srcdir/config.status; then
8405 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
8406 fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008407fi
8408
8409# test whether we have cygpath
8410if test -z "$CYGPATH_W"; then
8411 if (cygpath --version) >/dev/null 2>/dev/null; then
8412 CYGPATH_W='cygpath -w'
8413 else
8414 CYGPATH_W=echo
8415 fi
8416fi
8417AC_SUBST([CYGPATH_W])
8418
8419# Define the identity of the package.
8420dnl Distinguish between old-style and new-style calls.
8421m4_ifval([$2],
8422[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
8423 AC_SUBST([PACKAGE], [$1])dnl
8424 AC_SUBST([VERSION], [$2])],
8425[_AM_SET_OPTIONS([$1])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008426dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
8427m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
8428 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008429 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
8430 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
8431
8432_AM_IF_OPTION([no-define],,
8433[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
8434 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
8435
8436# Some tools Automake needs.
8437AC_REQUIRE([AM_SANITY_CHECK])dnl
8438AC_REQUIRE([AC_ARG_PROGRAM])dnl
8439AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
8440AM_MISSING_PROG(AUTOCONF, autoconf)
8441AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
8442AM_MISSING_PROG(AUTOHEADER, autoheader)
8443AM_MISSING_PROG(MAKEINFO, makeinfo)
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008444AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
8445AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008446AC_REQUIRE([AM_PROG_MKDIR_P])dnl
8447# We need awk for the "check" target. The system "awk" is bad on
8448# some platforms.
8449AC_REQUIRE([AC_PROG_AWK])dnl
8450AC_REQUIRE([AC_PROG_MAKE_SET])dnl
8451AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8452_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008453 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
8454 [_AM_PROG_TAR([v7])])])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008455_AM_IF_OPTION([no-dependencies],,
8456[AC_PROVIDE_IFELSE([AC_PROG_CC],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008457 [_AM_DEPENDENCIES(CC)],
8458 [define([AC_PROG_CC],
8459 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008460AC_PROVIDE_IFELSE([AC_PROG_CXX],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008461 [_AM_DEPENDENCIES(CXX)],
8462 [define([AC_PROG_CXX],
8463 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008464AC_PROVIDE_IFELSE([AC_PROG_OBJC],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008465 [_AM_DEPENDENCIES(OBJC)],
8466 [define([AC_PROG_OBJC],
8467 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008468])
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008469_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
8470dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
8471dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
8472dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
8473AC_CONFIG_COMMANDS_PRE(dnl
8474[m4_provide_if([_AM_COMPILER_EXEEXT],
8475 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008476])
8477
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008478dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
8479dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
8480dnl mangled by Autoconf and run in a shell conditional statement.
8481m4_define([_AC_COMPILER_EXEEXT],
8482m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
8483
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008484
8485# When config.status generates a header, we must update the stamp-h file.
8486# This file resides in the same directory as the config header
8487# that is generated. The stamp files are numbered to have different names.
8488
8489# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
8490# loop where config.status creates the headers, so we can generate
8491# our stamp files there.
8492AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
8493[# Compute $1's index in $config_headers.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008494_am_arg=$1
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008495_am_stamp_count=1
8496for _am_header in $config_headers :; do
8497 case $_am_header in
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008498 $_am_arg | $_am_arg:* )
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008499 break ;;
8500 * )
8501 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
8502 esac
8503done
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008504echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008505
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008506# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008507#
8508# This file is free software; the Free Software Foundation
8509# gives unlimited permission to copy and/or distribute it,
8510# with or without modifications, as long as this notice is preserved.
8511
8512# AM_PROG_INSTALL_SH
8513# ------------------
8514# Define $install_sh.
8515AC_DEFUN([AM_PROG_INSTALL_SH],
8516[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008517if test x"${install_sh}" != xset; then
8518 case $am_aux_dir in
8519 *\ * | *\ *)
8520 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
8521 *)
8522 install_sh="\${SHELL} $am_aux_dir/install-sh"
8523 esac
8524fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008525AC_SUBST(install_sh)])
8526
8527# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
8528#
8529# This file is free software; the Free Software Foundation
8530# gives unlimited permission to copy and/or distribute it,
8531# with or without modifications, as long as this notice is preserved.
8532
8533# serial 2
8534
8535# Check whether the underlying file-system supports filenames
8536# with a leading dot. For instance MS-DOS doesn't.
8537AC_DEFUN([AM_SET_LEADING_DOT],
8538[rm -rf .tst 2>/dev/null
8539mkdir .tst 2>/dev/null
8540if test -d .tst; then
8541 am__leading_dot=.
8542else
8543 am__leading_dot=_
8544fi
8545rmdir .tst 2>/dev/null
8546AC_SUBST([am__leading_dot])])
8547
8548# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
8549# From Jim Meyering
8550
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008551# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008552# Free Software Foundation, Inc.
8553#
8554# This file is free software; the Free Software Foundation
8555# gives unlimited permission to copy and/or distribute it,
8556# with or without modifications, as long as this notice is preserved.
8557
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008558# serial 5
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008559
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008560# AM_MAINTAINER_MODE([DEFAULT-MODE])
8561# ----------------------------------
8562# Control maintainer-specific portions of Makefiles.
8563# Default is to disable them, unless `enable' is passed literally.
8564# For symmetry, `disable' may be passed as well. Anyway, the user
8565# can override the default with the --enable/--disable switch.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008566AC_DEFUN([AM_MAINTAINER_MODE],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008567[m4_case(m4_default([$1], [disable]),
8568 [enable], [m4_define([am_maintainer_other], [disable])],
8569 [disable], [m4_define([am_maintainer_other], [enable])],
8570 [m4_define([am_maintainer_other], [enable])
8571 m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
8572AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
8573 dnl maintainer-mode's default is 'disable' unless 'enable' is passed
8574 AC_ARG_ENABLE([maintainer-mode],
8575[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008576 (and sometimes confusing) to the casual installer],
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008577 [USE_MAINTAINER_MODE=$enableval],
8578 [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008579 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008580 AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008581 MAINT=$MAINTAINER_MODE_TRUE
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008582 AC_SUBST([MAINT])dnl
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008583]
8584)
8585
8586AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
8587
8588# Check to see how 'make' treats includes. -*- Autoconf -*-
8589
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008590# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008591#
8592# This file is free software; the Free Software Foundation
8593# gives unlimited permission to copy and/or distribute it,
8594# with or without modifications, as long as this notice is preserved.
8595
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008596# serial 4
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008597
8598# AM_MAKE_INCLUDE()
8599# -----------------
8600# Check to see how make treats includes.
8601AC_DEFUN([AM_MAKE_INCLUDE],
8602[am_make=${MAKE-make}
8603cat > confinc << 'END'
8604am__doit:
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008605 @echo this is the am__doit target
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008606.PHONY: am__doit
8607END
8608# If we don't find an include directive, just comment out the code.
8609AC_MSG_CHECKING([for style of include used by $am_make])
8610am__include="#"
8611am__quote=
8612_am_result=none
8613# First try GNU make style include.
8614echo "include confinc" > confmf
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008615# Ignore all kinds of additional output from `make'.
8616case `$am_make -s -f confmf 2> /dev/null` in #(
8617*the\ am__doit\ target*)
8618 am__include=include
8619 am__quote=
8620 _am_result=GNU
8621 ;;
8622esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008623# Now try BSD make style include.
8624if test "$am__include" = "#"; then
8625 echo '.include "confinc"' > confmf
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008626 case `$am_make -s -f confmf 2> /dev/null` in #(
8627 *the\ am__doit\ target*)
8628 am__include=.include
8629 am__quote="\""
8630 _am_result=BSD
8631 ;;
8632 esac
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008633fi
8634AC_SUBST([am__include])
8635AC_SUBST([am__quote])
8636AC_MSG_RESULT([$_am_result])
8637rm -f confinc confmf
8638])
8639
8640# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
8641
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008642# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008643# Free Software Foundation, Inc.
8644#
8645# This file is free software; the Free Software Foundation
8646# gives unlimited permission to copy and/or distribute it,
8647# with or without modifications, as long as this notice is preserved.
8648
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008649# serial 6
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008650
8651# AM_MISSING_PROG(NAME, PROGRAM)
8652# ------------------------------
8653AC_DEFUN([AM_MISSING_PROG],
8654[AC_REQUIRE([AM_MISSING_HAS_RUN])
8655$1=${$1-"${am_missing_run}$2"}
8656AC_SUBST($1)])
8657
8658
8659# AM_MISSING_HAS_RUN
8660# ------------------
8661# Define MISSING if not defined so far and test if it supports --run.
8662# If it does, set am_missing_run to use it, otherwise, to nothing.
8663AC_DEFUN([AM_MISSING_HAS_RUN],
8664[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008665AC_REQUIRE_AUX_FILE([missing])dnl
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008666if test x"${MISSING+set}" != xset; then
8667 case $am_aux_dir in
8668 *\ * | *\ *)
8669 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
8670 *)
8671 MISSING="\${SHELL} $am_aux_dir/missing" ;;
8672 esac
8673fi
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008674# Use eval to expand $SHELL
8675if eval "$MISSING --run true"; then
8676 am_missing_run="$MISSING --run "
8677else
8678 am_missing_run=
8679 AC_MSG_WARN([`missing' script is too old or missing])
8680fi
8681])
8682
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008683# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008684#
8685# This file is free software; the Free Software Foundation
8686# gives unlimited permission to copy and/or distribute it,
8687# with or without modifications, as long as this notice is preserved.
8688
8689# AM_PROG_MKDIR_P
8690# ---------------
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008691# Check for `mkdir -p'.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008692AC_DEFUN([AM_PROG_MKDIR_P],
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008693[AC_PREREQ([2.60])dnl
8694AC_REQUIRE([AC_PROG_MKDIR_P])dnl
8695dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
8696dnl while keeping a definition of mkdir_p for backward compatibility.
8697dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
8698dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
8699dnl Makefile.ins that do not define MKDIR_P, so we do our own
8700dnl adjustment using top_builddir (which is defined more often than
8701dnl MKDIR_P).
8702AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
8703case $mkdir_p in
8704 [[\\/$]]* | ?:[[\\/]]*) ;;
8705 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
8706esac
8707])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008708
8709# Helper functions for option handling. -*- Autoconf -*-
8710
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05008711# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008712#
8713# This file is free software; the Free Software Foundation
8714# gives unlimited permission to copy and/or distribute it,
8715# with or without modifications, as long as this notice is preserved.
8716
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05008717# serial 4
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008718
8719# _AM_MANGLE_OPTION(NAME)
8720# -----------------------
8721AC_DEFUN([_AM_MANGLE_OPTION],
8722[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
8723
8724# _AM_SET_OPTION(NAME)
8725# ------------------------------
8726# Set option NAME. Presently that only means defining a flag for this option.
8727AC_DEFUN([_AM_SET_OPTION],
8728[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
8729
8730# _AM_SET_OPTIONS(OPTIONS)
8731# ----------------------------------
8732# OPTIONS is a space-separated list of Automake options.
8733AC_DEFUN([_AM_SET_OPTIONS],
Glenn Randers-Pehrson glennrp@comcast.net0a2547e2009-05-02 15:23:38 -05008734[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008735
8736# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
8737# -------------------------------------------
8738# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8739AC_DEFUN([_AM_IF_OPTION],
8740[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
8741
8742# Check to make sure that the build environment is sane. -*- Autoconf -*-
8743
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008744# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008745# Free Software Foundation, Inc.
8746#
8747# This file is free software; the Free Software Foundation
8748# gives unlimited permission to copy and/or distribute it,
8749# with or without modifications, as long as this notice is preserved.
8750
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008751# serial 5
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008752
8753# AM_SANITY_CHECK
8754# ---------------
8755AC_DEFUN([AM_SANITY_CHECK],
8756[AC_MSG_CHECKING([whether build environment is sane])
8757# Just in case
8758sleep 1
8759echo timestamp > conftest.file
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008760# Reject unsafe characters in $srcdir or the absolute working directory
8761# name. Accept space and tab only in the latter.
8762am_lf='
8763'
8764case `pwd` in
8765 *[[\\\"\#\$\&\'\`$am_lf]]*)
8766 AC_MSG_ERROR([unsafe absolute working directory name]);;
8767esac
8768case $srcdir in
8769 *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
8770 AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
8771esac
8772
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008773# Do `set' in a subshell so we don't clobber the current shell's
8774# arguments. Must try -L first in case configure is actually a
8775# symlink; some systems play weird games with the mod time of symlinks
8776# (eg FreeBSD returns the mod time of the symlink's containing
8777# directory).
8778if (
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008779 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008780 if test "$[*]" = "X"; then
8781 # -L didn't work.
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008782 set X `ls -t "$srcdir/configure" conftest.file`
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008783 fi
8784 rm -f conftest.file
8785 if test "$[*]" != "X $srcdir/configure conftest.file" \
8786 && test "$[*]" != "X conftest.file $srcdir/configure"; then
8787
8788 # If neither matched, then we have a broken ls. This can happen
8789 # if, for instance, CONFIG_SHELL is bash and it inherits a
8790 # broken ls alias from the environment. This has actually
8791 # happened. Such a system could not be considered "sane".
8792 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
8793alias in your environment])
8794 fi
8795
8796 test "$[2]" = conftest.file
8797 )
8798then
8799 # Ok.
8800 :
8801else
8802 AC_MSG_ERROR([newly created file is older than distributed files!
8803Check your system clock])
8804fi
8805AC_MSG_RESULT(yes)])
8806
8807# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8808#
8809# This file is free software; the Free Software Foundation
8810# gives unlimited permission to copy and/or distribute it,
8811# with or without modifications, as long as this notice is preserved.
8812
8813# AM_PROG_INSTALL_STRIP
8814# ---------------------
8815# One issue with vendor `install' (even GNU) is that you can't
8816# specify the program used to strip binaries. This is especially
8817# annoying in cross-compiling environments, where the build's strip
8818# is unlikely to handle the host's binaries.
8819# Fortunately install-sh will honor a STRIPPROG variable, so we
8820# always use install-sh in `make install-strip', and initialize
8821# STRIPPROG with the value of the STRIP variable (set by the user).
8822AC_DEFUN([AM_PROG_INSTALL_STRIP],
8823[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
8824# Installed binaries are usually stripped using `strip' when the user
8825# run `make install-strip'. However `strip' might not be the right
8826# tool to use in cross-compilation environments, therefore Automake
8827# will honor the `STRIP' environment variable to overrule this program.
8828dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
8829if test "$cross_compiling" != no; then
8830 AC_CHECK_TOOL([STRIP], [strip], :)
8831fi
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008832INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008833AC_SUBST([INSTALL_STRIP_PROGRAM])])
8834
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008835# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008836#
8837# This file is free software; the Free Software Foundation
8838# gives unlimited permission to copy and/or distribute it,
8839# with or without modifications, as long as this notice is preserved.
8840
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008841# serial 2
8842
Glenn Randers-Pehrsoneb580912008-07-30 14:47:09 -05008843# _AM_SUBST_NOTMAKE(VARIABLE)
8844# ---------------------------
8845# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
8846# This macro is traced by Automake.
8847AC_DEFUN([_AM_SUBST_NOTMAKE])
8848
Glenn Randers-Pehrson197c2f32009-11-12 07:03:54 -06008849# AM_SUBST_NOTMAKE(VARIABLE)
8850# ---------------------------
8851# Public sister of _AM_SUBST_NOTMAKE.
8852AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
8853
Glenn Randers-Pehrsonc3d51c12006-03-02 07:23:18 -06008854# Check how to create a tarball. -*- Autoconf -*-
8855
8856# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
8857#
8858# This file is free software; the Free Software Foundation
8859# gives unlimited permission to copy and/or distribute it,
8860# with or without modifications, as long as this notice is preserved.
8861
8862# serial 2
8863
8864# _AM_PROG_TAR(FORMAT)
8865# --------------------
8866# Check how to create a tarball in format FORMAT.
8867# FORMAT should be one of `v7', `ustar', or `pax'.
8868#
8869# Substitute a variable $(am__tar) that is a command
8870# writing to stdout a FORMAT-tarball containing the directory
8871# $tardir.
8872# tardir=directory && $(am__tar) > result.tar
8873#
8874# Substitute a variable $(am__untar) that extract such
8875# a tarball read from stdin.
8876# $(am__untar) < result.tar
8877AC_DEFUN([_AM_PROG_TAR],
8878[# Always define AMTAR for backward compatibility.
8879AM_MISSING_PROG([AMTAR], [tar])
8880m4_if([$1], [v7],
8881 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
8882 [m4_case([$1], [ustar],, [pax],,
8883 [m4_fatal([Unknown tar format])])
8884AC_MSG_CHECKING([how to create a $1 tar archive])
8885# Loop over all known methods to create a tar archive until one works.
8886_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
8887_am_tools=${am_cv_prog_tar_$1-$_am_tools}
8888# Do not fold the above two line into one, because Tru64 sh and
8889# Solaris sh will not grok spaces in the rhs of `-'.
8890for _am_tool in $_am_tools
8891do
8892 case $_am_tool in
8893 gnutar)
8894 for _am_tar in tar gnutar gtar;
8895 do
8896 AM_RUN_LOG([$_am_tar --version]) && break
8897 done
8898 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
8899 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
8900 am__untar="$_am_tar -xf -"
8901 ;;
8902 plaintar)
8903 # Must skip GNU tar: if it does not support --format= it doesn't create
8904 # ustar tarball either.
8905 (tar --version) >/dev/null 2>&1 && continue
8906 am__tar='tar chf - "$$tardir"'
8907 am__tar_='tar chf - "$tardir"'
8908 am__untar='tar xf -'
8909 ;;
8910 pax)
8911 am__tar='pax -L -x $1 -w "$$tardir"'
8912 am__tar_='pax -L -x $1 -w "$tardir"'
8913 am__untar='pax -r'
8914 ;;
8915 cpio)
8916 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
8917 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
8918 am__untar='cpio -i -H $1 -d'
8919 ;;
8920 none)
8921 am__tar=false
8922 am__tar_=false
8923 am__untar=false
8924 ;;
8925 esac
8926
8927 # If the value was cached, stop now. We just wanted to have am__tar
8928 # and am__untar set.
8929 test -n "${am_cv_prog_tar_$1}" && break
8930
8931 # tar/untar a dummy directory, and stop if the command works
8932 rm -rf conftest.dir
8933 mkdir conftest.dir
8934 echo GrepMe > conftest.dir/file
8935 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
8936 rm -rf conftest.dir
8937 if test -s conftest.tar; then
8938 AM_RUN_LOG([$am__untar <conftest.tar])
8939 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
8940 fi
8941done
8942rm -rf conftest.dir
8943
8944AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
8945AC_MSG_RESULT([$am_cv_prog_tar_$1])])
8946AC_SUBST([am__tar])
8947AC_SUBST([am__untar])
8948]) # _AM_PROG_TAR
8949