aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-04-06 09:49:55 +0000
committerChristian Grothoff <christian@grothoff.org>2011-04-06 09:49:55 +0000
commite44303b164ebb3640288c0054bbee9829baeff25 (patch)
treed9d761c540eff4274617a873fcceed2f25560868 /m4
downloadgnunet-ext-e44303b164ebb3640288c0054bbee9829baeff25.tar.gz
gnunet-ext-e44303b164ebb3640288c0054bbee9829baeff25.zip
ext
Diffstat (limited to 'm4')
-rw-r--r--m4/ac_define_dir.m435
-rw-r--r--m4/libtool.m47377
-rw-r--r--m4/ltoptions.m4368
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m492
6 files changed, 8018 insertions, 0 deletions
diff --git a/m4/ac_define_dir.m4 b/m4/ac_define_dir.m4
new file mode 100644
index 0000000..f7e028f
--- /dev/null
+++ b/m4/ac_define_dir.m4
@@ -0,0 +1,35 @@
1dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
2dnl
3dnl This macro _AC_DEFINEs VARNAME to the expansion of the DIR
4dnl variable, taking care of fixing up ${prefix} and such.
5dnl
6dnl VARNAME is offered as both a C preprocessor symbol, and an output
7dnl variable.
8dnl
9dnl Note that the 3 argument form is only supported with autoconf 2.13
10dnl and later (i.e. only where _AC_DEFINE supports 3 arguments).
11dnl
12dnl Examples:
13dnl
14dnl AC_DEFINE_DIR(DATADIR, datadir)
15dnl AC_DEFINE_DIR(PROG_PATH, bindir, [Location of installed binaries])
16dnl
17dnl @category Misc
18dnl @author Stepan Kasal <kasal@ucw.cz>
19dnl @author Andreas Schwab <schwab@suse.de>
20dnl @author Guido Draheim <guidod@gmx.de>
21dnl @author Alexandre Oliva
22dnl @version 2005-01-17
23dnl @license AllPermissive
24
25AC_DEFUN([AC_DEFINE_DIR], [
26 prefix_NONE=
27 exec_prefix_NONE=
28 test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
29 test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
30 eval ac_define_dir="\"[$]$2\""
31 AC_SUBST($1, "$ac_define_dir")
32 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3])
33 test "$prefix_NONE" && prefix=NONE
34 test "$exec_prefix_NONE" && exec_prefix=NONE
35])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 0000000..a3fee53
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7377 @@
1# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2#
3# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
4# 2006, 2007, 2008 Free Software Foundation, Inc.
5# Written by Gordon Matzigkeit, 1996
6#
7# This file is free software; the Free Software Foundation gives
8# unlimited permission to copy and/or distribute it, with or without
9# modifications, as long as this notice is preserved.
10
11m4_define([_LT_COPYING], [dnl
12# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
13# 2006, 2007, 2008 Free Software Foundation, Inc.
14# Written by Gordon Matzigkeit, 1996
15#
16# This file is part of GNU Libtool.
17#
18# GNU Libtool is free software; you can redistribute it and/or
19# modify it under the terms of the GNU General Public License as
20# published by the Free Software Foundation; either version 2 of
21# the License, or (at your option) any later version.
22#
23# As a special exception to the GNU General Public License,
24# if you distribute this file as part of a program or library that
25# is built using GNU Libtool, you may include this file under the
26# same distribution terms that you use for the rest of that program.
27#
28# GNU Libtool is distributed in the hope that it will be useful,
29# but WITHOUT ANY WARRANTY; without even the implied warranty of
30# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31# GNU General Public License for more details.
32#
33# You should have received a copy of the GNU General Public License
34# along with GNU Libtool; see the file COPYING. If not, a copy
35# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
36# obtained by writing to the Free Software Foundation, Inc.,
37# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
38])
39
40# serial 56 LT_INIT
41
42
43# LT_PREREQ(VERSION)
44# ------------------
45# Complain and exit if this libtool version is less that VERSION.
46m4_defun([LT_PREREQ],
47[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
48 [m4_default([$3],
49 [m4_fatal([Libtool version $1 or higher is required],
50 63)])],
51 [$2])])
52
53
54# _LT_CHECK_BUILDDIR
55# ------------------
56# Complain if the absolute build directory name contains unusual characters
57m4_defun([_LT_CHECK_BUILDDIR],
58[case `pwd` in
59 *\ * | *\ *)
60 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
61esac
62])
63
64
65# LT_INIT([OPTIONS])
66# ------------------
67AC_DEFUN([LT_INIT],
68[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
69AC_BEFORE([$0], [LT_LANG])dnl
70AC_BEFORE([$0], [LT_OUTPUT])dnl
71AC_BEFORE([$0], [LTDL_INIT])dnl
72m4_require([_LT_CHECK_BUILDDIR])dnl
73
74dnl Autoconf doesn't catch unexpanded LT_ macros by default:
75m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
76m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
77dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
78dnl unless we require an AC_DEFUNed macro:
79AC_REQUIRE([LTOPTIONS_VERSION])dnl
80AC_REQUIRE([LTSUGAR_VERSION])dnl
81AC_REQUIRE([LTVERSION_VERSION])dnl
82AC_REQUIRE([LTOBSOLETE_VERSION])dnl
83m4_require([_LT_PROG_LTMAIN])dnl
84
85dnl Parse OPTIONS
86_LT_SET_OPTIONS([$0], [$1])
87
88# This can be used to rebuild libtool when needed
89LIBTOOL_DEPS="$ltmain"
90
91# Always use our own libtool.
92LIBTOOL='$(SHELL) $(top_builddir)/libtool'
93AC_SUBST(LIBTOOL)dnl
94
95_LT_SETUP
96
97# Only expand once:
98m4_define([LT_INIT])
99])# LT_INIT
100
101# Old names:
102AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
103AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
104dnl aclocal-1.4 backwards compatibility:
105dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
106dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
107
108
109# _LT_CC_BASENAME(CC)
110# -------------------
111# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
112m4_defun([_LT_CC_BASENAME],
113[for cc_temp in $1""; do
114 case $cc_temp in
115 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
116 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
117 \-*) ;;
118 *) break;;
119 esac
120done
121cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
122])
123
124
125# _LT_FILEUTILS_DEFAULTS
126# ----------------------
127# It is okay to use these file commands and assume they have been set
128# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
129m4_defun([_LT_FILEUTILS_DEFAULTS],
130[: ${CP="cp -f"}
131: ${MV="mv -f"}
132: ${RM="rm -f"}
133])# _LT_FILEUTILS_DEFAULTS
134
135
136# _LT_SETUP
137# ---------
138m4_defun([_LT_SETUP],
139[AC_REQUIRE([AC_CANONICAL_HOST])dnl
140AC_REQUIRE([AC_CANONICAL_BUILD])dnl
141_LT_DECL([], [host_alias], [0], [The host system])dnl
142_LT_DECL([], [host], [0])dnl
143_LT_DECL([], [host_os], [0])dnl
144dnl
145_LT_DECL([], [build_alias], [0], [The build system])dnl
146_LT_DECL([], [build], [0])dnl
147_LT_DECL([], [build_os], [0])dnl
148dnl
149AC_REQUIRE([AC_PROG_CC])dnl
150AC_REQUIRE([LT_PATH_LD])dnl
151AC_REQUIRE([LT_PATH_NM])dnl
152dnl
153AC_REQUIRE([AC_PROG_LN_S])dnl
154test -z "$LN_S" && LN_S="ln -s"
155_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
156dnl
157AC_REQUIRE([LT_CMD_MAX_LEN])dnl
158_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
159_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
160dnl
161m4_require([_LT_FILEUTILS_DEFAULTS])dnl
162m4_require([_LT_CHECK_SHELL_FEATURES])dnl
163m4_require([_LT_CMD_RELOAD])dnl
164m4_require([_LT_CHECK_MAGIC_METHOD])dnl
165m4_require([_LT_CMD_OLD_ARCHIVE])dnl
166m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
167
168_LT_CONFIG_LIBTOOL_INIT([
169# See if we are running on zsh, and set the options which allow our
170# commands through without removal of \ escapes INIT.
171if test -n "\${ZSH_VERSION+set}" ; then
172 setopt NO_GLOB_SUBST
173fi
174])
175if test -n "${ZSH_VERSION+set}" ; then
176 setopt NO_GLOB_SUBST
177fi
178
179_LT_CHECK_OBJDIR
180
181m4_require([_LT_TAG_COMPILER])dnl
182_LT_PROG_ECHO_BACKSLASH
183
184case $host_os in
185aix3*)
186 # AIX sometimes has problems with the GCC collect2 program. For some
187 # reason, if we set the COLLECT_NAMES environment variable, the problems
188 # vanish in a puff of smoke.
189 if test "X${COLLECT_NAMES+set}" != Xset; then
190 COLLECT_NAMES=
191 export COLLECT_NAMES
192 fi
193 ;;
194esac
195
196# Sed substitution that helps us do robust quoting. It backslashifies
197# metacharacters that are still active within double-quoted strings.
198sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
199
200# Same as above, but do not quote variable references.
201double_quote_subst='s/\([["`\\]]\)/\\\1/g'
202
203# Sed substitution to delay expansion of an escaped shell variable in a
204# double_quote_subst'ed string.
205delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
206
207# Sed substitution to delay expansion of an escaped single quote.
208delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
209
210# Sed substitution to avoid accidental globbing in evaled expressions
211no_glob_subst='s/\*/\\\*/g'
212
213# Global variables:
214ofile=libtool
215can_build_shared=yes
216
217# All known linkers require a `.a' archive for static linking (except MSVC,
218# which needs '.lib').
219libext=a
220
221with_gnu_ld="$lt_cv_prog_gnu_ld"
222
223old_CC="$CC"
224old_CFLAGS="$CFLAGS"
225
226# Set sane defaults for various variables
227test -z "$CC" && CC=cc
228test -z "$LTCC" && LTCC=$CC
229test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
230test -z "$LD" && LD=ld
231test -z "$ac_objext" && ac_objext=o
232
233_LT_CC_BASENAME([$compiler])
234
235# Only perform the check for file, if the check method requires it
236test -z "$MAGIC_CMD" && MAGIC_CMD=file
237case $deplibs_check_method in
238file_magic*)
239 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
240 _LT_PATH_MAGIC
241 fi
242 ;;
243esac
244
245# Use C for the default configuration in the libtool script
246LT_SUPPORTED_TAG([CC])
247_LT_LANG_C_CONFIG
248_LT_LANG_DEFAULT_CONFIG
249_LT_CONFIG_COMMANDS
250])# _LT_SETUP
251
252
253# _LT_PROG_LTMAIN
254# ---------------
255# Note that this code is called both from `configure', and `config.status'
256# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
257# `config.status' has no value for ac_aux_dir unless we are using Automake,
258# so we pass a copy along to make sure it has a sensible value anyway.
259m4_defun([_LT_PROG_LTMAIN],
260[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
261_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
262ltmain="$ac_aux_dir/ltmain.sh"
263])# _LT_PROG_LTMAIN
264
265
266## ------------------------------------- ##
267## Accumulate code for creating libtool. ##
268## ------------------------------------- ##
269
270# So that we can recreate a full libtool script including additional
271# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
272# in macros and then make a single call at the end using the `libtool'
273# label.
274
275
276# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
277# ----------------------------------------
278# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
279m4_define([_LT_CONFIG_LIBTOOL_INIT],
280[m4_ifval([$1],
281 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
282 [$1
283])])])
284
285# Initialize.
286m4_define([_LT_OUTPUT_LIBTOOL_INIT])
287
288
289# _LT_CONFIG_LIBTOOL([COMMANDS])
290# ------------------------------
291# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
292m4_define([_LT_CONFIG_LIBTOOL],
293[m4_ifval([$1],
294 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
295 [$1
296])])])
297
298# Initialize.
299m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
300
301
302# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
303# -----------------------------------------------------
304m4_defun([_LT_CONFIG_SAVE_COMMANDS],
305[_LT_CONFIG_LIBTOOL([$1])
306_LT_CONFIG_LIBTOOL_INIT([$2])
307])
308
309
310# _LT_FORMAT_COMMENT([COMMENT])
311# -----------------------------
312# Add leading comment marks to the start of each line, and a trailing
313# full-stop to the whole comment if one is not present already.
314m4_define([_LT_FORMAT_COMMENT],
315[m4_ifval([$1], [
316m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
317 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
318)])
319
320
321
322## ------------------------ ##
323## FIXME: Eliminate VARNAME ##
324## ------------------------ ##
325
326
327# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
328# -------------------------------------------------------------------
329# CONFIGNAME is the name given to the value in the libtool script.
330# VARNAME is the (base) name used in the configure script.
331# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
332# VARNAME. Any other value will be used directly.
333m4_define([_LT_DECL],
334[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
335 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
336 [m4_ifval([$1], [$1], [$2])])
337 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
338 m4_ifval([$4],
339 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
340 lt_dict_add_subkey([lt_decl_dict], [$2],
341 [tagged?], [m4_ifval([$5], [yes], [no])])])
342])
343
344
345# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
346# --------------------------------------------------------
347m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
348
349
350# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
351# ------------------------------------------------
352m4_define([lt_decl_tag_varnames],
353[_lt_decl_filter([tagged?], [yes], $@)])
354
355
356# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
357# ---------------------------------------------------------
358m4_define([_lt_decl_filter],
359[m4_case([$#],
360 [0], [m4_fatal([$0: too few arguments: $#])],
361 [1], [m4_fatal([$0: too few arguments: $#: $1])],
362 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
363 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
364 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
365])
366
367
368# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
369# --------------------------------------------------
370m4_define([lt_decl_quote_varnames],
371[_lt_decl_filter([value], [1], $@)])
372
373
374# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
375# ---------------------------------------------------
376m4_define([lt_decl_dquote_varnames],
377[_lt_decl_filter([value], [2], $@)])
378
379
380# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
381# ---------------------------------------------------
382m4_define([lt_decl_varnames_tagged],
383[m4_assert([$# <= 2])dnl
384_$0(m4_quote(m4_default([$1], [[, ]])),
385 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
386 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
387m4_define([_lt_decl_varnames_tagged],
388[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
389
390
391# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
392# ------------------------------------------------
393m4_define([lt_decl_all_varnames],
394[_$0(m4_quote(m4_default([$1], [[, ]])),
395 m4_if([$2], [],
396 m4_quote(lt_decl_varnames),
397 m4_quote(m4_shift($@))))[]dnl
398])
399m4_define([_lt_decl_all_varnames],
400[lt_join($@, lt_decl_varnames_tagged([$1],
401 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
402])
403
404
405# _LT_CONFIG_STATUS_DECLARE([VARNAME])
406# ------------------------------------
407# Quote a variable value, and forward it to `config.status' so that its
408# declaration there will have the same value as in `configure'. VARNAME
409# must have a single quote delimited value for this to work.
410m4_define([_LT_CONFIG_STATUS_DECLARE],
411[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
412
413
414# _LT_CONFIG_STATUS_DECLARATIONS
415# ------------------------------
416# We delimit libtool config variables with single quotes, so when
417# we write them to config.status, we have to be sure to quote all
418# embedded single quotes properly. In configure, this macro expands
419# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
420#
421# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
422m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
423[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
424 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
425
426
427# _LT_LIBTOOL_TAGS
428# ----------------
429# Output comment and list of tags supported by the script
430m4_defun([_LT_LIBTOOL_TAGS],
431[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
432available_tags="_LT_TAGS"dnl
433])
434
435
436# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
437# -----------------------------------
438# Extract the dictionary values for VARNAME (optionally with TAG) and
439# expand to a commented shell variable setting:
440#
441# # Some comment about what VAR is for.
442# visible_name=$lt_internal_name
443m4_define([_LT_LIBTOOL_DECLARE],
444[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
445 [description])))[]dnl
446m4_pushdef([_libtool_name],
447 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
448m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
449 [0], [_libtool_name=[$]$1],
450 [1], [_libtool_name=$lt_[]$1],
451 [2], [_libtool_name=$lt_[]$1],
452 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
453m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
454])
455
456
457# _LT_LIBTOOL_CONFIG_VARS
458# -----------------------
459# Produce commented declarations of non-tagged libtool config variables
460# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
461# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
462# section) are produced by _LT_LIBTOOL_TAG_VARS.
463m4_defun([_LT_LIBTOOL_CONFIG_VARS],
464[m4_foreach([_lt_var],
465 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
466 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
467
468
469# _LT_LIBTOOL_TAG_VARS(TAG)
470# -------------------------
471m4_define([_LT_LIBTOOL_TAG_VARS],
472[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
473 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
474
475
476# _LT_TAGVAR(VARNAME, [TAGNAME])
477# ------------------------------
478m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
479
480
481# _LT_CONFIG_COMMANDS
482# -------------------
483# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
484# variables for single and double quote escaping we saved from calls
485# to _LT_DECL, we can put quote escaped variables declarations
486# into `config.status', and then the shell code to quote escape them in
487# for loops in `config.status'. Finally, any additional code accumulated
488# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
489m4_defun([_LT_CONFIG_COMMANDS],
490[AC_PROVIDE_IFELSE([LT_OUTPUT],
491 dnl If the libtool generation code has been placed in $CONFIG_LT,
492 dnl instead of duplicating it all over again into config.status,
493 dnl then we will have config.status run $CONFIG_LT later, so it
494 dnl needs to know what name is stored there:
495 [AC_CONFIG_COMMANDS([libtool],
496 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
497 dnl If the libtool generation code is destined for config.status,
498 dnl expand the accumulated commands and init code now:
499 [AC_CONFIG_COMMANDS([libtool],
500 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
501])#_LT_CONFIG_COMMANDS
502
503
504# Initialize.
505m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
506[
507
508# The HP-UX ksh and POSIX shell print the target directory to stdout
509# if CDPATH is set.
510(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
511
512sed_quote_subst='$sed_quote_subst'
513double_quote_subst='$double_quote_subst'
514delay_variable_subst='$delay_variable_subst'
515_LT_CONFIG_STATUS_DECLARATIONS
516LTCC='$LTCC'
517LTCFLAGS='$LTCFLAGS'
518compiler='$compiler_DEFAULT'
519
520# Quote evaled strings.
521for var in lt_decl_all_varnames([[ \
522]], lt_decl_quote_varnames); do
523 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
524 *[[\\\\\\\`\\"\\\$]]*)
525 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
526 ;;
527 *)
528 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
529 ;;
530 esac
531done
532
533# Double-quote double-evaled strings.
534for var in lt_decl_all_varnames([[ \
535]], lt_decl_dquote_varnames); do
536 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
537 *[[\\\\\\\`\\"\\\$]]*)
538 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
539 ;;
540 *)
541 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
542 ;;
543 esac
544done
545
546# Fix-up fallback echo if it was mangled by the above quoting rules.
547case \$lt_ECHO in
548*'\\\[$]0 --fallback-echo"')dnl "
549 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
550 ;;
551esac
552
553_LT_OUTPUT_LIBTOOL_INIT
554])
555
556
557# LT_OUTPUT
558# ---------
559# This macro allows early generation of the libtool script (before
560# AC_OUTPUT is called), incase it is used in configure for compilation
561# tests.
562AC_DEFUN([LT_OUTPUT],
563[: ${CONFIG_LT=./config.lt}
564AC_MSG_NOTICE([creating $CONFIG_LT])
565cat >"$CONFIG_LT" <<_LTEOF
566#! $SHELL
567# Generated by $as_me.
568# Run this file to recreate a libtool stub with the current configuration.
569
570lt_cl_silent=false
571SHELL=\${CONFIG_SHELL-$SHELL}
572_LTEOF
573
574cat >>"$CONFIG_LT" <<\_LTEOF
575AS_SHELL_SANITIZE
576_AS_PREPARE
577
578exec AS_MESSAGE_FD>&1
579exec AS_MESSAGE_LOG_FD>>config.log
580{
581 echo
582 AS_BOX([Running $as_me.])
583} >&AS_MESSAGE_LOG_FD
584
585lt_cl_help="\
586\`$as_me' creates a local libtool stub from the current configuration,
587for use in further configure time tests before the real libtool is
588generated.
589
590Usage: $[0] [[OPTIONS]]
591
592 -h, --help print this help, then exit
593 -V, --version print version number, then exit
594 -q, --quiet do not print progress messages
595 -d, --debug don't remove temporary files
596
597Report bugs to <bug-libtool@gnu.org>."
598
599lt_cl_version="\
600m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
601m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
602configured by $[0], generated by m4_PACKAGE_STRING.
603
604Copyright (C) 2008 Free Software Foundation, Inc.
605This config.lt script is free software; the Free Software Foundation
606gives unlimited permision to copy, distribute and modify it."
607
608while test $[#] != 0
609do
610 case $[1] in
611 --version | --v* | -V )
612 echo "$lt_cl_version"; exit 0 ;;
613 --help | --h* | -h )
614 echo "$lt_cl_help"; exit 0 ;;
615 --debug | --d* | -d )
616 debug=: ;;
617 --quiet | --q* | --silent | --s* | -q )
618 lt_cl_silent=: ;;
619
620 -*) AC_MSG_ERROR([unrecognized option: $[1]
621Try \`$[0] --help' for more information.]) ;;
622
623 *) AC_MSG_ERROR([unrecognized argument: $[1]
624Try \`$[0] --help' for more information.]) ;;
625 esac
626 shift
627done
628
629if $lt_cl_silent; then
630 exec AS_MESSAGE_FD>/dev/null
631fi
632_LTEOF
633
634cat >>"$CONFIG_LT" <<_LTEOF
635_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
636_LTEOF
637
638cat >>"$CONFIG_LT" <<\_LTEOF
639AC_MSG_NOTICE([creating $ofile])
640_LT_OUTPUT_LIBTOOL_COMMANDS
641AS_EXIT(0)
642_LTEOF
643chmod +x "$CONFIG_LT"
644
645# configure is writing to config.log, but config.lt does its own redirection,
646# appending to config.log, which fails on DOS, as config.log is still kept
647# open by configure. Here we exec the FD to /dev/null, effectively closing
648# config.log, so it can be properly (re)opened and appended to by config.lt.
649if test "$no_create" != yes; then
650 lt_cl_success=:
651 test "$silent" = yes &&
652 lt_config_lt_args="$lt_config_lt_args --quiet"
653 exec AS_MESSAGE_LOG_FD>/dev/null
654 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
655 exec AS_MESSAGE_LOG_FD>>config.log
656 $lt_cl_success || AS_EXIT(1)
657fi
658])# LT_OUTPUT
659
660
661# _LT_CONFIG(TAG)
662# ---------------
663# If TAG is the built-in tag, create an initial libtool script with a
664# default configuration from the untagged config vars. Otherwise add code
665# to config.status for appending the configuration named by TAG from the
666# matching tagged config vars.
667m4_defun([_LT_CONFIG],
668[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
669_LT_CONFIG_SAVE_COMMANDS([
670 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
671 m4_if(_LT_TAG, [C], [
672 # See if we are running on zsh, and set the options which allow our
673 # commands through without removal of \ escapes.
674 if test -n "${ZSH_VERSION+set}" ; then
675 setopt NO_GLOB_SUBST
676 fi
677
678 cfgfile="${ofile}T"
679 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
680 $RM "$cfgfile"
681
682 cat <<_LT_EOF >> "$cfgfile"
683#! $SHELL
684
685# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
686# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
687# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
688# NOTE: Changes made to this file will be lost: look at ltmain.sh.
689#
690_LT_COPYING
691_LT_LIBTOOL_TAGS
692
693# ### BEGIN LIBTOOL CONFIG
694_LT_LIBTOOL_CONFIG_VARS
695_LT_LIBTOOL_TAG_VARS
696# ### END LIBTOOL CONFIG
697
698_LT_EOF
699
700 case $host_os in
701 aix3*)
702 cat <<\_LT_EOF >> "$cfgfile"
703# AIX sometimes has problems with the GCC collect2 program. For some
704# reason, if we set the COLLECT_NAMES environment variable, the problems
705# vanish in a puff of smoke.
706if test "X${COLLECT_NAMES+set}" != Xset; then
707 COLLECT_NAMES=
708 export COLLECT_NAMES
709fi
710_LT_EOF
711 ;;
712 esac
713
714 _LT_PROG_LTMAIN
715
716 # We use sed instead of cat because bash on DJGPP gets confused if
717 # if finds mixed CR/LF and LF-only lines. Since sed operates in
718 # text mode, it properly converts lines to CR/LF. This bash problem
719 # is reportedly fixed, but why not run on old versions too?
720 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
721 || (rm -f "$cfgfile"; exit 1)
722
723 _LT_PROG_XSI_SHELLFNS
724
725 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
726 || (rm -f "$cfgfile"; exit 1)
727
728 mv -f "$cfgfile" "$ofile" ||
729 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
730 chmod +x "$ofile"
731],
732[cat <<_LT_EOF >> "$ofile"
733
734dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
735dnl in a comment (ie after a #).
736# ### BEGIN LIBTOOL TAG CONFIG: $1
737_LT_LIBTOOL_TAG_VARS(_LT_TAG)
738# ### END LIBTOOL TAG CONFIG: $1
739_LT_EOF
740])dnl /m4_if
741],
742[m4_if([$1], [], [
743 PACKAGE='$PACKAGE'
744 VERSION='$VERSION'
745 TIMESTAMP='$TIMESTAMP'
746 RM='$RM'
747 ofile='$ofile'], [])
748])dnl /_LT_CONFIG_SAVE_COMMANDS
749])# _LT_CONFIG
750
751
752# LT_SUPPORTED_TAG(TAG)
753# ---------------------
754# Trace this macro to discover what tags are supported by the libtool
755# --tag option, using:
756# autoconf --trace 'LT_SUPPORTED_TAG:$1'
757AC_DEFUN([LT_SUPPORTED_TAG], [])
758
759
760# C support is built-in for now
761m4_define([_LT_LANG_C_enabled], [])
762m4_define([_LT_TAGS], [])
763
764
765# LT_LANG(LANG)
766# -------------
767# Enable libtool support for the given language if not already enabled.
768AC_DEFUN([LT_LANG],
769[AC_BEFORE([$0], [LT_OUTPUT])dnl
770m4_case([$1],
771 [C], [_LT_LANG(C)],
772 [C++], [_LT_LANG(CXX)],
773 [Java], [_LT_LANG(GCJ)],
774 [Fortran 77], [_LT_LANG(F77)],
775 [Fortran], [_LT_LANG(FC)],
776 [Windows Resource], [_LT_LANG(RC)],
777 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
778 [_LT_LANG($1)],
779 [m4_fatal([$0: unsupported language: "$1"])])])dnl
780])# LT_LANG
781
782
783# _LT_LANG(LANGNAME)
784# ------------------
785m4_defun([_LT_LANG],
786[m4_ifdef([_LT_LANG_]$1[_enabled], [],
787 [LT_SUPPORTED_TAG([$1])dnl
788 m4_append([_LT_TAGS], [$1 ])dnl
789 m4_define([_LT_LANG_]$1[_enabled], [])dnl
790 _LT_LANG_$1_CONFIG($1)])dnl
791])# _LT_LANG
792
793
794# _LT_LANG_DEFAULT_CONFIG
795# -----------------------
796m4_defun([_LT_LANG_DEFAULT_CONFIG],
797[AC_PROVIDE_IFELSE([AC_PROG_CXX],
798 [LT_LANG(CXX)],
799 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
800
801AC_PROVIDE_IFELSE([AC_PROG_F77],
802 [LT_LANG(F77)],
803 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
804
805AC_PROVIDE_IFELSE([AC_PROG_FC],
806 [LT_LANG(FC)],
807 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
808
809dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
810dnl pulling things in needlessly.
811AC_PROVIDE_IFELSE([AC_PROG_GCJ],
812 [LT_LANG(GCJ)],
813 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
814 [LT_LANG(GCJ)],
815 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
816 [LT_LANG(GCJ)],
817 [m4_ifdef([AC_PROG_GCJ],
818 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
819 m4_ifdef([A][M_PROG_GCJ],
820 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
821 m4_ifdef([LT_PROG_GCJ],
822 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
823
824AC_PROVIDE_IFELSE([LT_PROG_RC],
825 [LT_LANG(RC)],
826 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
827])# _LT_LANG_DEFAULT_CONFIG
828
829# Obsolete macros:
830AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
831AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
832AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
833AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
834dnl aclocal-1.4 backwards compatibility:
835dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
836dnl AC_DEFUN([AC_LIBTOOL_F77], [])
837dnl AC_DEFUN([AC_LIBTOOL_FC], [])
838dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
839
840
841# _LT_TAG_COMPILER
842# ----------------
843m4_defun([_LT_TAG_COMPILER],
844[AC_REQUIRE([AC_PROG_CC])dnl
845
846_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
847_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
848_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
849_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
850
851# If no C compiler was specified, use CC.
852LTCC=${LTCC-"$CC"}
853
854# If no C compiler flags were specified, use CFLAGS.
855LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
856
857# Allow CC to be a program name with arguments.
858compiler=$CC
859])# _LT_TAG_COMPILER
860
861
862# _LT_COMPILER_BOILERPLATE
863# ------------------------
864# Check for compiler boilerplate output or warnings with
865# the simple compiler test code.
866m4_defun([_LT_COMPILER_BOILERPLATE],
867[m4_require([_LT_DECL_SED])dnl
868ac_outfile=conftest.$ac_objext
869echo "$lt_simple_compile_test_code" >conftest.$ac_ext
870eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
871_lt_compiler_boilerplate=`cat conftest.err`
872$RM conftest*
873])# _LT_COMPILER_BOILERPLATE
874
875
876# _LT_LINKER_BOILERPLATE
877# ----------------------
878# Check for linker boilerplate output or warnings with
879# the simple link test code.
880m4_defun([_LT_LINKER_BOILERPLATE],
881[m4_require([_LT_DECL_SED])dnl
882ac_outfile=conftest.$ac_objext
883echo "$lt_simple_link_test_code" >conftest.$ac_ext
884eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
885_lt_linker_boilerplate=`cat conftest.err`
886$RM -r conftest*
887])# _LT_LINKER_BOILERPLATE
888
889# _LT_REQUIRED_DARWIN_CHECKS
890# -------------------------
891m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
892 case $host_os in
893 rhapsody* | darwin*)
894 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
895 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
896 AC_CHECK_TOOL([LIPO], [lipo], [:])
897 AC_CHECK_TOOL([OTOOL], [otool], [:])
898 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
899 _LT_DECL([], [DSYMUTIL], [1],
900 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
901 _LT_DECL([], [NMEDIT], [1],
902 [Tool to change global to local symbols on Mac OS X])
903 _LT_DECL([], [LIPO], [1],
904 [Tool to manipulate fat objects and archives on Mac OS X])
905 _LT_DECL([], [OTOOL], [1],
906 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
907 _LT_DECL([], [OTOOL64], [1],
908 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
909
910 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
911 [lt_cv_apple_cc_single_mod=no
912 if test -z "${LT_MULTI_MODULE}"; then
913 # By default we will add the -single_module flag. You can override
914 # by either setting the environment variable LT_MULTI_MODULE
915 # non-empty at configure time, or by adding -multi_module to the
916 # link flags.
917 rm -rf libconftest.dylib*
918 echo "int foo(void){return 1;}" > conftest.c
919 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
920-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
921 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
922 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
923 _lt_result=$?
924 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
925 lt_cv_apple_cc_single_mod=yes
926 else
927 cat conftest.err >&AS_MESSAGE_LOG_FD
928 fi
929 rm -rf libconftest.dylib*
930 rm -f conftest.*
931 fi])
932 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
933 [lt_cv_ld_exported_symbols_list],
934 [lt_cv_ld_exported_symbols_list=no
935 save_LDFLAGS=$LDFLAGS
936 echo "_main" > conftest.sym
937 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
938 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
939 [lt_cv_ld_exported_symbols_list=yes],
940 [lt_cv_ld_exported_symbols_list=no])
941 LDFLAGS="$save_LDFLAGS"
942 ])
943 case $host_os in
944 rhapsody* | darwin1.[[012]])
945 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
946 darwin1.*)
947 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
948 darwin*) # darwin 5.x on
949 # if running on 10.5 or later, the deployment target defaults
950 # to the OS version, if on x86, and 10.4, the deployment
951 # target defaults to 10.4. Don't you love it?
952 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
953 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
954 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
955 10.[[012]]*)
956 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
957 10.*)
958 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
959 esac
960 ;;
961 esac
962 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
963 _lt_dar_single_mod='$single_module'
964 fi
965 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
966 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
967 else
968 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
969 fi
970 if test "$DSYMUTIL" != ":"; then
971 _lt_dsymutil='~$DSYMUTIL $lib || :'
972 else
973 _lt_dsymutil=
974 fi
975 ;;
976 esac
977])
978
979
980# _LT_DARWIN_LINKER_FEATURES
981# --------------------------
982# Checks for linker and compiler features on darwin
983m4_defun([_LT_DARWIN_LINKER_FEATURES],
984[
985 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
986 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
987 _LT_TAGVAR(hardcode_direct, $1)=no
988 _LT_TAGVAR(hardcode_automatic, $1)=yes
989 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
990 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
991 _LT_TAGVAR(link_all_deplibs, $1)=yes
992 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
993 case $cc_basename in
994 ifort*) _lt_dar_can_shared=yes ;;
995 *) _lt_dar_can_shared=$GCC ;;
996 esac
997 if test "$_lt_dar_can_shared" = "yes"; then
998 output_verbose_link_cmd=echo
999 _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}"
1000 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1001 _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}"
1002 _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}"
1003 m4_if([$1], [CXX],
1004[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1005 _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}"
1006 _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}"
1007 fi
1008],[])
1009 else
1010 _LT_TAGVAR(ld_shlibs, $1)=no
1011 fi
1012])
1013
1014# _LT_SYS_MODULE_PATH_AIX
1015# -----------------------
1016# Links a minimal program and checks the executable
1017# for the system default hardcoded library path. In most cases,
1018# this is /usr/lib:/lib, but when the MPI compilers are used
1019# the location of the communication and MPI libs are included too.
1020# If we don't find anything, use the default library path according
1021# to the aix ld manual.
1022m4_defun([_LT_SYS_MODULE_PATH_AIX],
1023[m4_require([_LT_DECL_SED])dnl
1024AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1025lt_aix_libpath_sed='
1026 /Import File Strings/,/^$/ {
1027 /^0/ {
1028 s/^0 *\(.*\)$/\1/
1029 p
1030 }
1031 }'
1032aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1033# Check for a 64-bit object if we didn't find anything.
1034if test -z "$aix_libpath"; then
1035 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1036fi],[])
1037if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1038])# _LT_SYS_MODULE_PATH_AIX
1039
1040
1041# _LT_SHELL_INIT(ARG)
1042# -------------------
1043m4_define([_LT_SHELL_INIT],
1044[ifdef([AC_DIVERSION_NOTICE],
1045 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1046 [AC_DIVERT_PUSH(NOTICE)])
1047$1
1048AC_DIVERT_POP
1049])# _LT_SHELL_INIT
1050
1051
1052# _LT_PROG_ECHO_BACKSLASH
1053# -----------------------
1054# Add some code to the start of the generated configure script which
1055# will find an echo command which doesn't interpret backslashes.
1056m4_defun([_LT_PROG_ECHO_BACKSLASH],
1057[_LT_SHELL_INIT([
1058# Check that we are running under the correct shell.
1059SHELL=${CONFIG_SHELL-/bin/sh}
1060
1061case X$lt_ECHO in
1062X*--fallback-echo)
1063 # Remove one level of quotation (which was required for Make).
1064 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1065 ;;
1066esac
1067
1068ECHO=${lt_ECHO-echo}
1069if test "X[$]1" = X--no-reexec; then
1070 # Discard the --no-reexec flag, and continue.
1071 shift
1072elif test "X[$]1" = X--fallback-echo; then
1073 # Avoid inline document here, it may be left over
1074 :
1075elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1076 # Yippee, $ECHO works!
1077 :
1078else
1079 # Restart under the correct shell.
1080 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1081fi
1082
1083if test "X[$]1" = X--fallback-echo; then
1084 # used as fallback echo
1085 shift
1086 cat <<_LT_EOF
1087[$]*
1088_LT_EOF
1089 exit 0
1090fi
1091
1092# The HP-UX ksh and POSIX shell print the target directory to stdout
1093# if CDPATH is set.
1094(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1095
1096if test -z "$lt_ECHO"; then
1097 if test "X${echo_test_string+set}" != Xset; then
1098 # find a string as large as possible, as long as the shell can cope with it
1099 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1100 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1101 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1102 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1103 then
1104 break
1105 fi
1106 done
1107 fi
1108
1109 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1110 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1111 test "X$echo_testing_string" = "X$echo_test_string"; then
1112 :
1113 else
1114 # The Solaris, AIX, and Digital Unix default echo programs unquote
1115 # backslashes. This makes it impossible to quote backslashes using
1116 # echo "$something" | sed 's/\\/\\\\/g'
1117 #
1118 # So, first we look for a working echo in the user's PATH.
1119
1120 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1121 for dir in $PATH /usr/ucb; do
1122 IFS="$lt_save_ifs"
1123 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1124 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1125 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1126 test "X$echo_testing_string" = "X$echo_test_string"; then
1127 ECHO="$dir/echo"
1128 break
1129 fi
1130 done
1131 IFS="$lt_save_ifs"
1132
1133 if test "X$ECHO" = Xecho; then
1134 # We didn't find a better echo, so look for alternatives.
1135 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1136 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1137 test "X$echo_testing_string" = "X$echo_test_string"; then
1138 # This shell has a builtin print -r that does the trick.
1139 ECHO='print -r'
1140 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1141 test "X$CONFIG_SHELL" != X/bin/ksh; then
1142 # If we have ksh, try running configure again with it.
1143 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1144 export ORIGINAL_CONFIG_SHELL
1145 CONFIG_SHELL=/bin/ksh
1146 export CONFIG_SHELL
1147 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1148 else
1149 # Try using printf.
1150 ECHO='printf %s\n'
1151 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1152 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1153 test "X$echo_testing_string" = "X$echo_test_string"; then
1154 # Cool, printf works
1155 :
1156 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1157 test "X$echo_testing_string" = 'X\t' &&
1158 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1159 test "X$echo_testing_string" = "X$echo_test_string"; then
1160 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1161 export CONFIG_SHELL
1162 SHELL="$CONFIG_SHELL"
1163 export SHELL
1164 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1165 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1166 test "X$echo_testing_string" = 'X\t' &&
1167 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1168 test "X$echo_testing_string" = "X$echo_test_string"; then
1169 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1170 else
1171 # maybe with a smaller string...
1172 prev=:
1173
1174 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1175 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1176 then
1177 break
1178 fi
1179 prev="$cmd"
1180 done
1181
1182 if test "$prev" != 'sed 50q "[$]0"'; then
1183 echo_test_string=`eval $prev`
1184 export echo_test_string
1185 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1186 else
1187 # Oops. We lost completely, so just stick with echo.
1188 ECHO=echo
1189 fi
1190 fi
1191 fi
1192 fi
1193 fi
1194fi
1195
1196# Copy echo and quote the copy suitably for passing to libtool from
1197# the Makefile, instead of quoting the original, which is used later.
1198lt_ECHO=$ECHO
1199if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1200 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1201fi
1202
1203AC_SUBST(lt_ECHO)
1204])
1205_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1206_LT_DECL([], [ECHO], [1],
1207 [An echo program that does not interpret backslashes])
1208])# _LT_PROG_ECHO_BACKSLASH
1209
1210
1211# _LT_ENABLE_LOCK
1212# ---------------
1213m4_defun([_LT_ENABLE_LOCK],
1214[AC_ARG_ENABLE([libtool-lock],
1215 [AS_HELP_STRING([--disable-libtool-lock],
1216 [avoid locking (might break parallel builds)])])
1217test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1218
1219# Some flags need to be propagated to the compiler or linker for good
1220# libtool support.
1221case $host in
1222ia64-*-hpux*)
1223 # Find out which ABI we are using.
1224 echo 'int i;' > conftest.$ac_ext
1225 if AC_TRY_EVAL(ac_compile); then
1226 case `/usr/bin/file conftest.$ac_objext` in
1227 *ELF-32*)
1228 HPUX_IA64_MODE="32"
1229 ;;
1230 *ELF-64*)
1231 HPUX_IA64_MODE="64"
1232 ;;
1233 esac
1234 fi
1235 rm -rf conftest*
1236 ;;
1237*-*-irix6*)
1238 # Find out which ABI we are using.
1239 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1240 if AC_TRY_EVAL(ac_compile); then
1241 if test "$lt_cv_prog_gnu_ld" = yes; then
1242 case `/usr/bin/file conftest.$ac_objext` in
1243 *32-bit*)
1244 LD="${LD-ld} -melf32bsmip"
1245 ;;
1246 *N32*)
1247 LD="${LD-ld} -melf32bmipn32"
1248 ;;
1249 *64-bit*)
1250 LD="${LD-ld} -melf64bmip"
1251 ;;
1252 esac
1253 else
1254 case `/usr/bin/file conftest.$ac_objext` in
1255 *32-bit*)
1256 LD="${LD-ld} -32"
1257 ;;
1258 *N32*)
1259 LD="${LD-ld} -n32"
1260 ;;
1261 *64-bit*)
1262 LD="${LD-ld} -64"
1263 ;;
1264 esac
1265 fi
1266 fi
1267 rm -rf conftest*
1268 ;;
1269
1270x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1271s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1272 # Find out which ABI we are using.
1273 echo 'int i;' > conftest.$ac_ext
1274 if AC_TRY_EVAL(ac_compile); then
1275 case `/usr/bin/file conftest.o` in
1276 *32-bit*)
1277 case $host in
1278 x86_64-*kfreebsd*-gnu)
1279 LD="${LD-ld} -m elf_i386_fbsd"
1280 ;;
1281 x86_64-*linux*)
1282 LD="${LD-ld} -m elf_i386"
1283 ;;
1284 ppc64-*linux*|powerpc64-*linux*)
1285 LD="${LD-ld} -m elf32ppclinux"
1286 ;;
1287 s390x-*linux*)
1288 LD="${LD-ld} -m elf_s390"
1289 ;;
1290 sparc64-*linux*)
1291 LD="${LD-ld} -m elf32_sparc"
1292 ;;
1293 esac
1294 ;;
1295 *64-bit*)
1296 case $host in
1297 x86_64-*kfreebsd*-gnu)
1298 LD="${LD-ld} -m elf_x86_64_fbsd"
1299 ;;
1300 x86_64-*linux*)
1301 LD="${LD-ld} -m elf_x86_64"
1302 ;;
1303 ppc*-*linux*|powerpc*-*linux*)
1304 LD="${LD-ld} -m elf64ppc"
1305 ;;
1306 s390*-*linux*|s390*-*tpf*)
1307 LD="${LD-ld} -m elf64_s390"
1308 ;;
1309 sparc*-*linux*)
1310 LD="${LD-ld} -m elf64_sparc"
1311 ;;
1312 esac
1313 ;;
1314 esac
1315 fi
1316 rm -rf conftest*
1317 ;;
1318
1319*-*-sco3.2v5*)
1320 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1321 SAVE_CFLAGS="$CFLAGS"
1322 CFLAGS="$CFLAGS -belf"
1323 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1324 [AC_LANG_PUSH(C)
1325 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1326 AC_LANG_POP])
1327 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1328 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1329 CFLAGS="$SAVE_CFLAGS"
1330 fi
1331 ;;
1332sparc*-*solaris*)
1333 # Find out which ABI we are using.
1334 echo 'int i;' > conftest.$ac_ext
1335 if AC_TRY_EVAL(ac_compile); then
1336 case `/usr/bin/file conftest.o` in
1337 *64-bit*)
1338 case $lt_cv_prog_gnu_ld in
1339 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1340 *)
1341 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1342 LD="${LD-ld} -64"
1343 fi
1344 ;;
1345 esac
1346 ;;
1347 esac
1348 fi
1349 rm -rf conftest*
1350 ;;
1351esac
1352
1353need_locks="$enable_libtool_lock"
1354])# _LT_ENABLE_LOCK
1355
1356
1357# _LT_CMD_OLD_ARCHIVE
1358# -------------------
1359m4_defun([_LT_CMD_OLD_ARCHIVE],
1360[AC_CHECK_TOOL(AR, ar, false)
1361test -z "$AR" && AR=ar
1362test -z "$AR_FLAGS" && AR_FLAGS=cru
1363_LT_DECL([], [AR], [1], [The archiver])
1364_LT_DECL([], [AR_FLAGS], [1])
1365
1366AC_CHECK_TOOL(STRIP, strip, :)
1367test -z "$STRIP" && STRIP=:
1368_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1369
1370AC_CHECK_TOOL(RANLIB, ranlib, :)
1371test -z "$RANLIB" && RANLIB=:
1372_LT_DECL([], [RANLIB], [1],
1373 [Commands used to install an old-style archive])
1374
1375# Determine commands to create old-style static archives.
1376old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1377old_postinstall_cmds='chmod 644 $oldlib'
1378old_postuninstall_cmds=
1379
1380if test -n "$RANLIB"; then
1381 case $host_os in
1382 openbsd*)
1383 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1384 ;;
1385 *)
1386 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1387 ;;
1388 esac
1389 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1390fi
1391_LT_DECL([], [old_postinstall_cmds], [2])
1392_LT_DECL([], [old_postuninstall_cmds], [2])
1393_LT_TAGDECL([], [old_archive_cmds], [2],
1394 [Commands used to build an old-style archive])
1395])# _LT_CMD_OLD_ARCHIVE
1396
1397
1398# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1399# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1400# ----------------------------------------------------------------
1401# Check whether the given compiler option works
1402AC_DEFUN([_LT_COMPILER_OPTION],
1403[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1404m4_require([_LT_DECL_SED])dnl
1405AC_CACHE_CHECK([$1], [$2],
1406 [$2=no
1407 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1408 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1409 lt_compiler_flag="$3"
1410 # Insert the option either (1) after the last *FLAGS variable, or
1411 # (2) before a word containing "conftest.", or (3) at the end.
1412 # Note that $ac_compile itself does not contain backslashes and begins
1413 # with a dollar sign (not a hyphen), so the echo should work correctly.
1414 # The option is referenced via a variable to avoid confusing sed.
1415 lt_compile=`echo "$ac_compile" | $SED \
1416 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1417 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1418 -e 's:$: $lt_compiler_flag:'`
1419 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1420 (eval "$lt_compile" 2>conftest.err)
1421 ac_status=$?
1422 cat conftest.err >&AS_MESSAGE_LOG_FD
1423 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1424 if (exit $ac_status) && test -s "$ac_outfile"; then
1425 # The compiler can only warn and ignore the option if not recognized
1426 # So say no if there are warnings other than the usual output.
1427 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1428 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1429 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1430 $2=yes
1431 fi
1432 fi
1433 $RM conftest*
1434])
1435
1436if test x"[$]$2" = xyes; then
1437 m4_if([$5], , :, [$5])
1438else
1439 m4_if([$6], , :, [$6])
1440fi
1441])# _LT_COMPILER_OPTION
1442
1443# Old name:
1444AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1445dnl aclocal-1.4 backwards compatibility:
1446dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1447
1448
1449# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1450# [ACTION-SUCCESS], [ACTION-FAILURE])
1451# ----------------------------------------------------
1452# Check whether the given linker option works
1453AC_DEFUN([_LT_LINKER_OPTION],
1454[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1455m4_require([_LT_DECL_SED])dnl
1456AC_CACHE_CHECK([$1], [$2],
1457 [$2=no
1458 save_LDFLAGS="$LDFLAGS"
1459 LDFLAGS="$LDFLAGS $3"
1460 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1461 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1462 # The linker can only warn and ignore the option if not recognized
1463 # So say no if there are warnings
1464 if test -s conftest.err; then
1465 # Append any errors to the config.log.
1466 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1467 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1468 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1469 if diff conftest.exp conftest.er2 >/dev/null; then
1470 $2=yes
1471 fi
1472 else
1473 $2=yes
1474 fi
1475 fi
1476 $RM -r conftest*
1477 LDFLAGS="$save_LDFLAGS"
1478])
1479
1480if test x"[$]$2" = xyes; then
1481 m4_if([$4], , :, [$4])
1482else
1483 m4_if([$5], , :, [$5])
1484fi
1485])# _LT_LINKER_OPTION
1486
1487# Old name:
1488AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1489dnl aclocal-1.4 backwards compatibility:
1490dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1491
1492
1493# LT_CMD_MAX_LEN
1494#---------------
1495AC_DEFUN([LT_CMD_MAX_LEN],
1496[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1497# find the maximum length of command line arguments
1498AC_MSG_CHECKING([the maximum length of command line arguments])
1499AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1500 i=0
1501 teststring="ABCD"
1502
1503 case $build_os in
1504 msdosdjgpp*)
1505 # On DJGPP, this test can blow up pretty badly due to problems in libc
1506 # (any single argument exceeding 2000 bytes causes a buffer overrun
1507 # during glob expansion). Even if it were fixed, the result of this
1508 # check would be larger than it should be.
1509 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1510 ;;
1511
1512 gnu*)
1513 # Under GNU Hurd, this test is not required because there is
1514 # no limit to the length of command line arguments.
1515 # Libtool will interpret -1 as no limit whatsoever
1516 lt_cv_sys_max_cmd_len=-1;
1517 ;;
1518
1519 cygwin* | mingw* | cegcc*)
1520 # On Win9x/ME, this test blows up -- it succeeds, but takes
1521 # about 5 minutes as the teststring grows exponentially.
1522 # Worse, since 9x/ME are not pre-emptively multitasking,
1523 # you end up with a "frozen" computer, even though with patience
1524 # the test eventually succeeds (with a max line length of 256k).
1525 # Instead, let's just punt: use the minimum linelength reported by
1526 # all of the supported platforms: 8192 (on NT/2K/XP).
1527 lt_cv_sys_max_cmd_len=8192;
1528 ;;
1529
1530 amigaos*)
1531 # On AmigaOS with pdksh, this test takes hours, literally.
1532 # So we just punt and use a minimum line length of 8192.
1533 lt_cv_sys_max_cmd_len=8192;
1534 ;;
1535
1536 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1537 # This has been around since 386BSD, at least. Likely further.
1538 if test -x /sbin/sysctl; then
1539 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1540 elif test -x /usr/sbin/sysctl; then
1541 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1542 else
1543 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1544 fi
1545 # And add a safety zone
1546 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1547 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1548 ;;
1549
1550 interix*)
1551 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1552 lt_cv_sys_max_cmd_len=196608
1553 ;;
1554
1555 osf*)
1556 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1557 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1558 # nice to cause kernel panics so lets avoid the loop below.
1559 # First set a reasonable default.
1560 lt_cv_sys_max_cmd_len=16384
1561 #
1562 if test -x /sbin/sysconfig; then
1563 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1564 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1565 esac
1566 fi
1567 ;;
1568 sco3.2v5*)
1569 lt_cv_sys_max_cmd_len=102400
1570 ;;
1571 sysv5* | sco5v6* | sysv4.2uw2*)
1572 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1573 if test -n "$kargmax"; then
1574 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1575 else
1576 lt_cv_sys_max_cmd_len=32768
1577 fi
1578 ;;
1579 *)
1580 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1581 if test -n "$lt_cv_sys_max_cmd_len"; then
1582 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1583 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1584 else
1585 # Make teststring a little bigger before we do anything with it.
1586 # a 1K string should be a reasonable start.
1587 for i in 1 2 3 4 5 6 7 8 ; do
1588 teststring=$teststring$teststring
1589 done
1590 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1591 # If test is not a shell built-in, we'll probably end up computing a
1592 # maximum length that is only half of the actual maximum length, but
1593 # we can't tell.
1594 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1595 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1596 test $i != 17 # 1/2 MB should be enough
1597 do
1598 i=`expr $i + 1`
1599 teststring=$teststring$teststring
1600 done
1601 # Only check the string length outside the loop.
1602 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1603 teststring=
1604 # Add a significant safety factor because C++ compilers can tack on
1605 # massive amounts of additional arguments before passing them to the
1606 # linker. It appears as though 1/2 is a usable value.
1607 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1608 fi
1609 ;;
1610 esac
1611])
1612if test -n $lt_cv_sys_max_cmd_len ; then
1613 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1614else
1615 AC_MSG_RESULT(none)
1616fi
1617max_cmd_len=$lt_cv_sys_max_cmd_len
1618_LT_DECL([], [max_cmd_len], [0],
1619 [What is the maximum length of a command?])
1620])# LT_CMD_MAX_LEN
1621
1622# Old name:
1623AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1624dnl aclocal-1.4 backwards compatibility:
1625dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1626
1627
1628# _LT_HEADER_DLFCN
1629# ----------------
1630m4_defun([_LT_HEADER_DLFCN],
1631[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1632])# _LT_HEADER_DLFCN
1633
1634
1635# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1636# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1637# ----------------------------------------------------------------
1638m4_defun([_LT_TRY_DLOPEN_SELF],
1639[m4_require([_LT_HEADER_DLFCN])dnl
1640if test "$cross_compiling" = yes; then :
1641 [$4]
1642else
1643 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1644 lt_status=$lt_dlunknown
1645 cat > conftest.$ac_ext <<_LT_EOF
1646[#line __oline__ "configure"
1647#include "confdefs.h"
1648
1649#if HAVE_DLFCN_H
1650#include <dlfcn.h>
1651#endif
1652
1653#include <stdio.h>
1654
1655#ifdef RTLD_GLOBAL
1656# define LT_DLGLOBAL RTLD_GLOBAL
1657#else
1658# ifdef DL_GLOBAL
1659# define LT_DLGLOBAL DL_GLOBAL
1660# else
1661# define LT_DLGLOBAL 0
1662# endif
1663#endif
1664
1665/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1666 find out it does not work in some platform. */
1667#ifndef LT_DLLAZY_OR_NOW
1668# ifdef RTLD_LAZY
1669# define LT_DLLAZY_OR_NOW RTLD_LAZY
1670# else
1671# ifdef DL_LAZY
1672# define LT_DLLAZY_OR_NOW DL_LAZY
1673# else
1674# ifdef RTLD_NOW
1675# define LT_DLLAZY_OR_NOW RTLD_NOW
1676# else
1677# ifdef DL_NOW
1678# define LT_DLLAZY_OR_NOW DL_NOW
1679# else
1680# define LT_DLLAZY_OR_NOW 0
1681# endif
1682# endif
1683# endif
1684# endif
1685#endif
1686
1687void fnord() { int i=42;}
1688int main ()
1689{
1690 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1691 int status = $lt_dlunknown;
1692
1693 if (self)
1694 {
1695 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1696 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1697 /* dlclose (self); */
1698 }
1699 else
1700 puts (dlerror ());
1701
1702 return status;
1703}]
1704_LT_EOF
1705 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1706 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1707 lt_status=$?
1708 case x$lt_status in
1709 x$lt_dlno_uscore) $1 ;;
1710 x$lt_dlneed_uscore) $2 ;;
1711 x$lt_dlunknown|x*) $3 ;;
1712 esac
1713 else :
1714 # compilation failed
1715 $3
1716 fi
1717fi
1718rm -fr conftest*
1719])# _LT_TRY_DLOPEN_SELF
1720
1721
1722# LT_SYS_DLOPEN_SELF
1723# ------------------
1724AC_DEFUN([LT_SYS_DLOPEN_SELF],
1725[m4_require([_LT_HEADER_DLFCN])dnl
1726if test "x$enable_dlopen" != xyes; then
1727 enable_dlopen=unknown
1728 enable_dlopen_self=unknown
1729 enable_dlopen_self_static=unknown
1730else
1731 lt_cv_dlopen=no
1732 lt_cv_dlopen_libs=
1733
1734 case $host_os in
1735 beos*)
1736 lt_cv_dlopen="load_add_on"
1737 lt_cv_dlopen_libs=
1738 lt_cv_dlopen_self=yes
1739 ;;
1740
1741 mingw* | pw32* | cegcc*)
1742 lt_cv_dlopen="LoadLibrary"
1743 lt_cv_dlopen_libs=
1744 ;;
1745
1746 cygwin*)
1747 lt_cv_dlopen="dlopen"
1748 lt_cv_dlopen_libs=
1749 ;;
1750
1751 darwin*)
1752 # if libdl is installed we need to link against it
1753 AC_CHECK_LIB([dl], [dlopen],
1754 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1755 lt_cv_dlopen="dyld"
1756 lt_cv_dlopen_libs=
1757 lt_cv_dlopen_self=yes
1758 ])
1759 ;;
1760
1761 *)
1762 AC_CHECK_FUNC([shl_load],
1763 [lt_cv_dlopen="shl_load"],
1764 [AC_CHECK_LIB([dld], [shl_load],
1765 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1766 [AC_CHECK_FUNC([dlopen],
1767 [lt_cv_dlopen="dlopen"],
1768 [AC_CHECK_LIB([dl], [dlopen],
1769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1770 [AC_CHECK_LIB([svld], [dlopen],
1771 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1772 [AC_CHECK_LIB([dld], [dld_link],
1773 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1774 ])
1775 ])
1776 ])
1777 ])
1778 ])
1779 ;;
1780 esac
1781
1782 if test "x$lt_cv_dlopen" != xno; then
1783 enable_dlopen=yes
1784 else
1785 enable_dlopen=no
1786 fi
1787
1788 case $lt_cv_dlopen in
1789 dlopen)
1790 save_CPPFLAGS="$CPPFLAGS"
1791 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1792
1793 save_LDFLAGS="$LDFLAGS"
1794 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1795
1796 save_LIBS="$LIBS"
1797 LIBS="$lt_cv_dlopen_libs $LIBS"
1798
1799 AC_CACHE_CHECK([whether a program can dlopen itself],
1800 lt_cv_dlopen_self, [dnl
1801 _LT_TRY_DLOPEN_SELF(
1802 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1803 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1804 ])
1805
1806 if test "x$lt_cv_dlopen_self" = xyes; then
1807 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1808 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1809 lt_cv_dlopen_self_static, [dnl
1810 _LT_TRY_DLOPEN_SELF(
1811 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1812 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1813 ])
1814 fi
1815
1816 CPPFLAGS="$save_CPPFLAGS"
1817 LDFLAGS="$save_LDFLAGS"
1818 LIBS="$save_LIBS"
1819 ;;
1820 esac
1821
1822 case $lt_cv_dlopen_self in
1823 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1824 *) enable_dlopen_self=unknown ;;
1825 esac
1826
1827 case $lt_cv_dlopen_self_static in
1828 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1829 *) enable_dlopen_self_static=unknown ;;
1830 esac
1831fi
1832_LT_DECL([dlopen_support], [enable_dlopen], [0],
1833 [Whether dlopen is supported])
1834_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1835 [Whether dlopen of programs is supported])
1836_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1837 [Whether dlopen of statically linked programs is supported])
1838])# LT_SYS_DLOPEN_SELF
1839
1840# Old name:
1841AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1842dnl aclocal-1.4 backwards compatibility:
1843dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1844
1845
1846# _LT_COMPILER_C_O([TAGNAME])
1847# ---------------------------
1848# Check to see if options -c and -o are simultaneously supported by compiler.
1849# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1850m4_defun([_LT_COMPILER_C_O],
1851[m4_require([_LT_DECL_SED])dnl
1852m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1853m4_require([_LT_TAG_COMPILER])dnl
1854AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1855 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1856 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1857 $RM -r conftest 2>/dev/null
1858 mkdir conftest
1859 cd conftest
1860 mkdir out
1861 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1862
1863 lt_compiler_flag="-o out/conftest2.$ac_objext"
1864 # Insert the option either (1) after the last *FLAGS variable, or
1865 # (2) before a word containing "conftest.", or (3) at the end.
1866 # Note that $ac_compile itself does not contain backslashes and begins
1867 # with a dollar sign (not a hyphen), so the echo should work correctly.
1868 lt_compile=`echo "$ac_compile" | $SED \
1869 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1870 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1871 -e 's:$: $lt_compiler_flag:'`
1872 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1873 (eval "$lt_compile" 2>out/conftest.err)
1874 ac_status=$?
1875 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1876 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1877 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1878 then
1879 # The compiler can only warn and ignore the option if not recognized
1880 # So say no if there are warnings
1881 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1882 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1883 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1884 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1885 fi
1886 fi
1887 chmod u+w . 2>&AS_MESSAGE_LOG_FD
1888 $RM conftest*
1889 # SGI C++ compiler will create directory out/ii_files/ for
1890 # template instantiation
1891 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1892 $RM out/* && rmdir out
1893 cd ..
1894 $RM -r conftest
1895 $RM conftest*
1896])
1897_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1898 [Does compiler simultaneously support -c and -o options?])
1899])# _LT_COMPILER_C_O
1900
1901
1902# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1903# ----------------------------------
1904# Check to see if we can do hard links to lock some files if needed
1905m4_defun([_LT_COMPILER_FILE_LOCKS],
1906[m4_require([_LT_ENABLE_LOCK])dnl
1907m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1908_LT_COMPILER_C_O([$1])
1909
1910hard_links="nottested"
1911if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1912 # do not overwrite the value of need_locks provided by the user
1913 AC_MSG_CHECKING([if we can lock with hard links])
1914 hard_links=yes
1915 $RM conftest*
1916 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1917 touch conftest.a
1918 ln conftest.a conftest.b 2>&5 || hard_links=no
1919 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1920 AC_MSG_RESULT([$hard_links])
1921 if test "$hard_links" = no; then
1922 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1923 need_locks=warn
1924 fi
1925else
1926 need_locks=no
1927fi
1928_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1929])# _LT_COMPILER_FILE_LOCKS
1930
1931
1932# _LT_CHECK_OBJDIR
1933# ----------------
1934m4_defun([_LT_CHECK_OBJDIR],
1935[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1936[rm -f .libs 2>/dev/null
1937mkdir .libs 2>/dev/null
1938if test -d .libs; then
1939 lt_cv_objdir=.libs
1940else
1941 # MS-DOS does not allow filenames that begin with a dot.
1942 lt_cv_objdir=_libs
1943fi
1944rmdir .libs 2>/dev/null])
1945objdir=$lt_cv_objdir
1946_LT_DECL([], [objdir], [0],
1947 [The name of the directory that contains temporary libtool files])dnl
1948m4_pattern_allow([LT_OBJDIR])dnl
1949AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1950 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1951])# _LT_CHECK_OBJDIR
1952
1953
1954# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1955# --------------------------------------
1956# Check hardcoding attributes.
1957m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
1958[AC_MSG_CHECKING([how to hardcode library paths into programs])
1959_LT_TAGVAR(hardcode_action, $1)=
1960if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1961 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1962 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1963
1964 # We can hardcode non-existent directories.
1965 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
1966 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1967 # have to relink, otherwise we might link with an installed library
1968 # when we should be linking with a yet-to-be-installed one
1969 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1970 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
1971 # Linking always hardcodes the temporary library directory.
1972 _LT_TAGVAR(hardcode_action, $1)=relink
1973 else
1974 # We can link without hardcoding, and we can hardcode nonexisting dirs.
1975 _LT_TAGVAR(hardcode_action, $1)=immediate
1976 fi
1977else
1978 # We cannot hardcode anything, or else we can only hardcode existing
1979 # directories.
1980 _LT_TAGVAR(hardcode_action, $1)=unsupported
1981fi
1982AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
1983
1984if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
1985 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
1986 # Fast installation is not supported
1987 enable_fast_install=no
1988elif test "$shlibpath_overrides_runpath" = yes ||
1989 test "$enable_shared" = no; then
1990 # Fast installation is not necessary
1991 enable_fast_install=needless
1992fi
1993_LT_TAGDECL([], [hardcode_action], [0],
1994 [How to hardcode a shared library path into an executable])
1995])# _LT_LINKER_HARDCODE_LIBPATH
1996
1997
1998# _LT_CMD_STRIPLIB
1999# ----------------
2000m4_defun([_LT_CMD_STRIPLIB],
2001[m4_require([_LT_DECL_EGREP])
2002striplib=
2003old_striplib=
2004AC_MSG_CHECKING([whether stripping libraries is possible])
2005if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2006 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2007 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2008 AC_MSG_RESULT([yes])
2009else
2010# FIXME - insert some real tests, host_os isn't really good enough
2011 case $host_os in
2012 darwin*)
2013 if test -n "$STRIP" ; then
2014 striplib="$STRIP -x"
2015 old_striplib="$STRIP -S"
2016 AC_MSG_RESULT([yes])
2017 else
2018 AC_MSG_RESULT([no])
2019 fi
2020 ;;
2021 *)
2022 AC_MSG_RESULT([no])
2023 ;;
2024 esac
2025fi
2026_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2027_LT_DECL([], [striplib], [1])
2028])# _LT_CMD_STRIPLIB
2029
2030
2031# _LT_SYS_DYNAMIC_LINKER([TAG])
2032# -----------------------------
2033# PORTME Fill in your ld.so characteristics
2034m4_defun([_LT_SYS_DYNAMIC_LINKER],
2035[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2036m4_require([_LT_DECL_EGREP])dnl
2037m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2038m4_require([_LT_DECL_OBJDUMP])dnl
2039m4_require([_LT_DECL_SED])dnl
2040AC_MSG_CHECKING([dynamic linker characteristics])
2041m4_if([$1],
2042 [], [
2043if test "$GCC" = yes; then
2044 case $host_os in
2045 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2046 *) lt_awk_arg="/^libraries:/" ;;
2047 esac
2048 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2049 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2050 # if the path contains ";" then we assume it to be the separator
2051 # otherwise default to the standard path separator (i.e. ":") - it is
2052 # assumed that no part of a normal pathname contains ";" but that should
2053 # okay in the real world where ";" in dirpaths is itself problematic.
2054 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2055 else
2056 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2057 fi
2058 # Ok, now we have the path, separated by spaces, we can step through it
2059 # and add multilib dir if necessary.
2060 lt_tmp_lt_search_path_spec=
2061 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2062 for lt_sys_path in $lt_search_path_spec; do
2063 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2064 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2065 else
2066 test -d "$lt_sys_path" && \
2067 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2068 fi
2069 done
2070 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2071BEGIN {RS=" "; FS="/|\n";} {
2072 lt_foo="";
2073 lt_count=0;
2074 for (lt_i = NF; lt_i > 0; lt_i--) {
2075 if ($lt_i != "" && $lt_i != ".") {
2076 if ($lt_i == "..") {
2077 lt_count++;
2078 } else {
2079 if (lt_count == 0) {
2080 lt_foo="/" $lt_i lt_foo;
2081 } else {
2082 lt_count--;
2083 }
2084 }
2085 }
2086 }
2087 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2088 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2089}'`
2090 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2091else
2092 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2093fi])
2094library_names_spec=
2095libname_spec='lib$name'
2096soname_spec=
2097shrext_cmds=".so"
2098postinstall_cmds=
2099postuninstall_cmds=
2100finish_cmds=
2101finish_eval=
2102shlibpath_var=
2103shlibpath_overrides_runpath=unknown
2104version_type=none
2105dynamic_linker="$host_os ld.so"
2106sys_lib_dlsearch_path_spec="/lib /usr/lib"
2107need_lib_prefix=unknown
2108hardcode_into_libs=no
2109
2110# when you set need_version to no, make sure it does not cause -set_version
2111# flags to be left without arguments
2112need_version=unknown
2113
2114case $host_os in
2115aix3*)
2116 version_type=linux
2117 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2118 shlibpath_var=LIBPATH
2119
2120 # AIX 3 has no versioning support, so we append a major version to the name.
2121 soname_spec='${libname}${release}${shared_ext}$major'
2122 ;;
2123
2124aix[[4-9]]*)
2125 version_type=linux
2126 need_lib_prefix=no
2127 need_version=no
2128 hardcode_into_libs=yes
2129 if test "$host_cpu" = ia64; then
2130 # AIX 5 supports IA64
2131 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2132 shlibpath_var=LD_LIBRARY_PATH
2133 else
2134 # With GCC up to 2.95.x, collect2 would create an import file
2135 # for dependence libraries. The import file would start with
2136 # the line `#! .'. This would cause the generated library to
2137 # depend on `.', always an invalid library. This was fixed in
2138 # development snapshots of GCC prior to 3.0.
2139 case $host_os in
2140 aix4 | aix4.[[01]] | aix4.[[01]].*)
2141 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2142 echo ' yes '
2143 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2144 :
2145 else
2146 can_build_shared=no
2147 fi
2148 ;;
2149 esac
2150 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2151 # soname into executable. Probably we can add versioning support to
2152 # collect2, so additional links can be useful in future.
2153 if test "$aix_use_runtimelinking" = yes; then
2154 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2155 # instead of lib<name>.a to let people know that these are not
2156 # typical AIX shared libraries.
2157 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2158 else
2159 # We preserve .a as extension for shared libraries through AIX4.2
2160 # and later when we are not doing run time linking.
2161 library_names_spec='${libname}${release}.a $libname.a'
2162 soname_spec='${libname}${release}${shared_ext}$major'
2163 fi
2164 shlibpath_var=LIBPATH
2165 fi
2166 ;;
2167
2168amigaos*)
2169 case $host_cpu in
2170 powerpc)
2171 # Since July 2007 AmigaOS4 officially supports .so libraries.
2172 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2173 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2174 ;;
2175 m68k)
2176 library_names_spec='$libname.ixlibrary $libname.a'
2177 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2178 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'
2179 ;;
2180 esac
2181 ;;
2182
2183beos*)
2184 library_names_spec='${libname}${shared_ext}'
2185 dynamic_linker="$host_os ld.so"
2186 shlibpath_var=LIBRARY_PATH
2187 ;;
2188
2189bsdi[[45]]*)
2190 version_type=linux
2191 need_version=no
2192 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2193 soname_spec='${libname}${release}${shared_ext}$major'
2194 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2195 shlibpath_var=LD_LIBRARY_PATH
2196 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2197 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2198 # the default ld.so.conf also contains /usr/contrib/lib and
2199 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2200 # libtool to hard-code these into programs
2201 ;;
2202
2203cygwin* | mingw* | pw32* | cegcc*)
2204 version_type=windows
2205 shrext_cmds=".dll"
2206 need_version=no
2207 need_lib_prefix=no
2208
2209 case $GCC,$host_os in
2210 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2211 library_names_spec='$libname.dll.a'
2212 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2213 postinstall_cmds='base_file=`basename \${file}`~
2214 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2215 dldir=$destdir/`dirname \$dlpath`~
2216 test -d \$dldir || mkdir -p \$dldir~
2217 $install_prog $dir/$dlname \$dldir/$dlname~
2218 chmod a+x \$dldir/$dlname~
2219 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2220 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2221 fi'
2222 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2223 dlpath=$dir/\$dldll~
2224 $RM \$dlpath'
2225 shlibpath_overrides_runpath=yes
2226
2227 case $host_os in
2228 cygwin*)
2229 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2230 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2231 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2232 ;;
2233 mingw* | cegcc*)
2234 # MinGW DLLs use traditional 'lib' prefix
2235 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2236 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2237 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2238 # It is most probably a Windows format PATH printed by
2239 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2240 # path with ; separators, and with drive letters. We can handle the
2241 # drive letters (cygwin fileutils understands them), so leave them,
2242 # especially as we might pass files found there to a mingw objdump,
2243 # which wouldn't understand a cygwinified path. Ahh.
2244 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2245 else
2246 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2247 fi
2248 ;;
2249 pw32*)
2250 # pw32 DLLs use 'pw' prefix rather than 'lib'
2251 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2252 ;;
2253 esac
2254 ;;
2255
2256 *)
2257 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2258 ;;
2259 esac
2260 dynamic_linker='Win32 ld.exe'
2261 # FIXME: first we should search . and the directory the executable is in
2262 shlibpath_var=PATH
2263 ;;
2264
2265darwin* | rhapsody*)
2266 dynamic_linker="$host_os dyld"
2267 version_type=darwin
2268 need_lib_prefix=no
2269 need_version=no
2270 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2271 soname_spec='${libname}${release}${major}$shared_ext'
2272 shlibpath_overrides_runpath=yes
2273 shlibpath_var=DYLD_LIBRARY_PATH
2274 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2275m4_if([$1], [],[
2276 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2277 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2278 ;;
2279
2280dgux*)
2281 version_type=linux
2282 need_lib_prefix=no
2283 need_version=no
2284 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2285 soname_spec='${libname}${release}${shared_ext}$major'
2286 shlibpath_var=LD_LIBRARY_PATH
2287 ;;
2288
2289freebsd1*)
2290 dynamic_linker=no
2291 ;;
2292
2293freebsd* | dragonfly*)
2294 # DragonFly does not have aout. When/if they implement a new
2295 # versioning mechanism, adjust this.
2296 if test -x /usr/bin/objformat; then
2297 objformat=`/usr/bin/objformat`
2298 else
2299 case $host_os in
2300 freebsd[[123]]*) objformat=aout ;;
2301 *) objformat=elf ;;
2302 esac
2303 fi
2304 version_type=freebsd-$objformat
2305 case $version_type in
2306 freebsd-elf*)
2307 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2308 need_version=no
2309 need_lib_prefix=no
2310 ;;
2311 freebsd-*)
2312 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2313 need_version=yes
2314 ;;
2315 esac
2316 shlibpath_var=LD_LIBRARY_PATH
2317 case $host_os in
2318 freebsd2*)
2319 shlibpath_overrides_runpath=yes
2320 ;;
2321 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2322 shlibpath_overrides_runpath=yes
2323 hardcode_into_libs=yes
2324 ;;
2325 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2326 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2327 shlibpath_overrides_runpath=no
2328 hardcode_into_libs=yes
2329 ;;
2330 *) # from 4.6 on, and DragonFly
2331 shlibpath_overrides_runpath=yes
2332 hardcode_into_libs=yes
2333 ;;
2334 esac
2335 ;;
2336
2337gnu*)
2338 version_type=linux
2339 need_lib_prefix=no
2340 need_version=no
2341 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2342 soname_spec='${libname}${release}${shared_ext}$major'
2343 shlibpath_var=LD_LIBRARY_PATH
2344 hardcode_into_libs=yes
2345 ;;
2346
2347hpux9* | hpux10* | hpux11*)
2348 # Give a soname corresponding to the major version so that dld.sl refuses to
2349 # link against other versions.
2350 version_type=sunos
2351 need_lib_prefix=no
2352 need_version=no
2353 case $host_cpu in
2354 ia64*)
2355 shrext_cmds='.so'
2356 hardcode_into_libs=yes
2357 dynamic_linker="$host_os dld.so"
2358 shlibpath_var=LD_LIBRARY_PATH
2359 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2360 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2361 soname_spec='${libname}${release}${shared_ext}$major'
2362 if test "X$HPUX_IA64_MODE" = X32; then
2363 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2364 else
2365 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2366 fi
2367 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2368 ;;
2369 hppa*64*)
2370 shrext_cmds='.sl'
2371 hardcode_into_libs=yes
2372 dynamic_linker="$host_os dld.sl"
2373 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_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 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2378 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2379 ;;
2380 *)
2381 shrext_cmds='.sl'
2382 dynamic_linker="$host_os dld.sl"
2383 shlibpath_var=SHLIB_PATH
2384 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2385 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2386 soname_spec='${libname}${release}${shared_ext}$major'
2387 ;;
2388 esac
2389 # HP-UX runs *really* slowly unless shared libraries are mode 555.
2390 postinstall_cmds='chmod 555 $lib'
2391 ;;
2392
2393interix[[3-9]]*)
2394 version_type=linux
2395 need_lib_prefix=no
2396 need_version=no
2397 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2398 soname_spec='${libname}${release}${shared_ext}$major'
2399 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2400 shlibpath_var=LD_LIBRARY_PATH
2401 shlibpath_overrides_runpath=no
2402 hardcode_into_libs=yes
2403 ;;
2404
2405irix5* | irix6* | nonstopux*)
2406 case $host_os in
2407 nonstopux*) version_type=nonstopux ;;
2408 *)
2409 if test "$lt_cv_prog_gnu_ld" = yes; then
2410 version_type=linux
2411 else
2412 version_type=irix
2413 fi ;;
2414 esac
2415 need_lib_prefix=no
2416 need_version=no
2417 soname_spec='${libname}${release}${shared_ext}$major'
2418 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2419 case $host_os in
2420 irix5* | nonstopux*)
2421 libsuff= shlibsuff=
2422 ;;
2423 *)
2424 case $LD in # libtool.m4 will add one of these switches to LD
2425 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2426 libsuff= shlibsuff= libmagic=32-bit;;
2427 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2428 libsuff=32 shlibsuff=N32 libmagic=N32;;
2429 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2430 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2431 *) libsuff= shlibsuff= libmagic=never-match;;
2432 esac
2433 ;;
2434 esac
2435 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2436 shlibpath_overrides_runpath=no
2437 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2438 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2439 hardcode_into_libs=yes
2440 ;;
2441
2442# No shared lib support for Linux oldld, aout, or coff.
2443linux*oldld* | linux*aout* | linux*coff*)
2444 dynamic_linker=no
2445 ;;
2446
2447# This must be Linux ELF.
2448linux* | k*bsd*-gnu | kopensolaris*-gnu)
2449 version_type=linux
2450 need_lib_prefix=no
2451 need_version=no
2452 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2453 soname_spec='${libname}${release}${shared_ext}$major'
2454 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2455 shlibpath_var=LD_LIBRARY_PATH
2456 shlibpath_overrides_runpath=no
2457 # Some binutils ld are patched to set DT_RUNPATH
2458 save_LDFLAGS=$LDFLAGS
2459 save_libdir=$libdir
2460 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2461 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2462 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2463 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2464 [shlibpath_overrides_runpath=yes])])
2465 LDFLAGS=$save_LDFLAGS
2466 libdir=$save_libdir
2467
2468 # This implies no fast_install, which is unacceptable.
2469 # Some rework will be needed to allow for fast_install
2470 # before this can be enabled.
2471 hardcode_into_libs=yes
2472
2473 # Append ld.so.conf contents to the search path
2474 if test -f /etc/ld.so.conf; then
2475 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' ' '`
2476 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2477 fi
2478
2479 # We used to test for /lib/ld.so.1 and disable shared libraries on
2480 # powerpc, because MkLinux only supported shared libraries with the
2481 # GNU dynamic linker. Since this was broken with cross compilers,
2482 # most powerpc-linux boxes support dynamic linking these days and
2483 # people can always --disable-shared, the test was removed, and we
2484 # assume the GNU/Linux dynamic linker is in use.
2485 dynamic_linker='GNU/Linux ld.so'
2486 ;;
2487
2488netbsdelf*-gnu)
2489 version_type=linux
2490 need_lib_prefix=no
2491 need_version=no
2492 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2493 soname_spec='${libname}${release}${shared_ext}$major'
2494 shlibpath_var=LD_LIBRARY_PATH
2495 shlibpath_overrides_runpath=no
2496 hardcode_into_libs=yes
2497 dynamic_linker='NetBSD ld.elf_so'
2498 ;;
2499
2500netbsd*)
2501 version_type=sunos
2502 need_lib_prefix=no
2503 need_version=no
2504 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2505 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2506 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2507 dynamic_linker='NetBSD (a.out) ld.so'
2508 else
2509 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2510 soname_spec='${libname}${release}${shared_ext}$major'
2511 dynamic_linker='NetBSD ld.elf_so'
2512 fi
2513 shlibpath_var=LD_LIBRARY_PATH
2514 shlibpath_overrides_runpath=yes
2515 hardcode_into_libs=yes
2516 ;;
2517
2518newsos6)
2519 version_type=linux
2520 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2521 shlibpath_var=LD_LIBRARY_PATH
2522 shlibpath_overrides_runpath=yes
2523 ;;
2524
2525*nto* | *qnx*)
2526 version_type=qnx
2527 need_lib_prefix=no
2528 need_version=no
2529 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2530 soname_spec='${libname}${release}${shared_ext}$major'
2531 shlibpath_var=LD_LIBRARY_PATH
2532 shlibpath_overrides_runpath=no
2533 hardcode_into_libs=yes
2534 dynamic_linker='ldqnx.so'
2535 ;;
2536
2537openbsd*)
2538 version_type=sunos
2539 sys_lib_dlsearch_path_spec="/usr/lib"
2540 need_lib_prefix=no
2541 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2542 case $host_os in
2543 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2544 *) need_version=no ;;
2545 esac
2546 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2547 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2548 shlibpath_var=LD_LIBRARY_PATH
2549 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2550 case $host_os in
2551 openbsd2.[[89]] | openbsd2.[[89]].*)
2552 shlibpath_overrides_runpath=no
2553 ;;
2554 *)
2555 shlibpath_overrides_runpath=yes
2556 ;;
2557 esac
2558 else
2559 shlibpath_overrides_runpath=yes
2560 fi
2561 ;;
2562
2563os2*)
2564 libname_spec='$name'
2565 shrext_cmds=".dll"
2566 need_lib_prefix=no
2567 library_names_spec='$libname${shared_ext} $libname.a'
2568 dynamic_linker='OS/2 ld.exe'
2569 shlibpath_var=LIBPATH
2570 ;;
2571
2572osf3* | osf4* | osf5*)
2573 version_type=osf
2574 need_lib_prefix=no
2575 need_version=no
2576 soname_spec='${libname}${release}${shared_ext}$major'
2577 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2578 shlibpath_var=LD_LIBRARY_PATH
2579 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2580 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2581 ;;
2582
2583rdos*)
2584 dynamic_linker=no
2585 ;;
2586
2587solaris*)
2588 version_type=linux
2589 need_lib_prefix=no
2590 need_version=no
2591 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2592 soname_spec='${libname}${release}${shared_ext}$major'
2593 shlibpath_var=LD_LIBRARY_PATH
2594 shlibpath_overrides_runpath=yes
2595 hardcode_into_libs=yes
2596 # ldd complains unless libraries are executable
2597 postinstall_cmds='chmod +x $lib'
2598 ;;
2599
2600sunos4*)
2601 version_type=sunos
2602 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2603 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2604 shlibpath_var=LD_LIBRARY_PATH
2605 shlibpath_overrides_runpath=yes
2606 if test "$with_gnu_ld" = yes; then
2607 need_lib_prefix=no
2608 fi
2609 need_version=yes
2610 ;;
2611
2612sysv4 | sysv4.3*)
2613 version_type=linux
2614 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2615 soname_spec='${libname}${release}${shared_ext}$major'
2616 shlibpath_var=LD_LIBRARY_PATH
2617 case $host_vendor in
2618 sni)
2619 shlibpath_overrides_runpath=no
2620 need_lib_prefix=no
2621 runpath_var=LD_RUN_PATH
2622 ;;
2623 siemens)
2624 need_lib_prefix=no
2625 ;;
2626 motorola)
2627 need_lib_prefix=no
2628 need_version=no
2629 shlibpath_overrides_runpath=no
2630 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2631 ;;
2632 esac
2633 ;;
2634
2635sysv4*MP*)
2636 if test -d /usr/nec ;then
2637 version_type=linux
2638 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2639 soname_spec='$libname${shared_ext}.$major'
2640 shlibpath_var=LD_LIBRARY_PATH
2641 fi
2642 ;;
2643
2644sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2645 version_type=freebsd-elf
2646 need_lib_prefix=no
2647 need_version=no
2648 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2649 soname_spec='${libname}${release}${shared_ext}$major'
2650 shlibpath_var=LD_LIBRARY_PATH
2651 shlibpath_overrides_runpath=yes
2652 hardcode_into_libs=yes
2653 if test "$with_gnu_ld" = yes; then
2654 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2655 else
2656 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2657 case $host_os in
2658 sco3.2v5*)
2659 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2660 ;;
2661 esac
2662 fi
2663 sys_lib_dlsearch_path_spec='/usr/lib'
2664 ;;
2665
2666tpf*)
2667 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2668 version_type=linux
2669 need_lib_prefix=no
2670 need_version=no
2671 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2672 shlibpath_var=LD_LIBRARY_PATH
2673 shlibpath_overrides_runpath=no
2674 hardcode_into_libs=yes
2675 ;;
2676
2677uts4*)
2678 version_type=linux
2679 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2680 soname_spec='${libname}${release}${shared_ext}$major'
2681 shlibpath_var=LD_LIBRARY_PATH
2682 ;;
2683
2684*)
2685 dynamic_linker=no
2686 ;;
2687esac
2688AC_MSG_RESULT([$dynamic_linker])
2689test "$dynamic_linker" = no && can_build_shared=no
2690
2691variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2692if test "$GCC" = yes; then
2693 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2694fi
2695
2696if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2697 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2698fi
2699if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2700 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2701fi
2702
2703_LT_DECL([], [variables_saved_for_relink], [1],
2704 [Variables whose values should be saved in libtool wrapper scripts and
2705 restored at link time])
2706_LT_DECL([], [need_lib_prefix], [0],
2707 [Do we need the "lib" prefix for modules?])
2708_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2709_LT_DECL([], [version_type], [0], [Library versioning type])
2710_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2711_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2712_LT_DECL([], [shlibpath_overrides_runpath], [0],
2713 [Is shlibpath searched before the hard-coded library search path?])
2714_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2715_LT_DECL([], [library_names_spec], [1],
2716 [[List of archive names. First name is the real one, the rest are links.
2717 The last name is the one that the linker finds with -lNAME]])
2718_LT_DECL([], [soname_spec], [1],
2719 [[The coded name of the library, if different from the real name]])
2720_LT_DECL([], [postinstall_cmds], [2],
2721 [Command to use after installation of a shared archive])
2722_LT_DECL([], [postuninstall_cmds], [2],
2723 [Command to use after uninstallation of a shared archive])
2724_LT_DECL([], [finish_cmds], [2],
2725 [Commands used to finish a libtool library installation in a directory])
2726_LT_DECL([], [finish_eval], [1],
2727 [[As "finish_cmds", except a single script fragment to be evaled but
2728 not shown]])
2729_LT_DECL([], [hardcode_into_libs], [0],
2730 [Whether we should hardcode library paths into libraries])
2731_LT_DECL([], [sys_lib_search_path_spec], [2],
2732 [Compile-time system search path for libraries])
2733_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2734 [Run-time system search path for libraries])
2735])# _LT_SYS_DYNAMIC_LINKER
2736
2737
2738# _LT_PATH_TOOL_PREFIX(TOOL)
2739# --------------------------
2740# find a file program which can recognize shared library
2741AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2742[m4_require([_LT_DECL_EGREP])dnl
2743AC_MSG_CHECKING([for $1])
2744AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2745[case $MAGIC_CMD in
2746[[\\/*] | ?:[\\/]*])
2747 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2748 ;;
2749*)
2750 lt_save_MAGIC_CMD="$MAGIC_CMD"
2751 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2752dnl $ac_dummy forces splitting on constant user-supplied paths.
2753dnl POSIX.2 word splitting is done only on the output of word expansions,
2754dnl not every word. This closes a longstanding sh security hole.
2755 ac_dummy="m4_if([$2], , $PATH, [$2])"
2756 for ac_dir in $ac_dummy; do
2757 IFS="$lt_save_ifs"
2758 test -z "$ac_dir" && ac_dir=.
2759 if test -f $ac_dir/$1; then
2760 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2761 if test -n "$file_magic_test_file"; then
2762 case $deplibs_check_method in
2763 "file_magic "*)
2764 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2765 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2766 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2767 $EGREP "$file_magic_regex" > /dev/null; then
2768 :
2769 else
2770 cat <<_LT_EOF 1>&2
2771
2772*** Warning: the command libtool uses to detect shared libraries,
2773*** $file_magic_cmd, produces output that libtool cannot recognize.
2774*** The result is that libtool may fail to recognize shared libraries
2775*** as such. This will affect the creation of libtool libraries that
2776*** depend on shared libraries, but programs linked with such libtool
2777*** libraries will work regardless of this problem. Nevertheless, you
2778*** may want to report the problem to your system manager and/or to
2779*** bug-libtool@gnu.org
2780
2781_LT_EOF
2782 fi ;;
2783 esac
2784 fi
2785 break
2786 fi
2787 done
2788 IFS="$lt_save_ifs"
2789 MAGIC_CMD="$lt_save_MAGIC_CMD"
2790 ;;
2791esac])
2792MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2793if test -n "$MAGIC_CMD"; then
2794 AC_MSG_RESULT($MAGIC_CMD)
2795else
2796 AC_MSG_RESULT(no)
2797fi
2798_LT_DECL([], [MAGIC_CMD], [0],
2799 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2800])# _LT_PATH_TOOL_PREFIX
2801
2802# Old name:
2803AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2804dnl aclocal-1.4 backwards compatibility:
2805dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2806
2807
2808# _LT_PATH_MAGIC
2809# --------------
2810# find a file program which can recognize a shared library
2811m4_defun([_LT_PATH_MAGIC],
2812[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2813if test -z "$lt_cv_path_MAGIC_CMD"; then
2814 if test -n "$ac_tool_prefix"; then
2815 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2816 else
2817 MAGIC_CMD=:
2818 fi
2819fi
2820])# _LT_PATH_MAGIC
2821
2822
2823# LT_PATH_LD
2824# ----------
2825# find the pathname to the GNU or non-GNU linker
2826AC_DEFUN([LT_PATH_LD],
2827[AC_REQUIRE([AC_PROG_CC])dnl
2828AC_REQUIRE([AC_CANONICAL_HOST])dnl
2829AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2830m4_require([_LT_DECL_SED])dnl
2831m4_require([_LT_DECL_EGREP])dnl
2832
2833AC_ARG_WITH([gnu-ld],
2834 [AS_HELP_STRING([--with-gnu-ld],
2835 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2836 [test "$withval" = no || with_gnu_ld=yes],
2837 [with_gnu_ld=no])dnl
2838
2839ac_prog=ld
2840if test "$GCC" = yes; then
2841 # Check if gcc -print-prog-name=ld gives a path.
2842 AC_MSG_CHECKING([for ld used by $CC])
2843 case $host in
2844 *-*-mingw*)
2845 # gcc leaves a trailing carriage return which upsets mingw
2846 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2847 *)
2848 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2849 esac
2850 case $ac_prog in
2851 # Accept absolute paths.
2852 [[\\/]]* | ?:[[\\/]]*)
2853 re_direlt='/[[^/]][[^/]]*/\.\./'
2854 # Canonicalize the pathname of ld
2855 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2856 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2857 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2858 done
2859 test -z "$LD" && LD="$ac_prog"
2860 ;;
2861 "")
2862 # If it fails, then pretend we aren't using GCC.
2863 ac_prog=ld
2864 ;;
2865 *)
2866 # If it is relative, then search for the first ld in PATH.
2867 with_gnu_ld=unknown
2868 ;;
2869 esac
2870elif test "$with_gnu_ld" = yes; then
2871 AC_MSG_CHECKING([for GNU ld])
2872else
2873 AC_MSG_CHECKING([for non-GNU ld])
2874fi
2875AC_CACHE_VAL(lt_cv_path_LD,
2876[if test -z "$LD"; then
2877 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2878 for ac_dir in $PATH; do
2879 IFS="$lt_save_ifs"
2880 test -z "$ac_dir" && ac_dir=.
2881 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2882 lt_cv_path_LD="$ac_dir/$ac_prog"
2883 # Check to see if the program is GNU ld. I'd rather use --version,
2884 # but apparently some variants of GNU ld only accept -v.
2885 # Break only if it was the GNU/non-GNU ld that we prefer.
2886 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2887 *GNU* | *'with BFD'*)
2888 test "$with_gnu_ld" != no && break
2889 ;;
2890 *)
2891 test "$with_gnu_ld" != yes && break
2892 ;;
2893 esac
2894 fi
2895 done
2896 IFS="$lt_save_ifs"
2897else
2898 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2899fi])
2900LD="$lt_cv_path_LD"
2901if test -n "$LD"; then
2902 AC_MSG_RESULT($LD)
2903else
2904 AC_MSG_RESULT(no)
2905fi
2906test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2907_LT_PATH_LD_GNU
2908AC_SUBST([LD])
2909
2910_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2911])# LT_PATH_LD
2912
2913# Old names:
2914AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2915AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2916dnl aclocal-1.4 backwards compatibility:
2917dnl AC_DEFUN([AM_PROG_LD], [])
2918dnl AC_DEFUN([AC_PROG_LD], [])
2919
2920
2921# _LT_PATH_LD_GNU
2922#- --------------
2923m4_defun([_LT_PATH_LD_GNU],
2924[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2925[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2926case `$LD -v 2>&1 </dev/null` in
2927*GNU* | *'with BFD'*)
2928 lt_cv_prog_gnu_ld=yes
2929 ;;
2930*)
2931 lt_cv_prog_gnu_ld=no
2932 ;;
2933esac])
2934with_gnu_ld=$lt_cv_prog_gnu_ld
2935])# _LT_PATH_LD_GNU
2936
2937
2938# _LT_CMD_RELOAD
2939# --------------
2940# find reload flag for linker
2941# -- PORTME Some linkers may need a different reload flag.
2942m4_defun([_LT_CMD_RELOAD],
2943[AC_CACHE_CHECK([for $LD option to reload object files],
2944 lt_cv_ld_reload_flag,
2945 [lt_cv_ld_reload_flag='-r'])
2946reload_flag=$lt_cv_ld_reload_flag
2947case $reload_flag in
2948"" | " "*) ;;
2949*) reload_flag=" $reload_flag" ;;
2950esac
2951reload_cmds='$LD$reload_flag -o $output$reload_objs'
2952case $host_os in
2953 darwin*)
2954 if test "$GCC" = yes; then
2955 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2956 else
2957 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2958 fi
2959 ;;
2960esac
2961_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2962_LT_DECL([], [reload_cmds], [2])dnl
2963])# _LT_CMD_RELOAD
2964
2965
2966# _LT_CHECK_MAGIC_METHOD
2967# ----------------------
2968# how to check for library dependencies
2969# -- PORTME fill in with the dynamic library characteristics
2970m4_defun([_LT_CHECK_MAGIC_METHOD],
2971[m4_require([_LT_DECL_EGREP])
2972m4_require([_LT_DECL_OBJDUMP])
2973AC_CACHE_CHECK([how to recognize dependent libraries],
2974lt_cv_deplibs_check_method,
2975[lt_cv_file_magic_cmd='$MAGIC_CMD'
2976lt_cv_file_magic_test_file=
2977lt_cv_deplibs_check_method='unknown'
2978# Need to set the preceding variable on all platforms that support
2979# interlibrary dependencies.
2980# 'none' -- dependencies not supported.
2981# `unknown' -- same as none, but documents that we really don't know.
2982# 'pass_all' -- all dependencies passed with no checks.
2983# 'test_compile' -- check by making test program.
2984# 'file_magic [[regex]]' -- check by looking for files in library path
2985# which responds to the $file_magic_cmd with a given extended regex.
2986# If you have `file' or equivalent on your system and you're not sure
2987# whether `pass_all' will *always* work, you probably want this one.
2988
2989case $host_os in
2990aix[[4-9]]*)
2991 lt_cv_deplibs_check_method=pass_all
2992 ;;
2993
2994beos*)
2995 lt_cv_deplibs_check_method=pass_all
2996 ;;
2997
2998bsdi[[45]]*)
2999 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3000 lt_cv_file_magic_cmd='/usr/bin/file -L'
3001 lt_cv_file_magic_test_file=/shlib/libc.so
3002 ;;
3003
3004cygwin*)
3005 # func_win32_libid is a shell function defined in ltmain.sh
3006 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3007 lt_cv_file_magic_cmd='func_win32_libid'
3008 ;;
3009
3010mingw* | pw32*)
3011 # Base MSYS/MinGW do not provide the 'file' command needed by
3012 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3013 # unless we find 'file', for example because we are cross-compiling.
3014 if ( file / ) >/dev/null 2>&1; then
3015 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3016 lt_cv_file_magic_cmd='func_win32_libid'
3017 else
3018 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3019 lt_cv_file_magic_cmd='$OBJDUMP -f'
3020 fi
3021 ;;
3022
3023cegcc)
3024 # use the weaker test based on 'objdump'. See mingw*.
3025 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3026 lt_cv_file_magic_cmd='$OBJDUMP -f'
3027 ;;
3028
3029darwin* | rhapsody*)
3030 lt_cv_deplibs_check_method=pass_all
3031 ;;
3032
3033freebsd* | dragonfly*)
3034 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3035 case $host_cpu in
3036 i*86 )
3037 # Not sure whether the presence of OpenBSD here was a mistake.
3038 # Let's accept both of them until this is cleared up.
3039 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3040 lt_cv_file_magic_cmd=/usr/bin/file
3041 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3042 ;;
3043 esac
3044 else
3045 lt_cv_deplibs_check_method=pass_all
3046 fi
3047 ;;
3048
3049gnu*)
3050 lt_cv_deplibs_check_method=pass_all
3051 ;;
3052
3053hpux10.20* | hpux11*)
3054 lt_cv_file_magic_cmd=/usr/bin/file
3055 case $host_cpu in
3056 ia64*)
3057 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3058 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3059 ;;
3060 hppa*64*)
3061 [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]']
3062 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3063 ;;
3064 *)
3065 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3066 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3067 ;;
3068 esac
3069 ;;
3070
3071interix[[3-9]]*)
3072 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3073 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3074 ;;
3075
3076irix5* | irix6* | nonstopux*)
3077 case $LD in
3078 *-32|*"-32 ") libmagic=32-bit;;
3079 *-n32|*"-n32 ") libmagic=N32;;
3080 *-64|*"-64 ") libmagic=64-bit;;
3081 *) libmagic=never-match;;
3082 esac
3083 lt_cv_deplibs_check_method=pass_all
3084 ;;
3085
3086# This must be Linux ELF.
3087linux* | k*bsd*-gnu | kopensolaris*-gnu)
3088 lt_cv_deplibs_check_method=pass_all
3089 ;;
3090
3091netbsd* | netbsdelf*-gnu)
3092 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3093 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3094 else
3095 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3096 fi
3097 ;;
3098
3099newos6*)
3100 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3101 lt_cv_file_magic_cmd=/usr/bin/file
3102 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3103 ;;
3104
3105*nto* | *qnx*)
3106 lt_cv_deplibs_check_method=pass_all
3107 ;;
3108
3109openbsd*)
3110 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3111 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3112 else
3113 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3114 fi
3115 ;;
3116
3117osf3* | osf4* | osf5*)
3118 lt_cv_deplibs_check_method=pass_all
3119 ;;
3120
3121rdos*)
3122 lt_cv_deplibs_check_method=pass_all
3123 ;;
3124
3125solaris*)
3126 lt_cv_deplibs_check_method=pass_all
3127 ;;
3128
3129sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3130 lt_cv_deplibs_check_method=pass_all
3131 ;;
3132
3133sysv4 | sysv4.3*)
3134 case $host_vendor in
3135 motorola)
3136 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]]'
3137 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3138 ;;
3139 ncr)
3140 lt_cv_deplibs_check_method=pass_all
3141 ;;
3142 sequent)
3143 lt_cv_file_magic_cmd='/bin/file'
3144 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3145 ;;
3146 sni)
3147 lt_cv_file_magic_cmd='/bin/file'
3148 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3149 lt_cv_file_magic_test_file=/lib/libc.so
3150 ;;
3151 siemens)
3152 lt_cv_deplibs_check_method=pass_all
3153 ;;
3154 pc)
3155 lt_cv_deplibs_check_method=pass_all
3156 ;;
3157 esac
3158 ;;
3159
3160tpf*)
3161 lt_cv_deplibs_check_method=pass_all
3162 ;;
3163esac
3164])
3165file_magic_cmd=$lt_cv_file_magic_cmd
3166deplibs_check_method=$lt_cv_deplibs_check_method
3167test -z "$deplibs_check_method" && deplibs_check_method=unknown
3168
3169_LT_DECL([], [deplibs_check_method], [1],
3170 [Method to check whether dependent libraries are shared objects])
3171_LT_DECL([], [file_magic_cmd], [1],
3172 [Command to use when deplibs_check_method == "file_magic"])
3173])# _LT_CHECK_MAGIC_METHOD
3174
3175
3176# LT_PATH_NM
3177# ----------
3178# find the pathname to a BSD- or MS-compatible name lister
3179AC_DEFUN([LT_PATH_NM],
3180[AC_REQUIRE([AC_PROG_CC])dnl
3181AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3182[if test -n "$NM"; then
3183 # Let the user override the test.
3184 lt_cv_path_NM="$NM"
3185else
3186 lt_nm_to_check="${ac_tool_prefix}nm"
3187 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3188 lt_nm_to_check="$lt_nm_to_check nm"
3189 fi
3190 for lt_tmp_nm in $lt_nm_to_check; do
3191 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3192 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3193 IFS="$lt_save_ifs"
3194 test -z "$ac_dir" && ac_dir=.
3195 tmp_nm="$ac_dir/$lt_tmp_nm"
3196 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3197 # Check to see if the nm accepts a BSD-compat flag.
3198 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3199 # nm: unknown option "B" ignored
3200 # Tru64's nm complains that /dev/null is an invalid object file
3201 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3202 */dev/null* | *'Invalid file or object type'*)
3203 lt_cv_path_NM="$tmp_nm -B"
3204 break
3205 ;;
3206 *)
3207 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3208 */dev/null*)
3209 lt_cv_path_NM="$tmp_nm -p"
3210 break
3211 ;;
3212 *)
3213 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3214 continue # so that we can try to find one that supports BSD flags
3215 ;;
3216 esac
3217 ;;
3218 esac
3219 fi
3220 done
3221 IFS="$lt_save_ifs"
3222 done
3223 : ${lt_cv_path_NM=no}
3224fi])
3225if test "$lt_cv_path_NM" != "no"; then
3226 NM="$lt_cv_path_NM"
3227else
3228 # Didn't find any BSD compatible name lister, look for dumpbin.
3229 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3230 AC_SUBST([DUMPBIN])
3231 if test "$DUMPBIN" != ":"; then
3232 NM="$DUMPBIN"
3233 fi
3234fi
3235test -z "$NM" && NM=nm
3236AC_SUBST([NM])
3237_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3238
3239AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3240 [lt_cv_nm_interface="BSD nm"
3241 echo "int some_variable = 0;" > conftest.$ac_ext
3242 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3243 (eval "$ac_compile" 2>conftest.err)
3244 cat conftest.err >&AS_MESSAGE_LOG_FD
3245 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3246 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3247 cat conftest.err >&AS_MESSAGE_LOG_FD
3248 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3249 cat conftest.out >&AS_MESSAGE_LOG_FD
3250 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3251 lt_cv_nm_interface="MS dumpbin"
3252 fi
3253 rm -f conftest*])
3254])# LT_PATH_NM
3255
3256# Old names:
3257AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3258AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3259dnl aclocal-1.4 backwards compatibility:
3260dnl AC_DEFUN([AM_PROG_NM], [])
3261dnl AC_DEFUN([AC_PROG_NM], [])
3262
3263
3264# LT_LIB_M
3265# --------
3266# check for math library
3267AC_DEFUN([LT_LIB_M],
3268[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3269LIBM=
3270case $host in
3271*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3272 # These system don't have libm, or don't need it
3273 ;;
3274*-ncr-sysv4.3*)
3275 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3276 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3277 ;;
3278*)
3279 AC_CHECK_LIB(m, cos, LIBM="-lm")
3280 ;;
3281esac
3282AC_SUBST([LIBM])
3283])# LT_LIB_M
3284
3285# Old name:
3286AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3287dnl aclocal-1.4 backwards compatibility:
3288dnl AC_DEFUN([AC_CHECK_LIBM], [])
3289
3290
3291# _LT_COMPILER_NO_RTTI([TAGNAME])
3292# -------------------------------
3293m4_defun([_LT_COMPILER_NO_RTTI],
3294[m4_require([_LT_TAG_COMPILER])dnl
3295
3296_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3297
3298if test "$GCC" = yes; then
3299 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3300
3301 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3302 lt_cv_prog_compiler_rtti_exceptions,
3303 [-fno-rtti -fno-exceptions], [],
3304 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3305fi
3306_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3307 [Compiler flag to turn off builtin functions])
3308])# _LT_COMPILER_NO_RTTI
3309
3310
3311# _LT_CMD_GLOBAL_SYMBOLS
3312# ----------------------
3313m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3314[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3315AC_REQUIRE([AC_PROG_CC])dnl
3316AC_REQUIRE([LT_PATH_NM])dnl
3317AC_REQUIRE([LT_PATH_LD])dnl
3318m4_require([_LT_DECL_SED])dnl
3319m4_require([_LT_DECL_EGREP])dnl
3320m4_require([_LT_TAG_COMPILER])dnl
3321
3322# Check for command to grab the raw symbol name followed by C symbol from nm.
3323AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3324AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3325[
3326# These are sane defaults that work on at least a few old systems.
3327# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3328
3329# Character class describing NM global symbol codes.
3330symcode='[[BCDEGRST]]'
3331
3332# Regexp to match symbols that can be accessed directly from C.
3333sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3334
3335# Define system-specific variables.
3336case $host_os in
3337aix*)
3338 symcode='[[BCDT]]'
3339 ;;
3340cygwin* | mingw* | pw32* | cegcc*)
3341 symcode='[[ABCDGISTW]]'
3342 ;;
3343hpux*)
3344 if test "$host_cpu" = ia64; then
3345 symcode='[[ABCDEGRST]]'
3346 fi
3347 ;;
3348irix* | nonstopux*)
3349 symcode='[[BCDEGRST]]'
3350 ;;
3351osf*)
3352 symcode='[[BCDEGQRST]]'
3353 ;;
3354solaris*)
3355 symcode='[[BDRT]]'
3356 ;;
3357sco3.2v5*)
3358 symcode='[[DT]]'
3359 ;;
3360sysv4.2uw2*)
3361 symcode='[[DT]]'
3362 ;;
3363sysv5* | sco5v6* | unixware* | OpenUNIX*)
3364 symcode='[[ABDT]]'
3365 ;;
3366sysv4)
3367 symcode='[[DFNSTU]]'
3368 ;;
3369esac
3370
3371# If we're using GNU nm, then use its standard symbol codes.
3372case `$NM -V 2>&1` in
3373*GNU* | *'with BFD'*)
3374 symcode='[[ABCDGIRSTW]]' ;;
3375esac
3376
3377# Transform an extracted symbol line into a proper C declaration.
3378# Some systems (esp. on ia64) link data and code symbols differently,
3379# so use this general approach.
3380lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3381
3382# Transform an extracted symbol line into symbol name and symbol address
3383lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3384lt_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'"
3385
3386# Handle CRLF in mingw tool chain
3387opt_cr=
3388case $build_os in
3389mingw*)
3390 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3391 ;;
3392esac
3393
3394# Try without a prefix underscore, then with it.
3395for ac_symprfx in "" "_"; do
3396
3397 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3398 symxfrm="\\1 $ac_symprfx\\2 \\2"
3399
3400 # Write the raw and C identifiers.
3401 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3402 # Fake it for dumpbin and say T for any non-static function
3403 # and D for any global variable.
3404 # Also find C++ and __fastcall symbols from MSVC++,
3405 # which start with @ or ?.
3406 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3407" {last_section=section; section=\$ 3};"\
3408" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3409" \$ 0!~/External *\|/{next};"\
3410" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3411" {if(hide[section]) next};"\
3412" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3413" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3414" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3415" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3416" ' prfx=^$ac_symprfx]"
3417 else
3418 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3419 fi
3420
3421 # Check to see that the pipe works correctly.
3422 pipe_works=no
3423
3424 rm -f conftest*
3425 cat > conftest.$ac_ext <<_LT_EOF
3426#ifdef __cplusplus
3427extern "C" {
3428#endif
3429char nm_test_var;
3430void nm_test_func(void);
3431void nm_test_func(void){}
3432#ifdef __cplusplus
3433}
3434#endif
3435int main(){nm_test_var='a';nm_test_func();return(0);}
3436_LT_EOF
3437
3438 if AC_TRY_EVAL(ac_compile); then
3439 # Now try to grab the symbols.
3440 nlist=conftest.nm
3441 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3442 # Try sorting and uniquifying the output.
3443 if sort "$nlist" | uniq > "$nlist"T; then
3444 mv -f "$nlist"T "$nlist"
3445 else
3446 rm -f "$nlist"T
3447 fi
3448
3449 # Make sure that we snagged all the symbols we need.
3450 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3451 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3452 cat <<_LT_EOF > conftest.$ac_ext
3453#ifdef __cplusplus
3454extern "C" {
3455#endif
3456
3457_LT_EOF
3458 # Now generate the symbol file.
3459 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3460
3461 cat <<_LT_EOF >> conftest.$ac_ext
3462
3463/* The mapping between symbol names and symbols. */
3464const struct {
3465 const char *name;
3466 void *address;
3467}
3468lt__PROGRAM__LTX_preloaded_symbols[[]] =
3469{
3470 { "@PROGRAM@", (void *) 0 },
3471_LT_EOF
3472 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3473 cat <<\_LT_EOF >> conftest.$ac_ext
3474 {0, (void *) 0}
3475};
3476
3477/* This works around a problem in FreeBSD linker */
3478#ifdef FREEBSD_WORKAROUND
3479static const void *lt_preloaded_setup() {
3480 return lt__PROGRAM__LTX_preloaded_symbols;
3481}
3482#endif
3483
3484#ifdef __cplusplus
3485}
3486#endif
3487_LT_EOF
3488 # Now try linking the two files.
3489 mv conftest.$ac_objext conftstm.$ac_objext
3490 lt_save_LIBS="$LIBS"
3491 lt_save_CFLAGS="$CFLAGS"
3492 LIBS="conftstm.$ac_objext"
3493 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3494 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3495 pipe_works=yes
3496 fi
3497 LIBS="$lt_save_LIBS"
3498 CFLAGS="$lt_save_CFLAGS"
3499 else
3500 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3501 fi
3502 else
3503 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3504 fi
3505 else
3506 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3507 fi
3508 else
3509 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3510 cat conftest.$ac_ext >&5
3511 fi
3512 rm -rf conftest* conftst*
3513
3514 # Do not use the global_symbol_pipe unless it works.
3515 if test "$pipe_works" = yes; then
3516 break
3517 else
3518 lt_cv_sys_global_symbol_pipe=
3519 fi
3520done
3521])
3522if test -z "$lt_cv_sys_global_symbol_pipe"; then
3523 lt_cv_sys_global_symbol_to_cdecl=
3524fi
3525if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3526 AC_MSG_RESULT(failed)
3527else
3528 AC_MSG_RESULT(ok)
3529fi
3530
3531_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3532 [Take the output of nm and produce a listing of raw symbols and C names])
3533_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3534 [Transform the output of nm in a proper C declaration])
3535_LT_DECL([global_symbol_to_c_name_address],
3536 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3537 [Transform the output of nm in a C name address pair])
3538_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3539 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3540 [Transform the output of nm in a C name address pair when lib prefix is needed])
3541]) # _LT_CMD_GLOBAL_SYMBOLS
3542
3543
3544# _LT_COMPILER_PIC([TAGNAME])
3545# ---------------------------
3546m4_defun([_LT_COMPILER_PIC],
3547[m4_require([_LT_TAG_COMPILER])dnl
3548_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3549_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3550_LT_TAGVAR(lt_prog_compiler_static, $1)=
3551
3552AC_MSG_CHECKING([for $compiler option to produce PIC])
3553m4_if([$1], [CXX], [
3554 # C++ specific cases for pic, static, wl, etc.
3555 if test "$GXX" = yes; then
3556 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3557 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3558
3559 case $host_os in
3560 aix*)
3561 # All AIX code is PIC.
3562 if test "$host_cpu" = ia64; then
3563 # AIX 5 now supports IA64 processor
3564 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3565 fi
3566 ;;
3567
3568 amigaos*)
3569 case $host_cpu in
3570 powerpc)
3571 # see comment about AmigaOS4 .so support
3572 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3573 ;;
3574 m68k)
3575 # FIXME: we need at least 68020 code to build shared libraries, but
3576 # adding the `-m68020' flag to GCC prevents building anything better,
3577 # like `-m68040'.
3578 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3579 ;;
3580 esac
3581 ;;
3582
3583 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3584 # PIC is the default for these OSes.
3585 ;;
3586 mingw* | cygwin* | os2* | pw32* | cegcc*)
3587 # This hack is so that the source file can tell whether it is being
3588 # built for inclusion in a dll (and should export symbols for example).
3589 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3590 # (--disable-auto-import) libraries
3591 m4_if([$1], [GCJ], [],
3592 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3593 ;;
3594 darwin* | rhapsody*)
3595 # PIC is the default on this platform
3596 # Common symbols not allowed in MH_DYLIB files
3597 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3598 ;;
3599 *djgpp*)
3600 # DJGPP does not support shared libraries at all
3601 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3602 ;;
3603 interix[[3-9]]*)
3604 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3605 # Instead, we relocate shared libraries at runtime.
3606 ;;
3607 sysv4*MP*)
3608 if test -d /usr/nec; then
3609 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3610 fi
3611 ;;
3612 hpux*)
3613 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3614 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3615 # sets the default TLS model and affects inlining.
3616 case $host_cpu in
3617 hppa*64*)
3618 ;;
3619 *)
3620 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3621 ;;
3622 esac
3623 ;;
3624 *qnx* | *nto*)
3625 # QNX uses GNU C++, but need to define -shared option too, otherwise
3626 # it will coredump.
3627 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3628 ;;
3629 *)
3630 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3631 ;;
3632 esac
3633 else
3634 case $host_os in
3635 aix[[4-9]]*)
3636 # All AIX code is PIC.
3637 if test "$host_cpu" = ia64; then
3638 # AIX 5 now supports IA64 processor
3639 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3640 else
3641 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3642 fi
3643 ;;
3644 chorus*)
3645 case $cc_basename in
3646 cxch68*)
3647 # Green Hills C++ Compiler
3648 # _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"
3649 ;;
3650 esac
3651 ;;
3652 dgux*)
3653 case $cc_basename in
3654 ec++*)
3655 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3656 ;;
3657 ghcx*)
3658 # Green Hills C++ Compiler
3659 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3660 ;;
3661 *)
3662 ;;
3663 esac
3664 ;;
3665 freebsd* | dragonfly*)
3666 # FreeBSD uses GNU C++
3667 ;;
3668 hpux9* | hpux10* | hpux11*)
3669 case $cc_basename in
3670 CC*)
3671 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3672 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3673 if test "$host_cpu" != ia64; then
3674 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3675 fi
3676 ;;
3677 aCC*)
3678 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3679 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3680 case $host_cpu in
3681 hppa*64*|ia64*)
3682 # +Z the default
3683 ;;
3684 *)
3685 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3686 ;;
3687 esac
3688 ;;
3689 *)
3690 ;;
3691 esac
3692 ;;
3693 interix*)
3694 # This is c89, which is MS Visual C++ (no shared libs)
3695 # Anyone wants to do a port?
3696 ;;
3697 irix5* | irix6* | nonstopux*)
3698 case $cc_basename in
3699 CC*)
3700 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3701 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3702 # CC pic flag -KPIC is the default.
3703 ;;
3704 *)
3705 ;;
3706 esac
3707 ;;
3708 linux* | k*bsd*-gnu | kopensolaris*-gnu)
3709 case $cc_basename in
3710 KCC*)
3711 # KAI C++ Compiler
3712 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3713 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3714 ;;
3715 ecpc* )
3716 # old Intel C++ for x86_64 which still supported -KPIC.
3717 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3718 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3719 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3720 ;;
3721 icpc* )
3722 # Intel C++, used to be incompatible with GCC.
3723 # ICC 10 doesn't accept -KPIC any more.
3724 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3725 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3726 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3727 ;;
3728 pgCC* | pgcpp*)
3729 # Portland Group C++ compiler
3730 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3731 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3732 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3733 ;;
3734 cxx*)
3735 # Compaq C++
3736 # Make sure the PIC flag is empty. It appears that all Alpha
3737 # Linux and Compaq Tru64 Unix objects are PIC.
3738 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3739 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3740 ;;
3741 xlc* | xlC*)
3742 # IBM XL 8.0 on PPC
3743 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3744 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3745 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3746 ;;
3747 *)
3748 case `$CC -V 2>&1 | sed 5q` in
3749 *Sun\ C*)
3750 # Sun C++ 5.9
3751 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3752 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3753 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3754 ;;
3755 esac
3756 ;;
3757 esac
3758 ;;
3759 lynxos*)
3760 ;;
3761 m88k*)
3762 ;;
3763 mvs*)
3764 case $cc_basename in
3765 cxx*)
3766 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3767 ;;
3768 *)
3769 ;;
3770 esac
3771 ;;
3772 netbsd* | netbsdelf*-gnu)
3773 ;;
3774 *qnx* | *nto*)
3775 # QNX uses GNU C++, but need to define -shared option too, otherwise
3776 # it will coredump.
3777 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3778 ;;
3779 osf3* | osf4* | osf5*)
3780 case $cc_basename in
3781 KCC*)
3782 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3783 ;;
3784 RCC*)
3785 # Rational C++ 2.4.1
3786 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3787 ;;
3788 cxx*)
3789 # Digital/Compaq C++
3790 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3791 # Make sure the PIC flag is empty. It appears that all Alpha
3792 # Linux and Compaq Tru64 Unix objects are PIC.
3793 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3794 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3795 ;;
3796 *)
3797 ;;
3798 esac
3799 ;;
3800 psos*)
3801 ;;
3802 solaris*)
3803 case $cc_basename in
3804 CC*)
3805 # Sun C++ 4.2, 5.x and Centerline C++
3806 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3807 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3808 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3809 ;;
3810 gcx*)
3811 # Green Hills C++ Compiler
3812 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3813 ;;
3814 *)
3815 ;;
3816 esac
3817 ;;
3818 sunos4*)
3819 case $cc_basename in
3820 CC*)
3821 # Sun C++ 4.x
3822 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3823 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3824 ;;
3825 lcc*)
3826 # Lucid
3827 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3828 ;;
3829 *)
3830 ;;
3831 esac
3832 ;;
3833 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3834 case $cc_basename in
3835 CC*)
3836 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3837 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3838 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3839 ;;
3840 esac
3841 ;;
3842 tandem*)
3843 case $cc_basename in
3844 NCC*)
3845 # NonStop-UX NCC 3.20
3846 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3847 ;;
3848 *)
3849 ;;
3850 esac
3851 ;;
3852 vxworks*)
3853 ;;
3854 *)
3855 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3856 ;;
3857 esac
3858 fi
3859],
3860[
3861 if test "$GCC" = yes; then
3862 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3863 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3864
3865 case $host_os in
3866 aix*)
3867 # All AIX code is PIC.
3868 if test "$host_cpu" = ia64; then
3869 # AIX 5 now supports IA64 processor
3870 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3871 fi
3872 ;;
3873
3874 amigaos*)
3875 case $host_cpu in
3876 powerpc)
3877 # see comment about AmigaOS4 .so support
3878 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3879 ;;
3880 m68k)
3881 # FIXME: we need at least 68020 code to build shared libraries, but
3882 # adding the `-m68020' flag to GCC prevents building anything better,
3883 # like `-m68040'.
3884 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3885 ;;
3886 esac
3887 ;;
3888
3889 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3890 # PIC is the default for these OSes.
3891 ;;
3892
3893 mingw* | cygwin* | pw32* | os2* | cegcc*)
3894 # This hack is so that the source file can tell whether it is being
3895 # built for inclusion in a dll (and should export symbols for example).
3896 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3897 # (--disable-auto-import) libraries
3898 m4_if([$1], [GCJ], [],
3899 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3900 ;;
3901
3902 darwin* | rhapsody*)
3903 # PIC is the default on this platform
3904 # Common symbols not allowed in MH_DYLIB files
3905 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3906 ;;
3907
3908 hpux*)
3909 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3910 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3911 # sets the default TLS model and affects inlining.
3912 case $host_cpu in
3913 hppa*64*)
3914 # +Z the default
3915 ;;
3916 *)
3917 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3918 ;;
3919 esac
3920 ;;
3921
3922 interix[[3-9]]*)
3923 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3924 # Instead, we relocate shared libraries at runtime.
3925 ;;
3926
3927 msdosdjgpp*)
3928 # Just because we use GCC doesn't mean we suddenly get shared libraries
3929 # on systems that don't support them.
3930 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3931 enable_shared=no
3932 ;;
3933
3934 *nto* | *qnx*)
3935 # QNX uses GNU C++, but need to define -shared option too, otherwise
3936 # it will coredump.
3937 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3938 ;;
3939
3940 sysv4*MP*)
3941 if test -d /usr/nec; then
3942 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3943 fi
3944 ;;
3945
3946 *)
3947 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3948 ;;
3949 esac
3950 else
3951 # PORTME Check for flag to pass linker flags through the system compiler.
3952 case $host_os in
3953 aix*)
3954 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3955 if test "$host_cpu" = ia64; then
3956 # AIX 5 now supports IA64 processor
3957 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3958 else
3959 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3960 fi
3961 ;;
3962
3963 mingw* | cygwin* | pw32* | os2* | cegcc*)
3964 # This hack is so that the source file can tell whether it is being
3965 # built for inclusion in a dll (and should export symbols for example).
3966 m4_if([$1], [GCJ], [],
3967 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3968 ;;
3969
3970 hpux9* | hpux10* | hpux11*)
3971 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3972 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3973 # not for PA HP-UX.
3974 case $host_cpu in
3975 hppa*64*|ia64*)
3976 # +Z the default
3977 ;;
3978 *)
3979 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3980 ;;
3981 esac
3982 # Is there a better lt_prog_compiler_static that works with the bundled CC?
3983 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3984 ;;
3985
3986 irix5* | irix6* | nonstopux*)
3987 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3988 # PIC (with -KPIC) is the default.
3989 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3990 ;;
3991
3992 linux* | k*bsd*-gnu | kopensolaris*-gnu)
3993 case $cc_basename in
3994 # old Intel for x86_64 which still supported -KPIC.
3995 ecc*)
3996 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3997 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3998 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3999 ;;
4000 # icc used to be incompatible with GCC.
4001 # ICC 10 doesn't accept -KPIC any more.
4002 icc* | ifort*)
4003 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4004 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4005 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4006 ;;
4007 # Lahey Fortran 8.1.
4008 lf95*)
4009 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4010 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4011 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4012 ;;
4013 pgcc* | pgf77* | pgf90* | pgf95*)
4014 # Portland Group compilers (*not* the Pentium gcc compiler,
4015 # which looks to be a dead project)
4016 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4017 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4018 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4019 ;;
4020 ccc*)
4021 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4022 # All Alpha code is PIC.
4023 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4024 ;;
4025 xl*)
4026 # IBM XL C 8.0/Fortran 10.1 on PPC
4027 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4028 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4029 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4030 ;;
4031 *)
4032 case `$CC -V 2>&1 | sed 5q` in
4033 *Sun\ C*)
4034 # Sun C 5.9
4035 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4036 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4037 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4038 ;;
4039 *Sun\ F*)
4040 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4041 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4042 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4043 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4044 ;;
4045 esac
4046 ;;
4047 esac
4048 ;;
4049
4050 newsos6)
4051 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4052 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4053 ;;
4054
4055 *nto* | *qnx*)
4056 # QNX uses GNU C++, but need to define -shared option too, otherwise
4057 # it will coredump.
4058 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4059 ;;
4060
4061 osf3* | osf4* | osf5*)
4062 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4063 # All OSF/1 code is PIC.
4064 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4065 ;;
4066
4067 rdos*)
4068 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4069 ;;
4070
4071 solaris*)
4072 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4073 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4074 case $cc_basename in
4075 f77* | f90* | f95*)
4076 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4077 *)
4078 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4079 esac
4080 ;;
4081
4082 sunos4*)
4083 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4084 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4085 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4086 ;;
4087
4088 sysv4 | sysv4.2uw2* | sysv4.3*)
4089 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4090 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4091 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4092 ;;
4093
4094 sysv4*MP*)
4095 if test -d /usr/nec ;then
4096 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4097 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4098 fi
4099 ;;
4100
4101 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4102 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4103 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4104 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4105 ;;
4106
4107 unicos*)
4108 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4109 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4110 ;;
4111
4112 uts4*)
4113 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4114 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4115 ;;
4116
4117 *)
4118 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4119 ;;
4120 esac
4121 fi
4122])
4123case $host_os in
4124 # For platforms which do not support PIC, -DPIC is meaningless:
4125 *djgpp*)
4126 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4127 ;;
4128 *)
4129 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4130 ;;
4131esac
4132AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4133_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4134 [How to pass a linker flag through the compiler])
4135
4136#
4137# Check to make sure the PIC flag actually works.
4138#
4139if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4140 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4141 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4142 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4143 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4144 "" | " "*) ;;
4145 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4146 esac],
4147 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4148 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4149fi
4150_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4151 [Additional compiler flags for building library objects])
4152
4153#
4154# Check to make sure the static flag actually works.
4155#
4156wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4157_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4158 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4159 $lt_tmp_static_flag,
4160 [],
4161 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4162_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4163 [Compiler flag to prevent dynamic linking])
4164])# _LT_COMPILER_PIC
4165
4166
4167# _LT_LINKER_SHLIBS([TAGNAME])
4168# ----------------------------
4169# See if the linker supports building shared libraries.
4170m4_defun([_LT_LINKER_SHLIBS],
4171[AC_REQUIRE([LT_PATH_LD])dnl
4172AC_REQUIRE([LT_PATH_NM])dnl
4173m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4174m4_require([_LT_DECL_EGREP])dnl
4175m4_require([_LT_DECL_SED])dnl
4176m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4177m4_require([_LT_TAG_COMPILER])dnl
4178AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4179m4_if([$1], [CXX], [
4180 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4181 case $host_os in
4182 aix[[4-9]]*)
4183 # If we're using GNU nm, then we don't want the "-C" option.
4184 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4185 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4186 _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'
4187 else
4188 _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'
4189 fi
4190 ;;
4191 pw32*)
4192 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4193 ;;
4194 cygwin* | mingw* | cegcc*)
4195 _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'
4196 ;;
4197 linux* | k*bsd*-gnu)
4198 _LT_TAGVAR(link_all_deplibs, $1)=no
4199 ;;
4200 *)
4201 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4202 ;;
4203 esac
4204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4205], [
4206 runpath_var=
4207 _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)=
4231 # include_expsyms should be a list of space-separated symbols to be *always*
4232 # included in the symbol list
4233 _LT_TAGVAR(include_expsyms, $1)=
4234 # 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'.
4238 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4239 # 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.
4244 # Exclude shared library initialization/finalization symbols.
4245dnl Note also adjust exclude_expsyms for C++ above.
4246 extract_expsyms_cmds=
4247
4248 case $host_os in
4249 cygwin* | mingw* | pw32* | cegcc*)
4250 # 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 linux* | k*bsd*-gnu)
4265 _LT_TAGVAR(link_all_deplibs, $1)=no
4266 ;;
4267 esac
4268
4269 _LT_TAGVAR(ld_shlibs, $1)=yes
4270 if test "$with_gnu_ld" = yes; then
4271 # If archive_cmds runs LD, not CC, wlarc should be empty
4272 wlarc='${wl}'
4273
4274 # Set some defaults for GNU ld with shared library support. These
4275 # are reset later if shared libraries are not supported. Putting them
4276 # here allows them to be overridden if necessary.
4277 runpath_var=LD_RUN_PATH
4278 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4279 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4280 # ancient GNU ld didn't support --whole-archive et. al.
4281 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4282 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4283 else
4284 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4285 fi
4286 supports_anon_versioning=no
4287 case `$LD -v 2>&1` in
4288 *GNU\ gold*) supports_anon_versioning=yes ;;
4289 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4290 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4291 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4292 *\ 2.11.*) ;; # other 2.11 versions
4293 *) supports_anon_versioning=yes ;;
4294 esac
4295
4296 # See if GNU ld supports shared libraries.
4297 case $host_os in
4298 aix[[3-9]]*)
4299 # On AIX/PPC, the GNU linker is very broken
4300 if test "$host_cpu" != ia64; then
4301 _LT_TAGVAR(ld_shlibs, $1)=no
4302 cat <<_LT_EOF 1>&2
4303
4304*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4305*** to be unable to reliably create shared libraries on AIX.
4306*** Therefore, libtool is disabling shared libraries support. If you
4307*** really care for shared libraries, you may want to modify your PATH
4308*** so that a non-GNU linker is found, and then restart.
4309
4310_LT_EOF
4311 fi
4312 ;;
4313
4314 amigaos*)
4315 case $host_cpu in
4316 powerpc)
4317 # see comment about AmigaOS4 .so support
4318 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4319 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4320 ;;
4321 m68k)
4322 _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)'
4323 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4324 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4325 ;;
4326 esac
4327 ;;
4328
4329 beos*)
4330 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4331 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4332 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4333 # support --undefined. This deserves some investigation. FIXME
4334 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4335 else
4336 _LT_TAGVAR(ld_shlibs, $1)=no
4337 fi
4338 ;;
4339
4340 cygwin* | mingw* | pw32* | cegcc*)
4341 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4342 # as there is no search path for DLLs.
4343 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4344 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4345 _LT_TAGVAR(always_export_symbols, $1)=no
4346 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4347 _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'
4348
4349 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4350 _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'
4351 # If the export-symbols file already is a .def file (1st line
4352 # is EXPORTS), use it as is; otherwise, prepend...
4353 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4354 cp $export_symbols $output_objdir/$soname.def;
4355 else
4356 echo EXPORTS > $output_objdir/$soname.def;
4357 cat $export_symbols >> $output_objdir/$soname.def;
4358 fi~
4359 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4360 else
4361 _LT_TAGVAR(ld_shlibs, $1)=no
4362 fi
4363 ;;
4364
4365 interix[[3-9]]*)
4366 _LT_TAGVAR(hardcode_direct, $1)=no
4367 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4368 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4369 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4370 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4371 # Instead, shared libraries are loaded at an image base (0x10000000 by
4372 # default) and relocated if they conflict, which is a slow very memory
4373 # consuming and fragmenting process. To avoid this, we pick a random,
4374 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4375 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4376 _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'
4377 _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'
4378 ;;
4379
4380 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4381 tmp_diet=no
4382 if test "$host_os" = linux-dietlibc; then
4383 case $cc_basename in
4384 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4385 esac
4386 fi
4387 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4388 && test "$tmp_diet" = no
4389 then
4390 tmp_addflag=
4391 tmp_sharedflag='-shared'
4392 case $cc_basename,$host_cpu in
4393 pgcc*) # Portland Group C compiler
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'
4395 tmp_addflag=' $pic_flag'
4396 ;;
4397 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4398 _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'
4399 tmp_addflag=' $pic_flag -Mnomain' ;;
4400 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4401 tmp_addflag=' -i_dynamic' ;;
4402 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4403 tmp_addflag=' -i_dynamic -nofor_main' ;;
4404 ifc* | ifort*) # Intel Fortran compiler
4405 tmp_addflag=' -nofor_main' ;;
4406 lf95*) # Lahey Fortran 8.1
4407 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4408 tmp_sharedflag='--shared' ;;
4409 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4410 tmp_sharedflag='-qmkshrobj'
4411 tmp_addflag= ;;
4412 esac
4413 case `$CC -V 2>&1 | sed 5q` in
4414 *Sun\ C*) # Sun C 5.9
4415 _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'
4416 _LT_TAGVAR(compiler_needs_object, $1)=yes
4417 tmp_sharedflag='-G' ;;
4418 *Sun\ F*) # Sun Fortran 8.3
4419 tmp_sharedflag='-G' ;;
4420 esac
4421 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4422
4423 if test "x$supports_anon_versioning" = xyes; then
4424 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4425 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4426 echo "local: *; };" >> $output_objdir/$libname.ver~
4427 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4428 fi
4429
4430 case $cc_basename in
4431 xlf*)
4432 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4433 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4434 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4435 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4436 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4437 if test "x$supports_anon_versioning" = xyes; then
4438 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4439 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4440 echo "local: *; };" >> $output_objdir/$libname.ver~
4441 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4442 fi
4443 ;;
4444 esac
4445 else
4446 _LT_TAGVAR(ld_shlibs, $1)=no
4447 fi
4448 ;;
4449
4450 netbsd* | netbsdelf*-gnu)
4451 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4452 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4453 wlarc=
4454 else
4455 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4456 _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'
4457 fi
4458 ;;
4459
4460 solaris*)
4461 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4462 _LT_TAGVAR(ld_shlibs, $1)=no
4463 cat <<_LT_EOF 1>&2
4464
4465*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4466*** create shared libraries on Solaris systems. Therefore, libtool
4467*** is disabling shared libraries support. We urge you to upgrade GNU
4468*** binutils to release 2.9.1 or newer. Another option is to modify
4469*** your PATH or compiler configuration so that the native linker is
4470*** used, and then restart.
4471
4472_LT_EOF
4473 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4474 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4475 _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'
4476 else
4477 _LT_TAGVAR(ld_shlibs, $1)=no
4478 fi
4479 ;;
4480
4481 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4482 case `$LD -v 2>&1` in
4483 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4484 _LT_TAGVAR(ld_shlibs, $1)=no
4485 cat <<_LT_EOF 1>&2
4486
4487*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4488*** reliably create shared libraries on SCO systems. Therefore, libtool
4489*** is disabling shared libraries support. We urge you to upgrade GNU
4490*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4491*** your PATH or compiler configuration so that the native linker is
4492*** used, and then restart.
4493
4494_LT_EOF
4495 ;;
4496 *)
4497 # For security reasons, it is highly recommended that you always
4498 # use absolute paths for naming shared libraries, and exclude the
4499 # DT_RUNPATH tag from executables and libraries. But doing so
4500 # requires that you compile everything twice, which is a pain.
4501 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4502 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4503 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4504 _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'
4505 else
4506 _LT_TAGVAR(ld_shlibs, $1)=no
4507 fi
4508 ;;
4509 esac
4510 ;;
4511
4512 sunos4*)
4513 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4514 wlarc=
4515 _LT_TAGVAR(hardcode_direct, $1)=yes
4516 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4517 ;;
4518
4519 *)
4520 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4521 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4522 _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'
4523 else
4524 _LT_TAGVAR(ld_shlibs, $1)=no
4525 fi
4526 ;;
4527 esac
4528
4529 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4530 runpath_var=
4531 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4532 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4533 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4534 fi
4535 else
4536 # PORTME fill in a description of your system's linker (not GNU ld)
4537 case $host_os in
4538 aix3*)
4539 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4540 _LT_TAGVAR(always_export_symbols, $1)=yes
4541 _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'
4542 # Note: this linker hardcodes the directories in LIBPATH if there
4543 # are no directories specified by -L.
4544 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4545 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4546 # Neither direct hardcoding nor static linking is supported with a
4547 # broken collect2.
4548 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4549 fi
4550 ;;
4551
4552 aix[[4-9]]*)
4553 if test "$host_cpu" = ia64; then
4554 # On IA64, the linker does run time linking by default, so we don't
4555 # have to do anything special.
4556 aix_use_runtimelinking=no
4557 exp_sym_flag='-Bexport'
4558 no_entry_flag=""
4559 else
4560 # If we're using GNU nm, then we don't want the "-C" option.
4561 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4562 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4563 _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'
4564 else
4565 _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'
4566 fi
4567 aix_use_runtimelinking=no
4568
4569 # Test if we are trying to use run time linking or normal
4570 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4571 # need to do runtime linking.
4572 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4573 for ld_flag in $LDFLAGS; do
4574 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4575 aix_use_runtimelinking=yes
4576 break
4577 fi
4578 done
4579 ;;
4580 esac
4581
4582 exp_sym_flag='-bexport'
4583 no_entry_flag='-bnoentry'
4584 fi
4585
4586 # When large executables or shared objects are built, AIX ld can
4587 # have problems creating the table of contents. If linking a library
4588 # or program results in "error TOC overflow" add -mminimal-toc to
4589 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4590 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4591
4592 _LT_TAGVAR(archive_cmds, $1)=''
4593 _LT_TAGVAR(hardcode_direct, $1)=yes
4594 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4595 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4596 _LT_TAGVAR(link_all_deplibs, $1)=yes
4597 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4598
4599 if test "$GCC" = yes; then
4600 case $host_os in aix4.[[012]]|aix4.[[012]].*)
4601 # We only want to do this on AIX 4.2 and lower, the check
4602 # below for broken collect2 doesn't work under 4.3+
4603 collect2name=`${CC} -print-prog-name=collect2`
4604 if test -f "$collect2name" &&
4605 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4606 then
4607 # We have reworked collect2
4608 :
4609 else
4610 # We have old collect2
4611 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4612 # It fails to find uninstalled libraries when the uninstalled
4613 # path is not listed in the libpath. Setting hardcode_minus_L
4614 # to unsupported forces relinking
4615 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4616 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4617 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4618 fi
4619 ;;
4620 esac
4621 shared_flag='-shared'
4622 if test "$aix_use_runtimelinking" = yes; then
4623 shared_flag="$shared_flag "'${wl}-G'
4624 fi
4625 _LT_TAGVAR(link_all_deplibs, $1)=no
4626 else
4627 # not using gcc
4628 if test "$host_cpu" = ia64; then
4629 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4630 # chokes on -Wl,-G. The following line is correct:
4631 shared_flag='-G'
4632 else
4633 if test "$aix_use_runtimelinking" = yes; then
4634 shared_flag='${wl}-G'
4635 else
4636 shared_flag='${wl}-bM:SRE'
4637 fi
4638 fi
4639 fi
4640
4641 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
4642 # It seems that -bexpall does not export symbols beginning with
4643 # underscore (_), so it is better to generate a list of symbols to export.
4644 _LT_TAGVAR(always_export_symbols, $1)=yes
4645 if test "$aix_use_runtimelinking" = yes; then
4646 # Warning - without using the other runtime loading flags (-brtl),
4647 # -berok will link without error, but may produce a broken library.
4648 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4649 # Determine the default libpath from the value encoded in an
4650 # empty executable.
4651 _LT_SYS_MODULE_PATH_AIX
4652 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4653 _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"
4654 else
4655 if test "$host_cpu" = ia64; then
4656 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4657 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4658 _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"
4659 else
4660 # Determine the default libpath from the value encoded in an
4661 # empty executable.
4662 _LT_SYS_MODULE_PATH_AIX
4663 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4664 # Warning - without using the other run time loading flags,
4665 # -berok will link without error, but may produce a broken library.
4666 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4667 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4668 # Exported symbols can be pulled into shared objects from archives
4669 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4670 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4671 # This is similar to how AIX traditionally builds its shared libraries.
4672 _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'
4673 fi
4674 fi
4675 ;;
4676
4677 amigaos*)
4678 case $host_cpu in
4679 powerpc)
4680 # see comment about AmigaOS4 .so support
4681 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4682 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4683 ;;
4684 m68k)
4685 _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)'
4686 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4687 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4688 ;;
4689 esac
4690 ;;
4691
4692 bsdi[[45]]*)
4693 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4694 ;;
4695
4696 cygwin* | mingw* | pw32* | cegcc*)
4697 # When not using gcc, we currently assume that we are using
4698 # Microsoft Visual C++.
4699 # hardcode_libdir_flag_spec is actually meaningless, as there is
4700 # no search path for DLLs.
4701 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4702 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4703 # Tell ltmain to make .lib files, not .a files.
4704 libext=lib
4705 # Tell ltmain to make .dll files, not .so files.
4706 shrext_cmds=".dll"
4707 # FIXME: Setting linknames here is a bad hack.
4708 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4709 # The linker will automatically build a .lib file if we build a DLL.
4710 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4711 # FIXME: Should let the user specify the lib program.
4712 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4713 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4714 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4715 ;;
4716
4717 darwin* | rhapsody*)
4718 _LT_DARWIN_LINKER_FEATURES($1)
4719 ;;
4720
4721 dgux*)
4722 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4723 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4724 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4725 ;;
4726
4727 freebsd1*)
4728 _LT_TAGVAR(ld_shlibs, $1)=no
4729 ;;
4730
4731 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4732 # support. Future versions do this automatically, but an explicit c++rt0.o
4733 # does not break anything, and helps significantly (at the cost of a little
4734 # extra space).
4735 freebsd2.2*)
4736 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4737 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4738 _LT_TAGVAR(hardcode_direct, $1)=yes
4739 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4740 ;;
4741
4742 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4743 freebsd2*)
4744 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4745 _LT_TAGVAR(hardcode_direct, $1)=yes
4746 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4747 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4748 ;;
4749
4750 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4751 freebsd* | dragonfly*)
4752 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4753 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4754 _LT_TAGVAR(hardcode_direct, $1)=yes
4755 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4756 ;;
4757
4758 hpux9*)
4759 if test "$GCC" = yes; then
4760 _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'
4761 else
4762 _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'
4763 fi
4764 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4765 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4766 _LT_TAGVAR(hardcode_direct, $1)=yes
4767
4768 # hardcode_minus_L: Not really in the search PATH,
4769 # but as the default location of the library.
4770 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4771 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4772 ;;
4773
4774 hpux10*)
4775 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4776 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4777 else
4778 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4779 fi
4780 if test "$with_gnu_ld" = no; then
4781 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4782 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4783 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4784 _LT_TAGVAR(hardcode_direct, $1)=yes
4785 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4786 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4787 # hardcode_minus_L: Not really in the search PATH,
4788 # but as the default location of the library.
4789 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4790 fi
4791 ;;
4792
4793 hpux11*)
4794 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4795 case $host_cpu in
4796 hppa*64*)
4797 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4798 ;;
4799 ia64*)
4800 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4801 ;;
4802 *)
4803 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4804 ;;
4805 esac
4806 else
4807 case $host_cpu in
4808 hppa*64*)
4809 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4810 ;;
4811 ia64*)
4812 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4813 ;;
4814 *)
4815 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4816 ;;
4817 esac
4818 fi
4819 if test "$with_gnu_ld" = no; then
4820 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4821 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4822
4823 case $host_cpu in
4824 hppa*64*|ia64*)
4825 _LT_TAGVAR(hardcode_direct, $1)=no
4826 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4827 ;;
4828 *)
4829 _LT_TAGVAR(hardcode_direct, $1)=yes
4830 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4831 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4832
4833 # hardcode_minus_L: Not really in the search PATH,
4834 # but as the default location of the library.
4835 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4836 ;;
4837 esac
4838 fi
4839 ;;
4840
4841 irix5* | irix6* | nonstopux*)
4842 if test "$GCC" = yes; then
4843 _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'
4844 # Try to use the -exported_symbol ld option, if it does not
4845 # work, assume that -exports_file does not work either and
4846 # implicitly export all symbols.
4847 save_LDFLAGS="$LDFLAGS"
4848 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4849 AC_LINK_IFELSE(int foo(void) {},
4850 _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'
4851 )
4852 LDFLAGS="$save_LDFLAGS"
4853 else
4854 _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'
4855 _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'
4856 fi
4857 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4858 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4859 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4860 _LT_TAGVAR(inherit_rpath, $1)=yes
4861 _LT_TAGVAR(link_all_deplibs, $1)=yes
4862 ;;
4863
4864 netbsd* | netbsdelf*-gnu)
4865 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4866 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
4867 else
4868 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
4869 fi
4870 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4871 _LT_TAGVAR(hardcode_direct, $1)=yes
4872 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4873 ;;
4874
4875 newsos6)
4876 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4877 _LT_TAGVAR(hardcode_direct, $1)=yes
4878 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4879 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4880 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4881 ;;
4882
4883 *nto* | *qnx*)
4884 ;;
4885
4886 openbsd*)
4887 if test -f /usr/libexec/ld.so; then
4888 _LT_TAGVAR(hardcode_direct, $1)=yes
4889 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4890 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4891 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4892 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4893 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4894 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4895 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4896 else
4897 case $host_os in
4898 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4899 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4900 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4901 ;;
4902 *)
4903 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4904 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4905 ;;
4906 esac
4907 fi
4908 else
4909 _LT_TAGVAR(ld_shlibs, $1)=no
4910 fi
4911 ;;
4912
4913 os2*)
4914 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4915 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4916 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4917 _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'
4918 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4919 ;;
4920
4921 osf3*)
4922 if test "$GCC" = yes; then
4923 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4924 _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'
4925 else
4926 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4927 _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'
4928 fi
4929 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4930 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4931 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4932 ;;
4933
4934 osf4* | osf5*) # as osf3* with the addition of -msym flag
4935 if test "$GCC" = yes; then
4936 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4937 _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'
4938 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4939 else
4940 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4941 _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'
4942 _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~
4943 $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'
4944
4945 # Both c and cxx compiler support -rpath directly
4946 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4947 fi
4948 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4949 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4950 ;;
4951
4952 solaris*)
4953 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4954 if test "$GCC" = yes; then
4955 wlarc='${wl}'
4956 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4957 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4958 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4959 else
4960 case `$CC -V 2>&1` in
4961 *"Compilers 5.0"*)
4962 wlarc=''
4963 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4964 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4965 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4966 ;;
4967 *)
4968 wlarc='${wl}'
4969 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4970 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4971 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4972 ;;
4973 esac
4974 fi
4975 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4976 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4977 case $host_os in
4978 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4979 *)
4980 # The compiler driver will combine and reorder linker options,
4981 # but understands `-z linker_flag'. GCC discards it without `$wl',
4982 # but is careful enough not to reorder.
4983 # Supported since Solaris 2.6 (maybe 2.5.1?)
4984 if test "$GCC" = yes; then
4985 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4986 else
4987 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4988 fi
4989 ;;
4990 esac
4991 _LT_TAGVAR(link_all_deplibs, $1)=yes
4992 ;;
4993
4994 sunos4*)
4995 if test "x$host_vendor" = xsequent; then
4996 # Use $CC to link under sequent, because it throws in some extra .o
4997 # files that make .init and .fini sections work.
4998 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
4999 else
5000 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5001 fi
5002 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5003 _LT_TAGVAR(hardcode_direct, $1)=yes
5004 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5005 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5006 ;;
5007
5008 sysv4)
5009 case $host_vendor in
5010 sni)
5011 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5012 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5013 ;;
5014 siemens)
5015 ## LD is ld it makes a PLAMLIB
5016 ## CC just makes a GrossModule.
5017 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5018 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5019 _LT_TAGVAR(hardcode_direct, $1)=no
5020 ;;
5021 motorola)
5022 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5023 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5024 ;;
5025 esac
5026 runpath_var='LD_RUN_PATH'
5027 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5028 ;;
5029
5030 sysv4.3*)
5031 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5032 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5033 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5034 ;;
5035
5036 sysv4*MP*)
5037 if test -d /usr/nec; then
5038 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5039 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5040 runpath_var=LD_RUN_PATH
5041 hardcode_runpath_var=yes
5042 _LT_TAGVAR(ld_shlibs, $1)=yes
5043 fi
5044 ;;
5045
5046 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5047 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5048 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5049 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5050 runpath_var='LD_RUN_PATH'
5051
5052 if test "$GCC" = yes; then
5053 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5054 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5055 else
5056 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5057 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5058 fi
5059 ;;
5060
5061 sysv5* | sco3.2v5* | sco5v6*)
5062 # Note: We can NOT use -z defs as we might desire, because we do not
5063 # link with -lc, and that would cause any symbols used from libc to
5064 # always be unresolved, which means just about no library would
5065 # ever link correctly. If we're not using GNU ld we use -z text
5066 # though, which does catch some bad symbols but isn't as heavy-handed
5067 # as -z defs.
5068 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5069 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5070 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5071 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5072 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5073 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5074 _LT_TAGVAR(link_all_deplibs, $1)=yes
5075 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5076 runpath_var='LD_RUN_PATH'
5077
5078 if test "$GCC" = yes; then
5079 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5080 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5081 else
5082 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5083 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5084 fi
5085 ;;
5086
5087 uts4*)
5088 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5089 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5090 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5091 ;;
5092
5093 *)
5094 _LT_TAGVAR(ld_shlibs, $1)=no
5095 ;;
5096 esac
5097
5098 if test x$host_vendor = xsni; then
5099 case $host in
5100 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5101 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5102 ;;
5103 esac
5104 fi
5105 fi
5106])
5107AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5108test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5109
5110_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5111
5112_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5113_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5114_LT_DECL([], [extract_expsyms_cmds], [2],
5115 [The commands to extract the exported symbol list from a shared archive])
5116
5117#
5118# Do we need to explicitly link libc?
5119#
5120case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5121x|xyes)
5122 # Assume -lc should be added
5123 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5124
5125 if test "$enable_shared" = yes && test "$GCC" = yes; then
5126 case $_LT_TAGVAR(archive_cmds, $1) in
5127 *'~'*)
5128 # FIXME: we may have to deal with multi-command sequences.
5129 ;;
5130 '$CC '*)
5131 # Test whether the compiler implicitly links with -lc since on some
5132 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5133 # to ld, don't add -lc before -lgcc.
5134 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5135 $RM conftest*
5136 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5137
5138 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5139 soname=conftest
5140 lib=conftest
5141 libobjs=conftest.$ac_objext
5142 deplibs=
5143 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5144 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5145 compiler_flags=-v
5146 linker_flags=-v
5147 verstring=
5148 output_objdir=.
5149 libname=conftest
5150 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5151 _LT_TAGVAR(allow_undefined_flag, $1)=
5152 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5153 then
5154 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5155 else
5156 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5157 fi
5158 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5159 else
5160 cat conftest.err 1>&5
5161 fi
5162 $RM conftest*
5163 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5164 ;;
5165 esac
5166 fi
5167 ;;
5168esac
5169
5170_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5171 [Whether or not to add -lc for building shared libraries])
5172_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5173 [enable_shared_with_static_runtimes], [0],
5174 [Whether or not to disallow shared libs when runtime libs are static])
5175_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5176 [Compiler flag to allow reflexive dlopens])
5177_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5178 [Compiler flag to generate shared objects directly from archives])
5179_LT_TAGDECL([], [compiler_needs_object], [1],
5180 [Whether the compiler copes with passing no objects directly])
5181_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5182 [Create an old-style archive from a shared archive])
5183_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5184 [Create a temporary old-style archive to link instead of a shared archive])
5185_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5186_LT_TAGDECL([], [archive_expsym_cmds], [2])
5187_LT_TAGDECL([], [module_cmds], [2],
5188 [Commands used to build a loadable module if different from building
5189 a shared archive.])
5190_LT_TAGDECL([], [module_expsym_cmds], [2])
5191_LT_TAGDECL([], [with_gnu_ld], [1],
5192 [Whether we are building with GNU ld or not])
5193_LT_TAGDECL([], [allow_undefined_flag], [1],
5194 [Flag that allows shared libraries with undefined symbols to be built])
5195_LT_TAGDECL([], [no_undefined_flag], [1],
5196 [Flag that enforces no undefined symbols])
5197_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5198 [Flag to hardcode $libdir into a binary during linking.
5199 This must work even if $libdir does not exist])
5200_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5201 [[If ld is used when linking, flag to hardcode $libdir into a binary
5202 during linking. This must work even if $libdir does not exist]])
5203_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5204 [Whether we need a single "-rpath" flag with a separated argument])
5205_LT_TAGDECL([], [hardcode_direct], [0],
5206 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5207 DIR into the resulting binary])
5208_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5209 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5210 DIR into the resulting binary and the resulting library dependency is
5211 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5212 library is relocated])
5213_LT_TAGDECL([], [hardcode_minus_L], [0],
5214 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5215 into the resulting binary])
5216_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5217 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5218 into the resulting binary])
5219_LT_TAGDECL([], [hardcode_automatic], [0],
5220 [Set to "yes" if building a shared library automatically hardcodes DIR
5221 into the library and all subsequent libraries and executables linked
5222 against it])
5223_LT_TAGDECL([], [inherit_rpath], [0],
5224 [Set to yes if linker adds runtime paths of dependent libraries
5225 to runtime path list])
5226_LT_TAGDECL([], [link_all_deplibs], [0],
5227 [Whether libtool must link a program against all its dependency libraries])
5228_LT_TAGDECL([], [fix_srcfile_path], [1],
5229 [Fix the shell variable $srcfile for the compiler])
5230_LT_TAGDECL([], [always_export_symbols], [0],
5231 [Set to "yes" if exported symbols are required])
5232_LT_TAGDECL([], [export_symbols_cmds], [2],
5233 [The commands to list exported symbols])
5234_LT_TAGDECL([], [exclude_expsyms], [1],
5235 [Symbols that should not be listed in the preloaded symbols])
5236_LT_TAGDECL([], [include_expsyms], [1],
5237 [Symbols that must always be exported])
5238_LT_TAGDECL([], [prelink_cmds], [2],
5239 [Commands necessary for linking programs (against libraries) with templates])
5240_LT_TAGDECL([], [file_list_spec], [1],
5241 [Specify filename containing input files])
5242dnl FIXME: Not yet implemented
5243dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5244dnl [Compiler flag to generate thread safe objects])
5245])# _LT_LINKER_SHLIBS
5246
5247
5248# _LT_LANG_C_CONFIG([TAG])
5249# ------------------------
5250# Ensure that the configuration variables for a C compiler are suitably
5251# defined. These variables are subsequently used by _LT_CONFIG to write
5252# the compiler configuration to `libtool'.
5253m4_defun([_LT_LANG_C_CONFIG],
5254[m4_require([_LT_DECL_EGREP])dnl
5255lt_save_CC="$CC"
5256AC_LANG_PUSH(C)
5257
5258# Source file extension for C test sources.
5259ac_ext=c
5260
5261# Object file extension for compiled C test sources.
5262objext=o
5263_LT_TAGVAR(objext, $1)=$objext
5264
5265# Code to be used in simple compile tests
5266lt_simple_compile_test_code="int some_variable = 0;"
5267
5268# Code to be used in simple link tests
5269lt_simple_link_test_code='int main(){return(0);}'
5270
5271_LT_TAG_COMPILER
5272# Save the default compiler, since it gets overwritten when the other
5273# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5274compiler_DEFAULT=$CC
5275
5276# save warnings/boilerplate of simple test code
5277_LT_COMPILER_BOILERPLATE
5278_LT_LINKER_BOILERPLATE
5279
5280## CAVEAT EMPTOR:
5281## There is no encapsulation within the following macros, do not change
5282## the running order or otherwise move them around unless you know exactly
5283## what you are doing...
5284if test -n "$compiler"; then
5285 _LT_COMPILER_NO_RTTI($1)
5286 _LT_COMPILER_PIC($1)
5287 _LT_COMPILER_C_O($1)
5288 _LT_COMPILER_FILE_LOCKS($1)
5289 _LT_LINKER_SHLIBS($1)
5290 _LT_SYS_DYNAMIC_LINKER($1)
5291 _LT_LINKER_HARDCODE_LIBPATH($1)
5292 LT_SYS_DLOPEN_SELF
5293 _LT_CMD_STRIPLIB
5294
5295 # Report which library types will actually be built
5296 AC_MSG_CHECKING([if libtool supports shared libraries])
5297 AC_MSG_RESULT([$can_build_shared])
5298
5299 AC_MSG_CHECKING([whether to build shared libraries])
5300 test "$can_build_shared" = "no" && enable_shared=no
5301
5302 # On AIX, shared libraries and static libraries use the same namespace, and
5303 # are all built from PIC.
5304 case $host_os in
5305 aix3*)
5306 test "$enable_shared" = yes && enable_static=no
5307 if test -n "$RANLIB"; then
5308 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5309 postinstall_cmds='$RANLIB $lib'
5310 fi
5311 ;;
5312
5313 aix[[4-9]]*)
5314 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5315 test "$enable_shared" = yes && enable_static=no
5316 fi
5317 ;;
5318 esac
5319 AC_MSG_RESULT([$enable_shared])
5320
5321 AC_MSG_CHECKING([whether to build static libraries])
5322 # Make sure either enable_shared or enable_static is yes.
5323 test "$enable_shared" = yes || enable_static=yes
5324 AC_MSG_RESULT([$enable_static])
5325
5326 _LT_CONFIG($1)
5327fi
5328AC_LANG_POP
5329CC="$lt_save_CC"
5330])# _LT_LANG_C_CONFIG
5331
5332
5333# _LT_PROG_CXX
5334# ------------
5335# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5336# compiler, we have our own version here.
5337m4_defun([_LT_PROG_CXX],
5338[
5339pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5340AC_PROG_CXX
5341if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5342 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5343 (test "X$CXX" != "Xg++"))) ; then
5344 AC_PROG_CXXCPP
5345else
5346 _lt_caught_CXX_error=yes
5347fi
5348popdef([AC_MSG_ERROR])
5349])# _LT_PROG_CXX
5350
5351dnl aclocal-1.4 backwards compatibility:
5352dnl AC_DEFUN([_LT_PROG_CXX], [])
5353
5354
5355# _LT_LANG_CXX_CONFIG([TAG])
5356# --------------------------
5357# Ensure that the configuration variables for a C++ compiler are suitably
5358# defined. These variables are subsequently used by _LT_CONFIG to write
5359# the compiler configuration to `libtool'.
5360m4_defun([_LT_LANG_CXX_CONFIG],
5361[AC_REQUIRE([_LT_PROG_CXX])dnl
5362m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5363m4_require([_LT_DECL_EGREP])dnl
5364
5365AC_LANG_PUSH(C++)
5366_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5367_LT_TAGVAR(allow_undefined_flag, $1)=
5368_LT_TAGVAR(always_export_symbols, $1)=no
5369_LT_TAGVAR(archive_expsym_cmds, $1)=
5370_LT_TAGVAR(compiler_needs_object, $1)=no
5371_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5372_LT_TAGVAR(hardcode_direct, $1)=no
5373_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5374_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5375_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5376_LT_TAGVAR(hardcode_libdir_separator, $1)=
5377_LT_TAGVAR(hardcode_minus_L, $1)=no
5378_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5379_LT_TAGVAR(hardcode_automatic, $1)=no
5380_LT_TAGVAR(inherit_rpath, $1)=no
5381_LT_TAGVAR(module_cmds, $1)=
5382_LT_TAGVAR(module_expsym_cmds, $1)=
5383_LT_TAGVAR(link_all_deplibs, $1)=unknown
5384_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5385_LT_TAGVAR(no_undefined_flag, $1)=
5386_LT_TAGVAR(whole_archive_flag_spec, $1)=
5387_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5388
5389# Source file extension for C++ test sources.
5390ac_ext=cpp
5391
5392# Object file extension for compiled C++ test sources.
5393objext=o
5394_LT_TAGVAR(objext, $1)=$objext
5395
5396# No sense in running all these tests if we already determined that
5397# the CXX compiler isn't working. Some variables (like enable_shared)
5398# are currently assumed to apply to all compilers on this platform,
5399# and will be corrupted by setting them based on a non-working compiler.
5400if test "$_lt_caught_CXX_error" != yes; then
5401 # Code to be used in simple compile tests
5402 lt_simple_compile_test_code="int some_variable = 0;"
5403
5404 # Code to be used in simple link tests
5405 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5406
5407 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5408 _LT_TAG_COMPILER
5409
5410 # save warnings/boilerplate of simple test code
5411 _LT_COMPILER_BOILERPLATE
5412 _LT_LINKER_BOILERPLATE
5413
5414 # Allow CC to be a program name with arguments.
5415 lt_save_CC=$CC
5416 lt_save_LD=$LD
5417 lt_save_GCC=$GCC
5418 GCC=$GXX
5419 lt_save_with_gnu_ld=$with_gnu_ld
5420 lt_save_path_LD=$lt_cv_path_LD
5421 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5422 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5423 else
5424 $as_unset lt_cv_prog_gnu_ld
5425 fi
5426 if test -n "${lt_cv_path_LDCXX+set}"; then
5427 lt_cv_path_LD=$lt_cv_path_LDCXX
5428 else
5429 $as_unset lt_cv_path_LD
5430 fi
5431 test -z "${LDCXX+set}" || LD=$LDCXX
5432 CC=${CXX-"c++"}
5433 compiler=$CC
5434 _LT_TAGVAR(compiler, $1)=$CC
5435 _LT_CC_BASENAME([$compiler])
5436
5437 if test -n "$compiler"; then
5438 # We don't want -fno-exception when compiling C++ code, so set the
5439 # no_builtin_flag separately
5440 if test "$GXX" = yes; then
5441 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5442 else
5443 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5444 fi
5445
5446 if test "$GXX" = yes; then
5447 # Set up default GNU C++ configuration
5448
5449 LT_PATH_LD
5450
5451 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5452 # archiving commands below assume that GNU ld is being used.
5453 if test "$with_gnu_ld" = yes; then
5454 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5455 _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'
5456
5457 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5458 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5459
5460 # If archive_cmds runs LD, not CC, wlarc should be empty
5461 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5462 # investigate it a little bit more. (MM)
5463 wlarc='${wl}'
5464
5465 # ancient GNU ld didn't support --whole-archive et. al.
5466 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5467 $GREP 'no-whole-archive' > /dev/null; then
5468 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5469 else
5470 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5471 fi
5472 else
5473 with_gnu_ld=no
5474 wlarc=
5475
5476 # A generic and very simple default shared library creation
5477 # command for GNU C++ for the case where it uses the native
5478 # linker, instead of GNU ld. If possible, this setting should
5479 # overridden to take advantage of the native linker features on
5480 # the platform it is being used on.
5481 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5482 fi
5483
5484 # Commands to make compiler produce verbose output that lists
5485 # what "hidden" libraries, object files and flags are used when
5486 # linking a shared library.
5487 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5488
5489 else
5490 GXX=no
5491 with_gnu_ld=no
5492 wlarc=
5493 fi
5494
5495 # PORTME: fill in a description of your system's C++ link characteristics
5496 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5497 _LT_TAGVAR(ld_shlibs, $1)=yes
5498 case $host_os in
5499 aix3*)
5500 # FIXME: insert proper C++ library support
5501 _LT_TAGVAR(ld_shlibs, $1)=no
5502 ;;
5503 aix[[4-9]]*)
5504 if test "$host_cpu" = ia64; then
5505 # On IA64, the linker does run time linking by default, so we don't
5506 # have to do anything special.
5507 aix_use_runtimelinking=no
5508 exp_sym_flag='-Bexport'
5509 no_entry_flag=""
5510 else
5511 aix_use_runtimelinking=no
5512
5513 # Test if we are trying to use run time linking or normal
5514 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5515 # need to do runtime linking.
5516 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5517 for ld_flag in $LDFLAGS; do
5518 case $ld_flag in
5519 *-brtl*)
5520 aix_use_runtimelinking=yes
5521 break
5522 ;;
5523 esac
5524 done
5525 ;;
5526 esac
5527
5528 exp_sym_flag='-bexport'
5529 no_entry_flag='-bnoentry'
5530 fi
5531
5532 # When large executables or shared objects are built, AIX ld can
5533 # have problems creating the table of contents. If linking a library
5534 # or program results in "error TOC overflow" add -mminimal-toc to
5535 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5536 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5537
5538 _LT_TAGVAR(archive_cmds, $1)=''
5539 _LT_TAGVAR(hardcode_direct, $1)=yes
5540 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5541 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5542 _LT_TAGVAR(link_all_deplibs, $1)=yes
5543 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5544
5545 if test "$GXX" = yes; then
5546 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5547 # We only want to do this on AIX 4.2 and lower, the check
5548 # below for broken collect2 doesn't work under 4.3+
5549 collect2name=`${CC} -print-prog-name=collect2`
5550 if test -f "$collect2name" &&
5551 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5552 then
5553 # We have reworked collect2
5554 :
5555 else
5556 # We have old collect2
5557 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5558 # It fails to find uninstalled libraries when the uninstalled
5559 # path is not listed in the libpath. Setting hardcode_minus_L
5560 # to unsupported forces relinking
5561 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5562 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5563 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5564 fi
5565 esac
5566 shared_flag='-shared'
5567 if test "$aix_use_runtimelinking" = yes; then
5568 shared_flag="$shared_flag "'${wl}-G'
5569 fi
5570 else
5571 # not using gcc
5572 if test "$host_cpu" = ia64; then
5573 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5574 # chokes on -Wl,-G. The following line is correct:
5575 shared_flag='-G'
5576 else
5577 if test "$aix_use_runtimelinking" = yes; then
5578 shared_flag='${wl}-G'
5579 else
5580 shared_flag='${wl}-bM:SRE'
5581 fi
5582 fi
5583 fi
5584
5585 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5586 # It seems that -bexpall does not export symbols beginning with
5587 # underscore (_), so it is better to generate a list of symbols to
5588 # export.
5589 _LT_TAGVAR(always_export_symbols, $1)=yes
5590 if test "$aix_use_runtimelinking" = yes; then
5591 # Warning - without using the other runtime loading flags (-brtl),
5592 # -berok will link without error, but may produce a broken library.
5593 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5594 # Determine the default libpath from the value encoded in an empty
5595 # executable.
5596 _LT_SYS_MODULE_PATH_AIX
5597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5598
5599 _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"
5600 else
5601 if test "$host_cpu" = ia64; then
5602 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5603 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5604 _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"
5605 else
5606 # Determine the default libpath from the value encoded in an
5607 # empty executable.
5608 _LT_SYS_MODULE_PATH_AIX
5609 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5610 # Warning - without using the other run time loading flags,
5611 # -berok will link without error, but may produce a broken library.
5612 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5613 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5614 # Exported symbols can be pulled into shared objects from archives
5615 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5616 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5617 # This is similar to how AIX traditionally builds its shared
5618 # libraries.
5619 _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'
5620 fi
5621 fi
5622 ;;
5623
5624 beos*)
5625 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5626 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5627 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5628 # support --undefined. This deserves some investigation. FIXME
5629 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5630 else
5631 _LT_TAGVAR(ld_shlibs, $1)=no
5632 fi
5633 ;;
5634
5635 chorus*)
5636 case $cc_basename in
5637 *)
5638 # FIXME: insert proper C++ library support
5639 _LT_TAGVAR(ld_shlibs, $1)=no
5640 ;;
5641 esac
5642 ;;
5643
5644 cygwin* | mingw* | pw32* | cegcc*)
5645 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5646 # as there is no search path for DLLs.
5647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5648 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5649 _LT_TAGVAR(always_export_symbols, $1)=no
5650 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5651
5652 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5653 _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'
5654 # If the export-symbols file already is a .def file (1st line
5655 # is EXPORTS), use it as is; otherwise, prepend...
5656 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5657 cp $export_symbols $output_objdir/$soname.def;
5658 else
5659 echo EXPORTS > $output_objdir/$soname.def;
5660 cat $export_symbols >> $output_objdir/$soname.def;
5661 fi~
5662 $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'
5663 else
5664 _LT_TAGVAR(ld_shlibs, $1)=no
5665 fi
5666 ;;
5667 darwin* | rhapsody*)
5668 _LT_DARWIN_LINKER_FEATURES($1)
5669 ;;
5670
5671 dgux*)
5672 case $cc_basename in
5673 ec++*)
5674 # FIXME: insert proper C++ library support
5675 _LT_TAGVAR(ld_shlibs, $1)=no
5676 ;;
5677 ghcx*)
5678 # Green Hills C++ Compiler
5679 # FIXME: insert proper C++ library support
5680 _LT_TAGVAR(ld_shlibs, $1)=no
5681 ;;
5682 *)
5683 # FIXME: insert proper C++ library support
5684 _LT_TAGVAR(ld_shlibs, $1)=no
5685 ;;
5686 esac
5687 ;;
5688
5689 freebsd[[12]]*)
5690 # C++ shared libraries reported to be fairly broken before
5691 # switch to ELF
5692 _LT_TAGVAR(ld_shlibs, $1)=no
5693 ;;
5694
5695 freebsd-elf*)
5696 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5697 ;;
5698
5699 freebsd* | dragonfly*)
5700 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5701 # conventions
5702 _LT_TAGVAR(ld_shlibs, $1)=yes
5703 ;;
5704
5705 gnu*)
5706 ;;
5707
5708 hpux9*)
5709 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5710 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5711 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5712 _LT_TAGVAR(hardcode_direct, $1)=yes
5713 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5714 # but as the default
5715 # location of the library.
5716
5717 case $cc_basename in
5718 CC*)
5719 # FIXME: insert proper C++ library support
5720 _LT_TAGVAR(ld_shlibs, $1)=no
5721 ;;
5722 aCC*)
5723 _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'
5724 # Commands to make compiler produce verbose output that lists
5725 # what "hidden" libraries, object files and flags are used when
5726 # linking a shared library.
5727 #
5728 # There doesn't appear to be a way to prevent this compiler from
5729 # explicitly linking system object files so we need to strip them
5730 # from the output so that they don't get included in the library
5731 # dependencies.
5732 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'
5733 ;;
5734 *)
5735 if test "$GXX" = yes; then
5736 _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'
5737 else
5738 # FIXME: insert proper C++ library support
5739 _LT_TAGVAR(ld_shlibs, $1)=no
5740 fi
5741 ;;
5742 esac
5743 ;;
5744
5745 hpux10*|hpux11*)
5746 if test $with_gnu_ld = no; then
5747 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5748 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5749
5750 case $host_cpu in
5751 hppa*64*|ia64*)
5752 ;;
5753 *)
5754 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5755 ;;
5756 esac
5757 fi
5758 case $host_cpu in
5759 hppa*64*|ia64*)
5760 _LT_TAGVAR(hardcode_direct, $1)=no
5761 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5762 ;;
5763 *)
5764 _LT_TAGVAR(hardcode_direct, $1)=yes
5765 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5766 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5767 # but as the default
5768 # location of the library.
5769 ;;
5770 esac
5771
5772 case $cc_basename in
5773 CC*)
5774 # FIXME: insert proper C++ library support
5775 _LT_TAGVAR(ld_shlibs, $1)=no
5776 ;;
5777 aCC*)
5778 case $host_cpu in
5779 hppa*64*)
5780 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5781 ;;
5782 ia64*)
5783 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5784 ;;
5785 *)
5786 _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'
5787 ;;
5788 esac
5789 # Commands to make compiler produce verbose output that lists
5790 # what "hidden" libraries, object files and flags are used when
5791 # linking a shared library.
5792 #
5793 # There doesn't appear to be a way to prevent this compiler from
5794 # explicitly linking system object files so we need to strip them
5795 # from the output so that they don't get included in the library
5796 # dependencies.
5797 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'
5798 ;;
5799 *)
5800 if test "$GXX" = yes; then
5801 if test $with_gnu_ld = no; then
5802 case $host_cpu in
5803 hppa*64*)
5804 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5805 ;;
5806 ia64*)
5807 _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'
5808 ;;
5809 *)
5810 _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'
5811 ;;
5812 esac
5813 fi
5814 else
5815 # FIXME: insert proper C++ library support
5816 _LT_TAGVAR(ld_shlibs, $1)=no
5817 fi
5818 ;;
5819 esac
5820 ;;
5821
5822 interix[[3-9]]*)
5823 _LT_TAGVAR(hardcode_direct, $1)=no
5824 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5825 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5826 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5827 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5828 # Instead, shared libraries are loaded at an image base (0x10000000 by
5829 # default) and relocated if they conflict, which is a slow very memory
5830 # consuming and fragmenting process. To avoid this, we pick a random,
5831 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5832 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5833 _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'
5834 _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'
5835 ;;
5836 irix5* | irix6*)
5837 case $cc_basename in
5838 CC*)
5839 # SGI C++
5840 _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'
5841
5842 # Archives containing C++ object files must be created using
5843 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5844 # necessary to make sure instantiated templates are included
5845 # in the archive.
5846 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5847 ;;
5848 *)
5849 if test "$GXX" = yes; then
5850 if test "$with_gnu_ld" = no; then
5851 _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'
5852 else
5853 _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'
5854 fi
5855 fi
5856 _LT_TAGVAR(link_all_deplibs, $1)=yes
5857 ;;
5858 esac
5859 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5860 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5861 _LT_TAGVAR(inherit_rpath, $1)=yes
5862 ;;
5863
5864 linux* | k*bsd*-gnu | kopensolaris*-gnu)
5865 case $cc_basename in
5866 KCC*)
5867 # Kuck and Associates, Inc. (KAI) C++ Compiler
5868
5869 # KCC will only create a shared library if the output file
5870 # ends with ".so" (or ".sl" for HP-UX), so rename the library
5871 # to its proper name (with version) after linking.
5872 _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'
5873 _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'
5874 # Commands to make compiler produce verbose output that lists
5875 # what "hidden" libraries, object files and flags are used when
5876 # linking a shared library.
5877 #
5878 # There doesn't appear to be a way to prevent this compiler from
5879 # explicitly linking system object files so we need to strip them
5880 # from the output so that they don't get included in the library
5881 # dependencies.
5882 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'
5883
5884 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5885 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5886
5887 # Archives containing C++ object files must be created using
5888 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5889 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5890 ;;
5891 icpc* | ecpc* )
5892 # Intel C++
5893 with_gnu_ld=yes
5894 # version 8.0 and above of icpc choke on multiply defined symbols
5895 # if we add $predep_objects and $postdep_objects, however 7.1 and
5896 # earlier do not add the objects themselves.
5897 case `$CC -V 2>&1` in
5898 *"Version 7."*)
5899 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5900 _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'
5901 ;;
5902 *) # Version 8.0 or newer
5903 tmp_idyn=
5904 case $host_cpu in
5905 ia64*) tmp_idyn=' -i_dynamic';;
5906 esac
5907 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5908 _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'
5909 ;;
5910 esac
5911 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5912 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5913 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5914 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5915 ;;
5916 pgCC* | pgcpp*)
5917 # Portland Group C++ compiler
5918 case `$CC -V` in
5919 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5920 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5921 rm -rf $tpldir~
5922 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5923 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5924 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5925 rm -rf $tpldir~
5926 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5927 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5928 $RANLIB $oldlib'
5929 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5930 rm -rf $tpldir~
5931 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5932 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5933 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5934 rm -rf $tpldir~
5935 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5936 $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'
5937 ;;
5938 *) # Version 6 will use weak symbols
5939 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5940 _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'
5941 ;;
5942 esac
5943
5944 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5945 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5946 _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'
5947 ;;
5948 cxx*)
5949 # Compaq C++
5950 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5951 _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'
5952
5953 runpath_var=LD_RUN_PATH
5954 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5955 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5956
5957 # Commands to make compiler produce verbose output that lists
5958 # what "hidden" libraries, object files and flags are used when
5959 # linking a shared library.
5960 #
5961 # There doesn't appear to be a way to prevent this compiler from
5962 # explicitly linking system object files so we need to strip them
5963 # from the output so that they don't get included in the library
5964 # dependencies.
5965 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'
5966 ;;
5967 xl*)
5968 # IBM XL 8.0 on PPC, with GNU ld
5969 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5970 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5971 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5972 if test "x$supports_anon_versioning" = xyes; then
5973 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5974 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5975 echo "local: *; };" >> $output_objdir/$libname.ver~
5976 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5977 fi
5978 ;;
5979 *)
5980 case `$CC -V 2>&1 | sed 5q` in
5981 *Sun\ C*)
5982 # Sun C++ 5.9
5983 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5984 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5985 _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'
5986 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5987 _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'
5988 _LT_TAGVAR(compiler_needs_object, $1)=yes
5989
5990 # Not sure whether something based on
5991 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5992 # would be better.
5993 output_verbose_link_cmd='echo'
5994
5995 # Archives containing C++ object files must be created using
5996 # "CC -xar", where "CC" is the Sun C++ compiler. This is
5997 # necessary to make sure instantiated templates are included
5998 # in the archive.
5999 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6000 ;;
6001 esac
6002 ;;
6003 esac
6004 ;;
6005
6006 lynxos*)
6007 # FIXME: insert proper C++ library support
6008 _LT_TAGVAR(ld_shlibs, $1)=no
6009 ;;
6010
6011 m88k*)
6012 # FIXME: insert proper C++ library support
6013 _LT_TAGVAR(ld_shlibs, $1)=no
6014 ;;
6015
6016 mvs*)
6017 case $cc_basename in
6018 cxx*)
6019 # FIXME: insert proper C++ library support
6020 _LT_TAGVAR(ld_shlibs, $1)=no
6021 ;;
6022 *)
6023 # FIXME: insert proper C++ library support
6024 _LT_TAGVAR(ld_shlibs, $1)=no
6025 ;;
6026 esac
6027 ;;
6028
6029 netbsd*)
6030 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6031 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6032 wlarc=
6033 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6034 _LT_TAGVAR(hardcode_direct, $1)=yes
6035 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6036 fi
6037 # Workaround some broken pre-1.5 toolchains
6038 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6039 ;;
6040
6041 *nto* | *qnx*)
6042 _LT_TAGVAR(ld_shlibs, $1)=yes
6043 ;;
6044
6045 openbsd2*)
6046 # C++ shared libraries are fairly broken
6047 _LT_TAGVAR(ld_shlibs, $1)=no
6048 ;;
6049
6050 openbsd*)
6051 if test -f /usr/libexec/ld.so; then
6052 _LT_TAGVAR(hardcode_direct, $1)=yes
6053 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6054 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6055 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6056 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6057 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6058 _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'
6059 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6060 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6061 fi
6062 output_verbose_link_cmd=echo
6063 else
6064 _LT_TAGVAR(ld_shlibs, $1)=no
6065 fi
6066 ;;
6067
6068 osf3* | osf4* | osf5*)
6069 case $cc_basename in
6070 KCC*)
6071 # Kuck and Associates, Inc. (KAI) C++ Compiler
6072
6073 # KCC will only create a shared library if the output file
6074 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6075 # to its proper name (with version) after linking.
6076 _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'
6077
6078 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6079 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6080
6081 # Archives containing C++ object files must be created using
6082 # the KAI C++ compiler.
6083 case $host in
6084 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6085 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6086 esac
6087 ;;
6088 RCC*)
6089 # Rational C++ 2.4.1
6090 # FIXME: insert proper C++ library support
6091 _LT_TAGVAR(ld_shlibs, $1)=no
6092 ;;
6093 cxx*)
6094 case $host in
6095 osf3*)
6096 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6097 _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'
6098 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6099 ;;
6100 *)
6101 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6102 _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'
6103 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6104 echo "-hidden">> $lib.exp~
6105 $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~
6106 $RM $lib.exp'
6107 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6108 ;;
6109 esac
6110
6111 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6112
6113 # Commands to make compiler produce verbose output that lists
6114 # what "hidden" libraries, object files and flags are used when
6115 # linking a shared library.
6116 #
6117 # There doesn't appear to be a way to prevent this compiler from
6118 # explicitly linking system object files so we need to strip them
6119 # from the output so that they don't get included in the library
6120 # dependencies.
6121 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'
6122 ;;
6123 *)
6124 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6125 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6126 case $host in
6127 osf3*)
6128 _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'
6129 ;;
6130 *)
6131 _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'
6132 ;;
6133 esac
6134
6135 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6136 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6137
6138 # Commands to make compiler produce verbose output that lists
6139 # what "hidden" libraries, object files and flags are used when
6140 # linking a shared library.
6141 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6142
6143 else
6144 # FIXME: insert proper C++ library support
6145 _LT_TAGVAR(ld_shlibs, $1)=no
6146 fi
6147 ;;
6148 esac
6149 ;;
6150
6151 psos*)
6152 # FIXME: insert proper C++ library support
6153 _LT_TAGVAR(ld_shlibs, $1)=no
6154 ;;
6155
6156 sunos4*)
6157 case $cc_basename in
6158 CC*)
6159 # Sun C++ 4.x
6160 # FIXME: insert proper C++ library support
6161 _LT_TAGVAR(ld_shlibs, $1)=no
6162 ;;
6163 lcc*)
6164 # Lucid
6165 # FIXME: insert proper C++ library support
6166 _LT_TAGVAR(ld_shlibs, $1)=no
6167 ;;
6168 *)
6169 # FIXME: insert proper C++ library support
6170 _LT_TAGVAR(ld_shlibs, $1)=no
6171 ;;
6172 esac
6173 ;;
6174
6175 solaris*)
6176 case $cc_basename in
6177 CC*)
6178 # Sun C++ 4.2, 5.x and Centerline C++
6179 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6180 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6181 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6182 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6183 $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'
6184
6185 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6186 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6187 case $host_os in
6188 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6189 *)
6190 # The compiler driver will combine and reorder linker options,
6191 # but understands `-z linker_flag'.
6192 # Supported since Solaris 2.6 (maybe 2.5.1?)
6193 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6194 ;;
6195 esac
6196 _LT_TAGVAR(link_all_deplibs, $1)=yes
6197
6198 output_verbose_link_cmd='echo'
6199
6200 # Archives containing C++ object files must be created using
6201 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6202 # necessary to make sure instantiated templates are included
6203 # in the archive.
6204 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6205 ;;
6206 gcx*)
6207 # Green Hills C++ Compiler
6208 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6209
6210 # The C++ compiler must be used to create the archive.
6211 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6212 ;;
6213 *)
6214 # GNU C++ compiler with Solaris linker
6215 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6216 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6217 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6218 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6219 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6220 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6221
6222 # Commands to make compiler produce verbose output that lists
6223 # what "hidden" libraries, object files and flags are used when
6224 # linking a shared library.
6225 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6226 else
6227 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6228 # platform.
6229 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6230 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6231 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6232
6233 # Commands to make compiler produce verbose output that lists
6234 # what "hidden" libraries, object files and flags are used when
6235 # linking a shared library.
6236 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6237 fi
6238
6239 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6240 case $host_os in
6241 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6242 *)
6243 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6244 ;;
6245 esac
6246 fi
6247 ;;
6248 esac
6249 ;;
6250
6251 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6252 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6253 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6254 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6255 runpath_var='LD_RUN_PATH'
6256
6257 case $cc_basename in
6258 CC*)
6259 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6260 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6261 ;;
6262 *)
6263 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6264 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6265 ;;
6266 esac
6267 ;;
6268
6269 sysv5* | sco3.2v5* | sco5v6*)
6270 # Note: We can NOT use -z defs as we might desire, because we do not
6271 # link with -lc, and that would cause any symbols used from libc to
6272 # always be unresolved, which means just about no library would
6273 # ever link correctly. If we're not using GNU ld we use -z text
6274 # though, which does catch some bad symbols but isn't as heavy-handed
6275 # as -z defs.
6276 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6277 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6278 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6279 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6280 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6281 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6282 _LT_TAGVAR(link_all_deplibs, $1)=yes
6283 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6284 runpath_var='LD_RUN_PATH'
6285
6286 case $cc_basename in
6287 CC*)
6288 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6289 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6290 ;;
6291 *)
6292 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6293 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6294 ;;
6295 esac
6296 ;;
6297
6298 tandem*)
6299 case $cc_basename in
6300 NCC*)
6301 # NonStop-UX NCC 3.20
6302 # FIXME: insert proper C++ library support
6303 _LT_TAGVAR(ld_shlibs, $1)=no
6304 ;;
6305 *)
6306 # FIXME: insert proper C++ library support
6307 _LT_TAGVAR(ld_shlibs, $1)=no
6308 ;;
6309 esac
6310 ;;
6311
6312 vxworks*)
6313 # FIXME: insert proper C++ library support
6314 _LT_TAGVAR(ld_shlibs, $1)=no
6315 ;;
6316
6317 *)
6318 # FIXME: insert proper C++ library support
6319 _LT_TAGVAR(ld_shlibs, $1)=no
6320 ;;
6321 esac
6322
6323 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6324 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6325
6326 _LT_TAGVAR(GCC, $1)="$GXX"
6327 _LT_TAGVAR(LD, $1)="$LD"
6328
6329 ## CAVEAT EMPTOR:
6330 ## There is no encapsulation within the following macros, do not change
6331 ## the running order or otherwise move them around unless you know exactly
6332 ## what you are doing...
6333 _LT_SYS_HIDDEN_LIBDEPS($1)
6334 _LT_COMPILER_PIC($1)
6335 _LT_COMPILER_C_O($1)
6336 _LT_COMPILER_FILE_LOCKS($1)
6337 _LT_LINKER_SHLIBS($1)
6338 _LT_SYS_DYNAMIC_LINKER($1)
6339 _LT_LINKER_HARDCODE_LIBPATH($1)
6340
6341 _LT_CONFIG($1)
6342 fi # test -n "$compiler"
6343
6344 CC=$lt_save_CC
6345 LDCXX=$LD
6346 LD=$lt_save_LD
6347 GCC=$lt_save_GCC
6348 with_gnu_ld=$lt_save_with_gnu_ld
6349 lt_cv_path_LDCXX=$lt_cv_path_LD
6350 lt_cv_path_LD=$lt_save_path_LD
6351 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6352 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6353fi # test "$_lt_caught_CXX_error" != yes
6354
6355AC_LANG_POP
6356])# _LT_LANG_CXX_CONFIG
6357
6358
6359# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6360# ---------------------------------
6361# Figure out "hidden" library dependencies from verbose
6362# compiler output when linking a shared library.
6363# Parse the compiler output and extract the necessary
6364# objects, libraries and library flags.
6365m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6366[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6367# Dependencies to place before and after the object being linked:
6368_LT_TAGVAR(predep_objects, $1)=
6369_LT_TAGVAR(postdep_objects, $1)=
6370_LT_TAGVAR(predeps, $1)=
6371_LT_TAGVAR(postdeps, $1)=
6372_LT_TAGVAR(compiler_lib_search_path, $1)=
6373
6374dnl we can't use the lt_simple_compile_test_code here,
6375dnl because it contains code intended for an executable,
6376dnl not a library. It's possible we should let each
6377dnl tag define a new lt_????_link_test_code variable,
6378dnl but it's only used here...
6379m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6380int a;
6381void foo (void) { a = 0; }
6382_LT_EOF
6383], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6384class Foo
6385{
6386public:
6387 Foo (void) { a = 0; }
6388private:
6389 int a;
6390};
6391_LT_EOF
6392], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6393 subroutine foo
6394 implicit none
6395 integer*4 a
6396 a=0
6397 return
6398 end
6399_LT_EOF
6400], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6401 subroutine foo
6402 implicit none
6403 integer a
6404 a=0
6405 return
6406 end
6407_LT_EOF
6408], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6409public class foo {
6410 private int a;
6411 public void bar (void) {
6412 a = 0;
6413 }
6414};
6415_LT_EOF
6416])
6417dnl Parse the compiler output and extract the necessary
6418dnl objects, libraries and library flags.
6419if AC_TRY_EVAL(ac_compile); then
6420 # Parse the compiler output and extract the necessary
6421 # objects, libraries and library flags.
6422
6423 # Sentinel used to keep track of whether or not we are before
6424 # the conftest object file.
6425 pre_test_object_deps_done=no
6426
6427 for p in `eval "$output_verbose_link_cmd"`; do
6428 case $p in
6429
6430 -L* | -R* | -l*)
6431 # Some compilers place space between "-{L,R}" and the path.
6432 # Remove the space.
6433 if test $p = "-L" ||
6434 test $p = "-R"; then
6435 prev=$p
6436 continue
6437 else
6438 prev=
6439 fi
6440
6441 if test "$pre_test_object_deps_done" = no; then
6442 case $p in
6443 -L* | -R*)
6444 # Internal compiler library paths should come after those
6445 # provided the user. The postdeps already come after the
6446 # user supplied libs so there is no need to process them.
6447 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6448 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6449 else
6450 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6451 fi
6452 ;;
6453 # The "-l" case would never come before the object being
6454 # linked, so don't bother handling this case.
6455 esac
6456 else
6457 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6458 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6459 else
6460 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6461 fi
6462 fi
6463 ;;
6464
6465 *.$objext)
6466 # This assumes that the test object file only shows up
6467 # once in the compiler output.
6468 if test "$p" = "conftest.$objext"; then
6469 pre_test_object_deps_done=yes
6470 continue
6471 fi
6472
6473 if test "$pre_test_object_deps_done" = no; then
6474 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6475 _LT_TAGVAR(predep_objects, $1)="$p"
6476 else
6477 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6478 fi
6479 else
6480 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6481 _LT_TAGVAR(postdep_objects, $1)="$p"
6482 else
6483 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6484 fi
6485 fi
6486 ;;
6487
6488 *) ;; # Ignore the rest.
6489
6490 esac
6491 done
6492
6493 # Clean up.
6494 rm -f a.out a.exe
6495else
6496 echo "libtool.m4: error: problem compiling $1 test program"
6497fi
6498
6499$RM -f confest.$objext
6500
6501# PORTME: override above test on systems where it is broken
6502m4_if([$1], [CXX],
6503[case $host_os in
6504interix[[3-9]]*)
6505 # Interix 3.5 installs completely hosed .la files for C++, so rather than
6506 # hack all around it, let's just trust "g++" to DTRT.
6507 _LT_TAGVAR(predep_objects,$1)=
6508 _LT_TAGVAR(postdep_objects,$1)=
6509 _LT_TAGVAR(postdeps,$1)=
6510 ;;
6511
6512linux*)
6513 case `$CC -V 2>&1 | sed 5q` in
6514 *Sun\ C*)
6515 # Sun C++ 5.9
6516
6517 # The more standards-conforming stlport4 library is
6518 # incompatible with the Cstd library. Avoid specifying
6519 # it if it's in CXXFLAGS. Ignore libCrun as
6520 # -library=stlport4 depends on it.
6521 case " $CXX $CXXFLAGS " in
6522 *" -library=stlport4 "*)
6523 solaris_use_stlport4=yes
6524 ;;
6525 esac
6526
6527 if test "$solaris_use_stlport4" != yes; then
6528 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6529 fi
6530 ;;
6531 esac
6532 ;;
6533
6534solaris*)
6535 case $cc_basename in
6536 CC*)
6537 # The more standards-conforming stlport4 library is
6538 # incompatible with the Cstd library. Avoid specifying
6539 # it if it's in CXXFLAGS. Ignore libCrun as
6540 # -library=stlport4 depends on it.
6541 case " $CXX $CXXFLAGS " in
6542 *" -library=stlport4 "*)
6543 solaris_use_stlport4=yes
6544 ;;
6545 esac
6546
6547 # Adding this requires a known-good setup of shared libraries for
6548 # Sun compiler versions before 5.6, else PIC objects from an old
6549 # archive will be linked into the output, leading to subtle bugs.
6550 if test "$solaris_use_stlport4" != yes; then
6551 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6552 fi
6553 ;;
6554 esac
6555 ;;
6556esac
6557])
6558
6559case " $_LT_TAGVAR(postdeps, $1) " in
6560*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6561esac
6562 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6563if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6564 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6565fi
6566_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6567 [The directories searched by this compiler when creating a shared library])
6568_LT_TAGDECL([], [predep_objects], [1],
6569 [Dependencies to place before and after the objects being linked to
6570 create a shared library])
6571_LT_TAGDECL([], [postdep_objects], [1])
6572_LT_TAGDECL([], [predeps], [1])
6573_LT_TAGDECL([], [postdeps], [1])
6574_LT_TAGDECL([], [compiler_lib_search_path], [1],
6575 [The library search path used internally by the compiler when linking
6576 a shared library])
6577])# _LT_SYS_HIDDEN_LIBDEPS
6578
6579
6580# _LT_PROG_F77
6581# ------------
6582# Since AC_PROG_F77 is broken, in that it returns the empty string
6583# if there is no fortran compiler, we have our own version here.
6584m4_defun([_LT_PROG_F77],
6585[
6586pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6587AC_PROG_F77
6588if test -z "$F77" || test "X$F77" = "Xno"; then
6589 _lt_disable_F77=yes
6590fi
6591popdef([AC_MSG_ERROR])
6592])# _LT_PROG_F77
6593
6594dnl aclocal-1.4 backwards compatibility:
6595dnl AC_DEFUN([_LT_PROG_F77], [])
6596
6597
6598# _LT_LANG_F77_CONFIG([TAG])
6599# --------------------------
6600# Ensure that the configuration variables for a Fortran 77 compiler are
6601# suitably defined. These variables are subsequently used by _LT_CONFIG
6602# to write the compiler configuration to `libtool'.
6603m4_defun([_LT_LANG_F77_CONFIG],
6604[AC_REQUIRE([_LT_PROG_F77])dnl
6605AC_LANG_PUSH(Fortran 77)
6606
6607_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6608_LT_TAGVAR(allow_undefined_flag, $1)=
6609_LT_TAGVAR(always_export_symbols, $1)=no
6610_LT_TAGVAR(archive_expsym_cmds, $1)=
6611_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6612_LT_TAGVAR(hardcode_direct, $1)=no
6613_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6614_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6615_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6616_LT_TAGVAR(hardcode_libdir_separator, $1)=
6617_LT_TAGVAR(hardcode_minus_L, $1)=no
6618_LT_TAGVAR(hardcode_automatic, $1)=no
6619_LT_TAGVAR(inherit_rpath, $1)=no
6620_LT_TAGVAR(module_cmds, $1)=
6621_LT_TAGVAR(module_expsym_cmds, $1)=
6622_LT_TAGVAR(link_all_deplibs, $1)=unknown
6623_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6624_LT_TAGVAR(no_undefined_flag, $1)=
6625_LT_TAGVAR(whole_archive_flag_spec, $1)=
6626_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6627
6628# Source file extension for f77 test sources.
6629ac_ext=f
6630
6631# Object file extension for compiled f77 test sources.
6632objext=o
6633_LT_TAGVAR(objext, $1)=$objext
6634
6635# No sense in running all these tests if we already determined that
6636# the F77 compiler isn't working. Some variables (like enable_shared)
6637# are currently assumed to apply to all compilers on this platform,
6638# and will be corrupted by setting them based on a non-working compiler.
6639if test "$_lt_disable_F77" != yes; then
6640 # Code to be used in simple compile tests
6641 lt_simple_compile_test_code="\
6642 subroutine t
6643 return
6644 end
6645"
6646
6647 # Code to be used in simple link tests
6648 lt_simple_link_test_code="\
6649 program t
6650 end
6651"
6652
6653 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6654 _LT_TAG_COMPILER
6655
6656 # save warnings/boilerplate of simple test code
6657 _LT_COMPILER_BOILERPLATE
6658 _LT_LINKER_BOILERPLATE
6659
6660 # Allow CC to be a program name with arguments.
6661 lt_save_CC="$CC"
6662 lt_save_GCC=$GCC
6663 CC=${F77-"f77"}
6664 compiler=$CC
6665 _LT_TAGVAR(compiler, $1)=$CC
6666 _LT_CC_BASENAME([$compiler])
6667 GCC=$G77
6668 if test -n "$compiler"; then
6669 AC_MSG_CHECKING([if libtool supports shared libraries])
6670 AC_MSG_RESULT([$can_build_shared])
6671
6672 AC_MSG_CHECKING([whether to build shared libraries])
6673 test "$can_build_shared" = "no" && enable_shared=no
6674
6675 # On AIX, shared libraries and static libraries use the same namespace, and
6676 # are all built from PIC.
6677 case $host_os in
6678 aix3*)
6679 test "$enable_shared" = yes && enable_static=no
6680 if test -n "$RANLIB"; then
6681 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6682 postinstall_cmds='$RANLIB $lib'
6683 fi
6684 ;;
6685 aix[[4-9]]*)
6686 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6687 test "$enable_shared" = yes && enable_static=no
6688 fi
6689 ;;
6690 esac
6691 AC_MSG_RESULT([$enable_shared])
6692
6693 AC_MSG_CHECKING([whether to build static libraries])
6694 # Make sure either enable_shared or enable_static is yes.
6695 test "$enable_shared" = yes || enable_static=yes
6696 AC_MSG_RESULT([$enable_static])
6697
6698 _LT_TAGVAR(GCC, $1)="$G77"
6699 _LT_TAGVAR(LD, $1)="$LD"
6700
6701 ## CAVEAT EMPTOR:
6702 ## There is no encapsulation within the following macros, do not change
6703 ## the running order or otherwise move them around unless you know exactly
6704 ## what you are doing...
6705 _LT_COMPILER_PIC($1)
6706 _LT_COMPILER_C_O($1)
6707 _LT_COMPILER_FILE_LOCKS($1)
6708 _LT_LINKER_SHLIBS($1)
6709 _LT_SYS_DYNAMIC_LINKER($1)
6710 _LT_LINKER_HARDCODE_LIBPATH($1)
6711
6712 _LT_CONFIG($1)
6713 fi # test -n "$compiler"
6714
6715 GCC=$lt_save_GCC
6716 CC="$lt_save_CC"
6717fi # test "$_lt_disable_F77" != yes
6718
6719AC_LANG_POP
6720])# _LT_LANG_F77_CONFIG
6721
6722
6723# _LT_PROG_FC
6724# -----------
6725# Since AC_PROG_FC is broken, in that it returns the empty string
6726# if there is no fortran compiler, we have our own version here.
6727m4_defun([_LT_PROG_FC],
6728[
6729pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6730AC_PROG_FC
6731if test -z "$FC" || test "X$FC" = "Xno"; then
6732 _lt_disable_FC=yes
6733fi
6734popdef([AC_MSG_ERROR])
6735])# _LT_PROG_FC
6736
6737dnl aclocal-1.4 backwards compatibility:
6738dnl AC_DEFUN([_LT_PROG_FC], [])
6739
6740
6741# _LT_LANG_FC_CONFIG([TAG])
6742# -------------------------
6743# Ensure that the configuration variables for a Fortran compiler are
6744# suitably defined. These variables are subsequently used by _LT_CONFIG
6745# to write the compiler configuration to `libtool'.
6746m4_defun([_LT_LANG_FC_CONFIG],
6747[AC_REQUIRE([_LT_PROG_FC])dnl
6748AC_LANG_PUSH(Fortran)
6749
6750_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6751_LT_TAGVAR(allow_undefined_flag, $1)=
6752_LT_TAGVAR(always_export_symbols, $1)=no
6753_LT_TAGVAR(archive_expsym_cmds, $1)=
6754_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6755_LT_TAGVAR(hardcode_direct, $1)=no
6756_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6757_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6758_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6759_LT_TAGVAR(hardcode_libdir_separator, $1)=
6760_LT_TAGVAR(hardcode_minus_L, $1)=no
6761_LT_TAGVAR(hardcode_automatic, $1)=no
6762_LT_TAGVAR(inherit_rpath, $1)=no
6763_LT_TAGVAR(module_cmds, $1)=
6764_LT_TAGVAR(module_expsym_cmds, $1)=
6765_LT_TAGVAR(link_all_deplibs, $1)=unknown
6766_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6767_LT_TAGVAR(no_undefined_flag, $1)=
6768_LT_TAGVAR(whole_archive_flag_spec, $1)=
6769_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6770
6771# Source file extension for fc test sources.
6772ac_ext=${ac_fc_srcext-f}
6773
6774# Object file extension for compiled fc test sources.
6775objext=o
6776_LT_TAGVAR(objext, $1)=$objext
6777
6778# No sense in running all these tests if we already determined that
6779# the FC compiler isn't working. Some variables (like enable_shared)
6780# are currently assumed to apply to all compilers on this platform,
6781# and will be corrupted by setting them based on a non-working compiler.
6782if test "$_lt_disable_FC" != yes; then
6783 # Code to be used in simple compile tests
6784 lt_simple_compile_test_code="\
6785 subroutine t
6786 return
6787 end
6788"
6789
6790 # Code to be used in simple link tests
6791 lt_simple_link_test_code="\
6792 program t
6793 end
6794"
6795
6796 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6797 _LT_TAG_COMPILER
6798
6799 # save warnings/boilerplate of simple test code
6800 _LT_COMPILER_BOILERPLATE
6801 _LT_LINKER_BOILERPLATE
6802
6803 # Allow CC to be a program name with arguments.
6804 lt_save_CC="$CC"
6805 lt_save_GCC=$GCC
6806 CC=${FC-"f95"}
6807 compiler=$CC
6808 GCC=$ac_cv_fc_compiler_gnu
6809
6810 _LT_TAGVAR(compiler, $1)=$CC
6811 _LT_CC_BASENAME([$compiler])
6812
6813 if test -n "$compiler"; then
6814 AC_MSG_CHECKING([if libtool supports shared libraries])
6815 AC_MSG_RESULT([$can_build_shared])
6816
6817 AC_MSG_CHECKING([whether to build shared libraries])
6818 test "$can_build_shared" = "no" && enable_shared=no
6819
6820 # On AIX, shared libraries and static libraries use the same namespace, and
6821 # are all built from PIC.
6822 case $host_os in
6823 aix3*)
6824 test "$enable_shared" = yes && enable_static=no
6825 if test -n "$RANLIB"; then
6826 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6827 postinstall_cmds='$RANLIB $lib'
6828 fi
6829 ;;
6830 aix[[4-9]]*)
6831 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6832 test "$enable_shared" = yes && enable_static=no
6833 fi
6834 ;;
6835 esac
6836 AC_MSG_RESULT([$enable_shared])
6837
6838 AC_MSG_CHECKING([whether to build static libraries])
6839 # Make sure either enable_shared or enable_static is yes.
6840 test "$enable_shared" = yes || enable_static=yes
6841 AC_MSG_RESULT([$enable_static])
6842
6843 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6844 _LT_TAGVAR(LD, $1)="$LD"
6845
6846 ## CAVEAT EMPTOR:
6847 ## There is no encapsulation within the following macros, do not change
6848 ## the running order or otherwise move them around unless you know exactly
6849 ## what you are doing...
6850 _LT_SYS_HIDDEN_LIBDEPS($1)
6851 _LT_COMPILER_PIC($1)
6852 _LT_COMPILER_C_O($1)
6853 _LT_COMPILER_FILE_LOCKS($1)
6854 _LT_LINKER_SHLIBS($1)
6855 _LT_SYS_DYNAMIC_LINKER($1)
6856 _LT_LINKER_HARDCODE_LIBPATH($1)
6857
6858 _LT_CONFIG($1)
6859 fi # test -n "$compiler"
6860
6861 GCC=$lt_save_GCC
6862 CC="$lt_save_CC"
6863fi # test "$_lt_disable_FC" != yes
6864
6865AC_LANG_POP
6866])# _LT_LANG_FC_CONFIG
6867
6868
6869# _LT_LANG_GCJ_CONFIG([TAG])
6870# --------------------------
6871# Ensure that the configuration variables for the GNU Java Compiler compiler
6872# are suitably defined. These variables are subsequently used by _LT_CONFIG
6873# to write the compiler configuration to `libtool'.
6874m4_defun([_LT_LANG_GCJ_CONFIG],
6875[AC_REQUIRE([LT_PROG_GCJ])dnl
6876AC_LANG_SAVE
6877
6878# Source file extension for Java test sources.
6879ac_ext=java
6880
6881# Object file extension for compiled Java test sources.
6882objext=o
6883_LT_TAGVAR(objext, $1)=$objext
6884
6885# Code to be used in simple compile tests
6886lt_simple_compile_test_code="class foo {}"
6887
6888# Code to be used in simple link tests
6889lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6890
6891# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6892_LT_TAG_COMPILER
6893
6894# save warnings/boilerplate of simple test code
6895_LT_COMPILER_BOILERPLATE
6896_LT_LINKER_BOILERPLATE
6897
6898# Allow CC to be a program name with arguments.
6899lt_save_CC="$CC"
6900lt_save_GCC=$GCC
6901GCC=yes
6902CC=${GCJ-"gcj"}
6903compiler=$CC
6904_LT_TAGVAR(compiler, $1)=$CC
6905_LT_TAGVAR(LD, $1)="$LD"
6906_LT_CC_BASENAME([$compiler])
6907
6908# GCJ did not exist at the time GCC didn't implicitly link libc in.
6909_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6910
6911_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6912
6913## CAVEAT EMPTOR:
6914## There is no encapsulation within the following macros, do not change
6915## the running order or otherwise move them around unless you know exactly
6916## what you are doing...
6917if test -n "$compiler"; then
6918 _LT_COMPILER_NO_RTTI($1)
6919 _LT_COMPILER_PIC($1)
6920 _LT_COMPILER_C_O($1)
6921 _LT_COMPILER_FILE_LOCKS($1)
6922 _LT_LINKER_SHLIBS($1)
6923 _LT_LINKER_HARDCODE_LIBPATH($1)
6924
6925 _LT_CONFIG($1)
6926fi
6927
6928AC_LANG_RESTORE
6929
6930GCC=$lt_save_GCC
6931CC="$lt_save_CC"
6932])# _LT_LANG_GCJ_CONFIG
6933
6934
6935# _LT_LANG_RC_CONFIG([TAG])
6936# -------------------------
6937# Ensure that the configuration variables for the Windows resource compiler
6938# are suitably defined. These variables are subsequently used by _LT_CONFIG
6939# to write the compiler configuration to `libtool'.
6940m4_defun([_LT_LANG_RC_CONFIG],
6941[AC_REQUIRE([LT_PROG_RC])dnl
6942AC_LANG_SAVE
6943
6944# Source file extension for RC test sources.
6945ac_ext=rc
6946
6947# Object file extension for compiled RC test sources.
6948objext=o
6949_LT_TAGVAR(objext, $1)=$objext
6950
6951# Code to be used in simple compile tests
6952lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6953
6954# Code to be used in simple link tests
6955lt_simple_link_test_code="$lt_simple_compile_test_code"
6956
6957# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6958_LT_TAG_COMPILER
6959
6960# save warnings/boilerplate of simple test code
6961_LT_COMPILER_BOILERPLATE
6962_LT_LINKER_BOILERPLATE
6963
6964# Allow CC to be a program name with arguments.
6965lt_save_CC="$CC"
6966lt_save_GCC=$GCC
6967GCC=
6968CC=${RC-"windres"}
6969compiler=$CC
6970_LT_TAGVAR(compiler, $1)=$CC
6971_LT_CC_BASENAME([$compiler])
6972_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6973
6974if test -n "$compiler"; then
6975 :
6976 _LT_CONFIG($1)
6977fi
6978
6979GCC=$lt_save_GCC
6980AC_LANG_RESTORE
6981CC="$lt_save_CC"
6982])# _LT_LANG_RC_CONFIG
6983
6984
6985# LT_PROG_GCJ
6986# -----------
6987AC_DEFUN([LT_PROG_GCJ],
6988[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6989 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6990 [AC_CHECK_TOOL(GCJ, gcj,)
6991 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6992 AC_SUBST(GCJFLAGS)])])[]dnl
6993])
6994
6995# Old name:
6996AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
6997dnl aclocal-1.4 backwards compatibility:
6998dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
6999
7000
7001# LT_PROG_RC
7002# ----------
7003AC_DEFUN([LT_PROG_RC],
7004[AC_CHECK_TOOL(RC, windres,)
7005])
7006
7007# Old name:
7008AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7009dnl aclocal-1.4 backwards compatibility:
7010dnl AC_DEFUN([LT_AC_PROG_RC], [])
7011
7012
7013# _LT_DECL_EGREP
7014# --------------
7015# If we don't have a new enough Autoconf to choose the best grep
7016# available, choose the one first in the user's PATH.
7017m4_defun([_LT_DECL_EGREP],
7018[AC_REQUIRE([AC_PROG_EGREP])dnl
7019AC_REQUIRE([AC_PROG_FGREP])dnl
7020test -z "$GREP" && GREP=grep
7021_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7022_LT_DECL([], [EGREP], [1], [An ERE matcher])
7023_LT_DECL([], [FGREP], [1], [A literal string matcher])
7024dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7025AC_SUBST([GREP])
7026])
7027
7028
7029# _LT_DECL_OBJDUMP
7030# --------------
7031# If we don't have a new enough Autoconf to choose the best objdump
7032# available, choose the one first in the user's PATH.
7033m4_defun([_LT_DECL_OBJDUMP],
7034[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7035test -z "$OBJDUMP" && OBJDUMP=objdump
7036_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7037AC_SUBST([OBJDUMP])
7038])
7039
7040
7041# _LT_DECL_SED
7042# ------------
7043# Check for a fully-functional sed program, that truncates
7044# as few characters as possible. Prefer GNU sed if found.
7045m4_defun([_LT_DECL_SED],
7046[AC_PROG_SED
7047test -z "$SED" && SED=sed
7048Xsed="$SED -e 1s/^X//"
7049_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7050_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7051 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7052])# _LT_DECL_SED
7053
7054m4_ifndef([AC_PROG_SED], [
7055############################################################
7056# NOTE: This macro has been submitted for inclusion into #
7057# GNU Autoconf as AC_PROG_SED. When it is available in #
7058# a released version of Autoconf we should remove this #
7059# macro and use it instead. #
7060############################################################
7061
7062m4_defun([AC_PROG_SED],
7063[AC_MSG_CHECKING([for a sed that does not truncate output])
7064AC_CACHE_VAL(lt_cv_path_SED,
7065[# Loop through the user's path and test for sed and gsed.
7066# Then use that list of sed's as ones to test for truncation.
7067as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7068for as_dir in $PATH
7069do
7070 IFS=$as_save_IFS
7071 test -z "$as_dir" && as_dir=.
7072 for lt_ac_prog in sed gsed; do
7073 for ac_exec_ext in '' $ac_executable_extensions; do
7074 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7075 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7076 fi
7077 done
7078 done
7079done
7080IFS=$as_save_IFS
7081lt_ac_max=0
7082lt_ac_count=0
7083# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7084# along with /bin/sed that truncates output.
7085for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7086 test ! -f $lt_ac_sed && continue
7087 cat /dev/null > conftest.in
7088 lt_ac_count=0
7089 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7090 # Check for GNU sed and select it if it is found.
7091 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7092 lt_cv_path_SED=$lt_ac_sed
7093 break
7094 fi
7095 while true; do
7096 cat conftest.in conftest.in >conftest.tmp
7097 mv conftest.tmp conftest.in
7098 cp conftest.in conftest.nl
7099 echo >>conftest.nl
7100 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7101 cmp -s conftest.out conftest.nl || break
7102 # 10000 chars as input seems more than enough
7103 test $lt_ac_count -gt 10 && break
7104 lt_ac_count=`expr $lt_ac_count + 1`
7105 if test $lt_ac_count -gt $lt_ac_max; then
7106 lt_ac_max=$lt_ac_count
7107 lt_cv_path_SED=$lt_ac_sed
7108 fi
7109 done
7110done
7111])
7112SED=$lt_cv_path_SED
7113AC_SUBST([SED])
7114AC_MSG_RESULT([$SED])
7115])#AC_PROG_SED
7116])#m4_ifndef
7117
7118# Old name:
7119AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7120dnl aclocal-1.4 backwards compatibility:
7121dnl AC_DEFUN([LT_AC_PROG_SED], [])
7122
7123
7124# _LT_CHECK_SHELL_FEATURES
7125# ------------------------
7126# Find out whether the shell is Bourne or XSI compatible,
7127# or has some other useful features.
7128m4_defun([_LT_CHECK_SHELL_FEATURES],
7129[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7130# Try some XSI features
7131xsi_shell=no
7132( _lt_dummy="a/b/c"
7133 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7134 = c,a/b,, \
7135 && eval 'test $(( 1 + 1 )) -eq 2 \
7136 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7137 && xsi_shell=yes
7138AC_MSG_RESULT([$xsi_shell])
7139_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7140
7141AC_MSG_CHECKING([whether the shell understands "+="])
7142lt_shell_append=no
7143( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7144 >/dev/null 2>&1 \
7145 && lt_shell_append=yes
7146AC_MSG_RESULT([$lt_shell_append])
7147_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7148
7149if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7150 lt_unset=unset
7151else
7152 lt_unset=false
7153fi
7154_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7155
7156# test EBCDIC or ASCII
7157case `echo X|tr X '\101'` in
7158 A) # ASCII based system
7159 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7160 lt_SP2NL='tr \040 \012'
7161 lt_NL2SP='tr \015\012 \040\040'
7162 ;;
7163 *) # EBCDIC based system
7164 lt_SP2NL='tr \100 \n'
7165 lt_NL2SP='tr \r\n \100\100'
7166 ;;
7167esac
7168_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7169_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7170])# _LT_CHECK_SHELL_FEATURES
7171
7172
7173# _LT_PROG_XSI_SHELLFNS
7174# ---------------------
7175# Bourne and XSI compatible variants of some useful shell functions.
7176m4_defun([_LT_PROG_XSI_SHELLFNS],
7177[case $xsi_shell in
7178 yes)
7179 cat << \_LT_EOF >> "$cfgfile"
7180
7181# func_dirname file append nondir_replacement
7182# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7183# otherwise set result to NONDIR_REPLACEMENT.
7184func_dirname ()
7185{
7186 case ${1} in
7187 */*) func_dirname_result="${1%/*}${2}" ;;
7188 * ) func_dirname_result="${3}" ;;
7189 esac
7190}
7191
7192# func_basename file
7193func_basename ()
7194{
7195 func_basename_result="${1##*/}"
7196}
7197
7198# func_dirname_and_basename file append nondir_replacement
7199# perform func_basename and func_dirname in a single function
7200# call:
7201# dirname: Compute the dirname of FILE. If nonempty,
7202# add APPEND to the result, otherwise set result
7203# to NONDIR_REPLACEMENT.
7204# value returned in "$func_dirname_result"
7205# basename: Compute filename of FILE.
7206# value retuned in "$func_basename_result"
7207# Implementation must be kept synchronized with func_dirname
7208# and func_basename. For efficiency, we do not delegate to
7209# those functions but instead duplicate the functionality here.
7210func_dirname_and_basename ()
7211{
7212 case ${1} in
7213 */*) func_dirname_result="${1%/*}${2}" ;;
7214 * ) func_dirname_result="${3}" ;;
7215 esac
7216 func_basename_result="${1##*/}"
7217}
7218
7219# func_stripname prefix suffix name
7220# strip PREFIX and SUFFIX off of NAME.
7221# PREFIX and SUFFIX must not contain globbing or regex special
7222# characters, hashes, percent signs, but SUFFIX may contain a leading
7223# dot (in which case that matches only a dot).
7224func_stripname ()
7225{
7226 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7227 # positional parameters, so assign one to ordinary parameter first.
7228 func_stripname_result=${3}
7229 func_stripname_result=${func_stripname_result#"${1}"}
7230 func_stripname_result=${func_stripname_result%"${2}"}
7231}
7232
7233# func_opt_split
7234func_opt_split ()
7235{
7236 func_opt_split_opt=${1%%=*}
7237 func_opt_split_arg=${1#*=}
7238}
7239
7240# func_lo2o object
7241func_lo2o ()
7242{
7243 case ${1} in
7244 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7245 *) func_lo2o_result=${1} ;;
7246 esac
7247}
7248
7249# func_xform libobj-or-source
7250func_xform ()
7251{
7252 func_xform_result=${1%.*}.lo
7253}
7254
7255# func_arith arithmetic-term...
7256func_arith ()
7257{
7258 func_arith_result=$(( $[*] ))
7259}
7260
7261# func_len string
7262# STRING may not start with a hyphen.
7263func_len ()
7264{
7265 func_len_result=${#1}
7266}
7267
7268_LT_EOF
7269 ;;
7270 *) # Bourne compatible functions.
7271 cat << \_LT_EOF >> "$cfgfile"
7272
7273# func_dirname file append nondir_replacement
7274# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7275# otherwise set result to NONDIR_REPLACEMENT.
7276func_dirname ()
7277{
7278 # Extract subdirectory from the argument.
7279 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7280 if test "X$func_dirname_result" = "X${1}"; then
7281 func_dirname_result="${3}"
7282 else
7283 func_dirname_result="$func_dirname_result${2}"
7284 fi
7285}
7286
7287# func_basename file
7288func_basename ()
7289{
7290 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7291}
7292
7293dnl func_dirname_and_basename
7294dnl A portable version of this function is already defined in general.m4sh
7295dnl so there is no need for it here.
7296
7297# func_stripname prefix suffix name
7298# strip PREFIX and SUFFIX off of NAME.
7299# PREFIX and SUFFIX must not contain globbing or regex special
7300# characters, hashes, percent signs, but SUFFIX may contain a leading
7301# dot (in which case that matches only a dot).
7302# func_strip_suffix prefix name
7303func_stripname ()
7304{
7305 case ${2} in
7306 .*) func_stripname_result=`$ECHO "X${3}" \
7307 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7308 *) func_stripname_result=`$ECHO "X${3}" \
7309 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7310 esac
7311}
7312
7313# sed scripts:
7314my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7315my_sed_long_arg='1s/^-[[^=]]*=//'
7316
7317# func_opt_split
7318func_opt_split ()
7319{
7320 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7321 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7322}
7323
7324# func_lo2o object
7325func_lo2o ()
7326{
7327 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7328}
7329
7330# func_xform libobj-or-source
7331func_xform ()
7332{
7333 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7334}
7335
7336# func_arith arithmetic-term...
7337func_arith ()
7338{
7339 func_arith_result=`expr "$[@]"`
7340}
7341
7342# func_len string
7343# STRING may not start with a hyphen.
7344func_len ()
7345{
7346 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7347}
7348
7349_LT_EOF
7350esac
7351
7352case $lt_shell_append in
7353 yes)
7354 cat << \_LT_EOF >> "$cfgfile"
7355
7356# func_append var value
7357# Append VALUE to the end of shell variable VAR.
7358func_append ()
7359{
7360 eval "$[1]+=\$[2]"
7361}
7362_LT_EOF
7363 ;;
7364 *)
7365 cat << \_LT_EOF >> "$cfgfile"
7366
7367# func_append var value
7368# Append VALUE to the end of shell variable VAR.
7369func_append ()
7370{
7371 eval "$[1]=\$$[1]\$[2]"
7372}
7373
7374_LT_EOF
7375 ;;
7376 esac
7377])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 0000000..34151a3
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,368 @@
1# Helper functions for option handling. -*- Autoconf -*-
2#
3# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
4# Written by Gary V. Vaughan, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 6 ltoptions.m4
11
12# This is to help aclocal find these macros, as it can't see m4_define.
13AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
14
15
16# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
17# ------------------------------------------
18m4_define([_LT_MANGLE_OPTION],
19[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
20
21
22# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
23# ---------------------------------------
24# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
25# matching handler defined, dispatch to it. Other OPTION-NAMEs are
26# saved as a flag.
27m4_define([_LT_SET_OPTION],
28[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
29m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
30 _LT_MANGLE_DEFUN([$1], [$2]),
31 [m4_warning([Unknown $1 option `$2'])])[]dnl
32])
33
34
35# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
36# ------------------------------------------------------------
37# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
38m4_define([_LT_IF_OPTION],
39[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
40
41
42# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
43# -------------------------------------------------------
44# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
45# are set.
46m4_define([_LT_UNLESS_OPTIONS],
47[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
48 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
49 [m4_define([$0_found])])])[]dnl
50m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
51])[]dnl
52])
53
54
55# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
56# ----------------------------------------
57# OPTION-LIST is a space-separated list of Libtool options associated
58# with MACRO-NAME. If any OPTION has a matching handler declared with
59# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
60# the unknown option and exit.
61m4_defun([_LT_SET_OPTIONS],
62[# Set options
63m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
64 [_LT_SET_OPTION([$1], _LT_Option)])
65
66m4_if([$1],[LT_INIT],[
67 dnl
68 dnl Simply set some default values (i.e off) if boolean options were not
69 dnl specified:
70 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
71 ])
72 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
73 ])
74 dnl
75 dnl If no reference was made to various pairs of opposing options, then
76 dnl we run the default mode handler for the pair. For example, if neither
77 dnl `shared' nor `disable-shared' was passed, we enable building of shared
78 dnl archives by default:
79 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
80 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
81 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
82 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
83 [_LT_ENABLE_FAST_INSTALL])
84 ])
85])# _LT_SET_OPTIONS
86
87
88## --------------------------------- ##
89## Macros to handle LT_INIT options. ##
90## --------------------------------- ##
91
92# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
93# -----------------------------------------
94m4_define([_LT_MANGLE_DEFUN],
95[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
96
97
98# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
99# -----------------------------------------------
100m4_define([LT_OPTION_DEFINE],
101[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
102])# LT_OPTION_DEFINE
103
104
105# dlopen
106# ------
107LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
108])
109
110AU_DEFUN([AC_LIBTOOL_DLOPEN],
111[_LT_SET_OPTION([LT_INIT], [dlopen])
112AC_DIAGNOSE([obsolete],
113[$0: Remove this warning and the call to _LT_SET_OPTION when you
114put the `dlopen' option into LT_INIT's first parameter.])
115])
116
117dnl aclocal-1.4 backwards compatibility:
118dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
119
120
121# win32-dll
122# ---------
123# Declare package support for building win32 dll's.
124LT_OPTION_DEFINE([LT_INIT], [win32-dll],
125[enable_win32_dll=yes
126
127case $host in
128*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
129 AC_CHECK_TOOL(AS, as, false)
130 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
131 AC_CHECK_TOOL(OBJDUMP, objdump, false)
132 ;;
133esac
134
135test -z "$AS" && AS=as
136_LT_DECL([], [AS], [0], [Assembler program])dnl
137
138test -z "$DLLTOOL" && DLLTOOL=dlltool
139_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
140
141test -z "$OBJDUMP" && OBJDUMP=objdump
142_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
143])# win32-dll
144
145AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
146[AC_REQUIRE([AC_CANONICAL_HOST])dnl
147_LT_SET_OPTION([LT_INIT], [win32-dll])
148AC_DIAGNOSE([obsolete],
149[$0: Remove this warning and the call to _LT_SET_OPTION when you
150put the `win32-dll' option into LT_INIT's first parameter.])
151])
152
153dnl aclocal-1.4 backwards compatibility:
154dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
155
156
157# _LT_ENABLE_SHARED([DEFAULT])
158# ----------------------------
159# implement the --enable-shared flag, and supports the `shared' and
160# `disable-shared' LT_INIT options.
161# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
162m4_define([_LT_ENABLE_SHARED],
163[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
164AC_ARG_ENABLE([shared],
165 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
166 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
167 [p=${PACKAGE-default}
168 case $enableval in
169 yes) enable_shared=yes ;;
170 no) enable_shared=no ;;
171 *)
172 enable_shared=no
173 # Look at the argument we got. We use all the common list separators.
174 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
175 for pkg in $enableval; do
176 IFS="$lt_save_ifs"
177 if test "X$pkg" = "X$p"; then
178 enable_shared=yes
179 fi
180 done
181 IFS="$lt_save_ifs"
182 ;;
183 esac],
184 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
185
186 _LT_DECL([build_libtool_libs], [enable_shared], [0],
187 [Whether or not to build shared libraries])
188])# _LT_ENABLE_SHARED
189
190LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
191LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
192
193# Old names:
194AC_DEFUN([AC_ENABLE_SHARED],
195[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
196])
197
198AC_DEFUN([AC_DISABLE_SHARED],
199[_LT_SET_OPTION([LT_INIT], [disable-shared])
200])
201
202AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
203AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
204
205dnl aclocal-1.4 backwards compatibility:
206dnl AC_DEFUN([AM_ENABLE_SHARED], [])
207dnl AC_DEFUN([AM_DISABLE_SHARED], [])
208
209
210
211# _LT_ENABLE_STATIC([DEFAULT])
212# ----------------------------
213# implement the --enable-static flag, and support the `static' and
214# `disable-static' LT_INIT options.
215# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
216m4_define([_LT_ENABLE_STATIC],
217[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
218AC_ARG_ENABLE([static],
219 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
220 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
221 [p=${PACKAGE-default}
222 case $enableval in
223 yes) enable_static=yes ;;
224 no) enable_static=no ;;
225 *)
226 enable_static=no
227 # Look at the argument we got. We use all the common list separators.
228 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
229 for pkg in $enableval; do
230 IFS="$lt_save_ifs"
231 if test "X$pkg" = "X$p"; then
232 enable_static=yes
233 fi
234 done
235 IFS="$lt_save_ifs"
236 ;;
237 esac],
238 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
239
240 _LT_DECL([build_old_libs], [enable_static], [0],
241 [Whether or not to build static libraries])
242])# _LT_ENABLE_STATIC
243
244LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
245LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
246
247# Old names:
248AC_DEFUN([AC_ENABLE_STATIC],
249[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
250])
251
252AC_DEFUN([AC_DISABLE_STATIC],
253[_LT_SET_OPTION([LT_INIT], [disable-static])
254])
255
256AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
257AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
258
259dnl aclocal-1.4 backwards compatibility:
260dnl AC_DEFUN([AM_ENABLE_STATIC], [])
261dnl AC_DEFUN([AM_DISABLE_STATIC], [])
262
263
264
265# _LT_ENABLE_FAST_INSTALL([DEFAULT])
266# ----------------------------------
267# implement the --enable-fast-install flag, and support the `fast-install'
268# and `disable-fast-install' LT_INIT options.
269# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
270m4_define([_LT_ENABLE_FAST_INSTALL],
271[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
272AC_ARG_ENABLE([fast-install],
273 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
274 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
275 [p=${PACKAGE-default}
276 case $enableval in
277 yes) enable_fast_install=yes ;;
278 no) enable_fast_install=no ;;
279 *)
280 enable_fast_install=no
281 # Look at the argument we got. We use all the common list separators.
282 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
283 for pkg in $enableval; do
284 IFS="$lt_save_ifs"
285 if test "X$pkg" = "X$p"; then
286 enable_fast_install=yes
287 fi
288 done
289 IFS="$lt_save_ifs"
290 ;;
291 esac],
292 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
293
294_LT_DECL([fast_install], [enable_fast_install], [0],
295 [Whether or not to optimize for fast installation])dnl
296])# _LT_ENABLE_FAST_INSTALL
297
298LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
299LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
300
301# Old names:
302AU_DEFUN([AC_ENABLE_FAST_INSTALL],
303[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
304AC_DIAGNOSE([obsolete],
305[$0: Remove this warning and the call to _LT_SET_OPTION when you put
306the `fast-install' option into LT_INIT's first parameter.])
307])
308
309AU_DEFUN([AC_DISABLE_FAST_INSTALL],
310[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
311AC_DIAGNOSE([obsolete],
312[$0: Remove this warning and the call to _LT_SET_OPTION when you put
313the `disable-fast-install' option into LT_INIT's first parameter.])
314])
315
316dnl aclocal-1.4 backwards compatibility:
317dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
318dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
319
320
321# _LT_WITH_PIC([MODE])
322# --------------------
323# implement the --with-pic flag, and support the `pic-only' and `no-pic'
324# LT_INIT options.
325# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
326m4_define([_LT_WITH_PIC],
327[AC_ARG_WITH([pic],
328 [AS_HELP_STRING([--with-pic],
329 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
330 [pic_mode="$withval"],
331 [pic_mode=default])
332
333test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
334
335_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
336])# _LT_WITH_PIC
337
338LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
339LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
340
341# Old name:
342AU_DEFUN([AC_LIBTOOL_PICMODE],
343[_LT_SET_OPTION([LT_INIT], [pic-only])
344AC_DIAGNOSE([obsolete],
345[$0: Remove this warning and the call to _LT_SET_OPTION when you
346put the `pic-only' option into LT_INIT's first parameter.])
347])
348
349dnl aclocal-1.4 backwards compatibility:
350dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
351
352## ----------------- ##
353## LTDL_INIT Options ##
354## ----------------- ##
355
356m4_define([_LTDL_MODE], [])
357LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
358 [m4_define([_LTDL_MODE], [nonrecursive])])
359LT_OPTION_DEFINE([LTDL_INIT], [recursive],
360 [m4_define([_LTDL_MODE], [recursive])])
361LT_OPTION_DEFINE([LTDL_INIT], [subproject],
362 [m4_define([_LTDL_MODE], [subproject])])
363
364m4_define([_LTDL_TYPE], [])
365LT_OPTION_DEFINE([LTDL_INIT], [installable],
366 [m4_define([_LTDL_TYPE], [installable])])
367LT_OPTION_DEFINE([LTDL_INIT], [convenience],
368 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..9000a05
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
1# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2#
3# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
4# Written by Gary V. Vaughan, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 6 ltsugar.m4
11
12# This is to help aclocal find these macros, as it can't see m4_define.
13AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
14
15
16# lt_join(SEP, ARG1, [ARG2...])
17# -----------------------------
18# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
19# associated separator.
20# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
21# versions in m4sugar had bugs.
22m4_define([lt_join],
23[m4_if([$#], [1], [],
24 [$#], [2], [[$2]],
25 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
26m4_define([_lt_join],
27[m4_if([$#$2], [2], [],
28 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
29
30
31# lt_car(LIST)
32# lt_cdr(LIST)
33# ------------
34# Manipulate m4 lists.
35# These macros are necessary as long as will still need to support
36# Autoconf-2.59 which quotes differently.
37m4_define([lt_car], [[$1]])
38m4_define([lt_cdr],
39[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
40 [$#], 1, [],
41 [m4_dquote(m4_shift($@))])])
42m4_define([lt_unquote], $1)
43
44
45# lt_append(MACRO-NAME, STRING, [SEPARATOR])
46# ------------------------------------------
47# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
48# Note that neither SEPARATOR nor STRING are expanded; they are appended
49# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
50# No SEPARATOR is output if MACRO-NAME was previously undefined (different
51# than defined and empty).
52#
53# This macro is needed until we can rely on Autoconf 2.62, since earlier
54# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
55m4_define([lt_append],
56[m4_define([$1],
57 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
58
59
60
61# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
62# ----------------------------------------------------------
63# Produce a SEP delimited list of all paired combinations of elements of
64# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
65# has the form PREFIXmINFIXSUFFIXn.
66# Needed until we can rely on m4_combine added in Autoconf 2.62.
67m4_define([lt_combine],
68[m4_if(m4_eval([$# > 3]), [1],
69 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
70[[m4_foreach([_Lt_prefix], [$2],
71 [m4_foreach([_Lt_suffix],
72 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
73 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
74
75
76# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
77# -----------------------------------------------------------------------
78# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
79# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
80m4_define([lt_if_append_uniq],
81[m4_ifdef([$1],
82 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
83 [lt_append([$1], [$2], [$3])$4],
84 [$5])],
85 [lt_append([$1], [$2], [$3])$4])])
86
87
88# lt_dict_add(DICT, KEY, VALUE)
89# -----------------------------
90m4_define([lt_dict_add],
91[m4_define([$1($2)], [$3])])
92
93
94# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
95# --------------------------------------------
96m4_define([lt_dict_add_subkey],
97[m4_define([$1($2:$3)], [$4])])
98
99
100# lt_dict_fetch(DICT, KEY, [SUBKEY])
101# ----------------------------------
102m4_define([lt_dict_fetch],
103[m4_ifval([$3],
104 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
105 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
106
107
108# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
109# -----------------------------------------------------------------
110m4_define([lt_if_dict_fetch],
111[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
112 [$5],
113 [$6])])
114
115
116# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
117# --------------------------------------------------------------
118m4_define([lt_dict_filter],
119[m4_if([$5], [], [],
120 [lt_join(m4_quote(m4_default([$4], [[, ]])),
121 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
122 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
123])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 0000000..f3c5309
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
1# ltversion.m4 -- version numbers -*- Autoconf -*-
2#
3# Copyright (C) 2004 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# Generated from ltversion.in.
11
12# serial 3017 ltversion.m4
13# This file is part of GNU Libtool
14
15m4_define([LT_PACKAGE_VERSION], [2.2.6b])
16m4_define([LT_PACKAGE_REVISION], [1.3017])
17
18AC_DEFUN([LTVERSION_VERSION],
19[macro_version='2.2.6b'
20macro_revision='1.3017'
21_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
22_LT_DECL(, macro_revision, 0)
23])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 0000000..637bb20
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,92 @@
1# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
2#
3# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
4# Written by Scott James Remnant, 2004.
5#
6# This file is free software; the Free Software Foundation gives
7# unlimited permission to copy and/or distribute it, with or without
8# modifications, as long as this notice is preserved.
9
10# serial 4 lt~obsolete.m4
11
12# These exist entirely to fool aclocal when bootstrapping libtool.
13#
14# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
15# which have later been changed to m4_define as they aren't part of the
16# exported API, or moved to Autoconf or Automake where they belong.
17#
18# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
19# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
20# using a macro with the same name in our local m4/libtool.m4 it'll
21# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
22# and doesn't know about Autoconf macros at all.)
23#
24# So we provide this file, which has a silly filename so it's always
25# included after everything else. This provides aclocal with the
26# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
27# because those macros already exist, or will be overwritten later.
28# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
29#
30# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
31# Yes, that means every name once taken will need to remain here until
32# we give up compatibility with versions before 1.7, at which point
33# we need to keep only those names which we still refer to.
34
35# This is to help aclocal find these macros, as it can't see m4_define.
36AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
37
38m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
39m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
40m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
41m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
42m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
43m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
44m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
45m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
46m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
47m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
48m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
49m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
50m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
51m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
52m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
53m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
54m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
55m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
56m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
57m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
58m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
59m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
60m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
61m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
62m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
63m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
64m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
65m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
66m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
67m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
68m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
69m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
70m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
71m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
72m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
73m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
74m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
75m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
76m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
77m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
78m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
79m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
80m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
81m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
82m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
83m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
84m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
85m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
86m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
87m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
88m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
89m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
90m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
91m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
92m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])