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